Skip to content

Commit 154d3ff

Browse files
authored
Adapt mobile code to ionic 7 (#581)
* Mobile app: Create ionic5 templates duplicating latest * Mobile app: Remove ionic3 templates * Mobile app: Update questions templates to Ionic 7 * Mobile app: Stop using deprecated module-description
1 parent 852486f commit 154d3ff

19 files changed

+230
-185
lines changed

classes/output/mobile.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public static function mobile_view_activity($args) {
4040

4141
$args = (object) $args;
4242

43-
$versionname = $args->appversioncode >= 3950 ? 'latest' : 'ionic3';
43+
$versionname = $args->appversioncode >= 44000 ? 'latest' : 'ionic5';
4444
$cmid = $args->cmid;
4545
$rid = isset($args->rid) ? $args->rid : 0;
4646
$action = isset($args->action) ? $args->action : 'index';

templates/local/mobile/ionic3/boolean_question.mustache renamed to templates/local/mobile/ionic5/boolean_question.mustache

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,11 @@
4343
}
4444
}}
4545
{{=<% %>=}}
46-
<ion-list radio-group [(ngModel)]="CONTENT_OTHERDATA.<%fieldkey%>">
46+
<ion-radio-group [(ngModel)]="CONTENT_OTHERDATA.<%fieldkey%>">
4747
<%#choices%>
48-
<ion-item>
48+
<ion-item class="ion-text-wrap">
4949
<ion-label><core-format-text text="<%content%>"></core-format-text></ion-label>
50-
<ion-radio<%#completed%> disabled="true"<%#value%> checked="true"<%/value%><%/completed%> value="<%id%>"></ion-radio>
50+
<ion-radio slot="end"<%#completed%> disabled="true"<%#value%> checked="true"<%/value%><%/completed%> [value]="<%id%>"></ion-radio>
5151
</ion-item>
5252
<%/choices%>
53-
</ion-list>
53+
</ion-radio-group>

templates/local/mobile/ionic3/checkbox_question.mustache renamed to templates/local/mobile/ionic5/checkbox_question.mustache

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -44,27 +44,19 @@
4444
}
4545
}}
4646
{{=<% %>=}}
47-
<ion-list radio-group>
47+
<ion-list>
4848
<%#choices%>
49-
<ion-grid no-padding>
50-
<ion-row>
51-
<ion-col>
52-
<ion-item>
53-
<ion-label><core-format-text text="<%content%>"></core-format-text></ion-label>
54-
<ion-checkbox <%#value%> checked="true"<%/value%> value="<%id%>"
55-
<%#completed%> disabled="true"<%/completed%>
56-
[(ngModel)]="CONTENT_OTHERDATA.<%choicefieldkey%>"></ion-checkbox>
57-
</ion-item>
58-
</ion-col>
59-
<%#otherchoicekey%>
60-
<ion-col>
61-
<ion-item>
62-
<ion-input placeholder="Enter: " [(ngModel)]="CONTENT_OTHERDATA.<%otherchoicekey%>"
63-
<%#completed%> disabled="true"<%/completed%>></ion-input>
64-
</ion-item>
65-
</ion-col>
66-
<%/otherchoicekey%>
67-
</ion-row>
68-
</ion-grid>
49+
<ion-item>
50+
<ion-label><core-format-text text="<%content%>"></core-format-text></ion-label>
51+
<ion-checkbox <%#value%> checked="true"<%/value%> value="<%id%>"
52+
<%#completed%> disabled="true"<%/completed%>
53+
[(ngModel)]="CONTENT_OTHERDATA.<%choicefieldkey%>"></ion-checkbox>
54+
</ion-item>
55+
<%#otherchoicekey%>
56+
<ion-item>
57+
<ion-input placeholder="Enter: " [(ngModel)]="CONTENT_OTHERDATA.<%otherchoicekey%>"
58+
<%#completed%> disabled="true"<%/completed%>></ion-input>
59+
</ion-item>
60+
<%/otherchoicekey%>
6961
<%/choices%>
7062
</ion-list>

