Carousel Example
Following are code examples, for carousel for each layout. The examples are the same for trackersDashboard, hub, inbox, and manage-budgets, as defined for widgetType.
personetics.startWidget({
"configurations": {
"deviceType": "web",
"ctxId": "dashboard",
"params": {
"userId": "B_1012"
},
"selectorString": "#root",
"widgetType": "carousel"
},
"assets": {
"useRemoteAssets": true
"baseUrl”: "https://bank-assets.s1.amazonaws.com/clientproduct-assets/assets/"
},
"internationalization": {
"language": "en"
}
});
final personeticsInfo_carousel = {
"protocolVersion": "2.6",
"internationalization": {"language" “en”},
"configurations": {
"widgetType": “carousel”,
"selectorString": "#root",
"deviceType": “flutter”,
"ctxid": “dashboard”,
"params": {},
},
'widgetHeight': 260,
'widgetWidth': 320,
};
let personeticsInfo = NSMutableDictionary.init()
let personeticsBridge = BankPersoneticsDelegate.init()
let configurations = NSMutableDictionary.init()
let params = NSMutableDictionary.init()
let assets = NSMutableDictionary.init()
let internationalization = NSMutableDictionary.init()
let theme = NSMutableDictionary.init()
guard let constants = NetworkManager.shared.constants else { return }
params.setValue(constants.userName, forKey: Personetics.PDBuserId)
configurations.setObject("inbox", forKey: Personetics.PDBWidgetType as NSCopying)
configurations.setObject("ios", forKey: Personetics.PDBDeviceType as NSCopying)
configurations.setObject("#root", forKey: Personetics.PDBSelectorString as NSCopying)
internationalization.setObject(constants.appLanguage, forKey: Personetics.PDBlanguage as NSCopying)
personeticsBridge.viewCtrl = self
personeticsInfo.setValue(constants.protocolVersion, forKey: Personetics.PDBprotocolVersion)
personeticsInfo.setValue(constants.webViewTag, forKey: Personetics.PDBwebViewTag)
if constants.useRemoteAssets == true {
assets.setObject(true, forKey: Personetics.PDBuseRemoteAssets as NSCopying)
assets.setObject(constants.remoteUrl, forKey: Personetics.PDBbaseUrl as NSCopying)
}
if constants.darkMode == true {
theme.setValue(constants.darkMode, forKey: Personetics.PDBdarkMode)
}
personeticsInfo.setValue(personeticsBridge, forKey: Personetics.PDBpDelegate )
if constants.usePayload {
if let infoPayload = payload {
params.setValue(infoPayload, forKey: Personetics.PDBpayload)
} else {
getPayloadForType(type: "inbox", requestType: "getInboxInsights", navParams: nil)
return
}
}
configurations.setObject(params, forKey: Personetics.PDBparams as NSCopying)
personeticsInfo.setValue(configurations, forKey: Personetics.PDBconfigurations)
personeticsInfo.setValue(assets, forKey: Personetics.PDBassets)
personeticsInfo.setValue(internationalization, forKey: Personetics.PDBinternationalization)
personeticsInfo.setValue(theme, forKey: Personetics.PDBtheme)
let personetics = Personetics.init()
personeticsBridge.personetics = personetics
if let personeticsController = personetics.startWidget(personeticsInfo: personeticsInfo) as? UIViewController {
personeticsController.updateViewConstraints()
self.navigationController?.pushViewController(personeticsController, animated: true)
}
Note: the ‘selectorString’ example of ‘#root’ corresponds to the sample app example. The relevant path should be defined.
Updated 10 months ago