mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-10-30 03:56:23 -05:00 
			
		
		
		
	SelectableItem dropdowns refactoring
This commit is contained in:
		| @@ -48,9 +48,9 @@ export class BulkEditorComponent { | |||||||
|   correspondents: PaperlessCorrespondent[] |   correspondents: PaperlessCorrespondent[] | ||||||
|   documentTypes: PaperlessDocumentType[] |   documentTypes: PaperlessDocumentType[] | ||||||
|  |  | ||||||
|   private _initialTagsSelectableItems: SelectableItem[] |   private initiallySelectedTagsSelectableItems: SelectableItem[] | ||||||
|   private _initialCorrespondentsSelectableItems: SelectableItem[] |   private initiallySelectedCorrespondentsSelectableItems: SelectableItem[] | ||||||
|   private _initialDocumentTypesSelectableItems: SelectableItem[] |   private initiallySelectedDocumentTypesSelectableItems: SelectableItem[] | ||||||
|  |  | ||||||
|   dropdownTypes = FilterableDropdownType |   dropdownTypes = FilterableDropdownType | ||||||
|  |  | ||||||
| @@ -109,36 +109,33 @@ export class BulkEditorComponent { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   tagsDropdownOpen() { |   tagsDropdownOpen() { | ||||||
|     this._initialTagsSelectableItems = this.tagsSelectableItems |     this.initiallySelectedTagsSelectableItems = this.tagsSelectableItems.filter(tsi => tsi.state == SelectableItemState.Selected) | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   correspondentsDropdownOpen() { |   correspondentsDropdownOpen() { | ||||||
|     this._initialCorrespondentsSelectableItems = this.correspondentsSelectableItems |     this.initiallySelectedCorrespondentsSelectableItems = this.correspondentsSelectableItems.filter(csi => csi.state == SelectableItemState.Selected) | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   documentTypesDropdownOpen() { |   documentTypesDropdownOpen() { | ||||||
|     this._initialDocumentTypesSelectableItems = this.documentTypesSelectableItems |     this.initiallySelectedDocumentTypesSelectableItems = this.documentTypesSelectableItems.filter(dtsi => dtsi.state == SelectableItemState.Selected) | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   applyTags(selectedTags: PaperlessTag[]) { |   applyTags(selectedTags: PaperlessTag[]) { | ||||||
|     let initiallySelectedSelectableTags = this._initialTagsSelectableItems.filter(tsi => tsi.state == SelectableItemState.Selected) |     let unchanged = this.equateItemsToSelectableItems(selectedTags, this.initiallySelectedTagsSelectableItems) | ||||||
|     let unchanged = this.equateItemsToSelectableItems(selectedTags, initiallySelectedSelectableTags) |  | ||||||
|     if (!unchanged) this.setTags.emit(selectedTags) |     if (!unchanged) this.setTags.emit(selectedTags) | ||||||
|     this._initialTagsSelectableItems = null |     this.initiallySelectedTagsSelectableItems = null | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   applyCorrespondent(selectedCorrespondents: PaperlessCorrespondent[]) { |   applyCorrespondent(selectedCorrespondents: PaperlessCorrespondent[]) { | ||||||
|     let initiallySelectedSelectableCorrespondents = this._initialCorrespondentsSelectableItems.filter(csi => csi.state == SelectableItemState.Selected) |     let unchanged = this.equateItemsToSelectableItems(selectedCorrespondents, this.initiallySelectedCorrespondentsSelectableItems) | ||||||
|     let unchanged = this.equateItemsToSelectableItems(selectedCorrespondents, initiallySelectedSelectableCorrespondents) |  | ||||||
|     if (!unchanged) this.setCorrespondent.emit(selectedCorrespondents?.length > 0 ? selectedCorrespondents.shift() : null) |     if (!unchanged) this.setCorrespondent.emit(selectedCorrespondents?.length > 0 ? selectedCorrespondents.shift() : null) | ||||||
|     this._initialCorrespondentsSelectableItems = null |     this.initiallySelectedCorrespondentsSelectableItems = null | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   applyDocumentType(selectedDocumentTypes: PaperlessDocumentType[]) { |   applyDocumentType(selectedDocumentTypes: PaperlessDocumentType[]) { | ||||||
|     let initiallySelectedSelectableDocumentTypes = this._initialDocumentTypesSelectableItems.filter(dtsi => dtsi.state == SelectableItemState.Selected) |     let unchanged = this.equateItemsToSelectableItems(selectedDocumentTypes, this.initiallySelectedDocumentTypesSelectableItems) | ||||||
|     let unchanged = this.equateItemsToSelectableItems(selectedDocumentTypes, initiallySelectedSelectableDocumentTypes) |  | ||||||
|     if (!unchanged) this.setDocumentType.emit(selectedDocumentTypes.length > 0 ? selectedDocumentTypes.shift() : null) |     if (!unchanged) this.setDocumentType.emit(selectedDocumentTypes.length > 0 ? selectedDocumentTypes.shift() : null) | ||||||
|     this._initialDocumentTypesSelectableItems = null |     this.initiallySelectedDocumentTypesSelectableItems = null | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   equateItemsToSelectableItems(items: ObjectWithId[], selectableItems: SelectableItem[]): boolean { |   equateItemsToSelectableItems(items: ObjectWithId[], selectableItems: SelectableItem[]): boolean { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Michael Shamoon
					Michael Shamoon