templates/local/mobile/ionic3/date_question.mustache renamed to templates/local/mobile/ionic5/date_question.mustache

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,12 @@
3131
}}
3232
{{=<% %>=}}
3333
<ion-item>
34+
<ion-label>
35+
<%#completed%>
36+
<core-format-text text="{{ CONTENT_OTHERDATA.<%fieldkey%> }}"></core-format-text>
37+
<%/completed%>
38+
</ion-label>
3439
<%^completed%>
3540
<ion-datetime displayFormat="DD/MM/YYYY" max="2100-12-31" [(ngModel)]="CONTENT_OTHERDATA.<%fieldkey%>"></ion-datetime>
3641
<%/completed%>
37-
<%#completed%>
38-
<ion-note><core-format-text text="{{ CONTENT_OTHERDATA.<%fieldkey%> }}"></core-format-text></ion-note>
39-
<%/completed%>
4042
</ion-item>

templates/local/mobile/ionic3/main_index_page.mustache renamed to templates/local/mobile/ionic5/main_index_page.mustache

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -92,16 +92,16 @@
9292
<ion-card>
9393
<ion-card-content>
9494
<%#resume%>
95-
<button ion-button core-site-plugins-new-content component="mod_questionnaire" method="mobile_view_activity"
96-
[args]="{cmid: <%cmid%>, action: 'resume'}">
95+
<ion-button expand="block" core-site-plugins-new-content component="mod_questionnaire"
96+
method="mobile_view_activity" [args]="{cmid: <%cmid%>, action: 'resume'}">
9797
{{ 'plugin.mod_questionnaire.resumesurvey' | translate }}
98-
</button>
98+
</ion-button>
9999
<%/resume%>
100100
<%^resume%>
101-
<button ion-button core-site-plugins-new-content component="mod_questionnaire" method="mobile_view_activity"
102-
[args]="{cmid: <%cmid%>, action: 'respond'}">
101+
<ion-button expand="block" core-site-plugins-new-content component="mod_questionnaire"
102+
method="mobile_view_activity" [args]="{cmid: <%cmid%>, action: 'respond'}">
103103
{{ 'plugin.mod_questionnaire.answerquestions' | translate }}
104-
</button>
104+
</ion-button>
105105
<%/resume%>
106106
</ion-card-content>
107107
</ion-card>
@@ -110,10 +110,12 @@
110110
<ion-card>
111111
<ion-card-content>
112112
<%#submissions%>
113-
<a ion-item core-site-plugins-new-content component="mod_questionnaire" method="mobile_view_activity"
113+
<ion-item button core-site-plugins-new-content component="mod_questionnaire" method="mobile_view_activity"
114114
[args]="{cmid: <%cmid%>, action: 'review', submissionid: <%submissionid%>}">
115-
{{ 'plugin.mod_questionnaire.submitted' | translate }} <%submissiondate%>
116-
</a>
115+
<ion-label>
116+
{{ 'plugin.mod_questionnaire.submitted' | translate }} <%submissiondate%>
117+
</ion-label>
118+
</ion-item>
117119
<%/submissions%>
118120
</ion-card-content>
119121
</ion-card>

templates/local/mobile/ionic3/numeric_question.mustache renamed to templates/local/mobile/ionic5/numeric_question.mustache

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,12 @@
3131
}}
3232
{{=<% %>=}}
3333
<ion-item>
34+
<ion-label>
35+
<%#completed%>
36+
<core-format-text text="{{ CONTENT_OTHERDATA.<%fieldkey%> }}"></core-format-text>
37+
<%/completed%>
38+
</ion-label>
3439
<%^completed%>
3540
<ion-input type="number" [(ngModel)]="CONTENT_OTHERDATA.<%fieldkey%>"></ion-input>
3641
<%/completed%>
37-
<%#completed%>
38-
<ion-note><core-format-text text="{{ CONTENT_OTHERDATA.<%fieldkey%> }}"></core-format-text></ion-note>
39-
<%/completed%>
4042
</ion-item>

templates/local/mobile/ionic3/radio_question.mustache renamed to templates/local/mobile/ionic5/radio_question.mustache

