Skip to content

Commit

Permalink
Merge pull request wikimedia#4705 from wikimedia/native-editor-reference
Browse files Browse the repository at this point in the history
Native Editor - Add reference support
  • Loading branch information
mazevedofs authored Jan 11, 2024
2 parents 261a1fd + 195423e commit 276b9eb
Show file tree
Hide file tree
Showing 18 changed files with 630 additions and 44 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ protocol WKEditorToolbarExpandingViewDelegate: AnyObject {
func toolbarExpandingViewDidTapFind(toolbarView: WKEditorToolbarExpandingView)
func toolbarExpandingViewDidTapFormatText(toolbarView: WKEditorToolbarExpandingView)
func toolbarExpandingViewDidTapTemplate(toolbarView: WKEditorToolbarExpandingView, isSelected: Bool)
func toolbarExpandingViewDidTapReference(toolbarView: WKEditorToolbarExpandingView, isSelected: Bool)
func toolbarExpandingViewDidTapLink(toolbarView: WKEditorToolbarExpandingView, isSelected: Bool)
func toolbarExpandingViewDidTapImage(toolbarView: WKEditorToolbarExpandingView)
func toolbarExpandingViewDidTapUnorderedList(toolbarView: WKEditorToolbarExpandingView, isSelected: Bool)
Expand Down Expand Up @@ -45,7 +46,7 @@ class WKEditorToolbarExpandingView: WKEditorToolbarView {
@IBOutlet weak var secondaryContainerView: UIView!

@IBOutlet private weak var formatTextButton: WKEditorToolbarButton!
@IBOutlet private weak var citationButton: WKEditorToolbarButton!
@IBOutlet private weak var referenceButton: WKEditorToolbarButton!
@IBOutlet private weak var linkButton: WKEditorToolbarButton!
@IBOutlet private weak var templateButton: WKEditorToolbarButton!
@IBOutlet private weak var imageButton: WKEditorToolbarButton!
Expand Down Expand Up @@ -86,9 +87,9 @@ class WKEditorToolbarExpandingView: WKEditorToolbarView {
formatTextButton.accessibilityIdentifier = WKSourceEditorAccessibilityIdentifiers.current?.formatTextButton
formatTextButton.accessibilityLabel = WKSourceEditorLocalizedStrings.current.accessibilityLabelButtonFormatText

citationButton.setImage(WKSFSymbolIcon.for(symbol: .quoteOpening), for: .normal)
citationButton.addTarget(self, action: #selector(tappedCitation), for: .touchUpInside)
citationButton.accessibilityLabel = WKSourceEditorLocalizedStrings.current.accessibilityLabelButtonCitation
referenceButton.setImage(WKSFSymbolIcon.for(symbol: .quoteOpening), for: .normal)
referenceButton.addTarget(self, action: #selector(tappedReference), for: .touchUpInside)
referenceButton.accessibilityLabel = WKSourceEditorLocalizedStrings.current.accessibilityLabelButtonCitation

linkButton.setImage(WKSFSymbolIcon.for(symbol: .link), for: .normal)
linkButton.addTarget(self, action: #selector(tappedLink), for: .touchUpInside)
Expand Down Expand Up @@ -152,6 +153,7 @@ class WKEditorToolbarExpandingView: WKEditorToolbarView {
}

templateButton.isSelected = selectionState.isHorizontalTemplate
referenceButton.isSelected = selectionState.isHorizontalReference
linkButton.isSelected = selectionState.isSimpleLink
imageButton.isEnabled = !selectionState.isBold && !selectionState.isItalics && !selectionState.isSimpleLink

Expand Down Expand Up @@ -224,7 +226,8 @@ class WKEditorToolbarExpandingView: WKEditorToolbarView {
@objc private func tappedFormatHeading() {
}

@objc private func tappedCitation() {
@objc private func tappedReference() {
delegate?.toolbarExpandingViewDidTapReference(toolbarView: self, isSelected: referenceButton.isSelected)
}

@objc private func tappedLink() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,6 @@
</constraints>
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
<connections>
<outlet property="citationButton" destination="Ep4-cb-vlw" id="yG8-Jl-eDx"/>
<outlet property="cursorDownButton" destination="R3Q-hM-v0V" id="Dfl-e6-eBm"/>
<outlet property="cursorLeftButton" destination="Vh2-x6-dCr" id="W62-wK-a2b"/>
<outlet property="cursorRightButton" destination="q6d-fY-Su5" id="TBr-Z2-IEa"/>
Expand All @@ -281,6 +280,7 @@
<outlet property="linkButton" destination="lOp-Bv-UED" id="I7F-zV-jom"/>
<outlet property="orderedListButton" destination="Usg-R3-2O9" id="8Qf-xg-gjD"/>
<outlet property="primaryContainerView" destination="BWO-2h-I64" id="8BW-Xe-ftH"/>
<outlet property="referenceButton" destination="Ep4-cb-vlw" id="yG8-Jl-eDx"/>
<outlet property="scrollView" destination="ZnR-ux-s6T" id="cvF-Ya-s9R"/>
<outlet property="secondaryContainerView" destination="51i-1d-Lli" id="RSM-Cp-gEO"/>
<outlet property="stackView" destination="ajR-7a-Sik" id="xc8-7a-mMJ"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ protocol WKEditorToolbarHighlightViewDelegate: AnyObject {
func toolbarHighlightViewDidTapBold(toolbarView: WKEditorToolbarHighlightView, isSelected: Bool)
func toolbarHighlightViewDidTapItalics(toolbarView: WKEditorToolbarHighlightView, isSelected: Bool)
func toolbarHighlightViewDidTapTemplate(toolbarView: WKEditorToolbarHighlightView, isSelected: Bool)
func toolbarHighlightViewDidTapReference(toolbarView: WKEditorToolbarHighlightView, isSelected: Bool)
func toolbarHighlightViewDidTapLink(toolbarView: WKEditorToolbarHighlightView, isSelected: Bool)
func toolbarHighlightViewDidTapShowMore(toolbarView: WKEditorToolbarHighlightView)
}
Expand All @@ -16,7 +17,7 @@ class WKEditorToolbarHighlightView: WKEditorToolbarView {

@IBOutlet private weak var boldButton: WKEditorToolbarButton!
@IBOutlet private weak var italicsButton: WKEditorToolbarButton!
@IBOutlet private weak var citationButton: WKEditorToolbarButton!
@IBOutlet private weak var referenceButton: WKEditorToolbarButton!
@IBOutlet private weak var linkButton: WKEditorToolbarButton!
@IBOutlet private weak var templateButton: WKEditorToolbarButton!
@IBOutlet private weak var showMoreButton: WKEditorToolbarNavigatorButton!
Expand All @@ -39,9 +40,9 @@ class WKEditorToolbarHighlightView: WKEditorToolbarView {
italicsButton.addTarget(self, action: #selector(tappedItalics), for: .touchUpInside)
italicsButton.accessibilityLabel = WKSourceEditorLocalizedStrings.current?.accessibilityLabelButtonItalics

citationButton.setImage(WKSFSymbolIcon.for(symbol: .quoteOpening), for: .normal)
citationButton.addTarget(self, action: #selector(tappedCitation), for: .touchUpInside)
citationButton.accessibilityLabel = WKSourceEditorLocalizedStrings.current?.accessibilityLabelButtonCitation
referenceButton.setImage(WKSFSymbolIcon.for(symbol: .quoteOpening), for: .normal)
referenceButton.addTarget(self, action: #selector(tappedReference), for: .touchUpInside)
referenceButton.accessibilityLabel = WKSourceEditorLocalizedStrings.current?.accessibilityLabelButtonCitation

linkButton.setImage(WKSFSymbolIcon.for(symbol: .link), for: .normal)
linkButton.addTarget(self, action: #selector(tappedLink), for: .touchUpInside)
Expand All @@ -68,6 +69,7 @@ class WKEditorToolbarHighlightView: WKEditorToolbarView {
boldButton.isSelected = selectionState.isBold
italicsButton.isSelected = selectionState.isItalics
templateButton.isSelected = selectionState.isHorizontalTemplate
referenceButton.isSelected = selectionState.isHorizontalReference
linkButton.isSelected = selectionState.isSimpleLink
}

Expand All @@ -84,7 +86,8 @@ class WKEditorToolbarHighlightView: WKEditorToolbarView {
@objc private func tappedFormatHeading() {
}

@objc private func tappedCitation() {
@objc private func tappedReference() {
delegate?.toolbarHighlightViewDidTapReference(toolbarView: self, isSelected: referenceButton.isSelected)
}

@objc private func tappedLink() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,9 +90,9 @@
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
<connections>
<outlet property="boldButton" destination="r0e-89-g0a" id="mfE-Vs-Dsc"/>
<outlet property="citationButton" destination="ZgG-w8-2QU" id="hvW-xa-IWx"/>
<outlet property="italicsButton" destination="P53-Fl-mVx" id="jUq-dL-AwN"/>
<outlet property="linkButton" destination="ebk-UU-rSu" id="ypk-dd-WhU"/>
<outlet property="referenceButton" destination="ZgG-w8-2QU" id="hvW-xa-IWx"/>
<outlet property="showMoreButton" destination="S8f-CE-8I8" id="QMl-95-ws9"/>
<outlet property="stackView" destination="cO2-kj-WCI" id="qel-pE-Y96"/>
<outlet property="templateButton" destination="AZa-84-Qdg" id="1Qq-oT-Pfn"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ protocol WKEditorInputViewDelegate: AnyObject {
func didTapBold(isSelected: Bool)
func didTapItalics(isSelected: Bool)
func didTapTemplate(isSelected: Bool)
func didTapReference(isSelected: Bool)
func didTapBulletList(isSelected: Bool)
func didTapNumberList(isSelected: Bool)
func didTapIncreaseIndent()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ class WKEditorToolbarPlainView: WKEditorToolbarView {

@IBOutlet private weak var boldButton: WKEditorToolbarButton!
@IBOutlet private weak var italicsButton: WKEditorToolbarButton!
@IBOutlet private weak var citationButton: WKEditorToolbarButton!
@IBOutlet private weak var referenceButton: WKEditorToolbarButton!
@IBOutlet private weak var linkButton: WKEditorToolbarButton!
@IBOutlet private weak var templateButton: WKEditorToolbarButton!
@IBOutlet private weak var commentButton: WKEditorToolbarButton!
Expand All @@ -26,9 +26,9 @@ class WKEditorToolbarPlainView: WKEditorToolbarView {
italicsButton.addTarget(self, action: #selector(tappedItalics), for: .touchUpInside)
italicsButton.accessibilityLabel = WKSourceEditorLocalizedStrings.current?.accessibilityLabelButtonItalics

citationButton.setImage(WKSFSymbolIcon.for(symbol: .quoteOpening), for: .normal)
citationButton.addTarget(self, action: #selector(tappedCitation), for: .touchUpInside)
citationButton.accessibilityLabel = WKSourceEditorLocalizedStrings.current?.accessibilityLabelButtonCitation
referenceButton.setImage(WKSFSymbolIcon.for(symbol: .quoteOpening), for: .normal)
referenceButton.addTarget(self, action: #selector(tappedReference), for: .touchUpInside)
referenceButton.accessibilityLabel = WKSourceEditorLocalizedStrings.current?.accessibilityLabelButtonCitation

linkButton.setImage(WKIcon.link, for: .normal)
linkButton.addTarget(self, action: #selector(tappedLink), for: .touchUpInside)
Expand All @@ -55,6 +55,7 @@ class WKEditorToolbarPlainView: WKEditorToolbarView {
boldButton.isSelected = selectionState.isBold
italicsButton.isSelected = selectionState.isItalics
templateButton.isSelected = selectionState.isHorizontalTemplate
referenceButton.isSelected = selectionState.isHorizontalReference
linkButton.isSelected = selectionState.isSimpleLink
}

Expand All @@ -68,7 +69,8 @@ class WKEditorToolbarPlainView: WKEditorToolbarView {
delegate?.didTapItalics(isSelected: italicsButton.isSelected)
}

@objc private func tappedCitation() {
@objc private func tappedReference() {
delegate?.didTapReference(isSelected: referenceButton.isSelected)
}

@objc private func tappedTemplate() {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22505" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina4_7" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21678"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22504"/>
<capability name="System colors in document resources" minToolsVersion="11.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
Expand Down Expand Up @@ -54,10 +53,10 @@
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
<connections>
<outlet property="boldButton" destination="Mxi-qd-n8q" id="ogj-sv-DXl"/>
<outlet property="citationButton" destination="trw-Yy-0zy" id="pdy-eU-RoJ"/>
<outlet property="commentButton" destination="l9y-JD-KgU" id="xTs-x7-YWl"/>
<outlet property="italicsButton" destination="T8g-md-cMv" id="Wgs-Ox-IVV"/>
<outlet property="linkButton" destination="KPn-fT-Zfd" id="NKj-cD-p3O"/>
<outlet property="referenceButton" destination="trw-Yy-0zy" id="pdy-eU-RoJ"/>
<outlet property="templateButton" destination="kDX-lu-C75" id="kRI-4g-1hv"/>
<outletCollection property="buttons" destination="Mxi-qd-n8q" collectionClass="NSMutableArray" id="aU6-0O-T1i"/>
<outletCollection property="buttons" destination="T8g-md-cMv" collectionClass="NSMutableArray" id="Irj-PI-yVo"/>
Expand Down
Loading

0 comments on commit 276b9eb

Please sign in to comment.