Hello,
I use framework v4 and I’ve build my app on android and ios. On android everything works but on ios new pages are not opened in view-record.
Here is my route:
var f7app = new Framework7({
root: '#app',
name: 'WODLIKE',
id: 'com.wodlike.app',
version: '1.2.0',
theme: 'ios',
touch: {
fastClicks: true,
},
iosTranslucentBars: false,
routes: [
{
name: 'leaderboard-all',
path: '/leaderboard-all/:type/:id/:people/:name/',
url: './pages/leaderboard-all.html',
}
],
view: {
stackPages: true
},
methods: {
onBackKeyDown: function() {
var leftp = f7app.panel.left && f7app.panel.left.opened;
var rightp = f7app.panel.right && f7app.panel.right.opened;
if ( leftp || rightp ) {
f7app.panel.close();
return false;
} else if ($$("html").hasClass("with-modal-popup")) {
f7app.popup.close();
return false;
} else if ($$('.modal-in').length > 0) {
f7app.dialog.close();
return false;
} else if (f7app.views.current.router.url == '/') {
f7app.dialog.confirm(langfile.modal_body_exit, langfile.modal_title_exit, function() {
navigator.app.exitApp();
},
function() {
});
} else {
f7app.views.current.router.back();
}
}
}
});
// Init/Create views
var mainView = f7app.views.create('.view-main', {
url: '/'
});
var recordsView = f7app.views.create('#view-records', {
url: '/',
path: '/',
on: {
pageInit: function (e, page) {
// Searchbar
var VLViewRecords = f7app.searchbar.create({
el: '.searchbar-view-records',
searchContainer: '.VLViewRecords',
searchItem: "li",
searchIn: '.item-title',
on: {
enable() {
// Hide preloader
$("#view-records .infinite-scroll-preloader").addClass("hidden");
// Remove PullToRefresh
f7app.ptr.destroy('#view-records .ptr-content');
},
disable() {
// Hide preloader on search
$("#view-records .infinite-scroll-preloader").removeClass("hidden");
// Add PullToRefresh
f7app.ptr.create('#view-records .ptr-content');
}
}
});
}
},
routes: [
{
name: 'leaderboard-all',
path: '/leaderboard-all/:type/:id/:name/',
url: './pages/leaderboard-all.html',
},
{
name: 'add-custom-record',
path: '/add-custom-record/:type/:action/:id/',
url: './pages/add-custom-record.html',
on: {
pageInit: function (e, page) {
// Language
$(".popover-max-round-reps p").text(langfile.popover_max_round_reps);
}
}
},
{
name: 'pr-overview',
path: '/pr-overview/:id/',
url: './pages/pr-overview.html',
on: {
pageInit: function (e, page) {
// Get Page
var thispage = ".page[data-name="+e.detail.name+"]";
var navbarInnerEl = f7app.navbar.getElByPage(thispage);
// Get details and Fill in
OverviewFillin(e.detail.route.params.id,"movement",sessionsystem);
// Text
$(thispage+" li[data-item=add_score] .item-title").text(langfile.button_add_score); // Add Score
$(thispage+" li[data-item=calculator] .item-title").text(langfile.button_calculator); // Calculator
$(thispage+" li[data-item=logbook] .item-title").text(langfile.button_logbook); // Logbook
$(thispage+" li[data-item=leaderboard] .item-title").text(langfile.button_leaderboard); // Leaderboard
// Trophies
ShowTrophies(); // Show Trophy
}
}
},
{
name: 'wod-overview',
path: '/wod-overview/:id/',
url: './pages/wod-overview.html',
on: {
pageInit: function (e, page) {
// Get Page
var thispage = ".page[data-name="+e.detail.name+"]";
var navbarInnerEl = f7app.navbar.getElByPage(thispage);
// Get details and Fill in
OverviewFillin(e.detail.route.params.id,"wod",sessionsystem);
// Text
$(thispage+" li[data-item=add_score] .item-title").text(langfile.button_add_score); // Add Score
$(thispage+" li[data-item=logbook] .item-title").text(langfile.button_logbook); // Logbook
$(thispage+" li[data-item=leaderboard] .item-title").text(langfile.button_leaderboard); // Leaderboard
// Trophies
ShowTrophies(); // Show Trophy
}
}
},
{
name: 'records-calculator',
path: '/records-calculator/:id/:name/:cat/:value/',
url: './pages/records-calculator.html',
on: {
pageInit: function (e, page) {
// Get Page
var thispage = ".page[data-name="+e.detail.name+"]";
var navbarInnerEl = f7app.navbar.getElByPage(thispage);
// Text
$(navbarInnerEl).find('.title,.title-large-text').text(e.detail.route.params.name); // Title
$(thispage+" th[data-item=title_th_percentage]").text(langfile.th_percentage); // TH Percentage
$(thispage+" th[data-item=title_th_weight]").text(langfile.th_lb_weight); // TH weight
// Image
$(thispage+" li.item-content img").attr("src",urlglob+"images/movement/"+badgeImage(e.detail.route.params.id,e.detail.route.params.cat)); // Input
}
}
},
{
name: 'add-pr-score',
path: '/add-pr-score/:id/:name/:cat/',
url: './pages/add-pr-score.html',
on: {
pageInit: function (e, page) {
// Get Page
var thispage = ".page[data-name="+e.detail.name+"]";
var navbarInnerEl = f7app.navbar.getElByPage(thispage);
// Text
$(navbarInnerEl).find('.title').text(e.detail.route.params.name); // Title
// Placeholder
$("div[data-item=date] input").val(moment().format("YYYY-MM-DD"));
// Categories
// Weight
if (e.detail.route.params.cat == "1") {
$("li[data-item=score-weight]").removeClass("hidden");
$("li.hidden").remove();
// Smart Select Weight
if (sessionsystem == "imperial") {
$("li[data-item=score-weight] div[data-item=input-alt]").html("<div class='smart-select smart-select-init' data-open-in='sheet' data-form-color-theme='black'>"+
"<select name='weight-input'>"+
"<option value='lb' selected>lb</option>"+
"<option value='kg'>kg</option>"+
"</select>"+
"<div class='item-content' style='padding-left: 0px;'>"+
"<div class='item-inner' style='align-items: flex-end;'>"+
"<div class='item-after'style='margin-left:0px;'></div>"+
"</div>"+
"<i class='fa fa-caret-down text-color-black' aria-hidden='true'></i>"+
"</div>"+
"</div>");
} else {
$("li[data-item=score-weight] div[data-item=input-alt]").html("<div class='smart-select smart-select-init' data-open-in='sheet' data-form-color-theme='black'>"+
"<select name='weight-input'>"+
"<option value='lb'>lb</option>"+
"<option value='kg' selected>kg</option>"+
"</select>"+
"<div class='item-content' style='padding-left: 0px;'>"+
"<div class='item-inner' style='align-items: flex-end;'>"+
"<div class='item-after'style='margin-left:0px;'></div>"+
"</div>"+
"<i class='fa fa-caret-down text-color-black' aria-hidden='true'></i>"+
"</div>"+
"</div>");
}
// Distance
} else if (e.detail.route.params.cat == "2") {
$("li[data-item=score-distance]").removeClass("hidden");
$("li[data-item=rm]").addClass("hidden");
$("li.hidden").remove();
if (sessionsystem == "imperial") {
// Smart Select Distance
$("li[data-item=score-distance] div[data-item=input-alt]").html("<div class='smart-select smart-select-init' data-open-in='sheet' data-form-color-theme='black'>"+
"<select name='distance-input'>"+
"<option value='ft'>ft</option>"+
"<option value='mi'>mi</option>"+
"</select>"+
"<div class='item-content' style='padding-left: 0px;'>"+
"<div class='item-inner' style='align-items: flex-end;'>"+
"<div class='item-after'style='margin-left:0px;'></div>"+
"</div>"+
"<i class='fa fa-caret-down text-color-black' aria-hidden='true'></i>"+
"</div>"+
"</div>");
} else {
$("li[data-item=score-distance] div[data-item=input-alt]").html("<div class='smart-select smart-select-init' data-open-in='sheet' data-form-color-theme='black'>"+
"<select name='distance-input'>"+
"<option value='m'>m</option>"+
"<option value='km'>km</option>"+
"</select>"+
"<div class='item-content' style='padding-left: 0px;'>"+
"<div class='item-inner' style='align-items: flex-end;'>"+
"<div class='item-after'style='margin-left:0px;'></div>"+
"</div>"+
"<i class='fa fa-caret-down text-color-black' aria-hidden='true'></i>"+
"</div>"+
"</div>");
}
// Reps
} else if (e.detail.route.params.cat == "3") {
$("li[data-item=score-reps]").removeClass("hidden");
$("li[data-item=rm]").addClass("hidden");
$("li.hidden").remove();
}
// Toggle
TogglePostToTimeline = f7app.toggle.create({
el: '.add-pr-score-toggle-post-to-timeline'
});
}
}
},
{
name: 'add-wod-score',
path: '/add-wod-score/:id/:name/:type/:rounds/',
url: './pages/add-wod-score.html',
on: {
pageInit: function (e, page) {
// Get Page
var thispage = ".page[data-name="+e.detail.name+"]";
var navbarInnerEl = f7app.navbar.getElByPage(thispage);
// Text
$(navbarInnerEl).find('.title').text(e.detail.route.params.name); // Title
// Placeholder
$("li[data-item=date] input").val(moment().format("YYYY-MM-DD"));
// Smart Select: Add values
$(thispage+" select[name='finishontime']").append("<option value='1' selected>"+langfile.value_yes+"</option><option value='2' >"+langfile.value_no+"</option>");
if (sessionsystem == "metric") {
$(thispage+" select[name='weight-input'] option[value='kg']").attr('selected', true);
$(thispage+" select[name='distance-input']").append("<option value='m'>m</option><option value='km'>km</option>");
} else {
$(thispage+" select[name='weight-input'] option[value='lb']").attr('selected', true);
$(thispage+" select[name='distance-input']").append("<option value='ft'>ft</option><option value='mi'>mi</option>");
}
// Smart Select: Create Instance
SSFinishonTime = f7app.smartSelect.create({
el: ".add-wod-score-ss-finishontime",
openIn: "sheet",
searchbar: false,
sheetCloseLinkText: langfile.button_close,
formColorTheme: "black",
closeOnSelect: true,
on: {
change: function () {
// Show/hide input
$("li[data-item='score-time'], li[data-item='score-reps']").toggleClass("hidden");
}
}
});
SSWODAddScoreMeasurement = f7app.smartSelect.create({
el: ".add-wod-score-ss-measurement",
openIn: "sheet",
searchbar: false,
sheetCloseLinkText: langfile.button_close,
formColorTheme: "black",
closeOnSelect: true
});
SSWODAddScoreDistance = f7app.smartSelect.create({
el: ".add-wod-score-ss-distance",
openIn: "sheet",
searchbar: false,
sheetCloseLinkText: langfile.button_close,
formColorTheme: "black",
closeOnSelect: true
});
SSWODAddScoreVestMeasurement = f7app.smartSelect.create({
el: ".add-wod-score-ss-vest-measurement",
openIn: "sheet",
searchbar: false,
sheetCloseLinkText: langfile.button_close,
formColorTheme: "black",
closeOnSelect: true
});
// Picker
pickerWODTime = f7app.picker.create({
inputEl: '#add-wod-score-time-picker',
rotateEffect: true,
toolbarCloseText: langfile.button_close,
formatValue: function (values, displayValues) {
return values[0] + ':' + values[1];
},
cols: [
// Minutes
{
values: (function () {
var arr = [];
for (var i = 0; i <= 99; i++) { arr.push(i); }
return arr;
})(),
},
// Divider
{
divider: true,
content: ':'
},
// Seconds
{
values: (function () {
var arr = [];
for (var i = 0; i <= 59; i++) { arr.push(i < 10 ? '0' + i : i); }
return arr;
})(),
}
]
});
// Toggle
ToggleWeightVest = f7app.toggle.create({
el: '.add-wod-score-toggle-vest',
on: {
change: function () {
$(".add-wod-score-toggle-vest-toggled").toggleClass("hidden");
}
}
});
TogglePostToTimeline = f7app.toggle.create({
el: '.add-wod-score-toggle-post-to-timeline'
});
// Show/hide input
// For Time
if (e.detail.route.params.type == "1") {
$(page.$el).find("li[data-item='score-finish'], li[data-item='score-time']").removeClass("hidden");
// For Reps
} else if (e.detail.route.params.type == "2") {
// With Rounds
if (e.detail.route.params.rounds == "rounds") {
$(page.$el).find("li[data-item='score-rounds'], li[data-item='score-remaining-reps']").removeClass("hidden");
// Without Rounds
} else if (e.detail.route.params.rounds == "no-rounds") {
$(page.$el).find("li[data-item='score-reps']").removeClass("hidden");
}
// For Load
} else if (e.detail.route.params.type == "3") {
$(page.$el).find("li[data-item='score-weight']").removeClass("hidden");
// Distance
} else if (e.detail.route.params.type == "4") {
$(page.$el).find("li[data-item='score-distance']").removeClass("hidden");
// Other (Numbers)
} else if (e.detail.route.params.type == "5") {
$(page.$el).find("li[data-item='score-number']").removeClass("hidden");
}
}
}
},
{
name: 'pr-logbook',
path: '/pr-logbook/:id/:name/:cat/',
url: './pages/pr-logbook.html',
on: {
pageInit: function (e, page) {
// Get Page
var thispage = ".page[data-name="+e.detail.name+"]";
var navbarInnerEl = f7app.navbar.getElByPage(thispage);
// Text
$(navbarInnerEl).find('.title,.title-large-text').text(e.detail.route.params.name); // Title
// Custom fields for types
if (e.detail.route.params.cat == "1") {
} else if (e.detail.route.params.cat == "2") {
$("div[data-item=rm]").addClass("hidden");
} else if (e.detail.route.params.cat == "3") {
$("div[data-item=rm]").addClass("hidden");
}
}
}
},
{
name: 'wod-logbook',
path: '/wod-logbook/:id/:name/:type/:rounds/',
url: './pages/wod-logbook.html',
on: {
pageInit: function (e, page) {
// Get Page
var thispage = ".page[data-name="+e.detail.name+"]";
var navbarInnerEl = f7app.navbar.getElByPage(thispage);
// Text
$(navbarInnerEl).find('.title,.title-large-text').text(e.detail.route.params.name); // Title
}
}
},
{
name: 'pr-logbook-details',
path: '/pr-logbook-details/:id/:prid/:cat/:name/',
url: './pages/pr-logbook-details.html',
on: {
pageInit: function (e, page) {
// Get Page
var thispage = ".page[data-name="+e.detail.name+"]";
var navbarInnerEl = f7app.navbar.getElByPage(thispage);
// Text
$(navbarInnerEl).find('.title,.title-large-text').text(e.detail.route.params.name); // Title
// Form
if (e.detail.route.params.cat == "2" || e.detail.route.params.cat == "3") {
$("li[data-item=rm]").addClass("hidden");
$("li.hidden").remove();
}
}
}
},
{
name: 'wod-logbook-details',
path: '/wod-logbook-details/:id/:wodid/:type/:name/:rounds/',
url: './pages/wod-logbook-details.html',
on: {
pageInit: function (e, page) {
// Get Page
var thispage = ".page[data-name="+e.detail.name+"]";
var navbarInnerEl = f7app.navbar.getElByPage(thispage);
// Text
$(navbarInnerEl).find('.title,.title-large-text').text(e.detail.route.params.name); // Title
// SS Values
if (sessionsystem == "metric") {
$(thispage+" select[name='weight-input'] option[value='kg']").attr('selected', true);
//$(thispage+" select[name='distance-input']").append("<option value='m'>m</option><option value='km'>km</option>");
} else {
$(thispage+" select[name='weight-input'] option[value='lb']").attr('selected', true);
//$(thispage+" select[name='distance-input']").append("<option value='ft'>ft</option><option value='mi'>mi</option>");
}
// Smart Select
SSWODAddScoreVestMeasurement = f7app.smartSelect.create({
el: ".add-wod-score-ss-vest-measurement",
openIn: "sheet",
searchbar: false,
sheetCloseLinkText: langfile.button_close,
formColorTheme: "black",
closeOnSelect: true
});
// Toggle
ToggleWeightVest = f7app.toggle.create({
el: '.add-wod-score-toggle-vest',
on: {
change: function () {
$(".add-wod-score-toggle-vest-toggled").toggleClass("hidden");
}
}
});
}
}
},
{
name: 'wod',
path: '/wod/:status/:id/',
url: './pages/wod.html',
on: {
pageInit: function (e, page) {
// Get Page
var thispage = ".page[data-name="+e.detail.name+"]";
var navbarInnerEl = f7app.navbar.getElByPage(thispage);
// Fill
// Example
if (e.detail.route.params.status == "example") {
// Title
$(navbarInnerEl).find('.title,.title-large-text').html(localStorage.getItem('exampleWODName'));
// Description
$("p[data-item='description']").html(localStorage.getItem('exampleWODDescription').replace(/(?:\r\n|\r|\n)/g, '<br>'));
// Timecap
if (localStorage.getItem("exampleWODTimecap") !== "undefined" && localStorage.getItem("exampleWODTimecap") !== "0:00") {
$(thispage+" div[data-item='timecap']").removeClass("hidden");
$(thispage+" div[data-item='timecap']").html("<i class='fa fa-clock-o' aria-hidden='true'></i> Time cap: "+localStorage.getItem('exampleWODTimecap')+" "+langfile.min);
}
// Tags
if (localStorage.getItem("exampleWODTags") !== ""){
$(page.$el).find("div[data-item='tags']").html(langfile.label_tags+": <a href='#'>"+localStorage.getItem("exampleWODTags")+"</a>");
}
// Note
$(page.$el).find("p[data-item='note']").text(localStorage.getItem("exampleWODNote"));
}
}
}
},
{
name: 'add-records-list',
path: '/add-records-list/',
url: './pages/add-records-list.html'
},
{
name: 'add-list',
path: '/add-list/:type/',
url: './pages/add-list.html',
on: {
pageInit: function (e, page) {
// Placeholder
$("#SearchAddList").attr("placeholder",langfile.button_search);
}
}
}
]
});
var boxView = f7app.views.create('#view-box', {
url: '/'
});
var boxsearchView = f7app.views.create('#view-box-search', {
url: '/'
});
var profileView = f7app.views.create('#view-profile', {
url: '/'
});
var notificationsView = f7app.views.create('#view-notifications', {
url: '/'
});
var settingsView = f7app.views.create('#view-settings', {
url: '/'
});
var commentsView = f7app.views.create('#view-comments', {
url: '/'
});
var leaderboardsView = f7app.views.create('#view-leaderboards', {
url: '/'
});