Lines changed: 14 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -43,27 +43,19 @@
4343
}
4444
}}
4545
{{=<% %>=}}
46-
<ion-list radio-group [(ngModel)]="CONTENT_OTHERDATA.<%fieldkey%>">
46+
<ion-radio-group [(ngModel)]="CONTENT_OTHERDATA.<%fieldkey%>">
4747
<%#choices%>
48-
<ion-grid no-padding>
49-
<ion-row>
50-
<ion-col>
51-
<ion-item>
52-
<ion-label><core-format-text text="<%content%>"></core-format-text></ion-label>
53-
<ion-radio<%#value%> checked="true"<%/value%>
54-
value="<%id%>"
55-
<%#completed%> disabled="true"<%/completed%>></ion-radio>
56-
</ion-item>
57-
</ion-col>
58-
<%#otherchoicekey%>
59-
<ion-col>
60-
<ion-item>
61-
<ion-input placeholder="Enter: " [(ngModel)]="CONTENT_OTHERDATA.<%otherchoicekey%>"
62-
<%#completed%> disabled="true"<%/completed%>></ion-input>
63-
</ion-item>
64-
</ion-col>
65-
<%/otherchoicekey%>
66-
</ion-row>
67-
</ion-grid>
48+
<ion-item class="ion-text-wrap">
49+
<ion-label><core-format-text text="<%content%>"></core-format-text></ion-label>
50+
<ion-radio<%#value%> checked="true"<%/value%>
51+
value="<%id%>"
52+
<%#completed%> disabled="true"<%/completed%>></ion-radio>
53+
</ion-item>
54+
<%#otherchoicekey%>
55+
<ion-item class="ion-text-wrap">
56+
<ion-input placeholder="Enter: " [(ngModel)]="CONTENT_OTHERDATA.<%otherchoicekey%>"
57+
<%#completed%> disabled="true"<%/completed%>></ion-input>
58+
</ion-item>
59+
<%/otherchoicekey%>
6860
<%/choices%>
69-
</ion-list>
61+
</ion-radio-group>

templates/local/mobile/ionic3/rate_question.mustache renamed to templates/local/mobile/ionic5/rate_question.mustache

Lines changed: 31 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@
6060
{{=<% %>=}}
6161
<ion-list>
6262
<ion-grid>
63-
<ion-row justify-content-center align-items-center text-center>
63+
<ion-row class="ion-align-items-center ion-justify-content-center ion-text-center">
6464
<%#choices.0%>
6565
<%#leftlabel%>
6666
<ion-col></ion-col>
@@ -84,33 +84,37 @@
8484
</ion-row>
8585
<%#choices%>
8686
<ion-row><ion-col>
87-
<ion-list-header style="margin-bottom: 0; border-top-style: none;">
88-
<core-format-text text="<%content%>"></core-format-text>
89-
<ion-badge item-end>{{ CONTENT_OTHERDATA.<%fieldkey%> }}</ion-badge>
90-
</ion-list-header>
87+
<ion-item style="margin-bottom: 0; border-top-style: none;" class="ion-text-wrap" lines="none">
88+
<ion-label>
89+
<core-format-text text="<%content%>"></core-format-text>
90+
</ion-label>
91+
<ion-badge slot="end">{{ CONTENT_OTHERDATA.<%fieldkey%> }}</ion-badge>
92+
</ion-item>
9193
</ion-col></ion-row>
92-
<ion-row radio-group [(ngModel)]="CONTENT_OTHERDATA.<%fieldkey%>" justify-content-center align-items-center text-center>
93-
<%#leftlabel%>
94-
<ion-col>
95-
<%leftlabel%>
96-
</ion-col>
97-
<%/leftlabel%>
98-
<%#rates%>
99-
<ion-col>
100-
<ion-radio value="<%label%>" <%#completed%> disabled="true"<%/completed%>></ion-radio>
101-
</ion-col>
102-
<%/rates%>
103-
<%#hasnacolumn%>
104-
<ion-col>
105-
<ion-radio value="<%value%>" <%#completed%> disabled="true"<%/completed%>></ion-radio>
106-
</ion-col>
107-
<%/hasnacolumn%>
108-
<%#rightlabel%>
109-
<ion-col>
110-
<%rightlabel%>
111-
</ion-col>
112-
<%/rightlabel%>
113-
</ion-row>
94+
<ion-radio-group [(ngModel)]="CONTENT_OTHERDATA.<%fieldkey%>">
95+
<ion-row class="ion-align-items-center ion-justify-content-center ion-text-center">
96+
<%#leftlabel%>
97+
<ion-col>
98+
<%leftlabel%>
99+
</ion-col>
100+
<%/leftlabel%>
101+
<%#rates%>
102+
<ion-col>
103+
<ion-radio value="<%label%>" <%#completed%> disabled="true"<%/completed%>></ion-radio>
104+
</ion-col>
105+
<%/rates%>
106+
<%#hasnacolumn%>
107+
<ion-col>
108+
<ion-radio value="<%value%>" <%#completed%> disabled="true"<%/completed%>></ion-radio>
109+
</ion-col>
110+
<%/hasnacolumn%>
111+
<%#rightlabel%>
112+
<ion-col>
113+
<%rightlabel%>
114+
</ion-col>
115+
<%/rightlabel%>
116+
</ion-row>
117+
</ion-radio-group>
114118
<%/choices%>
115119
</ion-grid>
116120
</ion-list>

