fix 2
Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
This commit is contained in:
parent
0270f995e7
commit
c187bcc72b
7 changed files with 90 additions and 13 deletions
|
@ -31,12 +31,14 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
@property(nonatomic, readonly, nullable) PlacePageBookmarkData *bookmarkData;
|
||||
@property(nonatomic, readonly) PlacePageRoadType roadType;
|
||||
@property(nonatomic, readonly, nullable) NSString *wikiDescriptionHtml;
|
||||
@property(nonatomic, readonly, nullable) ElevationProfileData *trackStatisticsData;
|
||||
@property(nonatomic, readonly, nullable) ElevationProfileData *elevationProfileData;
|
||||
@property(nonatomic, readonly, nullable) MWMMapNodeAttributes *mapNodeAttributes;
|
||||
@property(nonatomic, readonly, nullable) NSString *bookingSearchUrl;
|
||||
@property(nonatomic, readonly) BOOL isMyPosition;
|
||||
@property(nonatomic, readonly) BOOL isPreviewPlus;
|
||||
@property(nonatomic, readonly) BOOL isRoutePoint;
|
||||
@property(nonatomic, readonly) BOOL isTrack;
|
||||
@property(nonatomic, readonly) CLLocationCoordinate2D locationCoordinate;
|
||||
@property(nonatomic, copy, nullable) MWMVoidBlock onBookmarkStatusUpdate;
|
||||
@property(nonatomic, copy, nullable) MWMVoidBlock onMapNodeStatusUpdate;
|
||||
|
|
|
@ -62,7 +62,8 @@ static PlacePageRoadType convertRoadType(RoadWarningMarkType roadType) {
|
|||
[tagsArray addObject:@(s.c_str())];
|
||||
}
|
||||
|
||||
if (rawData().IsTrack()) {
|
||||
_isTrack = rawData().IsTrack();
|
||||
if (_isTrack) {
|
||||
auto const & bm = GetFramework().GetBookmarkManager();
|
||||
auto const & trackId = rawData().GetTrackId();
|
||||
if (bm.GetTrack(trackId)->HasAltitudes()) {
|
||||
|
|
|
@ -493,6 +493,7 @@
|
|||
ED8270F02C2071A3005966DA /* SettingsTableViewDetailedSwitchCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED8270EF2C2071A3005966DA /* SettingsTableViewDetailedSwitchCell.swift */; };
|
||||
ED9857082C4ED02D00694F6C /* MailComposer.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED9857072C4ED02D00694F6C /* MailComposer.swift */; };
|
||||
ED9966802B94FBC20083CE55 /* ColorPicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED99667D2B94FBC20083CE55 /* ColorPicker.swift */; };
|
||||
EDA1EA972CC25A3B00DBDCAA /* TrackDetailsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDA1EA942CC25A0D00DBDCAA /* TrackDetailsViewController.swift */; };
|
||||
EDBD68072B625724005DD151 /* LocationServicesDisabledAlert.xib in Resources */ = {isa = PBXBuildFile; fileRef = EDBD68062B625724005DD151 /* LocationServicesDisabledAlert.xib */; };
|
||||
EDBD680B2B62572E005DD151 /* LocationServicesDisabledAlert.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDBD680A2B62572E005DD151 /* LocationServicesDisabledAlert.swift */; };
|
||||
EDC3573B2B7B5029001AE9CA /* CALayer+SetCorner.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDC3573A2B7B5029001AE9CA /* CALayer+SetCorner.swift */; };
|
||||
|
@ -1422,6 +1423,7 @@
|
|||
ED8270EF2C2071A3005966DA /* SettingsTableViewDetailedSwitchCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsTableViewDetailedSwitchCell.swift; sourceTree = "<group>"; };
|
||||
ED9857072C4ED02D00694F6C /* MailComposer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MailComposer.swift; sourceTree = "<group>"; };
|
||||
ED99667D2B94FBC20083CE55 /* ColorPicker.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ColorPicker.swift; sourceTree = "<group>"; };
|
||||
EDA1EA942CC25A0D00DBDCAA /* TrackDetailsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrackDetailsViewController.swift; sourceTree = "<group>"; };
|
||||
EDBD68062B625724005DD151 /* LocationServicesDisabledAlert.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = LocationServicesDisabledAlert.xib; sourceTree = "<group>"; };
|
||||
EDBD680A2B62572E005DD151 /* LocationServicesDisabledAlert.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocationServicesDisabledAlert.swift; sourceTree = "<group>"; };
|
||||
EDC3573A2B7B5029001AE9CA /* CALayer+SetCorner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CALayer+SetCorner.swift"; sourceTree = "<group>"; };
|
||||
|
@ -2934,6 +2936,7 @@
|
|||
99C6531F23F2F178004322F3 /* Components */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
EDA1EA982CC25A4200DBDCAA /* TrackDetails */,
|
||||
99A906D423F6F7020005872B /* ActionBarViewController.swift */,
|
||||
99A906D523F6F7020005872B /* OpeningHoursViewController.swift */,
|
||||
99A906CD23F6F7010005872B /* PlacePageBookmarkViewController.swift */,
|
||||
|
@ -3155,6 +3158,14 @@
|
|||
path = ColorPicker;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
EDA1EA982CC25A4200DBDCAA /* TrackDetails */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
EDA1EA942CC25A0D00DBDCAA /* TrackDetailsViewController.swift */,
|
||||
);
|
||||
path = TrackDetails;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
EDC4E3422C5D1BD3009286A2 /* RecentlyDeletedTests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
|
@ -4681,6 +4692,7 @@
|
|||
993DF0C923F6BD0600AC231A /* ElevationDetailsBuilder.swift in Sources */,
|
||||
674A7E301C0DB10B003D48E1 /* MWMMapWidgets.mm in Sources */,
|
||||
34AB66291FC5AA330078E451 /* RouteManagerViewController.swift in Sources */,
|
||||
EDA1EA972CC25A3B00DBDCAA /* TrackDetailsViewController.swift in Sources */,
|
||||
3404754D1E081A4600C92850 /* MWMKeyboard.m in Sources */,
|
||||
EDE243E52B6D3F400057369B /* OSMView.swift in Sources */,
|
||||
993DF10C23F6BDB100AC231A /* MWMTableViewCellRenderer.swift in Sources */,
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="15705" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23094" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
|
||||
<device id="retina6_1" orientation="portrait" appearance="light"/>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15706"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23084"/>
|
||||
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
||||
<capability name="System colors in document resources" minToolsVersion="11.0"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
|
@ -23,7 +24,7 @@
|
|||
<rect key="frame" x="0.0" y="0.0" width="312" height="484"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Difficulty" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="AUN-AX-DfY">
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="Difficulty" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="AUN-AX-DfY">
|
||||
<rect key="frame" x="16" y="68" width="280" height="21"/>
|
||||
<fontDescription key="fontDescription" type="system" weight="semibold" pointSize="18"/>
|
||||
<nil key="textColor"/>
|
||||
|
@ -33,7 +34,7 @@
|
|||
<userDefinedRuntimeAttribute type="string" keyPath="styleName" value="semibold18:blackPrimaryText"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</label>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="sd4-IT-eto" customClass="DifficultyView" customModule="OMaps" customModuleProvider="target">
|
||||
<view contentMode="scaleToFill" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="sd4-IT-eto" customClass="DifficultyView" customModule="Organic_Maps" customModuleProvider="target">
|
||||
<rect key="frame" x="16" y="105" width="40" height="10"/>
|
||||
<color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<constraints>
|
||||
|
@ -41,7 +42,7 @@
|
|||
<constraint firstAttribute="height" constant="10" id="gSS-Bl-tXK"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Moderate difficulty" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="kDg-1H-1c1">
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="Moderate difficulty" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="kDg-1H-1c1">
|
||||
<rect key="frame" x="16" y="125" width="280" height="17"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<nil key="textColor"/>
|
||||
|
@ -50,7 +51,7 @@
|
|||
<userDefinedRuntimeAttribute type="string" keyPath="styleName" value="regular14:blackSecondaryText"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="S1" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Dke-As-9Jm" customClass="InsetsLabel" customModule="OMaps" customModuleProvider="target">
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" text="S1" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Dke-As-9Jm" customClass="InsetsLabel" customModule="Organic_Maps" customModuleProvider="target">
|
||||
<rect key="frame" x="16" y="158" width="15.5" height="17"/>
|
||||
<color key="backgroundColor" white="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
|
@ -60,7 +61,7 @@
|
|||
<userDefinedRuntimeAttribute type="string" keyPath="styleName" value="ElevationProfileExtendedDifficulty"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="7Ed-wc-w74">
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" ambiguous="YES" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="7Ed-wc-w74">
|
||||
<rect key="frame" x="16" y="183" width="280" height="221"/>
|
||||
<string key="text">Vivamus eu mattis lectus. Phasellus eu ex risus. Quisque ornare augue lectus, eget dignissim turpis ultrices quis. In sit amet sapien laoreet, gravida lorem eget, pharetra ipsum. Morbi ut massa dui. Aenean placerat libero ac ante finibus semper. Nullam semper nibh eget mauris vestibulum, eu cursus nunc finibus. Aliquam fringilla fermentum libero fringilla dictum. Donec eu semper ipsum. Sed in purus neque.</string>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
|
@ -70,9 +71,9 @@
|
|||
<userDefinedRuntimeAttribute type="string" keyPath="styleName" value="regular14:blackSecondaryText"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</label>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="vDr-Ie-c5L">
|
||||
<rect key="frame" x="16" y="420" width="280" height="48"/>
|
||||
<color key="backgroundColor" systemColor="linkColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="vDr-Ie-c5L">
|
||||
<rect key="frame" x="16" y="386" width="280" height="48"/>
|
||||
<color key="backgroundColor" systemColor="linkColor"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="48" id="DsE-3h-I1o"/>
|
||||
<constraint firstAttribute="width" constant="280" id="JhA-fQ-QGN"/>
|
||||
|
@ -89,6 +90,7 @@
|
|||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<viewLayoutGuide key="safeArea" id="vUN-kp-3ea"/>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="vDr-Ie-c5L" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" constant="16" id="03I-DI-Xet"/>
|
||||
|
@ -110,11 +112,15 @@
|
|||
<constraint firstItem="AUN-AX-DfY" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" constant="16" id="wm3-Eh-4No"/>
|
||||
</constraints>
|
||||
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
|
||||
<viewLayoutGuide key="safeArea" id="vUN-kp-3ea"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="styleName" value="Background"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
<point key="canvasLocation" x="131.8840579710145" y="291.29464285714283"/>
|
||||
</view>
|
||||
</objects>
|
||||
<resources>
|
||||
<systemColor name="linkColor">
|
||||
<color red="0.0" green="0.47843137254901963" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</systemColor>
|
||||
</resources>
|
||||
</document>
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
|
||||
class TrackDetailsBuilder {
|
||||
static func build(data: PlacePageData) -> TrackDetailsViewController {
|
||||
let viewModel = TrackDetailsViewModel(data: data)
|
||||
let viewController = TrackDetailsViewController(viewModel: viewModel)
|
||||
return viewController
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
struct TrackDetailsViewModel {
|
||||
let distance: String
|
||||
let duration: String
|
||||
|
||||
init(data: PlacePageData) {
|
||||
let track = BookmarksManager.shared().track(withId: data.previewData.)
|
||||
distance = data.
|
||||
duration = data.
|
||||
}
|
||||
}
|
||||
|
||||
class TrackDetailsViewController: MWMTableViewController {
|
||||
|
||||
var viewModel: TrackDetailsViewModel
|
||||
|
||||
init(viewModel: TrackDetailsViewModel) {
|
||||
self.viewModel = viewModel
|
||||
super.init()
|
||||
}
|
||||
|
||||
@available(*, unavailable)
|
||||
required init?(coder: NSCoder) {
|
||||
fatalError("init(coder:) has not been implemented")
|
||||
}
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
setupView()
|
||||
}
|
||||
|
||||
private func setupView() {
|
||||
tableView.register(cell: UITableViewCell.self)
|
||||
}
|
||||
}
|
|
@ -29,6 +29,13 @@ class PlacePageElevationLayout: IPlacePageLayout {
|
|||
return vc
|
||||
} ()
|
||||
|
||||
lazy var infoViewController: PlacePageInfoViewController = {
|
||||
let vc = storyboard.instantiateViewController(ofType: PlacePageInfoViewController.self)
|
||||
vc.placePageInfoData = placePageData.infoData
|
||||
vc.delegate = interactor
|
||||
return vc
|
||||
} ()
|
||||
|
||||
lazy var elevationMapViewController: ElevationProfileViewController = {
|
||||
return ElevationProfileBuilder.build(data: placePageData, delegate: interactor)
|
||||
} ()
|
||||
|
@ -48,6 +55,10 @@ class PlacePageElevationLayout: IPlacePageLayout {
|
|||
bookmarkViewController.view.isHidden = false
|
||||
}
|
||||
|
||||
if placePageData.infoData != nil {
|
||||
viewControllers.append(infoViewController)
|
||||
}
|
||||
|
||||
viewControllers.append(elevationMapViewController)
|
||||
|
||||
return viewControllers
|
||||
|
|
|
@ -204,7 +204,7 @@ using namespace storage;
|
|||
[[MapViewController sharedController].navigationController pushViewController:editBookmarkController animated:YES];
|
||||
}
|
||||
|
||||
- (void)editBookmark:(PlacePageData *)data {
|
||||
- (void)editTrack:(PlacePageData *)data {
|
||||
EditTrackViewController * editTrackController = [[EditTrackViewController alloc] init];
|
||||
[editBookmarkController configureWithPlacePageData:data];
|
||||
[[MapViewController sharedController].navigationController pushViewController:editBookmarkController animated:YES];
|
||||
|
|
Reference in a new issue