Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
I
iena-course-format
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
iena
iena-course-format
Commits
8b8ef088
Commit
8b8ef088
authored
11 months ago
by
DELARUELLE Myriam
Browse files
Options
Downloads
Patches
Plain Diff
dropdown and post parameters for groups ids
parent
47dc0d45
No related branches found
No related tags found
No related merge requests found
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
amd/build/suivi.js
+34
-28
34 additions, 28 deletions
amd/build/suivi.js
styles.css
+2
-2
2 additions, 2 deletions
styles.css
suivi_unit.php
+37
-48
37 additions, 48 deletions
suivi_unit.php
templates/suivi.mustache
+4
-3
4 additions, 3 deletions
templates/suivi.mustache
with
77 additions
and
81 deletions
amd/build/suivi.js
+
34
−
28
View file @
8b8ef088
...
@@ -77,11 +77,26 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
...
@@ -77,11 +77,26 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
});
});
//initActivityFilter();
//initActivityFilter();
},
},
registerSelectAllGroupsFilter
:
function
(){
$
(
'
.selectallgroups
'
).
click
(
function
()
{
if
(
$
(
"
.selectallgroups
"
).
is
(
'
:checked
'
))
{
checkAllGroupsFilter
();
}
else
{
$
(
'
.group-option
'
).
prop
(
'
checked
'
,
false
);
var
message
=
str
.
get_string
(
'
selectedActivities
'
,
'
format_iena
'
);
$
.
when
(
message
).
done
(
function
(
localizedEditString
)
{
$
(
"
.group-dropdown-text
"
).
html
(
'
0
'
+
localizedEditString
);
});
changeGroup
();
}
});
},
initTable
:
function
(){
initTable
:
function
(){
initActivityFilter
(
false
);
initActivityFilter
(
false
);
displayTotalActivitiesFilter
(
false
);
displayTotalActivitiesFilter
(
false
);
displayActivities
(
false
);
displayActivities
(
false
);
initGroupFilter
(
false
)
initGroupFilter
(
false
);
registerGroupFilter
();
changeSection
(
false
);
changeSection
(
false
);
reloadTable
(
data
);
reloadTable
(
data
);
...
@@ -131,16 +146,21 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
...
@@ -131,16 +146,21 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
}
}
function
changeGroup
(){
function
changeGroup
(){
completeUrl
=
getCompleteUrl
();
var
completeUrl
=
getCompleteUrl
();
var
groupscheckboxes
=
$
(
'
input[name="groupoptions[]"]:checked
'
);
var
groupsid
=
[];
for
(
var
i
=
0
;
i
<
groupscheckboxes
.
length
;
i
++
)
{
groupsid
.
push
(
groupscheckboxes
[
i
].
value
);
}
loadMessage
(
"
loading
"
);
loadMessage
(
"
loading
"
);
$
.
ajax
({
url
:
completeUrl
,
$
.
ajax
({
url
:
completeUrl
,
data
:
{
action
:
'
test
'
},
data
:
{
action
:
'
fetchgroups
'
,
groupsid
:
groupsid
},
type
:
'
post
'
,
type
:
'
post
'
,
success
:
function
(
request
)
{
success
:
function
(
request
)
{
console
.
log
(
request
);
data
=
calcPercentage
(
JSON
.
parse
(
request
));
data
=
calcPercentage
(
JSON
.
parse
(
request
));
initGroupFilter
();
//
initGroupFilter();
changeSection
();
changeSection
();
}
}
});
});
...
@@ -511,25 +531,6 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
...
@@ -511,25 +531,6 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
return
data
;
return
data
;
}
}
//Evenement pour le selectall : créé une seule fois au chargement de la page
/*function registerSelectAllActivitiesFilter(){
$('.selectall').click(function() {
if ($(".selectall").is(':checked')) {
checkAllActivitiesFilter();
displayActivities();
} else {
$('.option').prop('checked', false);
var message=str.get_string('selectedActivities', 'format_iena');
$.when(message).done(function(localizedEditString) {
$(".dropdown-text").html('0 '+localizedEditString);
});
$(".select-text").html(' Select');
displayActivities();
}
});
initActivityFilter();
}*/
//On va recharger dynamiquement les options donc on doit recréer les événements à chaque fois qu'on change de section
//On va recharger dynamiquement les options donc on doit recréer les événements à chaque fois qu'on change de section
function
registerActivityFilter
(){
function
registerActivityFilter
(){
...
@@ -614,12 +615,9 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
...
@@ -614,12 +615,9 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
var
a
=
$
(
"
input[type='checkbox'].justone-group
"
);
var
a
=
$
(
"
input[type='checkbox'].justone-group
"
);
if
(
a
.
length
==
a
.
filter
(
"
:checked
"
).
length
){
if
(
a
.
length
==
a
.
filter
(
"
:checked
"
).
length
){
$
(
'
.selectallgroups
'
).
prop
(
'
checked
'
,
true
);
$
(
'
.selectallgroups
'
).
prop
(
'
checked
'
,
true
);
$
(
"
.select-text
"
).
html
(
'
Deselect
'
);
}
}
else
{
else
{
$
(
'
.selectallgroups
'
).
prop
(
'
checked
'
,
false
);
$
(
'
.selectallgroups
'
).
prop
(
'
checked
'
,
false
);
$
(
"
.select-text
"
).
html
(
'
Select
'
);
}
}
//displayTotalActivitiesFilter();
//displayTotalActivitiesFilter();
//displayActivities();
//displayActivities();
...
@@ -649,12 +647,20 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
...
@@ -649,12 +647,20 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
}
}
}
}
}
}
}
}
//displayTotalActivitiesFilter();
//displayTotalActivitiesFilter();
//displayActivities();
//displayActivities();
}
}
//Coche toutes les activités quand on change de section
function
checkAllGroupsFilter
(){
$
(
'
.selectallgroups
'
).
prop
(
'
checked
'
,
true
);
$
(
'
.group-option
'
).
prop
(
'
checked
'
,
true
);
changeGroup
();
$
(
"
.select-text
"
).
html
(
'
Deselect
'
);
}
});
});
This diff is collapsed.
Click to expand it.
styles.css
+
2
−
2
View file @
8b8ef088
...
@@ -1094,13 +1094,13 @@ th.first-column-iena, th.second-column-iena, th.actions-column-iena, th.third-co
...
@@ -1094,13 +1094,13 @@ th.first-column-iena, th.second-column-iena, th.actions-column-iena, th.third-co
top
:
13px
;
top
:
13px
;
}
}
.iena-dynamic-options
{
.iena-dynamic-options
,
.iena-dynamic-activities
{
list-style
:
none
;
list-style
:
none
;
padding
:
0
;
padding
:
0
;
margin-left
:
0
;
margin-left
:
0
;
}
}
.iena-dynamic-options
label
{
.iena-dynamic-options
label
,
.iena-dynamic-activities
label
{
white-space
:
nowrap
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
text-overflow
:
ellipsis
;
width
:
94%
;
width
:
94%
;
...
...
This diff is collapsed.
Click to expand it.
suivi_unit.php
+
37
−
48
View file @
8b8ef088
...
@@ -114,7 +114,7 @@ function format_progress($progress, $modules, $groups, $activegroupids, $actives
...
@@ -114,7 +114,7 @@ function format_progress($progress, $modules, $groups, $activegroupids, $actives
$progressstudent
->
email
=
$proginfo
->
email
;
$progressstudent
->
email
=
$proginfo
->
email
;
$progressstudent
->
progress
=
array
();
$progressstudent
->
progress
=
array
();
$progressstudent
->
report_link
=
$CFG
->
wwwroot
.
"/report/outline/user.php?id="
.
$progressstudent
->
report_link
=
$CFG
->
wwwroot
.
"/report/outline/user.php?id="
.
$progressstudent
->
id
.
"&course="
.
$COURSE
->
id
.
"&mode=outline"
;
$progressstudent
->
id
.
"&course="
.
$COURSE
->
id
.
"&mode=outline"
;
$progressstudent
->
message_link
=
$CFG
->
wwwroot
.
"/message/index.php?id="
.
$progressstudent
->
id
;
$progressstudent
->
message_link
=
$CFG
->
wwwroot
.
"/message/index.php?id="
.
$progressstudent
->
id
;
//if ($activegroupid == 0) {
//if ($activegroupid == 0) {
...
@@ -228,13 +228,13 @@ function set_filters($data, $filters, $symbols, $sections, $groups, $currentuser
...
@@ -228,13 +228,13 @@ function set_filters($data, $filters, $symbols, $sections, $groups, $currentuser
return
$data
;
return
$data
;
}
}
function
set_data
(
$data
,
$modules
,
$progress
,
$groups
,
$activegroupid
,
$activesectionid
,
$listoptions
)
{
function
set_data
(
$data
,
$modules
,
$progress
,
$groups
,
$activegroup
s
id
s
,
$activesectionid
,
$listoptions
)
{
global
$COURSE
,
$USER
,
$CFG
;
global
$COURSE
,
$USER
,
$CFG
;
$data
[
"modules"
]
=
$modules
;
$data
[
"modules"
]
=
$modules
;
$countmodules
=
count
(
$data
[
"modules"
]);
$countmodules
=
count
(
$data
[
"modules"
]);
$data
[
"students"
]
=
format_progress
(
$progress
,
$modules
,
$groups
,
$activegroupid
,
$activesectionid
);
$data
[
"students"
]
=
format_progress
(
$progress
,
$modules
,
$groups
,
$activegroup
s
id
s
,
$activesectionid
);
$countstudents
=
count
(
$data
[
"students"
]);
$countstudents
=
count
(
$data
[
"students"
]);
if
(
$countstudents
>
0
&&
$countmodules
>
0
)
{
if
(
$countstudents
>
0
&&
$countmodules
>
0
)
{
...
@@ -335,47 +335,43 @@ if (!has_capability('course/iena:suivi', $context = context_course::instance($co
...
@@ -335,47 +335,43 @@ if (!has_capability('course/iena:suivi', $context = context_course::instance($co
exit
;
exit
;
}
}
if
(
isset
(
$_POST
[
'groupids'
]))
{
$activegroupids
=
$_POST
[
'groupids'
];
if
(
isset
(
$_POST
[
'groupsid'
]))
{
$activegroupsids
=
$_POST
[
'groupsid'
];
}
else
{
}
else
{
$activegroupids
=
[
0
]
;
$activegroup
s
ids
=
array
(
0
)
;
}
}
/*$progressrequest = $completion->get_progress_all(
'',
array(),
$activegroupid,
'u.lastname ASC, u.firstname ASC',
'',
'',
$context
);
*/
$cache
=
cache
::
make
(
'format_iena'
,
'students'
);
$cache
=
cache
::
make
(
'format_iena'
,
'students'
);
if
(
$cache
->
get
(
$activegroupids
)
!==
false
){
$progress
=
$cache
->
get
(
$activegroupids
);
//Si le progrès de chacun des groupes existe déjà en cache on va les charger, sinon on les récupère dans la BDD et on les stocke
}
$arrayprogress
=
array
();
else
{
for
(
$i
=
0
;
$i
<
count
(
$activegroupsids
);
$i
++
){
$arrayprogressgroups
=
array
();
if
(
$cache
->
get
(
$activegroupsids
[
$i
])
!==
false
){
//for($i=0; $i<count($activegroupids); $i++){
$progress
=
$cache
->
get
(
$activegroupsids
[
$i
]);
$progressrequest
=
$completion
->
get_progress_all
(
}
else
{
$progressrequest
=
$completion
->
get_progress_all
(
''
,
''
,
array
(),
array
(),
0
,
$activegroupsids
[
$i
]
,
'u.lastname ASC, u.firstname ASC'
,
'u.lastname ASC, u.firstname ASC'
,
''
,
''
,
''
,
''
,
$context
$context
);
);
//array_push($arrayprogressgroups, $progressrequest);
$cache
->
set
(
$activegroupsids
[
$i
],
$progressrequest
);
//}
$progress
=
$progressrequest
;
}
$progress
=
$cache
->
set
(
$activegroupids
,
$progressrequest
);
$arrayprogress
=
(
object
)
array_unique
(
array_merge
((
array
)
$arrayprogress
,
(
array
)
$progress
),
SORT_REGULAR
);
}
}
$activesectionid
=
0
;
$activesectionid
=
0
;
// Section du get acquise depuis le clic sur l'indicateur dans la page du cours,
// Section du get acquise depuis le clic sur l'indicateur dans la page du cours,
// section depuis laquelle on a cliqué sur le bouton pour voir le suivi.
// section depuis laquelle on a cliqué sur le bouton pour voir le suivi.
...
@@ -387,20 +383,14 @@ if (isset($_GET['sectionid'])) {
...
@@ -387,20 +383,14 @@ if (isset($_GET['sectionid'])) {
$groups
=
groups_get_all_groups
(
$COURSE
->
id
,
0
,
0
,
'g.*'
,
true
);
$groups
=
groups_get_all_groups
(
$COURSE
->
id
,
0
,
0
,
'g.*'
,
true
);
$renderer
=
$PAGE
->
get_renderer
(
'format_iena'
);
$renderer
=
$PAGE
->
get_renderer
(
'format_iena'
);
//Si on cherche les détails d'une activité
if
(
isset
(
$_POST
[
'action'
])
&&
$_POST
[
'action'
]
==
"details"
)
{
if
(
isset
(
$_POST
[
'action'
])
&&
$_POST
[
'action'
]
==
"details"
)
{
require_once
(
$CFG
->
libdir
.
'/gradelib.php'
);
require_once
(
$CFG
->
libdir
.
'/gradelib.php'
);
// Si on cherche les détails d'une activité
$data
=
[];
$data
=
[];
$idetu
=
$_POST
[
'idetudiant'
];
$idetu
=
$_POST
[
'idetudiant'
];
$idmodule
=
$_POST
[
'idmodule'
];
$idmodule
=
$_POST
[
'idmodule'
];
$modinfo
=
get_fast_modinfo
(
$COURSE
->
id
,
$idetu
);
$modinfo
=
get_fast_modinfo
(
$COURSE
->
id
,
$idetu
);
$cm
=
$modinfo
->
get_cm
(
$idmodule
);
$cm
=
$modinfo
->
get_cm
(
$idmodule
);
//Utile ?
//Utile ?
$completioninfo
=
new
\completion_info
(
$COURSE
);
$completioninfo
=
new
\completion_info
(
$COURSE
);
$completiondetails
=
new
cm_completion_details
(
$completioninfo
,
$cm
,
$idetu
);
$completiondetails
=
new
cm_completion_details
(
$completioninfo
,
$cm
,
$idetu
);
...
@@ -446,7 +436,7 @@ if (isset($_POST['action']) && $_POST['action'] == "details") {
...
@@ -446,7 +436,7 @@ if (isset($_POST['action']) && $_POST['action'] == "details") {
$data
=
array
();
$data
=
array
();
$data
[
'url'
]
=
strval
(
$cm
->
url
);
$data
[
'url'
]
=
strval
(
$cm
->
url
);
$data
[
'completion'
]
=
strval
(
$cm
->
completion
);
$data
[
'completion'
]
=
strval
(
$cm
->
completion
);
$data
[
"grades"
]
=
$lastgrade
;
$data
[
"grades"
]
=
$lastgrade
;
$data
[
"customcompletion"
]
=
$cm
->
customdata
;
$data
[
"customcompletion"
]
=
$cm
->
customdata
;
$data
[
"completioninfos"
]
=
$activityhtml
;
$data
[
"completioninfos"
]
=
$activityhtml
;
$data
[
"completionstate"
]
=
$completiondetails
->
get_overall_completion
();
$data
[
"completionstate"
]
=
$completiondetails
->
get_overall_completion
();
...
@@ -455,23 +445,22 @@ if (isset($_POST['action']) && $_POST['action'] == "details") {
...
@@ -455,23 +445,22 @@ if (isset($_POST['action']) && $_POST['action'] == "details") {
echo
json_encode
(
$data
);
echo
json_encode
(
$data
);
}
}
// If a post is sent trought the page --> Si on change les filtres, le template est appelé en JS
// If a post is sent trought the page --> Si on change les filtres
(de groupes)
, le template est appelé en JS
else
if
(
isset
(
$_POST
[
'action'
])
&&
!
empty
(
$_POST
[
'action'
]))
{
else
if
(
isset
(
$_POST
[
'action'
])
&&
!
empty
(
$_POST
[
'action'
]))
{
// Si on change les filtres.
// Si on change les filtres.
$data
=
[];
$data
=
[];
$progress
=
$cache
->
get
(
$activegroupids
);
$modules
=
get_activities
(
$completion
,
$activesectionid
);
$modules
=
get_activities
(
$completion
,
$activesectionid
);
$data
=
set_data
(
$data
,
$modules
,
$progress
,
$groups
,
$activegroupids
,
$activesectionid
,
$listoptions
);
$data
=
set_data
(
$data
,
$modules
,
$
array
progress
,
$groups
,
$activegroup
s
ids
,
$activesectionid
,
$listoptions
);
echo
json_encode
(
$data
);
echo
json_encode
(
$data
);
}
else
{
}
else
{
//Si on cherche les détails d'une activité
init_page
(
$course
,
$PAGE
);
init_page
(
$course
,
$PAGE
);
echo
$OUTPUT
->
header
();
echo
$OUTPUT
->
header
();
$progress
=
$cache
->
get
(
$activegroupids
);
//$progress=$cache->get($activegroupids);
$progress
=
$arrayprogress
;
$data
=
[];
$data
=
[];
//Si la complétion du cours n'est pas activée on redirige l'enseignant vers l'interface pour l'activer
//Si la complétion du cours n'est pas activée on redirige l'enseignant vers l'interface pour l'activer
if
(
!
$COURSE
->
enablecompletion
){
if
(
!
$COURSE
->
enablecompletion
){
...
@@ -486,7 +475,7 @@ else if (isset($_POST['action']) && !empty($_POST['action'])) {
...
@@ -486,7 +475,7 @@ else if (isset($_POST['action']) && !empty($_POST['action'])) {
$modules
=
get_activities
(
$completion
,
$activesectionid
);
$modules
=
get_activities
(
$completion
,
$activesectionid
);
//Répartit les groupes en "mes groupes" et "les groupes dont je ne fais pas partie"
//Répartit les groupes en "mes groupes" et "les groupes dont je ne fais pas partie"
$groupsall
=
get_groups
(
$context
,
$activegroupids
,
$groups
);
$groupsall
=
get_groups
(
$context
,
$activegroup
s
ids
,
$groups
);
if
(
isset
(
$groupsall
->
current_user_groups
)
&&
!
empty
(
$groupsall
->
current_user_groups
))
{
if
(
isset
(
$groupsall
->
current_user_groups
)
&&
!
empty
(
$groupsall
->
current_user_groups
))
{
$currentusergroups
=
$groupsall
->
current_user_groups
;
$currentusergroups
=
$groupsall
->
current_user_groups
;
...
@@ -495,7 +484,7 @@ else if (isset($_POST['action']) && !empty($_POST['action'])) {
...
@@ -495,7 +484,7 @@ else if (isset($_POST['action']) && !empty($_POST['action'])) {
$sections
=
get_sections
(
$activesectionid
);
$sections
=
get_sections
(
$activesectionid
);
$data
=
set_filters
(
$data
,
$filters
,
$symbols
,
$sections
,
array_values
(
$groups
),
$groupsall
->
current_user_groups
,
$groupsall
->
othergroups
,
$activesectionid
);
$data
=
set_filters
(
$data
,
$filters
,
$symbols
,
$sections
,
array_values
(
$groups
),
$groupsall
->
current_user_groups
,
$groupsall
->
othergroups
,
$activesectionid
);
$data
=
set_data
(
$data
,
$modules
,
$progress
,
$groups
,
$activegroupids
,
$activesectionid
,
$listoptions
);
$data
=
set_data
(
$data
,
$modules
,
$
array
progress
,
$groups
,
$activegroup
s
ids
,
$activesectionid
,
$listoptions
);
if
(
isset
(
$_GET
[
"msg_success"
]))
{
if
(
isset
(
$_GET
[
"msg_success"
]))
{
$msg
=
$_GET
[
"msg_success"
];
$msg
=
$_GET
[
"msg_success"
];
...
...
This diff is collapsed.
Click to expand it.
templates/suivi.mustache
+
4
−
3
View file @
8b8ef088
...
@@ -77,7 +77,7 @@
...
@@ -77,7 +77,7 @@
</div>
</div>
<div
class=
"dropdown mr-sm-2 iena-custom-dropdown"
id=
"group-select"
name=
"groupid"
>
<div
class=
"dropdown mr-sm-2 iena-custom-dropdown"
id=
"group-select"
name=
"groupid"
>
<button
class=
"btn btn-default dropdown-toggle"
type=
"button"
data-toggle=
"dropdown"
>
<button
class=
"btn btn-default dropdown-toggle"
type=
"button"
data-toggle=
"dropdown"
>
<span
class=
"dropdown-text"
>
Tous les groupes
</span>
<span
class=
"
group-
dropdown-text"
>
Tous les groupes
</span>
<span
class=
"caret"
></span></button>
<span
class=
"caret"
></span></button>
<ul
class=
"dropdown-menu dropdown-menu-form"
id=
"iena-group-dropdown"
>
<ul
class=
"dropdown-menu dropdown-menu-form"
id=
"iena-group-dropdown"
>
<li>
<li>
...
@@ -90,7 +90,7 @@
...
@@ -90,7 +90,7 @@
</optgroup>
</optgroup>
<ul
class=
"iena-dynamic-options"
>
<ul
class=
"iena-dynamic-options"
>
{{#
current_user_groups
}}
{{#
current_user_groups
}}
<li><label
class=
"checkbox"
><input
type=
"checkbox"
name=
"groupoptions[]"
value=
{{
id
}}
class=
"group
e
-option justone-group"
>
{{
name
}}
</label></li>
<li><label
class=
"checkbox"
><input
type=
"checkbox"
name=
"groupoptions[]"
value=
{{
id
}}
class=
"group-option justone-group"
>
{{
name
}}
</label></li>
{{/
current_user_groups
}}
{{/
current_user_groups
}}
</ul>
</ul>
...
@@ -100,7 +100,7 @@
...
@@ -100,7 +100,7 @@
</optgroup>
</optgroup>
{{#
othergroups
}}
{{#
othergroups
}}
<li><label
class=
"checkbox"
><input
type=
"checkbox"
name=
"groupoptions[]"
value=
{{
id
}}
class=
"group
e
-option justone-group"
>
{{
name
}}
</label></li>
<li><label
class=
"checkbox"
><input
type=
"checkbox"
name=
"groupoptions[]"
value=
{{
id
}}
class=
"group-option justone-group"
>
{{
name
}}
</label></li>
{{/
othergroups
}}
{{/
othergroups
}}
</ul>
</ul>
...
@@ -173,6 +173,7 @@ require(['format_iena/suivi', 'core/templates'], function(module) {
...
@@ -173,6 +173,7 @@ require(['format_iena/suivi', 'core/templates'], function(module) {
module.registerFilters();
module.registerFilters();
module.registerSubmit(
{{{
data
}}}
);
module.registerSubmit(
{{{
data
}}}
);
module.registerSelectAllActivitiesFilter();
module.registerSelectAllActivitiesFilter();
module.registerSelectAllGroupsFilter();
module.initTable();
module.initTable();
});
});
{{/
js
}}
{{/
js
}}
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment