From 4642a6597759e519e2acf43f82df6db47b8959ea Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Mon, 17 Apr 2023 13:11:06 -0500 Subject: [PATCH] updated vars and split up action Signed-off-by: Matt Bruce --- .../Tooltip/TrailingTooltipLabel.swift | 37 ++++++++++--------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/VDS/Components/Tooltip/TrailingTooltipLabel.swift b/VDS/Components/Tooltip/TrailingTooltipLabel.swift index 57f62960..7920c17d 100644 --- a/VDS/Components/Tooltip/TrailingTooltipLabel.swift +++ b/VDS/Components/Tooltip/TrailingTooltipLabel.swift @@ -15,7 +15,7 @@ open class TrailingTooltipLabel: View, TooltipLaunchable { //-------------------------------------------------- // MARK: - Private Properties //-------------------------------------------------- - private let toolTipAction = PassthroughSubject() + private let tooltipAction = PassthroughSubject() //-------------------------------------------------- // MARK: - Public Properties @@ -24,21 +24,23 @@ open class TrailingTooltipLabel: View, TooltipLaunchable { open var labelText: String? { didSet { didChange() }} - open var labelAttributes: [any LabelAttributeModel]? { didSet { didChange() }} + open var labelAttributes: [any LabelAttributeModel]? { didSet { didChange() } } - open var labelTextStyle: TextStyle = .defaultStyle { didSet { didChange() }} + open var labelTextStyle: TextStyle = .defaultStyle { didSet { didChange() } } + + open var labelTextPosition: TextPosition = .left { didSet { didChange() } } public lazy var textColorConfiguration: AnyColorable = { label.textColorConfiguration }() { didSet { didChange() }} - open var tooltipCloseButtonText: String = "Close" { didSet { didChange() }} + open var tooltipCloseButtonText: String = "Close" { didSet { didChange() } } - open var tooltipSize: Tooltip.Size = .medium { didSet { didChange() }} + open var tooltipSize: Tooltip.Size = .medium { didSet { didChange() } } - open var tooltipTitle: String = "" { didSet { didChange() }} + open var tooltipTitle: String = "" { didSet { didChange() } } - open var tooltipContent: String = "" { didSet { didChange() }} + open var tooltipContent: String = "" { didSet { didChange() } } //-------------------------------------------------- // MARK: - Overrides @@ -50,7 +52,7 @@ open class TrailingTooltipLabel: View, TooltipLaunchable { label.pinToSuperView() //create the tooltip click event - toolTipAction.sink { [weak self] in + tooltipAction.sink { [weak self] in guard let self else { return } self.presentTooltip(surface: self.surface, title: self.tooltipTitle, @@ -71,21 +73,20 @@ open class TrailingTooltipLabel: View, TooltipLaunchable { //add the tool tip if let oldText = updatedLabelText, !tooltipTitle.isEmpty, !tooltipContent.isEmpty { - let toolTipUpdateText = "\(oldText) " //create a little space between the final character and tooltip image - let toolTipAttribute = ToolTipLabelAttribute(action: toolTipAction, - location: toolTipUpdateText.count - 1, - length: 1, - tintColor: textColorConfiguration.getColor(self), - size: tooltipSize, - lineHeight: labelTextStyle.lineHeight) - updatedLabelText = toolTipUpdateText - attributes.append(toolTipAttribute) + let tooltipUpdateText = "\(oldText) " //create a little space between the final character and tooltip image + let frame = CGRect(x: 0, y: 0, width: tooltipSize.dimensions.width, height: tooltipSize.dimensions.width) + let color = textColorConfiguration.getColor(self) + let tooltipAttribute = ImageLabelAttribute(location: tooltipUpdateText.count - 2, imageName: "info", frame: frame, tintColor: color) + let tooltipAction = ActionLabelAttribute(location: tooltipUpdateText.count - 3, length: 3, shouldUnderline: false, action: tooltipAction) + updatedLabelText = tooltipUpdateText + attributes.append(tooltipAttribute) + attributes.append(tooltipAction) } - label.debugBorder() //set the titleLabel label.text = updatedLabelText label.attributes = attributes label.textStyle = labelTextStyle + label.textPosition = labelTextPosition label.surface = surface label.disabled = disabled }