templates/local/mobile/ionic3/select_question.mustache renamed to templates/local/mobile/ionic5/select_question.mustache

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,11 @@
2828
"fieldkey": 985,
2929
"choices": [
3030
{
31-
"id": 200,
3231
"content": "Red",
3332
"completed": 0,
3433
"value": 1
3534
},
3635
{
37-
"id": 201,
3836
"content": "Blue",
3937
"completed": 0,
4038
"value": 0
@@ -43,8 +41,11 @@
4341
}
4442
}}
4543
{{=<% %>=}}
46-
<ion-select [(ngModel)]="CONTENT_OTHERDATA.<%fieldkey%>">
47-
<%#choices%>
48-
<ion-option<%#completed%> disabled="true"<%/completed%><%#value%> selected="true"<%/value%> value="<%id%>"><%content%></ion-option>
49-
<%/choices%>
50-
</ion-select>
44+
<ion-item>
45+
<ion-label></ion-label>
46+
<ion-select [(ngModel)]="CONTENT_OTHERDATA.<%fieldkey%>">
47+
<%#choices%>
48+
<ion-select-option<%#completed%> disabled="true"<%/completed%><%#value%> selected="true"<%/value%> value="<%id%>"><%content%></ion-select-option>
49+
<%/choices%>
50+
</ion-select>
51+
</ion-item>

templates/local/mobile/ionic3/slider_question.mustache renamed to templates/local/mobile/ionic5/slider_question.mustache

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -27,27 +27,31 @@
2727
{
2828
"fieldkey": 985,
2929
"extradata": {
30-
"minrange" : 1,
31-
"maxrange" : 10,
32-
"startingvalue" : 5,
33-
"stepvalue" : 1,
34-
"leftlabel" : "left label",
35-
"rightlabel" : "right label",
30+
"minrange" : 1
31+
"maxrange" : 10
32+
"startingvalue" : 5
33+
"stepvalue" : 1
34+
"leftlabel" : "left label"
35+
"rightlabel" : "right label"
3636
"centerlabel": "center label"
3737
},
38-
"completed": 0
38+
"completed": 0
3939
}
40+
4041
}}
4142
{{=<% %>=}}
4243
<%#extradata%>
43-
<ion-item class="mod_questionnaire_slider">
44-
<ion-range <%#completed%> disabled="true"<%/completed%>
45-
min="<%extradata.minrange%>" max="<%extradata.maxrange%>"
46-
pin="true" step="<%extradata.stepvalue%>"
47-
[(ngModel)]="CONTENT_OTHERDATA.<%fieldkey%>">
48-
<ion-label range-left><%extradata.leftlabel%></ion-label>
49-
<ion-label range-right><%extradata.rightlabel%></ion-label>
44+
<ion-item class="mod_questionnaire_slider" lines="none">
45+
<ion-range
46+
<%#completed%> disabled="true"<%/completed%>
47+
min="<%extradata.minrange%>" max="<%extradata.maxrange%>"
48+
pin="true" step="<%extradata.stepvalue%>"
49+
[(ngModel)]="CONTENT_OTHERDATA.<%fieldkey%>">
50+
<ion-label slot="start"><%extradata.leftlabel%></ion-label>
51+
<ion-label slot="end"><%extradata.rightlabel%></ion-label>
5052
</ion-range>
5153
</ion-item>
52-
<ion-label text-center><%extradata.centerlabel%></ion-label>
54+
<ion-label <%#completed%> class="disabled"<%/completed%>>
55+
<core-format-text class="ion-text-center" text="<%extradata.centerlabel%>"></core-format-text>
56+
</ion-label>
5357
<%/extradata%>

0 commit comments

Comments
 (0)