jsoncreator_app/JSONCreator_iOS/JSONCreator/WifiViewController.swift

113 lines
5.3 KiB
Swift

//
// WifiViewController.swift
// JSONCreator
//
// Created by Matt Bruce on 6/27/22.
// Copyright © 2022 Verizon Wireless. All rights reserved.
//
import Foundation
import MVMCoreUI
class WifiViewController: UIViewController {
// MFSTLandingViewController *vc=[MFSTLandingViewController new];
// vc.isForFiveG = true;
// vc.ssIDs = ssIDs;
// MFSTHistoryViewController *vc2=[MFSTHistoryViewController new];
// vc2.isForFiveG = true;
// NSArray *tabInfo = @[
// @{
// @"presentationStyle" : @"push",
// @"itemName" : kST_OVERVIEW,
// @"title" : @"kST_OVERVIEW",
// @"actionType" :@"openPage",
// @"appContext" : @"mobileFirstSS",
// @"pageType" : DHCRegistry.PageTypeDHCLanding
// },
// @{
// @"presentationStyle" : @"push",
// @"itemName" : kST_HISTORY,
// @"title" : kST_HISTORY,
// @"actionType" : @"openPage",
// @"appContext" : @"mobileFirstSS",
// @"pageType" : DHCRegistry.PageTypeDHCHistoryLanding
// }
// ];
// NSError *error = nil;
// MFSubNavManagerController *viewControllerToLoad = [[MFSubNavManagerController alloc] initWithViewControllers:@[vc,vc2] loadObject:vc.loadObject tabsInfo:tabInfo selectedIndex: 0 shouldEnableSwipeGestures:YES error:&error];
// [[MVMCoreNavigationHandler sharedNavigationHandler] pushViewController:viewControllerToLoad animated:YES];
}
class PrimaryWifiViewController: UIViewController {
let inset = 16.0
private lazy var stackView: UIStackView = {
let stack = UIStackView(frame: .zero)
stack.translatesAutoresizingMaskIntoConstraints = false
stack.spacing = 16
stack.axis = .vertical
stack.alignment = .leading
stack.distribution = .fillProportionally
return stack
}()
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(stackView)
NSLayoutConstraint.constraintPinSubview(stackView,
pinTop: true, topConstant: inset,
pinBottom: true, bottomConstant: inset,
pinLeft: true, leftConstant: inset,
pinRight: true, rightConstant: inset)
let primary1 = wifiWidget(for: "Primary-1", title: "", description: "", password: "123456")
let primary2 = wifiWidget(for: "Primary-2", title: "", description: "", password: "123456")
let secondary1 = wifiWidget(for: "Secondary-1", title: "", description: "", password: "123456")
let secondary2 = wifiWidget(for: "Secondary-2", title: "", description: "", password: "123456")
stackView.addArrangedSubview(primary1)
stackView.addArrangedSubview(primary2)
stackView.addArrangedSubview(secondary1)
stackView.addArrangedSubview(secondary2)
}
private func wifiWidget(for wifiId: String, title: String, description: String, password: String, enabled: Bool = true) -> WifiWidget {
let extraParameters: JSONValueDictionary = ["wifiId": JSONValue.init(stringLiteral: wifiId)]
let editAction = ActionOpenPageModel(pageType: "editWifi",
presentationStyle: "push",
extraParameters: extraParameters)
let enabledAction = ActionOpenPageModel(pageType: "enabledWifi",
presentationStyle: "push",
extraParameters: extraParameters)
let shareAction = ActionShareModel(sharedText: "ssid: \(wifiId) password: \(password)",
sharedType: "Text")
let wifiWidgetModel = WifiWidgetModel(wifiId: wifiId,
title: title,
description: description,
password: password,
enabled: enabled,
editTitle: "Edit Wi-Fi details",
shareTitle: "Share Wi-Fi",
enabledAction: enabledAction,
editAction: editAction,
shareAction: shareAction,
useHorizontalMargins: true, leftPadding: inset, rightPadding: inset,
useVerticalMargins: true, topPadding: inset, bottomPadding: inset)
let wifiWidget = WifiWidget(frame: .zero)
wifiWidget.translatesAutoresizingMaskIntoConstraints = false
wifiWidget.set(with: wifiWidgetModel, nil, nil)
return wifiWidget
}
}