{"version":3,"file":"6008.2b3eae69a1bcdf0d.js","mappings":"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","names":["DraggingService","_DraggingService","constructor","this","data","BehaviorSubject","setData","next","clearData","getCurrentData","value","getData","asObservable","factory","ɵfac","providedIn","ProductConfiguration","id","name","machine","quality","helpWeaveStructures","designs","coloredYarnSet","weftColoredYarnSet","versionHistories","locked","description","_id","_name","_machine","_quality","_helpWeaveStructures","_designs","_coloredYarnSet","_weftColoredYarnSet","_versionHistories","_locked","_description","helpWeaveStructure","image","fromJSON","productConfigurationJSON","_productConfiguration","drawings","map","design","convertJSONToDrawing","weaveStructures","weaveStructure","WeaveStructure","MachineSummary","WeaveQuality","OverviewListColoredYarnSet","versionHistory","VersionHistory","toJSON","_this$_coloredYarnSet","_this$_weftColoredYar","equipmentId","qualityId","weaveStructureIds","designIds","coloredYarnSetId","weftColoredYarnSetId","dateModified","version","changes","readyForProduction","additionalInformation","weaveStructureName","weaveStructureVersion","qualityName","qualityVersion","_dateModified","_version","_changes","_readyForProduction","_additionalInformation","_weaveStructureName","_weaveStructureVersion","_qualityName","_qualityVersion","versionHistoryJSON","StringUtils","toDate","ProductionScheduleDrawingViewMode","DESIGNS","DESIGNS_LIST","ORDER_LINES","GROUPED_ORDER_LINES","GROUPED_DESIGNS","GROUPED_DESIGN_THUMBNAILS","StatusBarTarget","_StatusBarTarget","DRAWING_LIBRARY","CadCamService","_CadCamService","window","dialogBuilderFactoryService","translate","openCadCam","target","externalApplicationLinkObservable","unSubscribeOnViewDestroy","dialogBuilder","getBuilder","openAlertDialog","titleText","messageText","confirmButtonText","informationUrl","HelpdeskUrlConstants","CADCAM","type","DialogType","REPORT","subscribe","onblur","pipe","takeUntil","externalApplicationLink","close","focus","location","_unused","replaceAll","i0","WINDOW","i1","OverviewListProductConfiguration","colorSet","weftColorSet","_colorSet","_weftColorSet","OverviewListMachineQuality","AssertionUtils","isNullOrUndefined","Date","undefined","OverviewListColorSet","SelectListProductConfigurationWeaveQuality","weaveQualityJSON","SelectListProductConfigurationVersionHistory","weaveQuality","super","_weaveQuality","SelectListProductConfiguration","HttpProductConfigurationsService","_HttpProductConfigurationsService","httpClient","backendConfiguration","getAll","get","getEndpoint","rxjsMap","productionConfigurationsJSON","productionConfigurationJSON","getById","save","productionConfiguration","post","response","update","put","delete","hasAlreadyAdjustedCustomSettings","alreadyAdjustedCustomSettings","getListOfCustomSettings","saveCustomSettings","chosenSettings","settingsToSave","chosenSetting","propertyName","propertyValue","getCategoriesWithComponentsForProductConfigurationName","placeholderCategoriesJSON","placeholderCategoryJSON","PlaceholderCategory","getSlice","gridModel","url","updateLocked","updateReadyForProduction","updateAdditionalInformation","JSON","stringify","getPossibleProductConfigurationsForMachine","machineId","getPossibleValues","columnIdentifier","getGeneratedProductConfigurationName","isIdentifierAvailable","params","HttpParams","set","isAvailable","getNameGenerationProperties","generateName","item","i2","HttpStatusBarService","_HttpStatusBarService","getStatusBarData","statusBarTarget","statusBarJSON","StatusBar","$event","_r1","ctx_r1","onShowOnlyQueryCompatibleOrderlinesChanged","checked","showOnlyQueryCompatibleOrderlines","OrderLinesCustomSettingsDialogComponent","_OrderLinesCustomSettingsDialogComponent","router","formBuilder","showOnlyPreselectedItems","showPreselectedItems","viewMode","ngOnInit","setFormFields","showOnlySelectedItems","canShowOnlyShowCompatibleColorSets","onShowPreselectedItemsChanged","showPreSelectedItems","form","controls","patchValue","getValue","valueChanges","viewAllSettings","navigateByUrl","NavigationUtils","getAbsolutePath","NavigationId","CARPET_PRODUCTION_SCHEDULE_SETTINGS","group","MAT_DIALOG_DATA","selectors","decls","vars","consts","template","rf","ctx","OrderLinesCustomSettingsDialogComponent_div_6_Template","GridProductionStatusComponent","_GridProductionStatusComponent","agInit","refresh","GridProductionStatusComponent_div_0_Template","_r3","onCustomSettingsChanged","customSettingsButton_r4","toggleDialog","customSettingsComponent","getCustomSettingsDialogData","open","viewMode_r5","getTooltip","updateGrid","toggleSelectedRows","DrawingLibraryNewListViewComponent_ng_container_2_vdw_dialog_button_4_Template","onSelectedViewModeChanged","DrawingLibraryNewListViewComponent_ng_container_2_mat_option_7_Template","statusBar","getSelectedRows","drawingListGridModel","tmp_7_0","drawingsGrid_r6","gridReady","api","showSelectedItems","isPreSelection","selectedViewMode","viewModes","DrawingLibraryNewListViewComponent","_DrawingLibraryNewListViewComponent","BaseComponent","authentication","productionSchedulePlan","colDefBuilderFactory","gridOptionsBuilderFactoryService","l10nIntlService","renderer","draggingService","statusBarService","overlayActionsService","localStorage","drawingLibraryHelper","SLICE_SIZE","ROW_HEIGHT_WITH_PREVIEW","ROW_HEIGHT_WITHOUT_PREVIEW","HEADER_HEIGHT_WITH_PREVIEW","HEADER_HEIGHT_WITHOUT_PREVIEW","noOverlayAction","key","titleKey","instant","isPrimary","disabled","advancedSearchFilters","canSelectDrawings","isProductionSchedule","showConfigurations","isExporting","hideMissingDesigns","filterOnDrawingType","pathWidths","preselectedDesignIds","preselectedConfigurationIds","drawingIdSelected","EventEmitter","configurationIdSelected","drawingSelected","exportComplete","advancedSearchFiltersChange","selectedViewModeChanged","navigateBackOutput","selectedPathOutput","selectedRestPathColoredYarnSetOutput","exportGridOptions","exportData","showOnlyPreSelectedDrawings","floatingFilters","addingItemToPath","processRowSelection","hasQuantitySuggestionPermission","readyToFetchRows","rollLengthColumnId","changingFilter","currentSubscription","getCurrentSubscription","filterViewModes","instantiateGridOptionsForDrawings","subscribeToOverlayActions","push","hasPermission","Permission","TEXFAB_QUANTITY_SUGGESTION","includes","emit","ngOnChanges","_this$drawingsGrid","_this$drawingsGrid2","_this$drawingsGrid3","isEmpty","setInitializationFilters","previousValue","currentValue","drawingsGrid","hideOverlay","refreshServerSide","purge","onRowDataUpdated","exportAllData","forEachNode","rowNode","getQuantitySuggestionForPath","productionSchedule","selectedPath","availableSpaceInBuggyInPicks","buggyLengthMaxInPicks","productionScheduleItemMultiplier","setDataValue","setFilterModel","filterModel","settings","_settings$showPresele","length","onDrawingCanceled","_this$drawingsGrid4","deselectAll","onDrawingDeleted","deletedDrawings","onDrawingUpdated","updatedDrawing","drawingConfigurationCount","node","drawing","configurations","INFORMATION","colDef","createColumnsDefinition","exportDrawingsGrid","setGridOption","endRow","getFilterModel","GridModel","fetchExportData","change","savedFilterModel","getPreselectedDrawingAndConfigurationIdsFilterModel","translation","getAllWithoutImageDataFromGridModel","TargetForListOfDrawingsEnum","listOfDrawings","forEach","cacheBlockSize","exportDataAsCsv","columnKeys","onExportComplete","startRow","TEXFAB_ORDERBOOK","filter","getServerSideDatasource","getRows","request","sortModel","PRODUCTION_ORDER","getRowData","endRowOrderbook","showNoRowsOverlay","success","rowData","rowCount","setSelectedDrawings","setTimeout","error","fail","ListDrawingConfiguration","defaultGridOptionsForDrawings","getDefaultGridOptionsForDrawings","withOnRowSelected","event","setQuantitySuggestionForPath","withRowDraggingOutsideGrid","onRowDrag","gridOptionsForDrawings","withSingleClickEdit","withRowSelection","withOnCellEditingStarted","onCellEditingStarted","onRowSelection","withOnRowDataUpdated","withOnGridReady","refreshCells","refreshHeader","withOnCellValueChanged","addDrawingToProductionSchedulePath","withOnRowDoubleClicked","getColumnDefinitionForClickedCell","withOnCellEditingStopped","recalculateQuantitySuggestionWhenRollLengthIsChanged","build","GridIdentifier","DESIGN_LIST_NEW","withOnFilterChanged","Object","values","syncAdvancedSearchFiltersWithFloatingFilters","withGetRowHeight","designPreviewFiltered","withNoRowsOverlay","getNoRowsOverlayForPreselection","getNoRowsOverlayForBuilder","withRowClass","HeaderClass","COMPACT","toString","withOnColumnVisible","withServerSideDataSource","withGetRowId","createRowIDForDrawing","withLoadingOverlay","withContext","componentParent","_this$drawingsGrid5","_this$drawingsGrid6","getInitializationFilterModel","selectedRestPathColoredYarnSet","selectedPathContentRowData","actionTriggeredEmitter","actionKey","scale","titleParam","hideDescription","isAnyFilterPresent","hasActiveFilters","descriptionKey","actions","hideActions","visible","columns","find","column","cellClass","setRowHeight","onRowHeightChanged","headerHeight","floatingFiltersHeight","colDefs","getColumnDefs","headerClass","force","headerName","colId","listDrawing","cloneDeep","amount","Math","floor","canAddProductionScheduleItemToProductionSchedulePathForNewBuilder","technicalWidthInDents","addDrawingToPath","canAddProductionScheduleItemToColoredYarnSet","productionSchedulePathsOfColoredYarnSet","productionScheduleColoredYarnSet","startDent","addDrawingToNewPath","getAllDisplayedColumns","col","getColId","getFocusedCell","getColDef","getProductionSchedulePathsOfColoredYarnSetAtStartDent","pathNumber","addDrawingToColoredYarnSet","path","gridApi","_this$preselectedDesi","setSelected","some","designId","updateGridOptions","suppressRowClickSelection","rowSelection","mode","AgGridRowSelection","MULTIPLE","checkboxes","rowMultiSelectWithClick","_event$data","_event$data2","_this$preselectedDesi2","_this$preselectedConf","selectedDesigns","getSelectedNodes","drawingId","configurationId","finalDesignIdsList","finalConfigurationIdsList","isSelected","designIndex","indexOf","splice","configurationIndex","drawingPropertyPrefix","alignRightString","nameColDef","withColId","withField","withHeaderName","withComparator","stringComparator","withTextMultiFilter","getPossibleColumnsValues","withHeaderCheckboxSelection","withLockVisible","withSuppressMovable","defaultColDefs","withColIdAndField","withValueGetter","withNumericMultiFilter","withHide","withHiddenInToolPanel","withCellRenderer","DesignPreviewComponent","withCellClass","withSortable","withMinWidth","withMaxWidth","withoutFilter","withCellRendererSelector","cellRendererSelector","GridCreelPreviewOfCreelPositionComponent","previewType","PreviewType","COLOR","showRgbValues","Unit","CENTIMETER","withValueFormatter","_params$data$commerci","commercialDimensionsInCM","toFixed","withRightAlignment","PIXEL","withTooltipValueGetter","AgGridUtils","buildAgGridCellTooltipWithUnit","getShape","withDate","withDateMultiFilter","getSizeInKB","buildAgGridCellTextWithUnit","KILOBYTE","of","builderAmountColDef","ProgressCellRendererComponent","label","isSaving","withOnCellClicked","editQuantityCell","withEditable","withCellEditor","NumberCellEditorComponent","min","isSmall","autoSelect","_params$data","withValueSetter","setQuantity","METER","isRollLengthEditable","_params$data2","_params$data3","_params$data4","rollLengthInMeter","commercialDimensionsInCm","heightInCM","repeated","_params$data5","isNaN","convertPixelsToHeightInMeter","_params$data6","dimensionsInPixels","heightInPx","_this$productionSched","machineQuality","pickDensity","_this$productionSched2","picksPerColorLine","FixedShape","getTranslationKeyForShape","shape","sizeInKB","round","_this$drawingsGrid7","_this$drawingsGrid8","_this$drawingsGrid9","_event$column","stopEditing","editable","startEditingCell","rowIndex","colKey","newValue","max","UuidUtils","generateV4Uuid","advancedSearchFiltersFromFloatingFilters","advancedSearchFilter","floatingFilterToSyncWith","floatingFilter","cellRenderer","cellRendererParams","cellForMainOrBorderColor","useMainColor","configuration","creelPositionForColors","mainColor","borderColor","level","component","EmptyCellRendererComponent","_params$data$drawing","AUTHENTICATION","PRODUCTION_SCHEDULE_PLAN","DRAWINGS","i3","i4","i5","viewQuery","DrawingLibraryNewListViewComponent_ng_container_2_Template","ctx_r0","colors","yarnTypes","_GridCreelPreviewOfCreelPositionComponent","getUniqueItems","creelPositionForYarnTypes","isUndefined","canShowColors","isEqual","canShowYarnTypes","YARN_TYPE","GridCreelPreviewOfCreelPositionComponent_app_color_grid_preview_0_Template","GridCreelPreviewOfCreelPositionComponent_app_yarn_type_grid_preview_1_Template","BASE_URL","environment","helpUrl","_HelpdeskUrlConstants","SET_UP_VIBRATION_METER","SET_WINDER_IN_MAINTENANCE_MODE","__WEBPACK_DEFAULT_EXPORT__","slice","array","start","end","isIterateeCall","toInteger","baseSlice"],"ignoreList":[],"sourceRoot":"webpack:///","sources":["./apps/texconnect/src/app/application/services/dragging/dragging.service.ts","./apps/texconnect/src/app/domain/product-configuration/product-configuration.ts","./apps/texconnect/src/app/domain/product-configuration/version-history.ts","./apps/texconnect/src/app/domain/production-schedule/production-schedule-drawing-view-mode.enum.ts","./apps/texconnect/src/app/domain/textile-data/status-bar-target.constants.ts","./apps/texconnect/src/app/infrastructure/cad-cam/cad-cam.service.ts","./apps/texconnect/src/app/presentation/pages/texedit/product-configuration/overview/overview-list-product-configuration.ts","./apps/texconnect/src/app/domain/product-configuration/select-list-product-configuration-weave-quality.ts","./apps/texconnect/src/app/domain/product-configuration/select-list-product-configuration-version-history.ts","./apps/texconnect/src/app/domain/product-configuration/select-list-product-configuration.ts","./apps/texconnect/src/app/infrastructure/http/product-configuration/http-product-configuration.service.ts","./apps/texconnect/src/app/infrastructure/http/status-bar/http-status-bar.service.ts","./apps/texconnect/src/app/presentation/components/dialog-button/dialog-data/order-lines-settings/order-lines-settings.component.html","./apps/texconnect/src/app/presentation/components/dialog-button/dialog-data/order-lines-settings/order-lines-settings.component.ts","./apps/texconnect/src/app/presentation/components/grid-production-status/grid-production-status.component.html","./apps/texconnect/src/app/presentation/components/grid-production-status/grid-production-status.component.ts","./apps/texconnect/src/app/presentation/pages/texedit/drawing-library/drawing-library-new-listview/drawing-library-new-listview.component.html","./apps/texconnect/src/app/presentation/pages/texedit/drawing-library/drawing-library-new-listview/drawing-library-new-listview.component.ts","./apps/texconnect/src/app/presentation/pages/textile-data/creel/add/grid-creel-preview-of-creel-position/grid-creel-preview-of-creel-position.component.html","./apps/texconnect/src/app/presentation/pages/textile-data/creel/add/grid-creel-preview-of-creel-position/grid-creel-preview-of-creel-position.component.ts","./apps/texconnect/src/app/shared/constants/helpdesk-urls.ts","./node_modules/lodash-es/slice.js"],"sourcesContent":["import {Injectable} from '@angular/core';\nimport {BehaviorSubject, Observable} from 'rxjs';\n\n@Injectable({providedIn: 'root'})\nexport class DraggingService {\n private data = new BehaviorSubject(null);\n\n public setData(data: any): void {\n this.data.next(data);\n }\n\n public clearData(): void {\n this.data.next(null);\n }\n\n public getCurrentData(): any {\n return this.data.value;\n }\n\n public getData(): Observable {\n return this.data.asObservable();\n }\n}\n","import {convertJSONToDrawing} from '@application/helper/drawing/convert-json-to-drawing';\nimport {Drawing} from '@domain/production-schedule/drawing';\nimport {MachineSummary} from '@domain/production-schedule/machine-summary';\nimport {WeaveQuality} from '@domain/textile-data/machine-quality/weave-quality';\nimport {WeaveStructure} from '@domain/textile-data/weave-structure/weave-structure';\nimport {OverviewListColoredYarnSet} from '@presentation/pages/textile-data/colored-yarn-set/overview/overview-list-colored-yarn-set';\nimport {VersionHistory} from './version-history';\n\nexport class ProductConfiguration {\n private _id: number;\n private _name: string;\n private _machine: MachineSummary;\n private _quality: WeaveQuality;\n private _helpWeaveStructures: WeaveStructure[];\n private _designs: Drawing[];\n private _coloredYarnSet: OverviewListColoredYarnSet;\n private _weftColoredYarnSet: OverviewListColoredYarnSet;\n private _versionHistories: VersionHistory[];\n private _locked: boolean;\n private _description: string;\n\n public constructor(\n id: number,\n name: string,\n machine: MachineSummary,\n quality: WeaveQuality,\n helpWeaveStructures: WeaveStructure[],\n designs: Drawing[],\n coloredYarnSet: OverviewListColoredYarnSet,\n weftColoredYarnSet: OverviewListColoredYarnSet,\n versionHistories: VersionHistory[],\n locked: boolean,\n description: string\n ) {\n this._id = id;\n this._name = name;\n this._machine = machine;\n this._quality = quality;\n this._helpWeaveStructures = helpWeaveStructures;\n this._designs = designs;\n this._coloredYarnSet = coloredYarnSet;\n this._weftColoredYarnSet = weftColoredYarnSet;\n this._versionHistories = versionHistories;\n this._locked = locked;\n this._description = description;\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 machine(): MachineSummary {\n return this._machine;\n }\n\n public set machine(value: MachineSummary) {\n this._machine = value;\n }\n\n public get quality(): WeaveQuality {\n return this._quality;\n }\n\n public get helpWeaveStructures(): WeaveStructure[] {\n return this._helpWeaveStructures;\n }\n\n public set helpWeaveStructure(image: WeaveStructure[]) {\n this._helpWeaveStructures = image;\n }\n\n public get designs(): Drawing[] {\n return this._designs;\n }\n\n public set designs(designs: Drawing[]) {\n this._designs = designs;\n }\n\n public get weftColoredYarnSet(): OverviewListColoredYarnSet {\n return this._weftColoredYarnSet;\n }\n\n public set weftColoredYarnSet(weftColoredYarnSet: OverviewListColoredYarnSet) {\n this._weftColoredYarnSet = weftColoredYarnSet;\n }\n\n public get coloredYarnSet(): OverviewListColoredYarnSet {\n return this._coloredYarnSet;\n }\n\n public set coloredYarnSet(coloredYarnSet: OverviewListColoredYarnSet) {\n this._coloredYarnSet = coloredYarnSet;\n }\n\n public get versionHistories(): VersionHistory[] {\n return this._versionHistories;\n }\n\n public set versionHistories(versionHistories: VersionHistory[]) {\n this._versionHistories = versionHistories;\n }\n\n public get locked(): boolean {\n return this._locked;\n }\n\n public set locked(locked: boolean) {\n this._locked = locked;\n }\n\n public get description(): string {\n return this._description;\n }\n\n public set description(description: string) {\n this._description = description;\n }\n\n public static fromJSON(productConfigurationJSON: any): ProductConfiguration {\n const designs: Drawing[] = productConfigurationJSON?.drawings.map((design: Drawing) => {\n return convertJSONToDrawing(design);\n });\n const helpWeaveStructures: WeaveStructure[] = productConfigurationJSON?.weaveStructures.map((weaveStructure: WeaveStructure) => {\n return WeaveStructure.fromJSON(weaveStructure);\n });\n\n return new ProductConfiguration(\n productConfigurationJSON.id,\n productConfigurationJSON.name,\n productConfigurationJSON.machine ? MachineSummary.fromJSON(productConfigurationJSON.machine) : null,\n WeaveQuality.fromJSON(productConfigurationJSON.quality),\n helpWeaveStructures,\n designs,\n productConfigurationJSON.coloredYarnSet ? OverviewListColoredYarnSet.fromJSON(productConfigurationJSON.coloredYarnSet) : null,\n productConfigurationJSON.weftColoredYarnSet ? OverviewListColoredYarnSet.fromJSON(productConfigurationJSON.weftColoredYarnSet) : null,\n productConfigurationJSON.versionHistories.map((versionHistory: VersionHistory) => VersionHistory.fromJSON(versionHistory)),\n productConfigurationJSON.locked ?? false,\n productConfigurationJSON.description\n );\n }\n\n public toJSON(): JSON {\n return {\n id: this._id,\n name: this._name,\n equipmentId: this._machine.id,\n qualityId: this._quality.id,\n weaveStructureIds: this._helpWeaveStructures ? this._helpWeaveStructures.map((helpWeaveStructure: WeaveStructure) => helpWeaveStructure.id) : [],\n designIds: this._designs ? this._designs.map((design: Drawing) => design.id) : [],\n coloredYarnSetId: this._coloredYarnSet?.id,\n weftColoredYarnSetId: this._weftColoredYarnSet?.id,\n locked: this.locked,\n description: this.description\n } as any as JSON;\n }\n}\n","import {StringUtils} from '@vdw/angular-component-library';\n\nexport class VersionHistory {\n private _dateModified: Date;\n private _version: number;\n private _changes: string;\n private _readyForProduction: boolean;\n private _additionalInformation: string;\n private _weaveStructureName: string;\n private _weaveStructureVersion: number;\n private _qualityName: string;\n private _qualityVersion: number;\n\n public constructor(\n dateModified: Date,\n version: number,\n changes: string,\n readyForProduction: boolean,\n additionalInformation: string,\n weaveStructureName: string,\n weaveStructureVersion: number,\n qualityName: string,\n qualityVersion: number\n ) {\n this._dateModified = dateModified;\n this._version = version;\n this._changes = changes;\n this._readyForProduction = readyForProduction;\n this._additionalInformation = additionalInformation;\n this._weaveStructureName = weaveStructureName;\n this._weaveStructureVersion = weaveStructureVersion;\n this._qualityName = qualityName;\n this._qualityVersion = qualityVersion;\n }\n\n public get dateModified(): Date {\n return this._dateModified;\n }\n\n public set dateModified(dateModified: Date) {\n this._dateModified = dateModified;\n }\n\n public get version(): number {\n return this._version;\n }\n\n public set version(version: number) {\n this._version = version;\n }\n\n public get changes(): string {\n return this._changes;\n }\n\n public set changes(changes: string) {\n this._changes = changes;\n }\n\n public get readyForProduction(): boolean {\n return this._readyForProduction;\n }\n\n public set readyForProduction(readyForProduction: boolean) {\n this._readyForProduction = readyForProduction;\n }\n\n public get additionalInformation(): string {\n return this._additionalInformation;\n }\n\n public set additionalInformation(additionalInformation: string) {\n this._additionalInformation = additionalInformation;\n }\n\n public get weaveStructureName(): string {\n return this._weaveStructureName;\n }\n\n public set weaveStructureName(weaveStructureName: string) {\n this._weaveStructureName = weaveStructureName;\n }\n\n public get weaveStructureVersion(): number {\n return this._weaveStructureVersion;\n }\n\n public set weaveStructureVersion(weaveStructureVersion: number) {\n this._weaveStructureVersion = weaveStructureVersion;\n }\n\n public get qualityName(): string {\n return this._qualityName;\n }\n\n public set qualityName(qualityName: string) {\n this._qualityName = qualityName;\n }\n\n public get qualityVersion(): number {\n return this._qualityVersion;\n }\n\n public set qualityVersion(qualityVersion: number) {\n this._qualityVersion = qualityVersion;\n }\n\n public static fromJSON(versionHistoryJSON: any): VersionHistory {\n return new VersionHistory(\n StringUtils.toDate(versionHistoryJSON.dateModified),\n versionHistoryJSON.version,\n versionHistoryJSON.changes,\n versionHistoryJSON.readyForProduction,\n versionHistoryJSON.additionalInformation,\n versionHistoryJSON.weaveStructureName,\n versionHistoryJSON.weaveStructureVersion,\n versionHistoryJSON.qualityName,\n versionHistoryJSON.qualityVersion\n );\n }\n}\n","export enum ProductionScheduleDrawingViewMode {\n DESIGNS = 'DESIGNS',\n DESIGNS_LIST = 'DESIGNS_LIST',\n ORDER_LINES = 'ORDER_LINES',\n GROUPED_ORDER_LINES = 'GROUPED_ORDER_LINES',\n GROUPED_DESIGNS = 'GROUPED_DESIGNS',\n GROUPED_DESIGN_THUMBNAILS = 'GROUPED_DESIGN_THUMBNAILS'\n}\n","export class StatusBarTarget {\n public static readonly ORDER_LINES = 'order-book/order-lines';\n public static readonly DRAWING_LIBRARY = 'drawings';\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {HelpdeskUrlConstants} from '@shared/constants/helpdesk-urls';\nimport {DialogBuilderFactoryService, DialogType, TranslateService, WINDOW} from '@vdw/angular-component-library';\nimport {Observable, Subject, takeUntil} from 'rxjs';\n\n@Injectable()\nexport class CadCamService {\n public constructor(\n @Inject(WINDOW) private readonly window: Window,\n private readonly dialogBuilderFactoryService: DialogBuilderFactoryService,\n private readonly translate: TranslateService\n ) {}\n\n public openCadCam(target: HTMLElement, externalApplicationLinkObservable: Observable, unSubscribeOnViewDestroy: Subject): void {\n const dialogBuilder = this.dialogBuilderFactoryService.getBuilder();\n\n dialogBuilder\n .openAlertDialog({\n titleText: 'DESIGN_LIBRARY.CADCAM.DESCRIPTION',\n messageText: 'DESIGN_LIBRARY.CADCAM.EXTRA_INFORMATION',\n confirmButtonText: 'DESIGN_LIBRARY.CADCAM.ABOUT',\n informationUrl: HelpdeskUrlConstants.CADCAM,\n type: DialogType.REPORT\n })\n .subscribe(() => {\n target.onblur = null;\n });\n\n externalApplicationLinkObservable.pipe(takeUntil(unSubscribeOnViewDestroy)).subscribe((externalApplicationLink: string) => {\n target.onblur = (): any => {\n dialogBuilder.close();\n };\n target.focus();\n\n try {\n this.window.location = externalApplicationLink;\n } catch {\n this.window.location = externalApplicationLink.replaceAll('//', '///'); //fallback for MsEdge, where it expects an authority seperator to validate the URI\n }\n });\n }\n}\n","import {convertJSONToDrawing} from '@application/helper/drawing/convert-json-to-drawing';\nimport {Drawing} from '@domain/production-schedule/drawing';\nimport {MachineSummary} from '@domain/production-schedule/machine-summary';\nimport {WeaveStructure} from '@domain/textile-data/weave-structure/weave-structure';\nimport {OverviewListColorSet} from '@presentation/pages/textile-data/color-set/overview/overview-list-color-set';\nimport {OverviewListColoredYarnSet} from '@presentation/pages/textile-data/colored-yarn-set/overview/overview-list-colored-yarn-set';\nimport {OverviewListMachineQuality} from '@presentation/pages/textile-data/machine-quality/overview/overview-list-machine-quality';\nimport {AssertionUtils} from '@vdw/angular-component-library';\n\nexport class OverviewListProductConfiguration {\n private _id: number;\n private _name: string;\n private _quality: OverviewListMachineQuality;\n private _designs: Drawing[];\n private _coloredYarnSet: OverviewListColoredYarnSet;\n private _weftColoredYarnSet: OverviewListColoredYarnSet;\n private _description: string;\n private _dateModified: Date;\n private _machine: MachineSummary;\n private _helpWeaveStructures: WeaveStructure[];\n private _colorSet: OverviewListColorSet;\n private _weftColorSet: OverviewListColorSet;\n\n public constructor(\n id: number,\n name: string,\n quality: OverviewListMachineQuality,\n designs: Drawing[],\n coloredYarnSet: OverviewListColoredYarnSet,\n weftColoredYarnSet: OverviewListColoredYarnSet,\n description: string,\n dateModified: Date,\n machine: MachineSummary,\n helpWeaveStructures: WeaveStructure[],\n colorSet: OverviewListColorSet,\n weftColorSet: OverviewListColorSet\n ) {\n this._id = id;\n this._name = name;\n this._quality = quality;\n this._designs = designs;\n this._coloredYarnSet = coloredYarnSet;\n this._weftColoredYarnSet = weftColoredYarnSet;\n this._description = description;\n this._dateModified = dateModified;\n this._machine = machine;\n this._helpWeaveStructures = helpWeaveStructures;\n this._colorSet = colorSet;\n this._weftColorSet = weftColorSet;\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 quality(): OverviewListMachineQuality {\n return this._quality;\n }\n\n public get designs(): Drawing[] {\n return this._designs;\n }\n\n public get weftColoredYarnSet(): OverviewListColoredYarnSet {\n return this._weftColoredYarnSet;\n }\n\n public get coloredYarnSet(): OverviewListColoredYarnSet {\n return this._coloredYarnSet;\n }\n\n public get description(): string {\n return this._description;\n }\n\n public set description(description: string) {\n this._description = description;\n }\n\n public get dateModified(): Date {\n return this._dateModified;\n }\n\n public set dateModified(dateModified: Date) {\n this._dateModified = dateModified;\n }\n\n public get machine(): MachineSummary {\n return this._machine;\n }\n\n public get helpWeaveStructures(): WeaveStructure[] {\n return this._helpWeaveStructures;\n }\n\n public get colorSet(): OverviewListColorSet {\n return this._colorSet;\n }\n\n public get weftColorSet(): OverviewListColorSet {\n return this._weftColorSet;\n }\n\n public static fromJSON(productConfigurationJSON: any): OverviewListProductConfiguration {\n const designs: Drawing[] = productConfigurationJSON?.drawings.map((design: Drawing) => {\n return convertJSONToDrawing(design);\n });\n\n return new OverviewListProductConfiguration(\n productConfigurationJSON.id,\n productConfigurationJSON.name,\n OverviewListMachineQuality.fromJSON(productConfigurationJSON.quality),\n designs,\n AssertionUtils.isNullOrUndefined(productConfigurationJSON.coloredYarnSet) ? null : OverviewListColoredYarnSet.fromJSON(productConfigurationJSON.coloredYarnSet),\n AssertionUtils.isNullOrUndefined(productConfigurationJSON.weftColoredYarnSet) ? null : OverviewListColoredYarnSet.fromJSON(productConfigurationJSON.weftColoredYarnSet),\n productConfigurationJSON.description,\n productConfigurationJSON.dateModified ? new Date(productConfigurationJSON.dateModified) : undefined,\n AssertionUtils.isNullOrUndefined(productConfigurationJSON.machine) ? null : MachineSummary.fromJSON(productConfigurationJSON.machine),\n productConfigurationJSON.weaveStructures.map((weaveStructure: WeaveStructure) => {\n return WeaveStructure.fromJSON(weaveStructure);\n }),\n AssertionUtils.isNullOrUndefined(productConfigurationJSON.colorSet) ? null : OverviewListColorSet.fromJSON(productConfigurationJSON.colorSet),\n AssertionUtils.isNullOrUndefined(productConfigurationJSON.weftColorSet) ? null : OverviewListColorSet.fromJSON(productConfigurationJSON.weftColorSet)\n );\n }\n}\n","export class SelectListProductConfigurationWeaveQuality {\n private readonly _id: number;\n private readonly _name: string;\n private readonly _weaveStructureName: string;\n\n public constructor(id: number, name: string, weaveStructureName: string) {\n this._id = id;\n this._name = name;\n this._weaveStructureName = weaveStructureName;\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 get weaveStructureName(): string {\n return this._weaveStructureName;\n }\n\n public static fromJSON(weaveQualityJSON: any): SelectListProductConfigurationWeaveQuality {\n return new SelectListProductConfigurationWeaveQuality(weaveQualityJSON.id, weaveQualityJSON.name, weaveQualityJSON.weaveStructure.name);\n }\n}\n","import {VersionHistory} from '@domain/product-configuration/version-history';\nimport {StringUtils} from '@vdw/angular-component-library';\nimport {SelectListProductConfigurationWeaveQuality} from './select-list-product-configuration-weave-quality';\n\nexport class SelectListProductConfigurationVersionHistory extends VersionHistory {\n private readonly _weaveQuality: SelectListProductConfigurationWeaveQuality;\n\n public constructor(\n weaveQuality: SelectListProductConfigurationWeaveQuality,\n dateModified: Date,\n version: number,\n changes: string,\n readyForProduction: boolean,\n additionalInformation: string,\n weaveStructureName: string,\n weaveStructureVersion: number,\n qualityName: string,\n qualityVersion: number\n ) {\n super(dateModified, version, changes, readyForProduction, additionalInformation, weaveStructureName, weaveStructureVersion, qualityName, qualityVersion);\n\n this._weaveQuality = weaveQuality;\n }\n\n public get weaveQuality(): SelectListProductConfigurationWeaveQuality {\n return this._weaveQuality;\n }\n\n public static fromJSON(versionHistoryJSON: any): SelectListProductConfigurationVersionHistory {\n return new SelectListProductConfigurationVersionHistory(\n SelectListProductConfigurationWeaveQuality.fromJSON(versionHistoryJSON.quality),\n StringUtils.toDate(versionHistoryJSON.dateModified),\n versionHistoryJSON.version,\n versionHistoryJSON.changes,\n versionHistoryJSON.readyForProduction,\n versionHistoryJSON.additionalInformation,\n versionHistoryJSON.weaveStructureName,\n versionHistoryJSON.weaveStructureVersion,\n versionHistoryJSON.qualityName,\n versionHistoryJSON.qualityVersion\n );\n }\n}\n","import {convertJSONToDrawing} from '@application/helper/drawing/convert-json-to-drawing';\nimport {Drawing} from '@domain/production-schedule/drawing';\nimport {MachineSummary} from '@domain/production-schedule/machine-summary';\nimport {WeaveStructure} from '@domain/textile-data/weave-structure/weave-structure';\nimport {OverviewListProductConfiguration} from '@presentation/pages/texedit/product-configuration/overview/overview-list-product-configuration';\nimport {OverviewListColorSet} from '@presentation/pages/textile-data/color-set/overview/overview-list-color-set';\nimport {StringUtils} from '@vdw/angular-component-library';\nimport {SelectListProductConfigurationVersionHistory} from './select-list-product-configuration-version-history';\nimport {SelectListProductConfigurationWeaveQuality} from './select-list-product-configuration-weave-quality';\n\nexport class SelectListProductConfiguration extends OverviewListProductConfiguration {\n private readonly _weaveQuality: SelectListProductConfigurationWeaveQuality;\n private readonly _readyForProduction: boolean;\n private readonly _versionHistories: SelectListProductConfigurationVersionHistory[];\n\n public constructor(\n id: number,\n name: string,\n designs: Drawing[],\n description: string,\n dateModified: Date,\n machine: MachineSummary,\n helpWeaveStructures: WeaveStructure[],\n colorSet: OverviewListColorSet,\n weftColorSet: OverviewListColorSet,\n weaveQuality: SelectListProductConfigurationWeaveQuality,\n readyForProduction: boolean,\n versionHistories: SelectListProductConfigurationVersionHistory[]\n ) {\n super(id, name, null, designs, null, null, description, dateModified, machine, helpWeaveStructures, colorSet, weftColorSet);\n\n this._weaveQuality = weaveQuality;\n this._readyForProduction = readyForProduction;\n this._versionHistories = versionHistories;\n }\n\n public get weaveQuality(): SelectListProductConfigurationWeaveQuality {\n return this._weaveQuality;\n }\n\n public get readyForProduction(): boolean {\n return this._readyForProduction;\n }\n\n public get versionHistories(): SelectListProductConfigurationVersionHistory[] {\n return this._versionHistories;\n }\n\n public static fromJSON(productConfigurationJSON: any): SelectListProductConfiguration {\n const designs: Drawing[] = productConfigurationJSON?.drawings.map((design: Drawing) => {\n return convertJSONToDrawing(design);\n });\n\n return new SelectListProductConfiguration(\n productConfigurationJSON.id,\n productConfigurationJSON.name,\n designs,\n productConfigurationJSON.description,\n StringUtils.toDate(productConfigurationJSON.dateModified),\n MachineSummary.fromJSON(productConfigurationJSON.machine),\n productConfigurationJSON.weaveStructures.map((weaveStructure: WeaveStructure) => {\n return WeaveStructure.fromJSON(weaveStructure);\n }),\n productConfigurationJSON.colorSet === null ? null : OverviewListColorSet.fromJSON(productConfigurationJSON.colorSet),\n productConfigurationJSON.weftColorSet === null ? null : OverviewListColorSet.fromJSON(productConfigurationJSON.weftColorSet),\n SelectListProductConfigurationWeaveQuality.fromJSON(productConfigurationJSON.quality),\n productConfigurationJSON.readyForProduction,\n productConfigurationJSON.versionHistories.map(SelectListProductConfigurationVersionHistory.fromJSON)\n );\n }\n}\n","import {HttpClient, HttpParams} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\nimport {BackendConfiguration} from '@application/configuration/backend-configuration';\nimport {ProductConfiguration} from '@domain/product-configuration/product-configuration';\nimport {SelectListProductConfiguration} from '@domain/product-configuration/select-list-product-configuration';\nimport {PropertyValue} from '@domain/property-value';\nimport {PlaceholderCategory} from '@domain/textile-data/finishing-and-finishing-template/placeholder-category';\nimport {OverviewListProductConfiguration} from '@presentation/pages/texedit/product-configuration/overview/overview-list-product-configuration';\nimport {GridModel} from '@vdw/angular-component-library';\nimport {Observable} from 'rxjs';\nimport {map as rxjsMap} from 'rxjs/operators';\nimport {ProductConfigurations} from './product-configuration.interface';\n\n@Injectable()\nexport class HttpProductConfigurationsService implements ProductConfigurations {\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 return this.httpClient.get(`${this.backendConfiguration.getEndpoint()}product-configurations`).pipe(\n rxjsMap((productionConfigurationsJSON: any) => {\n return productionConfigurationsJSON.map((productionConfigurationJSON: any) => {\n return OverviewListProductConfiguration.fromJSON(productionConfigurationJSON);\n });\n })\n );\n }\n\n public getById(id: number): Observable {\n return this.httpClient\n .get(`${this.backendConfiguration.getEndpoint()}product-configurations/${id}`)\n .pipe(rxjsMap((productConfigurationJSON: any) => ProductConfiguration.fromJSON(productConfigurationJSON)));\n }\n\n public save(productionConfiguration: ProductConfiguration): Observable {\n return this.httpClient.post(`${this.backendConfiguration.getEndpoint()}product-configurations`, productionConfiguration.toJSON()).pipe(rxjsMap((response: {id: number}) => response.id));\n }\n\n public update(productionConfiguration: ProductConfiguration): Observable {\n return this.httpClient.put(`${this.backendConfiguration.getEndpoint()}product-configurations/${productionConfiguration.id}`, productionConfiguration.toJSON());\n }\n\n public delete(id: number): Observable {\n return this.httpClient.delete(`${this.backendConfiguration.getEndpoint()}product-configurations/${id}`);\n }\n\n public hasAlreadyAdjustedCustomSettings(): Observable {\n return this.httpClient\n .get(`${this.backendConfiguration.getEndpoint()}product-configurations/custom-settings/already-adjusted`)\n .pipe(rxjsMap((response: {alreadyAdjustedCustomSettings: boolean}) => response.alreadyAdjustedCustomSettings));\n }\n\n public getListOfCustomSettings(): Observable {\n return this.httpClient.get(`${this.backendConfiguration.getEndpoint()}product-configurations/custom-settings`).pipe(rxjsMap((response: PropertyValue[]) => response));\n }\n\n public saveCustomSettings(chosenSettings: PropertyValue[]): Observable {\n const settingsToSave: PropertyValue[] = chosenSettings.map((chosenSetting: PropertyValue) => ({propertyName: chosenSetting.propertyName, propertyValue: chosenSetting.propertyValue}));\n\n return this.httpClient.put(`${this.backendConfiguration.getEndpoint()}product-configurations/custom-settings`, settingsToSave);\n }\n\n public getCategoriesWithComponentsForProductConfigurationName(): Observable {\n return this.httpClient\n .get(`${this.backendConfiguration.getEndpoint()}product-configurations/custom-settings/categories-with-components-for-product-configuration-name`)\n .pipe(rxjsMap((placeholderCategoriesJSON: any) => placeholderCategoriesJSON.map((placeholderCategoryJSON: any) => PlaceholderCategory.fromJSON(placeholderCategoryJSON))));\n }\n\n public getSlice(gridModel: GridModel): Observable {\n const url = `${this.backendConfiguration.getEndpoint()}product-configurations/get`;\n\n return this.httpClient.post(url, gridModel).pipe(\n rxjsMap((productionConfigurationsJSON: any) => {\n return productionConfigurationsJSON.map((productionConfiguration: any) => {\n return OverviewListProductConfiguration.fromJSON(productionConfiguration);\n });\n })\n );\n }\n\n public updateLocked(id: number, locked: boolean): Observable {\n return this.httpClient.put(`${this.backendConfiguration.getEndpoint()}product-configurations/change-lock/${id}/${locked}`, null);\n }\n\n public updateReadyForProduction(id: number, version: number): Observable {\n return this.httpClient.put(`${this.backendConfiguration.getEndpoint()}product-configurations/change-production-ready/${id}/${version}`, null);\n }\n\n public updateAdditionalInformation(id: number, version: number, additionalInformation: string): Observable {\n return this.httpClient.put(`${this.backendConfiguration.getEndpoint()}product-configurations/${id}/${version}/additional-information`, JSON.stringify(additionalInformation));\n }\n\n public getPossibleProductConfigurationsForMachine(machineId: number): Observable {\n return this.httpClient.get(`${this.backendConfiguration.getEndpoint()}product-configurations/machine/${machineId}/possible`).pipe(\n rxjsMap((productionConfigurationsJSON: any) => {\n return productionConfigurationsJSON.map(SelectListProductConfiguration.fromJSON);\n })\n );\n }\n\n public getPossibleValues(columnIdentifier: string): Observable {\n return this.httpClient.get(`${this.backendConfiguration.getEndpoint()}product-configurations/${columnIdentifier}/possible-values`).pipe(rxjsMap((response: string[]) => response));\n }\n\n public getGeneratedProductConfigurationName(machineId: number, qualityId: number): Observable {\n return this.httpClient\n .get(`${this.backendConfiguration.getEndpoint()}product-configurations/custom-settings/generate-name?machineId=${machineId}&machineQualityId=${qualityId}`)\n .pipe(rxjsMap((response: string) => response));\n }\n\n public isIdentifierAvailable(name: string): Observable {\n const params = new HttpParams().set('name', name);\n\n return this.httpClient.get(`${this.backendConfiguration.getEndpoint(2)}product-configurations/check-name`, {params}).pipe(rxjsMap((response: {isAvailable: boolean}) => response.isAvailable));\n }\n\n public getNameGenerationProperties(): Observable {\n return this.httpClient.get(`${this.backendConfiguration.getEndpoint()}product-configurations/custom-settings/name-generation-properties`);\n }\n\n public generateName(item: ProductConfiguration): Observable {\n return this.httpClient.post(`${this.backendConfiguration.getEndpoint()}product-configurations/custom-settings/generate-name`, item.toJSON());\n }\n}\n","import {HttpClient} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\nimport {BackendConfiguration} from '@application/configuration/backend-configuration';\nimport {StatusBarTarget} from '@domain/textile-data/status-bar-target.constants';\nimport {GridModel, StatusBar} from '@vdw/angular-component-library';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class HttpStatusBarService {\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 getStatusBarData(statusBarTarget: StatusBarTarget, gridModel: GridModel): Observable {\n return this.httpClient.post(`${this.backendConfiguration.getEndpoint()}${statusBarTarget}/status-bar-data`, gridModel.toJSON()).pipe(\n map((statusBarJSON: any) => {\n return StatusBar.fromJSON(statusBarJSON);\n })\n );\n }\n}\n","
\n
\n {{ 'PRODUCTION_ORDER.DESIGN_LIBRARY.SHOW_ONLY_PRESELECTED_ITEMS' | bmsTranslate }}\n \n
\n
\n {{ 'PRODUCTION_ORDER.DESIGN_LIBRARY.SHOW_ONLY_COMPATIBLE_COLOR_SETS' | bmsTranslate }}\n \n
\n\n \n
\n","import {Component, Inject, OnInit} from '@angular/core';\nimport {FormBuilder, FormControl, FormGroup} from '@angular/forms';\nimport {MAT_DIALOG_DATA} from '@angular/material/dialog';\nimport {Router} from '@angular/router';\nimport {NavigationId} from '@application/helper/routing/navigation-id.enum';\nimport {NavigationUtils} from '@application/helper/routing/navigation-utils';\nimport {ProductionScheduleDrawingViewMode} from '@domain/production-schedule/production-schedule-drawing-view-mode.enum';\nimport {DialogData} from '@vdw/angular-component-library';\nimport {Observable} from 'rxjs';\n\nexport type OrderlinesSettings = Partial<{showPreselectedItems: boolean; showOnlyQueryCompatibleOrderlines: boolean}>;\n\n@Component({\n templateUrl: './order-lines-settings.component.html',\n styleUrls: ['./order-lines-settings.component.scss']\n})\nexport class OrderLinesCustomSettingsDialogComponent implements DialogData, OnInit {\n public form: FormGroup<{showPreselectedItems: FormControl; showOnlyQueryCompatibleOrderlines: FormControl}>;\n public showOnlyPreselectedItems = false;\n public showOnlyQueryCompatibleOrderlines = true;\n private viewMode: ProductionScheduleDrawingViewMode;\n\n public constructor(\n @Inject(MAT_DIALOG_DATA) private readonly data: any,\n private readonly router: Router,\n private readonly formBuilder: FormBuilder\n ) {\n this.showOnlyPreselectedItems = data.showPreselectedItems;\n this.showOnlyQueryCompatibleOrderlines = data.showOnlyQueryCompatibleOrderlines;\n this.viewMode = data.viewMode;\n }\n\n public ngOnInit(): void {\n this.setFormFields(this.data.showOnlySelectedItems, this.data.showOnlyQueryCompatibleOrderlines);\n }\n\n public canShowOnlyShowCompatibleColorSets(): boolean {\n return this.viewMode === ProductionScheduleDrawingViewMode.ORDER_LINES || this.viewMode === ProductionScheduleDrawingViewMode.GROUPED_ORDER_LINES;\n }\n\n public onShowPreselectedItemsChanged(showPreSelectedItems: boolean): void {\n this.showOnlyPreselectedItems = showPreSelectedItems;\n this.form.controls.showPreselectedItems.patchValue(showPreSelectedItems);\n }\n\n public onShowOnlyQueryCompatibleOrderlinesChanged(showOnlyQueryCompatibleOrderlines: boolean): void {\n this.showOnlyQueryCompatibleOrderlines = showOnlyQueryCompatibleOrderlines;\n this.form.controls.showOnlyQueryCompatibleOrderlines.patchValue(showOnlyQueryCompatibleOrderlines);\n }\n\n public getValue(): Observable {\n return this.form.valueChanges;\n }\n\n public viewAllSettings(): void {\n this.router.navigateByUrl(NavigationUtils.getAbsolutePath(NavigationId.CARPET_PRODUCTION_SCHEDULE_SETTINGS));\n }\n\n private setFormFields(showOnlySelectedItems: boolean, showOnlyQueryCompatibleOrderlines: boolean): void {\n this.form = this.formBuilder.group({\n showPreselectedItems: [showOnlySelectedItems],\n showOnlyQueryCompatibleOrderlines: [showOnlyQueryCompatibleOrderlines]\n });\n }\n}\n","
\n {{ 'PRODUCTION_ORDER_LITE.VERSION_HISTORY.READY_FOR_PRODUCTION' | bmsTranslate | uppercase }}\n
\n","import {Component} from '@angular/core';\nimport {ICellRendererAngularComp} from 'ag-grid-angular';\nimport {ICellRendererParams} from 'ag-grid-community';\n\n@Component({\n templateUrl: './grid-production-status.component.html',\n styleUrls: ['./grid-production-status.component.scss']\n})\nexport class GridProductionStatusComponent implements ICellRendererAngularComp {\n public readyForProduction: boolean;\n\n public agInit(params: ICellRendererParams): void {\n this.readyForProduction = params.value;\n }\n\n public refresh(params: any): boolean {\n return false;\n }\n}\n","
\n \n \n
\n \n \n \n\n \n \n {{\n 'PRODUCTION_ORDER.DESIGN_LIBRARY.VIEW_MODES.' + viewMode | bmsTranslate\n }}\n \n \n
\n \n
\n\n \n \n
\n","import {Component, EventEmitter, Inject, Input, OnChanges, OnInit, Optional, Output, Renderer2, SimpleChanges, ViewChild} from '@angular/core';\nimport {GridIdentifier} from '@application/grids/grid-identifier.enum';\nimport {DraggingService} from '@application/services/dragging/dragging.service';\nimport {FixedShape} from '@domain/drawing-library/fixed-shape.enum';\nimport {Drawing} from '@domain/production-schedule/drawing';\nimport {DrawingType} from '@domain/production-schedule/drawing-type.enum';\nimport {ProductionSchedule} from '@domain/production-schedule/production-schedule';\nimport {ProductionScheduleDrawingViewMode} from '@domain/production-schedule/production-schedule-drawing-view-mode.enum';\nimport {ProductionScheduleItemInPathGroup} from '@domain/production-schedule/production-schedule-item-in-path-group';\nimport {ProductionSchedulePath} from '@domain/production-schedule/production-schedule-path';\nimport {ProductionSchedulePathsOfColoredYarnSet} from '@domain/production-schedule/production-schedule-paths-of-colored-yarn-set';\nimport {Permission} from '@domain/profile/permission.enum';\nimport {Subscription} from '@domain/profile/subscription';\nimport {PropertyValue} from '@domain/property-value';\nimport {TargetForListOfDrawingsEnum} from '@domain/target-for-list-of-drawings.enum';\nimport {OverviewListColoredYarnSetWithStartDent} from '@domain/textile-data/creel/overview-list-colored-yarn-set-with-start-dent';\nimport {PathWidth} from '@domain/textile-data/machine-quality/path-width';\nimport {StatusBarTarget} from '@domain/textile-data/status-bar-target.constants';\nimport {AUTHENTICATION, Authentication} from '@infrastructure/http/authentication/authentication';\nimport {DRAWINGS, Drawings} from '@infrastructure/http/drawing/drawings';\nimport {HttpStatusBarService} from '@infrastructure/http/status-bar/http-status-bar.service';\nimport {OrderlineSettingsData} from '@presentation/components/dialog-button/dialog-data/order-lines-settings/order-lines-setting-data.interface';\nimport {OrderLinesCustomSettingsDialogComponent} from '@presentation/components/dialog-button/dialog-data/order-lines-settings/order-lines-settings.component';\nimport {ListDrawingConfiguration} from '@presentation/components/drawing-list/list-drawing-configuration';\nimport {DesignPreviewComponent} from '@presentation/components/grid/design-preview/design-preview.component';\nimport {PRODUCTION_SCHEDULE_PLAN, ProductionSchedulePlan} from '@presentation/pages/texfab/production-schedule/add/plan/production-schedule-plan';\nimport {GridCreelPreviewOfCreelPositionComponent} from '@presentation/pages/textile-data/creel/add/grid-creel-preview-of-creel-position/grid-creel-preview-of-creel-position.component';\nimport {PreviewType} from '@presentation/pages/textile-data/creel/add/preview-type';\nimport {\n AgGridRowSelection,\n AgGridUtils,\n AssertionUtils,\n BaseComponent,\n ColDefBuilderFactoryService,\n convertPixelsToHeightInMeter,\n DialogBuilder,\n DialogBuilderFactoryService,\n DialogType,\n EmptyCellRendererComponent,\n GridModel,\n GridOptionsBuilder,\n GridOptionsBuilderFactoryService,\n HeaderClass,\n LocalStorageService,\n NoDataOverlayComponentParams,\n NumberCellEditorComponent,\n NumberCellEditorParams,\n OverlayActionsService,\n OverlayComponentParamsAction,\n ProgressCellRendererComponent,\n StatusBar,\n StringUtils,\n TranslateService,\n Unit,\n UuidUtils\n} from '@vdw/angular-component-library';\nimport {AgGridAngular} from 'ag-grid-angular';\nimport {\n CellClickedEvent,\n CellEditingStartedEvent,\n CellEditingStoppedEvent,\n CellRendererSelectorResult,\n CellValueChangedEvent,\n ColDef,\n Column,\n ColumnVisibleEvent,\n EditableCallbackParams,\n FilterChangedEvent,\n GetRowIdParams,\n GridApi,\n GridOptions,\n GridReadyEvent,\n ICellRendererParams,\n IRowNode,\n IServerSideDatasource,\n IServerSideGetRowsParams,\n ITooltipParams,\n RowDoubleClickedEvent,\n RowNode,\n RowSelectedEvent,\n SortModelItem,\n ValueFormatterParams,\n ValueGetterParams,\n ValueSetterParams\n} from 'ag-grid-community';\nimport {L10nIntlService} from 'angular-l10n';\nimport {cloneDeep} from 'lodash-es';\nimport {Observable, of, takeUntil} from 'rxjs';\nimport {DrawingLibraryHelper} from './drawing-library-helper';\n\n@Component({\n selector: 'app-drawing-library-new-listview',\n templateUrl: './drawing-library-new-listview.component.html',\n styleUrls: ['./drawing-library-new-listview.component.scss']\n})\nexport class DrawingLibraryNewListViewComponent extends BaseComponent implements OnInit, OnChanges {\n private readonly SLICE_SIZE = 30;\n private readonly ROW_HEIGHT_WITH_PREVIEW = 96;\n private readonly ROW_HEIGHT_WITHOUT_PREVIEW = 24;\n private readonly HEADER_HEIGHT_WITH_PREVIEW = 56;\n private readonly HEADER_HEIGHT_WITHOUT_PREVIEW = 32;\n private readonly noOverlayAction: OverlayComponentParamsAction[] = [\n {\n key: 'addEventRule',\n titleKey: this.translate.instant('PRODUCTION_ORDER.WEAVE_PLAN.PRESELECTION.PRESELECTION'),\n isPrimary: true,\n disabled: false\n }\n ];\n\n @ViewChild('drawingsGrid') public drawingsGrid: AgGridAngular;\n @ViewChild('exportDrawingsGrid') public exportDrawingsGrid: AgGridAngular;\n\n @Input() public showSelectedItems = false;\n @Input() public advancedSearchFilters: PropertyValue[] = [];\n @Input() public canSelectDrawings = false;\n @Input() public isProductionSchedule = false;\n @Input() public showConfigurations = false;\n @Input() public productionScheduleItemMultiplier: number;\n @Input() public isExporting = false;\n @Input() public hideMissingDesigns = false;\n @Input() public filterOnDrawingType: DrawingType = null;\n @Input() public isPreSelection = false;\n @Input() public selectedPath: ProductionSchedulePath;\n @Input() public selectedRestPathColoredYarnSet: OverviewListColoredYarnSetWithStartDent;\n @Input() public productionSchedulePathsOfColoredYarnSet: ProductionSchedulePathsOfColoredYarnSet;\n @Input() public pathWidths: PathWidth[] = [];\n @Input() public productionSchedule: ProductionSchedule;\n @Input() public availableSpaceInBuggyInPicks: number;\n @Input() public buggyLengthMaxInPicks: number;\n @Input() public preselectedDesignIds: number[] = [];\n @Input() public preselectedConfigurationIds: number[] = [];\n @Input() public selectedPathContentRowData: ProductionScheduleItemInPathGroup;\n @Output() public drawingIdSelected: EventEmitter = new EventEmitter();\n @Output() public configurationIdSelected: EventEmitter = new EventEmitter();\n @Output() public drawingSelected: EventEmitter = new EventEmitter();\n @Output() public exportComplete: EventEmitter = new EventEmitter();\n @Output() public advancedSearchFiltersChange: EventEmitter = new EventEmitter();\n @Output() public selectedViewModeChanged = new EventEmitter();\n @Output() public navigateBackOutput = new EventEmitter();\n @Output() public selectedPathOutput: EventEmitter = new EventEmitter();\n @Output() public selectedRestPathColoredYarnSetOutput: EventEmitter = new EventEmitter();\n\n public drawingListGridModel: GridModel;\n public gridOptionsForDrawings: GridOptions;\n public exportGridOptions: GridOptions = {};\n public exportData: Drawing[] = [];\n public statusBar: StatusBar;\n public readonly customSettingsComponent = OrderLinesCustomSettingsDialogComponent;\n public viewModes: ProductionScheduleDrawingViewMode[] = [\n ProductionScheduleDrawingViewMode.DESIGNS_LIST,\n ProductionScheduleDrawingViewMode.ORDER_LINES,\n ProductionScheduleDrawingViewMode.GROUPED_ORDER_LINES,\n ProductionScheduleDrawingViewMode.GROUPED_DESIGNS\n ];\n\n public selectedViewMode = ProductionScheduleDrawingViewMode.DESIGNS_LIST;\n public showOnlyPreSelectedDrawings = false;\n\n private dialogBuilder: DialogBuilder;\n private designPreviewFiltered: boolean;\n private floatingFilters: PropertyValue[] = [];\n private addingItemToPath = false;\n private processRowSelection: boolean = true;\n private hasQuantitySuggestionPermission: boolean = false;\n private readyToFetchRows: boolean = false;\n private readonly rollLengthColumnId = 'rollLength';\n private changingFilter: boolean = false;\n\n public constructor(\n @Inject(AUTHENTICATION) private readonly authentication: Authentication,\n @Optional() @Inject(PRODUCTION_SCHEDULE_PLAN) private readonly productionSchedulePlan: ProductionSchedulePlan,\n @Inject(DRAWINGS) private readonly drawings: Drawings,\n private readonly colDefBuilderFactory: ColDefBuilderFactoryService,\n private readonly translate: TranslateService,\n private readonly gridOptionsBuilderFactoryService: GridOptionsBuilderFactoryService,\n private readonly l10nIntlService: L10nIntlService,\n private readonly renderer: Renderer2,\n private readonly draggingService: DraggingService,\n private readonly dialogBuilderFactoryService: DialogBuilderFactoryService,\n private readonly statusBarService: HttpStatusBarService,\n private readonly overlayActionsService: OverlayActionsService,\n private readonly localStorage: LocalStorageService,\n @Optional() private readonly drawingLibraryHelper: DrawingLibraryHelper\n ) {\n super();\n }\n\n public ngOnInit(): void {\n const currentSubscription = this.authentication.getCurrentSubscription();\n\n this.filterViewModes(currentSubscription);\n this.instantiateGridOptionsForDrawings();\n this.subscribeToOverlayActions();\n\n if (!this.isPreSelection) {\n this.viewModes.push(ProductionScheduleDrawingViewMode.GROUPED_DESIGN_THUMBNAILS);\n }\n\n this.hasQuantitySuggestionPermission = currentSubscription.hasPermission(Permission.TEXFAB_QUANTITY_SUGGESTION);\n\n this.selectedViewMode = this.localStorage.get('drawingLibraryViewMode') || ProductionScheduleDrawingViewMode.DESIGNS_LIST;\n\n if ((this.isPreSelection && this.selectedViewMode === ProductionScheduleDrawingViewMode.GROUPED_DESIGN_THUMBNAILS) || !this.viewModes.includes(this.selectedViewMode)) {\n this.selectedViewMode = ProductionScheduleDrawingViewMode.DESIGNS_LIST;\n this.selectedViewModeChanged.emit(this.selectedViewMode);\n }\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (!AssertionUtils.isEmpty(this.preselectedDesignIds) && !this.isPreSelection && 'preselectedDesignIds' in changes) {\n this.showOnlyPreSelectedDrawings = true;\n }\n\n if (!this.isPreSelection) {\n this.setInitializationFilters();\n }\n\n if ('canSelectDrawings' in changes && changes.canSelectDrawings.previousValue !== changes.canSelectDrawings.currentValue && this.drawingsGrid?.api) {\n this.drawingsGrid.api.hideOverlay();\n this.drawingsGrid.api.refreshServerSide({purge: true});\n this.onRowDataUpdated();\n }\n\n if (this.isExporting) {\n this.exportAllData();\n }\n\n if (\n this.hasQuantitySuggestionPermission &&\n ((this.isProductionSchedule && 'productionSchedule' in changes) || ('selectedPath' in changes && !AssertionUtils.isNullOrUndefined(this.drawingsGrid?.api)))\n ) {\n this.drawingsGrid?.api?.forEachNode((rowNode: RowNode) => {\n if (!AssertionUtils.isNullOrUndefined(rowNode.data)) {\n const value = this.drawingLibraryHelper.getQuantitySuggestionForPath(\n rowNode.data,\n this.productionSchedule,\n this.selectedPath,\n this.availableSpaceInBuggyInPicks,\n this.buggyLengthMaxInPicks,\n this.hasQuantitySuggestionPermission,\n this.productionScheduleItemMultiplier\n );\n rowNode.setDataValue('quantity', value);\n }\n });\n }\n }\n\n public updateGrid(gridModel: GridModel): void {\n this.drawingsGrid.api.setFilterModel(gridModel.filterModel);\n }\n\n public onCustomSettingsChanged(settings: {showPreselectedItems: boolean}): void {\n this.showOnlyPreSelectedDrawings = settings.showPreselectedItems ?? this.showOnlyPreSelectedDrawings;\n this.setInitializationFilters();\n }\n\n public getCustomSettingsDialogData(): any {\n return {\n showPreselectedItems: this.showOnlyPreSelectedDrawings,\n viewMode: this.selectedViewMode\n } as OrderlineSettingsData;\n }\n\n public getSelectedRows(): number {\n return !AssertionUtils.isNullOrUndefined(this.preselectedDesignIds) ? this.preselectedDesignIds.length : 0;\n }\n\n public onSelectedViewModeChanged(selectedViewMode: ProductionScheduleDrawingViewMode): void {\n this.localStorage.set('drawingLibraryViewMode', selectedViewMode);\n\n this.selectedViewModeChanged.emit(selectedViewMode);\n }\n\n public onDrawingCanceled(): void {\n if (!AssertionUtils.isNullOrUndefined(this.drawingsGrid?.api)) {\n this.drawingsGrid.api.deselectAll();\n }\n }\n\n public onDrawingDeleted(deletedDrawings: Drawing[]): void {\n this.onDrawingCanceled();\n if (!AssertionUtils.isNullOrUndefined(this.drawingsGrid) && !AssertionUtils.isNullOrUndefined(this.drawingsGrid.api)) {\n this.drawingsGrid.api.refreshServerSide();\n }\n }\n\n public onDrawingUpdated(updatedDrawing: Drawing): void {\n if (this.showConfigurations) {\n var drawingConfigurationCount = 0;\n this.drawingsGrid.api.forEachNode((node: RowNode) => {\n if (node.data.drawing.id === updatedDrawing.id) {\n const data = node.data;\n data.drawing = updatedDrawing;\n node.setData(data);\n ++drawingConfigurationCount;\n }\n });\n if (drawingConfigurationCount !== updatedDrawing.configurations.length) {\n this.drawingsGrid.api.refreshServerSide();\n }\n } else {\n this.drawingsGrid.api.forEachNode((node: RowNode) => {\n if (node.data.id === updatedDrawing.id) {\n node.setData(updatedDrawing);\n }\n });\n }\n }\n\n public exportAllData(): void {\n this.dialogBuilder = this.dialogBuilderFactoryService.getBuilder();\n this.dialogBuilder.openAlertDialog({\n titleText: 'AGGRID.EXPORT',\n messageText: 'AGGRID.EXPORTMESSAGE',\n type: DialogType.INFORMATION\n });\n\n const colDef = this.createColumnsDefinition();\n this.exportDrawingsGrid.api.setGridOption('columnDefs', colDef);\n const sortModel: SortModelItem[] = [];\n let startRow = 0;\n let endRow = this.SLICE_SIZE;\n const filterModel = this.drawingsGrid.api.getFilterModel();\n const gridModel: GridModel = new GridModel(startRow, endRow, sortModel, filterModel);\n\n this.fetchExportData(gridModel);\n }\n\n public toggleSelectedRows(change: boolean): void {\n if (change) {\n this.showSelectedItems = true;\n if (!AssertionUtils.isNullOrUndefined(this.drawingLibraryHelper)) {\n this.drawingLibraryHelper.savedFilterModel = null;\n }\n\n this.drawingsGrid.api.setFilterModel(null);\n\n const filterModel = this.drawingLibraryHelper.getPreselectedDrawingAndConfigurationIdsFilterModel(this.preselectedDesignIds, this.preselectedConfigurationIds);\n\n if (!AssertionUtils.isNullOrUndefined(this.drawingLibraryHelper)) {\n this.drawingLibraryHelper.savedFilterModel = filterModel;\n }\n\n this.drawingsGrid.api.setFilterModel(filterModel);\n } else {\n if (!AssertionUtils.isNullOrUndefined(this.drawingLibraryHelper)) {\n this.drawingLibraryHelper.savedFilterModel = null;\n }\n this.showSelectedItems = false;\n this.setInitializationFilters();\n }\n }\n\n public getTooltip(key: string): string {\n const translation = this.translate.instant(key);\n return translation.length > 20 ? translation : '';\n }\n\n private getStatusBarData(gridModel: GridModel): void {\n this.statusBarService\n .getStatusBarData(StatusBarTarget.DRAWING_LIBRARY, gridModel)\n .pipe(takeUntil(this.unSubscribeOnViewDestroy))\n .subscribe((statusBar: StatusBar) => (this.statusBar = statusBar));\n }\n\n private fetchExportData(gridModel: GridModel): void {\n this.drawings\n .getAllWithoutImageDataFromGridModel(TargetForListOfDrawingsEnum.DRAWING_LIBRARY, gridModel)\n .pipe(takeUntil(this.unSubscribeOnViewDestroy))\n .subscribe((listOfDrawings: Drawing[]) => {\n listOfDrawings.forEach((drawing: Drawing) => {\n this.exportData.push(drawing);\n });\n\n if (listOfDrawings.length < 29) {\n this.exportDrawingsGrid.api.setGridOption('rowData', this.exportData);\n this.exportGridOptions.cacheBlockSize = this.exportData.length;\n this.exportDrawingsGrid.api.exportDataAsCsv({columnKeys: ['name', 'widthInPx', 'heightInPx', 'shape', 'dateModified', 'sizeInKB']});\n this.isExporting = false;\n this.exportData = [];\n this.onExportComplete();\n this.dialogBuilder.close();\n } else {\n gridModel.startRow += this.SLICE_SIZE;\n gridModel.endRow += this.SLICE_SIZE;\n this.fetchExportData(gridModel);\n }\n });\n }\n\n private filterViewModes(currentSubscription: Subscription): void {\n if (!currentSubscription.hasPermission(Permission.TEXFAB_ORDERBOOK)) {\n this.viewModes = this.viewModes.filter(\n (viewMode: ProductionScheduleDrawingViewMode) => viewMode !== ProductionScheduleDrawingViewMode.ORDER_LINES && viewMode !== ProductionScheduleDrawingViewMode.GROUPED_ORDER_LINES\n );\n }\n }\n\n private getServerSideDatasource(): IServerSideDatasource {\n if (!this.readyToFetchRows) {\n return {\n getRows: (params: IServerSideGetRowsParams): void => {\n params.success({\n rowData: [],\n rowCount: 0\n });\n }\n };\n } else {\n return {\n getRows: (params: IServerSideGetRowsParams): void => {\n this.changingFilter = true;\n\n const endRow = params.request.endRow;\n const startRow = params.request.startRow;\n const sortModel = params.request.sortModel;\n let filterModel: any = params.request.filterModel;\n if (!AssertionUtils.isNullOrUndefined(this.drawingLibraryHelper)) {\n this.drawingLibraryHelper.savedFilterModel = filterModel;\n }\n\n this.drawingListGridModel = new GridModel(startRow, endRow, sortModel, filterModel);\n\n this.drawings\n .getAllWithoutImageDataFromGridModel(\n this.showConfigurations ? TargetForListOfDrawingsEnum.PRODUCTION_ORDER : TargetForListOfDrawingsEnum.DRAWING_LIBRARY,\n this.drawingListGridModel,\n this.showConfigurations\n )\n .pipe(takeUntil(this.unSubscribeOnViewDestroy))\n .subscribe({\n next: (listOfDrawings: Drawing[]) => {\n const drawings = this.getRowData(listOfDrawings);\n\n const endRowOrderbook = drawings.length < this.SLICE_SIZE ? startRow + drawings.length : undefined;\n\n if (startRow === 0) {\n if (this.isProductionSchedule) {\n this.getStatusBarData(this.drawingListGridModel);\n }\n\n if (drawings.length === 0) {\n params.api.showNoRowsOverlay();\n } else {\n params.api.hideOverlay();\n }\n }\n\n params.success({rowData: drawings, rowCount: endRowOrderbook});\n\n this.setSelectedDrawings(params.api);\n\n setTimeout(() => {\n this.changingFilter = false;\n });\n },\n error: (error: any) => {\n params.fail();\n params.api.showNoRowsOverlay();\n throw error;\n }\n });\n }\n };\n }\n }\n\n private onExportComplete(): void {\n this.exportComplete.emit();\n }\n\n private getRowData(listOfDrawings: Drawing[]): Drawing[] | ListDrawingConfiguration[] {\n if (this.showConfigurations) {\n return listOfDrawings.map((drawing: Drawing) => new ListDrawingConfiguration(drawing, 0));\n }\n\n return listOfDrawings;\n }\n\n private instantiateGridOptionsForDrawings(): void {\n let defaultGridOptionsForDrawings = this.getDefaultGridOptionsForDrawings();\n\n if (this.isProductionSchedule && !this.isPreSelection) {\n defaultGridOptionsForDrawings = defaultGridOptionsForDrawings\n .withOnRowSelected((event: RowSelectedEvent) => {\n setTimeout(() => {\n if (this.processRowSelection && this.hasQuantitySuggestionPermission) {\n this.drawingLibraryHelper.setQuantitySuggestionForPath(event, this.productionSchedule, this.selectedPath, this.availableSpaceInBuggyInPicks, this.buggyLengthMaxInPicks);\n }\n }, 500);\n })\n .withRowDraggingOutsideGrid(\n (params: {rowNode: RowNode; dragEvent: DragEvent}) => this.drawingLibraryHelper.onRowDrag(params, this.productionScheduleItemMultiplier, this.draggingService, this.renderer),\n undefined,\n 1\n );\n }\n\n if (this.isProductionSchedule) {\n this.gridOptionsForDrawings = defaultGridOptionsForDrawings\n .withSingleClickEdit()\n .withRowSelection(this.isPreSelection, false)\n .withOnCellEditingStarted((event: CellEditingStartedEvent) => this.onCellEditingStarted(event))\n .withOnRowSelected((event: RowSelectedEvent) => this.onRowSelection(event))\n .withOnRowDataUpdated(() => this.onRowDataUpdated())\n .withOnGridReady((event: GridReadyEvent) => {\n event.api.refreshCells();\n event.api.refreshHeader();\n this.setInitializationFilters();\n })\n .withOnCellValueChanged((event: CellValueChangedEvent) => {\n this.addDrawingToProductionSchedulePath(event.colDef, event.data);\n })\n .withOnRowDoubleClicked((event: RowDoubleClickedEvent) => {\n this.processRowSelection = false;\n const colDef = this.getColumnDefinitionForClickedCell();\n this.addDrawingToProductionSchedulePath(colDef, event.data);\n setTimeout(() => {\n this.processRowSelection = true;\n }, 1000);\n })\n .withOnCellEditingStopped((event: CellEditingStoppedEvent) => {\n if (this.hasQuantitySuggestionPermission) {\n this.drawingLibraryHelper.recalculateQuantitySuggestionWhenRollLengthIsChanged(\n event,\n this.rollLengthColumnId,\n this.productionSchedule,\n this.selectedPath,\n this.buggyLengthMaxInPicks,\n this.availableSpaceInBuggyInPicks\n );\n }\n })\n .build();\n } else {\n this.gridOptionsForDrawings = defaultGridOptionsForDrawings\n .withRowSelection(false)\n .withOnRowSelected((event: RowSelectedEvent) => this.onRowSelection(event))\n .build();\n }\n }\n\n private getDefaultGridOptionsForDrawings(): GridOptionsBuilder {\n return this.gridOptionsBuilderFactoryService\n .getBuilder(this.createColumnsDefinition(), GridIdentifier.DESIGN_LIST_NEW)\n .withOnFilterChanged(({api}: FilterChangedEvent) => {\n const floatingFilters = Object.values(api.getFilterModel());\n if (this.floatingFilters !== floatingFilters) {\n this.floatingFilters = floatingFilters;\n this.syncAdvancedSearchFiltersWithFloatingFilters();\n }\n })\n .withGetRowHeight(() => {\n return this.designPreviewFiltered ? this.ROW_HEIGHT_WITHOUT_PREVIEW : this.ROW_HEIGHT_WITH_PREVIEW;\n })\n .withNoRowsOverlay(this.isPreSelection ? this.getNoRowsOverlayForPreselection() : this.getNoRowsOverlayForBuilder())\n .withRowClass(this.designPreviewFiltered ? HeaderClass.COMPACT.toString() : '')\n .withOnColumnVisible((event: ColumnVisibleEvent) => this.withOnColumnVisible(event))\n .withServerSideDataSource(this.SLICE_SIZE, this.getServerSideDatasource())\n .withGetRowId((params: GetRowIdParams) => this.createRowIDForDrawing(this.showConfigurations ? params.data.drawing : params.data))\n .withLoadingOverlay()\n .withContext({componentParent: this});\n }\n\n private setInitializationFilters(): void {\n let filterModel: any;\n\n if (this.isProductionSchedule) {\n filterModel = this.drawingLibraryHelper.getInitializationFilterModel(\n this.showOnlyPreSelectedDrawings,\n this.productionSchedule,\n this.selectedPath,\n this.selectedRestPathColoredYarnSet,\n this.preselectedDesignIds,\n this.preselectedConfigurationIds,\n this.isPreSelection,\n this.selectedPathContentRowData\n );\n }\n\n this.readyToFetchRows = true;\n this.drawingsGrid?.api?.setFilterModel(filterModel);\n\n //because we fetched no rows yet, we need to explictly trigger a new getrows on aggrid\n this.drawingsGrid?.api?.setGridOption('serverSideDatasource', this.getServerSideDatasource());\n }\n\n private subscribeToOverlayActions(): void {\n this.overlayActionsService.actionTriggeredEmitter.pipe(takeUntil(this.unSubscribeOnViewDestroy)).subscribe((actionKey: string) => {\n if (actionKey === this.noOverlayAction[0].key) {\n this.navigateBackOutput.emit();\n }\n });\n }\n\n private getNoRowsOverlayForPreselection(): NoDataOverlayComponentParams {\n return {\n scale: 0.7,\n titleParam: 'PRODUCTION_ORDER.DESIGN_LIBRARY.VIEW_MODES.DESIGNS',\n hideDescription: true,\n isAnyFilterPresent: () => this.hasActiveFilters()\n } as NoDataOverlayComponentParams;\n }\n\n private getNoRowsOverlayForBuilder(): NoDataOverlayComponentParams {\n return {\n scale: 0.4,\n hideDescription: false,\n titleKey: 'PRODUCTION_ORDER.WEAVE_PLAN.PRESELECTION.NO_ITEMS_SELECTED',\n descriptionKey: 'PRODUCTION_ORDER.WEAVE_PLAN.PRESELECTION.GO_TO_PRESELECTION',\n actions: this.noOverlayAction,\n hideActions: false\n } as NoDataOverlayComponentParams;\n }\n\n private withOnColumnVisible(event: ColumnVisibleEvent): void {\n this.designPreviewFiltered = event.visible === false && event.columns.find((column: any) => column.colDef.cellClass === 'preview') != null;\n\n event.api.forEachNode((node: IRowNode) => {\n if (this.designPreviewFiltered) {\n node.setRowHeight(this.ROW_HEIGHT_WITHOUT_PREVIEW);\n } else {\n node.setRowHeight(this.ROW_HEIGHT_WITH_PREVIEW);\n }\n });\n\n event.api.onRowHeightChanged();\n\n this.gridOptionsForDrawings.headerHeight = this.designPreviewFiltered ? this.HEADER_HEIGHT_WITHOUT_PREVIEW : this.HEADER_HEIGHT_WITH_PREVIEW;\n this.gridOptionsForDrawings.floatingFiltersHeight = this.designPreviewFiltered ? this.HEADER_HEIGHT_WITHOUT_PREVIEW : this.HEADER_HEIGHT_WITH_PREVIEW;\n\n const colDefs = event.api.getColumnDefs();\n\n for (const colDef of colDefs) {\n colDef.headerClass = this.designPreviewFiltered ? HeaderClass.COMPACT.toString() : '';\n }\n\n event.api.setGridOption('columnDefs', colDefs);\n event.api.setGridOption('headerHeight', this.gridOptionsForDrawings.headerHeight);\n event.api.setGridOption('floatingFiltersHeight', this.gridOptionsForDrawings.floatingFiltersHeight);\n event.api.setGridOption('rowClass', this.designPreviewFiltered ? HeaderClass.COMPACT.toString() : '');\n\n event.api.refreshHeader();\n event.api.refreshCells({force: true});\n }\n\n private addDrawingToProductionSchedulePath(colDef: ColDef, data: ListDrawingConfiguration): void {\n if (colDef.headerName !== this.translate.instant('GENERAL.QUANTITY') && colDef.colId !== this.rollLengthColumnId) {\n const listDrawing = cloneDeep(data);\n listDrawing.amount = Math.floor(listDrawing.amount / this.productionScheduleItemMultiplier);\n\n if (\n !AssertionUtils.isNullOrUndefined(this.selectedPath) &&\n this.productionSchedule.canAddProductionScheduleItemToProductionSchedulePathForNewBuilder(listDrawing, this.selectedPath.technicalWidthInDents)\n ) {\n this.addDrawingToPath(listDrawing);\n } else if (\n AssertionUtils.isNullOrUndefined(this.selectedPath) &&\n this.productionSchedule.canAddProductionScheduleItemToColoredYarnSet(this.productionSchedulePathsOfColoredYarnSet.productionScheduleColoredYarnSet.startDent, listDrawing)\n ) {\n this.addDrawingToNewPath(listDrawing);\n } else {\n this.dialogBuilderFactoryService.getBuilder().openAlertDialog({\n titleText: 'PRODUCTION_ORDER.WEAVE_PLAN.WEAVE_PLAN',\n messageText: 'PRODUCTION_ORDER.WEAVE_PLAN.WARNINGS.PATH_WIDTH_DOES_NOT_EQUAL_DESIGN_WIDTH',\n type: DialogType.INFORMATION\n });\n\n setTimeout(() => {\n this.addingItemToPath = false;\n }, 3000);\n }\n }\n }\n\n private getColumnDefinitionForClickedCell(): ColDef {\n const column = this.drawingsGrid.api.getAllDisplayedColumns().find((col: Column) => col.getColId() === this.drawingsGrid.api.getFocusedCell().column.getColId());\n return !AssertionUtils.isNullOrUndefined(column) ? column.getColDef() : null;\n }\n\n private addDrawingToPath(listDrawing: ListDrawingConfiguration): void {\n const productionSchedulePathsOfColoredYarnSet = this.productionSchedule.getProductionSchedulePathsOfColoredYarnSetAtStartDent(\n this.productionSchedulePathsOfColoredYarnSet.productionScheduleColoredYarnSet.startDent\n );\n\n this.productionSchedulePlan.addDrawingToProductionSchedulePath(listDrawing, this.selectedPath.pathNumber, productionSchedulePathsOfColoredYarnSet.productionScheduleColoredYarnSet);\n }\n\n private addDrawingToNewPath(listDrawing: ListDrawingConfiguration): void {\n this.productionSchedulePlan\n .addDrawingToColoredYarnSet(listDrawing, this.productionSchedulePathsOfColoredYarnSet.productionScheduleColoredYarnSet.startDent)\n .pipe(takeUntil(this.unSubscribeOnViewDestroy))\n .subscribe((path: ProductionSchedulePath) => {\n if (!AssertionUtils.isNullOrUndefined(path)) {\n this.selectedPath = path;\n this.selectedRestPathColoredYarnSet = undefined;\n this.selectedPathOutput.emit(this.selectedPath);\n this.selectedRestPathColoredYarnSetOutput.emit(this.selectedRestPathColoredYarnSet);\n }\n });\n }\n\n private setSelectedDrawings(gridApi: GridApi): void {\n gridApi.deselectAll();\n if (this.canSelectDrawings && this.preselectedDesignIds?.length > 0) {\n gridApi?.forEachNode((node: RowNode) => {\n if (!AssertionUtils.isNullOrUndefined(node.data)) {\n node.setSelected(this.preselectedDesignIds.some((designId: number) => designId === node.data.drawing.id));\n }\n });\n }\n }\n\n private hasActiveFilters(): boolean {\n return Object.values(this.drawingsGrid.api.getFilterModel()).length > 0;\n }\n\n private onRowDataUpdated(): void {\n this.drawingsGrid.api.updateGridOptions({\n suppressRowClickSelection: !this.canSelectDrawings,\n rowSelection: this.canSelectDrawings ? {mode: AgGridRowSelection.MULTIPLE, checkboxes: true} : null,\n rowMultiSelectWithClick: this.canSelectDrawings\n });\n\n this.drawingsGrid.api.refreshCells();\n }\n\n private onRowSelection(event: RowSelectedEvent): void {\n if (this.isPreSelection && !this.changingFilter) {\n const selectedRows = event.api.getSelectedNodes();\n const selectedDesigns = selectedRows.map((rowNode: RowNode) => rowNode.data);\n const drawingId = event?.data?.drawing?.id;\n const configurationId = event?.data?.configurationId;\n\n let finalDesignIdsList = this.preselectedDesignIds ?? [];\n let finalConfigurationIdsList = this.preselectedConfigurationIds ?? [];\n\n if (event.node.isSelected() === false) {\n // Find and remove only the first occurrence of `idToRemove` in `finalDesignIdsList`\n const designIndex = finalDesignIdsList.indexOf(drawingId);\n if (designIndex !== -1) {\n finalDesignIdsList.splice(designIndex, 1);\n }\n\n // Find and remove only the first occurrence of `configurationIdToRemove` in `finalConfigurationIdsList`\n const configurationIndex = finalConfigurationIdsList.indexOf(configurationId);\n if (configurationIndex !== -1) {\n finalConfigurationIdsList.splice(configurationIndex, 1);\n }\n\n this.preselectedDesignIds = finalDesignIdsList;\n this.preselectedConfigurationIds = finalConfigurationIdsList;\n } else {\n this.preselectedDesignIds.push(drawingId);\n if (!AssertionUtils.isNullOrUndefined(configurationId) && configurationId !== 0) {\n this.preselectedConfigurationIds.push(configurationId);\n }\n }\n\n this.drawingSelected.emit(selectedDesigns);\n this.drawingIdSelected.emit(this.preselectedDesignIds);\n this.configurationIdSelected.emit(this.preselectedConfigurationIds);\n } else {\n const selectedRows = event.api.getSelectedNodes();\n const selectedDesigns = selectedRows.map((rowNode: RowNode) => rowNode.data);\n this.drawingSelected.emit(selectedDesigns);\n }\n }\n\n private onCellEditingStarted(event: CellEditingStartedEvent): void {\n if (this.canSelectDrawings) {\n event.node.setSelected(!event.node.isSelected());\n }\n }\n\n private createColumnsDefinition(): ColDef[] {\n const drawingPropertyPrefix = this.showConfigurations ? 'drawing.' : '';\n const alignRightString = 'align-right';\n\n let nameColDef = this.colDefBuilderFactory\n .getBuilder()\n .withColId('name')\n .withField(`${drawingPropertyPrefix}name`, true)\n .withHeaderName('DESIGN_LIBRARY.DETAILS.NAME')\n .withComparator(StringUtils.stringComparator)\n .withTextMultiFilter(this.getPossibleColumnsValues('name'))\n .withHeaderCheckboxSelection(false);\n\n if (!this.isProductionSchedule || this.isPreSelection) {\n nameColDef = nameColDef.withLockVisible().withSuppressMovable();\n }\n\n const defaultColDefs = [\n this.colDefBuilderFactory\n .getBuilder()\n .withColIdAndField('id')\n .withValueGetter((params: ValueGetterParams) => this.createRowIDForDrawing(this.showConfigurations ? params.data.drawing : params.data))\n .withNumericMultiFilter(this.getPossibleColumnsValues('id'))\n .withHide()\n .withHiddenInToolPanel()\n .build(),\n this.colDefBuilderFactory.getBuilder().withColIdAndField('configurationId').withNumericMultiFilter(this.getPossibleColumnsValues('configurationId')).withHiddenInToolPanel().withHide().build(),\n nameColDef.build(),\n this.colDefBuilderFactory\n .getBuilder()\n .withColId('preview')\n .withValueGetter(this.showConfigurations ? 'data.drawing' : 'data')\n .withHeaderName('GENERAL.PREVIEW')\n .withCellRenderer(DesignPreviewComponent, null, true)\n .withCellClass('preview')\n .withSortable(false)\n .withMinWidth(128)\n .withMaxWidth(128)\n .withoutFilter()\n .build(),\n this.colDefBuilderFactory\n .getBuilder()\n .withColId('qualityName')\n .withField(`quality`, true)\n .withHeaderName('TEXTILE_DATA.MACHINE_QUALITY.MACHINE_QUALITY')\n .withComparator(StringUtils.stringComparator)\n .withTextMultiFilter(this.getPossibleColumnsValues('qualityName'))\n .build(),\n this.colDefBuilderFactory\n .getBuilder()\n .withColId('colorSetName')\n .withField(`colorSet`, true)\n .withHeaderName('TEXTILE_DATA.COLOR_SET.COLOR_SET')\n .withComparator(StringUtils.stringComparator)\n .withTextMultiFilter(this.getPossibleColumnsValues('colorSetName'))\n .build(),\n this.colDefBuilderFactory\n .getBuilder()\n .withColId('mainColor')\n .withField('mainColor.name', true)\n .withComparator(StringUtils.stringComparator)\n .withHeaderName('GENERAL.ADVANCED_SEARCH.MAIN_COLOR')\n .withTextMultiFilter(this.getPossibleColumnsValues('mainColor'))\n .withCellRendererSelector(this.cellRendererSelector(GridCreelPreviewOfCreelPositionComponent, {previewType: PreviewType.COLOR, showRgbValues: true}, true))\n .build(),\n this.colDefBuilderFactory\n .getBuilder()\n .withColId('borderColor')\n .withField('borderColor.name', true)\n .withComparator(StringUtils.stringComparator)\n .withHeaderName('GENERAL.ADVANCED_SEARCH.BORDER_COLOR')\n .withCellRendererSelector(this.cellRendererSelector(GridCreelPreviewOfCreelPositionComponent, {previewType: PreviewType.COLOR, showRgbValues: true}, true, false))\n .withTextMultiFilter(this.getPossibleColumnsValues('borderColor'))\n .build(),\n this.colDefBuilderFactory\n .getBuilder()\n .withColId('commercialWidthInCM')\n .withField(`commercialDimensionsInCm.widthInCM`)\n .withHeaderName('GENERAL.DIMENSIONS.WIDTH', 1, false, Unit.CENTIMETER)\n .withValueFormatter((params: ValueFormatterParams) => params.data.commercialDimensionsInCM?.toFixed(2))\n .withNumericMultiFilter(this.getPossibleColumnsValues('commercialWidthInCM'))\n .withRightAlignment()\n .build(),\n this.colDefBuilderFactory\n .getBuilder()\n .withColId('widthInPx')\n .withField(`${drawingPropertyPrefix}dimensionsInPixels.widthInPx`)\n .withHeaderName('GENERAL.DIMENSIONS.WIDTH', 1, false, Unit.PIXEL)\n .withTooltipValueGetter((params: ITooltipParams) => AgGridUtils.buildAgGridCellTooltipWithUnit(params.value, Unit.PIXEL, this.l10nIntlService))\n .withCellClass(alignRightString)\n .withNumericMultiFilter(this.getPossibleColumnsValues('widthInPx'))\n .withRightAlignment()\n .build(),\n this.colDefBuilderFactory\n .getBuilder()\n .withColId('heightInPx')\n .withField(`${drawingPropertyPrefix}dimensionsInPixels.heightInPx`)\n .withHeaderName('GENERAL.DIMENSIONS.LENGTH', 1, false, Unit.PIXEL)\n .withTooltipValueGetter((params: ITooltipParams) => AgGridUtils.buildAgGridCellTooltipWithUnit(params.value, Unit.PIXEL, this.l10nIntlService))\n .withCellClass(alignRightString)\n .withNumericMultiFilter(this.getPossibleColumnsValues('heightInPx'))\n .withRightAlignment()\n .build(),\n this.colDefBuilderFactory\n .getBuilder()\n .withColId('shape')\n .withField(`${drawingPropertyPrefix}shape`)\n .withHeaderName('GENERAL.SHAPE')\n .withValueGetter((params: ValueGetterParams) => this.getShape(params.data), true)\n .withComparator(StringUtils.stringComparator)\n .withTextMultiFilter(this.getPossibleColumnsValues('shape'))\n .build(),\n this.colDefBuilderFactory\n .getBuilder()\n .withColId('dateModified')\n .withField(`${drawingPropertyPrefix}dateModified`)\n .withHeaderName('TEXTILE_DATA.LAST_MODIFIED')\n .withDate()\n .withDateMultiFilter(this.getPossibleColumnsValues('dateModified'))\n .build(),\n this.colDefBuilderFactory\n .getBuilder()\n .withColId('sizeInKB')\n .withField(`${drawingPropertyPrefix}sizeInKB`)\n .withHeaderName('DESIGN_LIBRARY.DETAILS.SIZE')\n .withCellClass(alignRightString)\n .withValueGetter((params: ValueGetterParams) => this.getSizeInKB(params.data))\n .withCellRenderer((params: ICellRendererParams) => AgGridUtils.buildAgGridCellTextWithUnit(params.getValue(), Unit.KILOBYTE, this.l10nIntlService), null, true)\n .withTooltipValueGetter((params: ITooltipParams) => AgGridUtils.buildAgGridCellTooltipWithUnit(params.value, Unit.KILOBYTE, this.l10nIntlService))\n .withRightAlignment()\n .withoutFilter()\n .withSortable()\n .build(),\n this.colDefBuilderFactory\n .getBuilder()\n .withColIdAndField('drawingType')\n .withValueGetter(this.showConfigurations ? 'data.drawing.drawingType' : 'data')\n .withTextMultiFilter(of(['BMP', 'EP']))\n .withHide(!AssertionUtils.isNullOrUndefined(this.filterOnDrawingType))\n .withHiddenInToolPanel()\n .build(),\n this.colDefBuilderFactory\n .getBuilder()\n .withColIdAndField('missingDesign')\n .withValueGetter(this.showConfigurations ? 'data.drawing.missingDesign' : 'data')\n .withTextMultiFilter(of(['true', 'false']))\n .withHide()\n .withHiddenInToolPanel()\n .build()\n ];\n\n const builderAmountColDef = [\n this.colDefBuilderFactory\n .getBuilder()\n .withColIdAndField('add')\n .withHeaderName('PRODUCTION_ORDER.DESIGN_LIBRARY.ORDER_LINES.ADD_TO_PATH')\n .withCellRenderer(ProgressCellRendererComponent, {label: 'GENERAL.ACTIONS.ADD', isSaving: this.addingItemToPath}, true)\n .withoutFilter()\n .withSuppressMovable()\n .withMinWidth(135)\n .withMaxWidth(200)\n .withHide(!this.isProductionSchedule || this.isPreSelection)\n .withHiddenInToolPanel()\n .build(),\n this.colDefBuilderFactory\n .getBuilder()\n .withColId('quantity')\n .withField('amount')\n .withHeaderName('GENERAL.QUANTITY')\n .withOnCellClicked((event: CellClickedEvent) => this.editQuantityCell(event))\n .withSortable(false)\n .withEditable(true)\n .withCellEditor(NumberCellEditorComponent, (): NumberCellEditorParams => ({min: this.productionScheduleItemMultiplier, isSmall: false, autoSelect: true}) as NumberCellEditorParams)\n .withValueGetter((params: ValueGetterParams) => {\n if (params.data?.amount) {\n return params.data.amount;\n } else {\n return this.drawingLibraryHelper.getQuantitySuggestionForPath(\n params.data,\n this.productionSchedule,\n this.selectedPath,\n this.availableSpaceInBuggyInPicks,\n this.buggyLengthMaxInPicks,\n this.hasQuantitySuggestionPermission,\n this.productionScheduleItemMultiplier\n );\n }\n })\n .withValueSetter((params: ValueSetterParams) => this.setQuantity(params))\n .withMinWidth(100)\n .withoutFilter()\n .withLockVisible()\n .withSuppressMovable()\n .withRightAlignment()\n .build(),\n this.colDefBuilderFactory\n .getBuilder()\n .withColId(this.rollLengthColumnId)\n .withField(`rollLengthInMeter`)\n .withHeaderName('PRODUCTION_ORDER.WEAVE_PLAN.PATH_LAYOUT.ROLL_LENGTH', undefined, false, Unit.METER)\n .withOnCellClicked((event: CellClickedEvent) => this.editQuantityCell(event))\n .withSortable(false)\n .withEditable((params: EditableCallbackParams) => this.isRollLengthEditable(params))\n .withCellEditor(NumberCellEditorComponent, (): NumberCellEditorParams => ({isSmall: false, autoSelect: true}) as NumberCellEditorParams)\n .withValueGetter((params: ValueGetterParams) => {\n if (params.data?.rollLengthInMeter && params.data?.commercialDimensionsInCm?.heightInCM / 100 < params.data.rollLengthInMeter) {\n return params.data.rollLengthInMeter;\n } else if (params.data?.drawing?.repeated) {\n const rollLengthInMeter = params.data?.commercialDimensionsInCm?.heightInCM / 100;\n if (!AssertionUtils.isNullOrUndefined(rollLengthInMeter) && !isNaN(rollLengthInMeter)) {\n params.data.rollLengthInMeter = rollLengthInMeter;\n return params.data.rollLengthInMeter;\n } else {\n return convertPixelsToHeightInMeter(\n params?.data?.drawing?.dimensionsInPixels?.heightInPx,\n this.productionSchedule?.machineQuality?.pickDensity * 1000,\n this.productionSchedule?.machineQuality?.weaveStructure?.picksPerColorLine\n );\n }\n } else {\n return null;\n }\n })\n .withMinWidth(130)\n .withoutFilter()\n .withHide(this.isPreSelection)\n .withHiddenInToolPanel(this.isPreSelection)\n .withRightAlignment()\n .build(),\n this.colDefBuilderFactory\n .getBuilder()\n .withColId('heightInCM')\n .withField(`commercialDimensionsInCm.heightInCM`)\n .withHeaderName('GENERAL.DIMENSIONS.HEIGHT', 1, false, Unit.CENTIMETER)\n .withNumericMultiFilter(this.getPossibleColumnsValues('heightInCM'))\n .withRightAlignment()\n .withHiddenInToolPanel()\n .withHide(this.isPreSelection)\n .build()\n ];\n\n return this.isProductionSchedule && !this.isPreSelection ? [...builderAmountColDef, ...defaultColDefs] : defaultColDefs;\n }\n\n private getShape(drawing: Drawing | ListDrawingConfiguration): string {\n const shape = drawing instanceof ListDrawingConfiguration ? drawing.drawing.shape : drawing.shape;\n return FixedShape.getTranslationKeyForShape(shape, this.translate);\n }\n\n private getSizeInKB(drawing: Drawing | ListDrawingConfiguration): number {\n if (drawing instanceof ListDrawingConfiguration) {\n return drawing.drawing.sizeInKB ? Math.round(drawing.drawing.sizeInKB) : 0;\n }\n return drawing.sizeInKB ? Math.round(drawing.sizeInKB) : 0;\n }\n\n private editQuantityCell(event: CellClickedEvent): void {\n if (this.drawingsGrid?.api) {\n this.drawingsGrid?.api?.stopEditing();\n }\n\n if (event.column.getColDef().editable) {\n this.drawingsGrid?.api.startEditingCell({\n rowIndex: event?.rowIndex,\n colKey: event?.column?.getColId()\n });\n }\n }\n\n private setQuantity(params: ValueSetterParams): boolean {\n if (this.productionScheduleItemMultiplier === 2 && params.newValue % 2 !== 0) {\n params.newValue--;\n }\n params.data.amount = Math.max(this.productionScheduleItemMultiplier, params.newValue);\n return true;\n }\n\n private createRowIDForDrawing(drawing: Drawing): string {\n return AssertionUtils.isNullOrUndefined(drawing) ? `${UuidUtils.generateV4Uuid()}` : `${drawing.id}${UuidUtils.generateV4Uuid()}`;\n }\n\n private syncAdvancedSearchFiltersWithFloatingFilters(): void {\n const advancedSearchFiltersFromFloatingFilters = this.advancedSearchFilters.map((advancedSearchFilter: PropertyValue) => {\n const floatingFilterToSyncWith = this.floatingFilters.find((floatingFilter: PropertyValue) => floatingFilter.propertyName === advancedSearchFilter.propertyName);\n if (floatingFilterToSyncWith !== undefined) {\n advancedSearchFilter.propertyValue = floatingFilterToSyncWith.propertyValue;\n }\n return advancedSearchFilter;\n });\n this.advancedSearchFiltersChange.emit(advancedSearchFiltersFromFloatingFilters);\n }\n\n private cellRendererSelector(\n cellRenderer: any = null,\n cellRendererParams: any = null,\n cellForMainOrBorderColor: boolean = false,\n useMainColor: boolean = true\n ): (params: ICellRendererParams) => CellRendererSelectorResult {\n return (params: ICellRendererParams): CellRendererSelectorResult => {\n if (cellForMainOrBorderColor) {\n const configuration = params.data as ListDrawingConfiguration;\n cellRendererParams.value = {creelPositionForColors: useMainColor ? configuration.mainColor : configuration.borderColor};\n }\n return params.node.level === 0 ? {component: cellRenderer ?? params.colDef.cellRenderer, params: cellRendererParams} : {component: EmptyCellRendererComponent};\n };\n }\n\n private isRollLengthEditable(params: EditableCallbackParams): boolean {\n return params.data.drawing?.repeated;\n }\n\n private getPossibleColumnsValues(columnIdentifier: string): Observable {\n return this.drawings.getPossibleValues(columnIdentifier).pipe(takeUntil(this.unSubscribeOnViewDestroy));\n }\n}\n"," \n \n","import {Component} from '@angular/core';\nimport {OverviewListCreelPosition} from '@domain/textile-data/creel/overview-list-creel-position';\nimport {PreviewType} from '@presentation/pages/textile-data/creel/add/preview-type';\nimport {OverviewListYarnType} from '@presentation/pages/textile-data/yarn-type/overview/overview-list-yarn-type';\nimport {AssertionUtils, Color} from '@vdw/angular-component-library';\nimport {ICellRendererAngularComp} from 'ag-grid-angular';\nimport {isEqual, isUndefined} from 'lodash-es';\n\n@Component({\n templateUrl: './grid-creel-preview-of-creel-position.component.html',\n styleUrls: ['./grid-creel-preview-of-creel-position.component.scss']\n})\nexport class GridCreelPreviewOfCreelPositionComponent implements ICellRendererAngularComp {\n public yarnTypes: OverviewListYarnType[];\n public showRgbValues: boolean = false;\n public colors: Color[];\n\n private previewType: PreviewType;\n\n public agInit(params: any): void {\n this.showRgbValues = params.showRgbValues;\n const creelPositionForColors: OverviewListCreelPosition = params.value.creelPositionForColors;\n\n if (!AssertionUtils.isNullOrUndefined(params.value.colors)) {\n this.colors = params.value.colors;\n }\n\n if (!AssertionUtils.isNullOrUndefined(creelPositionForColors)) {\n this.colors = creelPositionForColors.getUniqueItems() as Color[];\n }\n\n const creelPositionForYarnTypes: OverviewListCreelPosition = params.value.creelPositionForYarnTypes;\n if (!AssertionUtils.isNullOrUndefined(creelPositionForYarnTypes)) {\n this.yarnTypes = creelPositionForYarnTypes.getUniqueItems() as OverviewListYarnType[];\n }\n\n if (!isUndefined(params.previewType)) {\n this.previewType = params.previewType;\n }\n }\n\n public refresh(params: any): boolean {\n return false;\n }\n\n public canShowColors(): boolean {\n return isEqual(this.previewType, PreviewType.COLOR);\n }\n\n public canShowYarnTypes(): boolean {\n return isEqual(this.previewType, PreviewType.YARN_TYPE);\n }\n}\n","import {environment} from '@environments/environment';\n\nexport class HelpdeskUrlConstants {\n public static readonly BASE_URL = environment.helpUrl + '/support/solutions/articles/';\n public static readonly CADCAM = HelpdeskUrlConstants.BASE_URL + '44002333100';\n public static readonly SET_UP_VIBRATION_METER = HelpdeskUrlConstants.BASE_URL + '44002195814-setting-up-the-vibration-meter';\n public static readonly SET_WINDER_IN_MAINTENANCE_MODE = HelpdeskUrlConstants.BASE_URL + '44002195860-setting-the-winder-in-maintenance-mode';\n}\n","import baseSlice from './_baseSlice.js';\nimport isIterateeCall from './_isIterateeCall.js';\nimport toInteger from './toInteger.js';\n\n/**\n * Creates a slice of `array` from `start` up to, but not including, `end`.\n *\n * **Note:** This method is used instead of\n * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are\n * returned.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction slice(array, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {\n start = 0;\n end = length;\n }\n else {\n start = start == null ? 0 : toInteger(start);\n end = end === undefined ? length : toInteger(end);\n }\n return baseSlice(array, start, end);\n}\n\nexport default slice;\n"],"x_google_ignoreList":[21]}