MDL-71691 core_course: section styling
This commit is contained in:
Vendored
+1
-1
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -79,7 +79,8 @@ define(
|
||||
TOGGLE: '.toggle-display,.dropdown-toggle',
|
||||
SECTIONLI: 'li.section',
|
||||
SECTIONACTIONMENU: '.section_action_menu',
|
||||
ADDSECTIONS: '.changenumsections [data-add-sections]'
|
||||
ADDSECTIONS: '.changenumsections [data-add-sections]',
|
||||
SECTIONBADGES: '[data-region="sectionbadges"]',
|
||||
};
|
||||
|
||||
Y.use('moodle-course-coursebase', function() {
|
||||
@@ -581,9 +582,11 @@ define(
|
||||
if (action === 'hide' || action === 'show') {
|
||||
if (action === 'hide') {
|
||||
sectionElement.addClass('hidden');
|
||||
setSectionBadge(sectionElement[0], 'hiddenfromstudents', true);
|
||||
replaceActionItem(actionItem, 'i/show',
|
||||
'showfromothers', 'format_' + courseformat, 'show');
|
||||
} else {
|
||||
setSectionBadge(sectionElement[0], 'hiddenfromstudents', false);
|
||||
sectionElement.removeClass('hidden');
|
||||
replaceActionItem(actionItem, 'i/hide',
|
||||
'hidefromothers', 'format_' + courseformat, 'hide');
|
||||
@@ -613,11 +616,13 @@ define(
|
||||
replaceActionItem(actionItem, 'i/marked',
|
||||
'highlightoff', 'core', 'removemarker');
|
||||
courseeditor.dispatch('legacySectionAction', action, sectionid);
|
||||
setSectionBadge(sectionElement[0], 'highlighted', true);
|
||||
} else if (action === 'removemarker') {
|
||||
sectionElement.removeClass('current');
|
||||
replaceActionItem(actionItem, 'i/marker',
|
||||
'highlight', 'core', 'setmarker');
|
||||
courseeditor.dispatch('legacySectionAction', action, sectionid);
|
||||
setSectionBadge(sectionElement[0], 'highlighted', false);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -722,6 +727,30 @@ define(
|
||||
return true;
|
||||
};
|
||||
|
||||
/**
|
||||
* Sets the section badge in the section header.
|
||||
*
|
||||
* @param {JQuery} sectionElement section element we perform action on
|
||||
* @param {String} badgetype the type of badge this is for
|
||||
* @param {bool} add true to add, false to remove
|
||||
*/
|
||||
var setSectionBadge = function(sectionElement, badgetype, add) {
|
||||
const sectionbadges = sectionElement.querySelector(SELECTOR.SECTIONBADGES);
|
||||
if (!sectionbadges) {
|
||||
return;
|
||||
}
|
||||
if (add) {
|
||||
templates.render('core_courseformat/local/content/section/badges', {[badgetype]: 1})
|
||||
.then(function(html, js) {
|
||||
templates.prependNodeContents(sectionbadges, html, js);
|
||||
return true;
|
||||
}).catch(notification.exception);
|
||||
} else {
|
||||
const badge = sectionbadges.querySelector('[data-type="' + badgetype + '"]');
|
||||
badge.remove();
|
||||
}
|
||||
};
|
||||
|
||||
// Register a function to be executed after D&D of an activity.
|
||||
Y.use('moodle-course-coursebase', function() {
|
||||
M.course.coursebase.register_module({
|
||||
|
||||
@@ -26,6 +26,7 @@ namespace core_courseformat\output\local\content;
|
||||
|
||||
use core_courseformat\base as course_format;
|
||||
use completion_info;
|
||||
use context_course;
|
||||
use renderable;
|
||||
use templatable;
|
||||
use section_info;
|
||||
@@ -119,11 +120,13 @@ class section implements renderable, templatable {
|
||||
* @return stdClass data context for a mustache template
|
||||
*/
|
||||
public function export_for_template(\renderer_base $output): stdClass {
|
||||
global $USER;
|
||||
|
||||
$format = $this->format;
|
||||
$course = $format->get_course();
|
||||
$thissection = $this->thissection;
|
||||
$singlesection = $format->get_section_number();
|
||||
$context = context_course::instance($course->id);
|
||||
|
||||
$summary = new $this->summaryclass($format, $thissection);
|
||||
$availability = new $this->availabilityclass($format, $thissection);
|
||||
@@ -135,6 +138,7 @@ class section implements renderable, templatable {
|
||||
'insertafter' => false,
|
||||
'summary' => $summary->export_for_template($output),
|
||||
'availability' => $availability->export_for_template($output),
|
||||
'restrictionlock' => !empty($thissection->availableinfo),
|
||||
];
|
||||
|
||||
// Check if it is a stealth sections (orphaned).
|
||||
@@ -188,6 +192,15 @@ class section implements renderable, templatable {
|
||||
// When a section is displayed alone the title goes over the section, not inside it.
|
||||
$header = new $this->headerclass($format, $thissection);
|
||||
|
||||
if (!$thissection->visible) {
|
||||
$data->ishidden = true;
|
||||
$data->notavailable = true;
|
||||
if (has_capability('moodle/course:viewhiddensections', $context, $USER)) {
|
||||
$data->hiddenfromstudents = true;
|
||||
$data->notavailable = false;
|
||||
}
|
||||
}
|
||||
|
||||
if ($thissection->section == $singlesection) {
|
||||
if (empty($this->hidetitle)) {
|
||||
$data->singleheader = $header->export_for_template($output);
|
||||
@@ -216,11 +229,13 @@ class section implements renderable, templatable {
|
||||
$data->cmlist = $cmlist->export_for_template($output);
|
||||
}
|
||||
|
||||
if (!$thissection->visible) {
|
||||
$data->ishidden = true;
|
||||
$data->hasavailability = false;
|
||||
if (isset($data->availability->hasavailability)) {
|
||||
$data->hasavailability = $data->availability->hasavailability;
|
||||
}
|
||||
|
||||
if ($format->is_section_current($thissection)) {
|
||||
$data->iscurrent = true;
|
||||
$data->highlighted = true;
|
||||
$data->currentlink = get_accesshide(
|
||||
get_string('currentsection', 'format_'.$format->get_format())
|
||||
);
|
||||
@@ -229,4 +244,3 @@ class section implements renderable, templatable {
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -103,13 +103,7 @@ class availability implements renderable, templatable {
|
||||
|
||||
$info = [];
|
||||
if (!$section->visible) {
|
||||
if ($canviewhidden) {
|
||||
$info[] = $this->availability_info(get_string('hiddenfromstudents'), 'ishidden');
|
||||
} else {
|
||||
// We are here because of the setting "Hidden sections are shown as not available".
|
||||
// Student can not see the section contents but can see its name.
|
||||
$info[] = $this->availability_info(get_string('notavailable'), 'ishidden');
|
||||
}
|
||||
$info = [];
|
||||
} else if (!$section->uservisible) {
|
||||
if ($section->availableinfo) {
|
||||
// Note: We only get to this function if availableinfo is non-empty,
|
||||
|
||||
@@ -79,7 +79,8 @@ class controlmenu implements renderable, templatable {
|
||||
|
||||
// Convert control array into an action_menu.
|
||||
$menu = new action_menu();
|
||||
$menu->set_menu_trigger(get_string('edit'));
|
||||
$icon = $output->pix_icon('i/menu', get_string('edit'));
|
||||
$menu->set_menu_trigger($icon, 'btn btn-icon d-flex align-items-center justify-content-center');
|
||||
$menu->attributes['class'] .= ' section-actions';
|
||||
foreach ($controls as $value) {
|
||||
$url = empty($value['url']) ? '' : $value['url'];
|
||||
|
||||
@@ -73,31 +73,30 @@ class header implements renderable, templatable {
|
||||
'id' => $section->id,
|
||||
];
|
||||
|
||||
$data->title = $output->section_title_without_link($section, $course);
|
||||
|
||||
$coursedisplay = $course->coursedisplay ?? COURSE_DISPLAY_SINGLEPAGE;
|
||||
$data->headerdisplaymultipage = false;
|
||||
if ($coursedisplay == COURSE_DISPLAY_MULTIPAGE) {
|
||||
$data->headerdisplaymultipage = true;
|
||||
$data->title = $output->section_title($section, $course);
|
||||
}
|
||||
|
||||
if ($section->section > $format->get_last_section_number()) {
|
||||
// Stealth sections (orphaned) has special title.
|
||||
$data->title = get_string('orphanedactivitiesinsectionno', '', $section->section);
|
||||
} else if ($section->section && ($section->section == $format->get_section_number())) {
|
||||
// Regular section title.
|
||||
$data->title = $output->section_title_without_link($section, $course);
|
||||
$data->issinglesection = true;
|
||||
} else if ($section->uservisible) {
|
||||
// Regular section title.
|
||||
$data->title = $output->section_title($section, $course);
|
||||
} else {
|
||||
// Regular section title without link.
|
||||
$data->title = $output->section_title_without_link($section, $course);
|
||||
}
|
||||
|
||||
if (!$section->visible) {
|
||||
$data->ishidden = true;
|
||||
}
|
||||
|
||||
$coursedisplay = $course->coursedisplay ?? COURSE_DISPLAY_SINGLEPAGE;
|
||||
|
||||
if ($course->id == SITEID) {
|
||||
$data->sitehome = true;
|
||||
}
|
||||
|
||||
$data->editing = $format->show_editor();
|
||||
|
||||
if (!$format->show_editor() && $coursedisplay == COURSE_DISPLAY_MULTIPAGE && empty($data->issinglesection)) {
|
||||
if ($section->uservisible) {
|
||||
$data->url = course_get_url($course, $section->section);
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
}
|
||||
}}
|
||||
<li id="section-{{num}}"
|
||||
class="section main {{#onlysummary}} section-summary {{/onlysummary}} clearfix
|
||||
class="section course-section main {{#onlysummary}} section-summary {{/onlysummary}} clearfix
|
||||
{{#ishidden}} hidden {{/ishidden}} {{#iscurrent}} current {{/iscurrent}}
|
||||
{{#isstealth}} orphaned {{/isstealth}}"
|
||||
data-sectionid="{{num}}"
|
||||
@@ -89,39 +89,51 @@
|
||||
data-id="{{id}}"
|
||||
data-number="{{num}}"
|
||||
>
|
||||
{{#singleheader}} {{> core_courseformat/local/content/section/header }} {{/singleheader}}
|
||||
<div class="left side">{{#iscurrent}} {{{currentlink}}} {{/iscurrent}}</div>
|
||||
<div class="right side">
|
||||
{{#collapsemenu}}
|
||||
<div class="course-section-header d-flex"
|
||||
data-for="section_title"
|
||||
data-id="{{id}}"
|
||||
data-number="{{num}}"
|
||||
>
|
||||
{{#singleheader}} {{> core_courseformat/local/content/section/header }} {{/singleheader}}
|
||||
{{#header}} {{> core_courseformat/local/content/section/header }} {{/header}}
|
||||
{{#restrictionlock}}
|
||||
<div class="align-self-center ml-2">
|
||||
{{#pix}}t/unlock, core{{/pix}}
|
||||
</div>
|
||||
{{/restrictionlock}}
|
||||
<div data-region="sectionbadges" class="sectionbadges d-flex align-items-center">
|
||||
{{> core_courseformat/local/content/section/badges }}
|
||||
</div>
|
||||
{{#collapsemenu}}
|
||||
<div class="flex-fill d-flex justify-content-end mr-2 align-self-center">
|
||||
<a
|
||||
id="collapsesections"
|
||||
class="section-collapsemenu"
|
||||
href="#"
|
||||
aria-expanded="true"
|
||||
role="button"
|
||||
data-toggle="toggleall"
|
||||
>
|
||||
<span class="collapseall">{{#str}}collapseall{{/str}}</span>
|
||||
<span class="expandall">{{#str}}expandall{{/str}}</span>
|
||||
</a>
|
||||
</div>
|
||||
{{/collapsemenu}}
|
||||
{{#controlmenu}}
|
||||
</div>
|
||||
{{/collapsemenu}}
|
||||
{{#controlmenu}}
|
||||
{{> core_courseformat/local/content/section/controlmenu }}
|
||||
{{/controlmenu}}
|
||||
{{/controlmenu}}
|
||||
</div>
|
||||
{{#header}} {{> core_courseformat/local/content/section/header }} {{/header}}
|
||||
<div id="coursecontentcollapse{{num}}"
|
||||
class="content {{^iscoursedisplaymultipage}}
|
||||
{{^sitehome}}course-content-item-content collapse {{#contentexpanded}}show{{/contentexpanded}}{{/sitehome}}
|
||||
{{/iscoursedisplaymultipage}}">
|
||||
{{#availability}}
|
||||
{{> core_courseformat/local/content/section/availability }}
|
||||
{{/availability}}
|
||||
<div class="summary">
|
||||
{{#summary}}
|
||||
{{> core_courseformat/local/content/section/summary }}
|
||||
{{/summary}}
|
||||
<div class="{{#hasavailability}}description small{{/hasavailability}} my-3">
|
||||
{{#summary}}
|
||||
{{> core_courseformat/local/content/section/summary }}
|
||||
{{/summary}}
|
||||
{{#availability}}
|
||||
{{> core_courseformat/local/content/section/availability }}
|
||||
{{/availability}}
|
||||
</div>
|
||||
{{#cmsummary}} {{> core_courseformat/local/content/section/cmsummary }} {{/cmsummary}}
|
||||
{{#cmlist}} {{> core_courseformat/local/content/section/cmlist }} {{/cmlist}}
|
||||
|
||||
@@ -25,10 +25,7 @@
|
||||
{
|
||||
"info": [
|
||||
{
|
||||
"classes": "",
|
||||
"text": "Not available unless: <ul><li>It is on or after <strong>8 June 2012</strong></li></ul>",
|
||||
"ishidden": 0,
|
||||
"isstealth": 0,
|
||||
"isrestricted": 1,
|
||||
"isfullinfo": 1
|
||||
}
|
||||
@@ -36,15 +33,15 @@
|
||||
"hasavailability": true
|
||||
}
|
||||
}}
|
||||
<div class="section_availability">
|
||||
<div class="section_availability course-description-item">
|
||||
{{#hasavailability}}
|
||||
{{#info}}
|
||||
<div class="availabilityinfo {{classes}}">
|
||||
{{^isrestricted}}
|
||||
<span class="badge badge-info">{{{text}}}</span>
|
||||
<span class="badge badge-pill badge-warning">{{{text}}}</span>
|
||||
{{/isrestricted}}
|
||||
{{#isrestricted}}
|
||||
<span class="badge badge-info">{{#str}}restricted, core{{/str}}</span> {{{text}}}
|
||||
{{#pix}}t/unlock, core{{/pix}}</span> {{{text}}}
|
||||
{{/isrestricted}}
|
||||
</div>
|
||||
{{/info}}
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
{{!
|
||||
This file is part of Moodle - http://moodle.org/
|
||||
|
||||
Moodle is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Moodle is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
}}
|
||||
{{!
|
||||
@template core_courseformat/local/content/section/badges
|
||||
|
||||
Convenience mustache to displays if an activity is in hidden or stealth mode.
|
||||
|
||||
Format plugins are free to implement an alternative inplace editable for activities.
|
||||
|
||||
Example context (json):
|
||||
{
|
||||
"highlighted" : "1",
|
||||
"hiddenfromstudents" : "1",
|
||||
"notavailable" : "0"
|
||||
}
|
||||
}}
|
||||
{{#highlighted}}
|
||||
<span class="badge badge-pill badge-primary order-1" data-type="highlighted">{{#str}}highlighted{{/str}}</span>
|
||||
{{/highlighted}}
|
||||
{{#hiddenfromstudents}}
|
||||
<span class="badge badge-pill badge-warning order-2" data-type="hiddenfromstudents">{{#str}}hiddenfromstudents{{/str}}</span>
|
||||
{{/hiddenfromstudents}}
|
||||
{{#notavailable}}
|
||||
<span class="badge badge-pill badge-secondary order-3">{{#str}}notavailable{{/str}}</span>
|
||||
{{/notavailable}}
|
||||
@@ -26,7 +26,7 @@
|
||||
}
|
||||
}}
|
||||
{{#hasmenu}}
|
||||
<div class="section_action_menu" data-sectionid="{{id}}">
|
||||
<div class="section_action_menu ml-auto" data-sectionid="{{id}}">
|
||||
{{{menu}}}
|
||||
</div>
|
||||
{{/hasmenu}}
|
||||
|
||||
@@ -25,54 +25,42 @@
|
||||
"name": "Section title",
|
||||
"title": "<a href=\"http://moodle/course/view.php?id=5#section-0\">Section title</a>",
|
||||
"url": "#",
|
||||
"iscoursedisplaymultipage": true
|
||||
"headerdisplaymultipage": true,
|
||||
"editing": 0
|
||||
}
|
||||
}}
|
||||
|
||||
{{#iscoursedisplaymultipage}}
|
||||
<h3 class="sectionid-{{id}}-title sectionname flex-fill"
|
||||
data-for="section_title" data-id="{{id}}" data-number="{{num}}">
|
||||
{{#url}}
|
||||
<a href="{{{url}}}" class="{{#ishidden}} dimmed_text {{/ishidden}}">{{name}}</a>
|
||||
{{/url}}
|
||||
{{^url}}
|
||||
<span>{{{title}}}</span>
|
||||
{{/url}}
|
||||
{{#headerdisplaymultipage}}
|
||||
<h3 class="sectionid-{{id}}-title sectionname">
|
||||
{{{title}}}
|
||||
</h3>
|
||||
{{/iscoursedisplaymultipage}}
|
||||
{{^iscoursedisplaymultipage}}
|
||||
{{/headerdisplaymultipage}}
|
||||
{{^headerdisplaymultipage}}
|
||||
{{#sitehome}}
|
||||
<h2 class="sectionid-{{id}}-title sectionname flex-fill"
|
||||
data-for="section_title" data-id="{{id}}" data-number="{{num}}">
|
||||
{{#url}}
|
||||
<a href="{{{url}}}" class="{{#ishidden}} dimmed_text {{/ishidden}}">{{name}}</a>
|
||||
{{/url}}
|
||||
{{^url}}
|
||||
<span>{{{title}}}</span>
|
||||
{{/url}}
|
||||
<h2 class="sectionid-{{id}}-title sectionname">
|
||||
{{{title}}}
|
||||
</h2>
|
||||
{{/sitehome}}
|
||||
{{^sitehome}}
|
||||
<div class="d-flex">
|
||||
<div class="d-flex align-items-center position-relative">
|
||||
<a role="button" data-toggle="collapse"
|
||||
href="#coursecontentcollapse{{num}}"
|
||||
id="collapssesection{{num}}"
|
||||
aria-expanded="{{#contentexpanded}}true{{/contentexpanded}}{{^contentexpanded}}false{{/contentexpanded}}"
|
||||
aria-controls="coursecontentcollapse{{num}}"
|
||||
class="btn btn-icon mr-1 icons-collapse-expand {{^contentexpanded}}collapsed{{/contentexpanded}}"
|
||||
class="btn btn-icon mr-1 icons-collapse-expand {{^editing}}stretched-link {{/editing}}{{^contentexpanded}}collapsed{{/contentexpanded}}"
|
||||
aria-label="{{name}}">
|
||||
<span class="expanded-icon icon-no-margin p-2" data-toggle="tooltip" title="{{#str}} collapse, core {{/str}}">
|
||||
<span class="expanded-icon icon-no-margin p-2" title="{{#str}} collapse, core {{/str}}">
|
||||
{{#pix}} t/expandedchevron, core {{/pix}}
|
||||
</span>
|
||||
<span class="collapsed-icon icon-no-margin p-2" data-toggle="tooltip" title="{{#str}} expand, core {{/str}}">
|
||||
{{#pix}} t/collapsedchevron, core {{/pix}}
|
||||
</span>
|
||||
<span class="collapsed-icon icon-no-margin p-2" title="{{#str}} expand, core {{/str}}">
|
||||
{{#pix}} t/collapsedchevron, core {{/pix}}
|
||||
</span>
|
||||
</a>
|
||||
<h3 class="sectionid-{{id}}-title sectionname course-content-item {{^visible}}dimmed{{/visible}} flex-fill"
|
||||
id="coursecontentsection{{num}}" data-for="section_title" data-id="{{id}}" data-number="{{num}}"
|
||||
data-action="togglecoursecontentsection">
|
||||
<h3 class="sectionid-{{id}}-title sectionname course-content-item d-flex align-self-stretch align-items-center mb-0"
|
||||
id="coursecontentsection{{num}}" data-for="section_title" data-id="{{id}}" data-number="{{num}}">
|
||||
{{{title}}}
|
||||
</h3>
|
||||
</div>
|
||||
{{/sitehome}}
|
||||
{{/iscoursedisplaymultipage}}
|
||||
{{/headerdisplaymultipage}}
|
||||
|
||||
@@ -25,7 +25,9 @@
|
||||
}
|
||||
}}
|
||||
{{#summarytext}}
|
||||
<div class="summarytext">
|
||||
{{{summarytext}}}
|
||||
</div>
|
||||
<div class="course-description-item summarytext">
|
||||
<div class="description-inner">
|
||||
{{{summarytext}}}
|
||||
</div>
|
||||
</div>
|
||||
{{/summarytext}}
|
||||
|
||||
@@ -79,12 +79,12 @@
|
||||
tabindex="-1"
|
||||
>
|
||||
<span class="collapsed-icon icon-no-margin mr-1"
|
||||
data-toggle="tooltip" title="{{#str}} expand, core {{/str}}">
|
||||
title="{{#str}} expand, core {{/str}}">
|
||||
{{#pix}} t/collapsedchevron, core {{/pix}}
|
||||
<span class="sr-only">{{#str}} expand, core {{/str}}</span>
|
||||
</span>
|
||||
<span class="expanded-icon icon-no-margin mr-1"
|
||||
data-toggle="tooltip" title="{{#str}} collapse, core {{/str}}">
|
||||
title="{{#str}} collapse, core {{/str}}">
|
||||
{{#pix}} t/expandedchevron, core {{/pix}}
|
||||
<span class="sr-only">{{#str}} collapse, core {{/str}}</span>
|
||||
</span>
|
||||
|
||||
@@ -435,7 +435,7 @@ class format_topics extends core_courseformat\base {
|
||||
$renderer = $PAGE->get_renderer('format_topics');
|
||||
|
||||
if (!($section instanceof section_info)) {
|
||||
$modinfo = $this->get_modinfo();
|
||||
$modinfo = course_modinfo::instance($this->courseid);
|
||||
$section = $modinfo->get_section_info($section->section);
|
||||
}
|
||||
$elementclass = $this->get_output_classname('content\\section\\availability');
|
||||
|
||||
@@ -536,7 +536,7 @@ class format_weeks extends core_courseformat\base {
|
||||
$renderer = $PAGE->get_renderer('format_weeks');
|
||||
|
||||
if (!($section instanceof section_info)) {
|
||||
$modinfo = $this->get_modinfo();
|
||||
$modinfo = course_modinfo::instance($this->courseid);
|
||||
$section = $modinfo->get_section_info($section->section);
|
||||
}
|
||||
$elementclass = $this->get_output_classname('content\\section\\availability');
|
||||
|
||||
Generated
+131
-157
@@ -2853,9 +2853,9 @@
|
||||
}
|
||||
},
|
||||
"array-back": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/array-back/-/array-back-5.0.0.tgz",
|
||||
"integrity": "sha512-kgVWwJReZWmVuWOQKEOohXKJX+nD02JAZ54D1RRWlv8L0NebauKAaFxACKzB74RTclt1+WNz5KHaLRDAPZbDEw==",
|
||||
"version": "6.2.0",
|
||||
"resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.0.tgz",
|
||||
"integrity": "sha512-mixVv03GOOn/ubHE4STQ+uevX42ETdk0JoMVEjNkSOCT7WgERh7C8/+NyhWYNpE3BN69pxFyJIBcF7CxWz/+4A==",
|
||||
"dev": true
|
||||
},
|
||||
"array-each": {
|
||||
@@ -3878,12 +3878,12 @@
|
||||
}
|
||||
},
|
||||
"command-line-args": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.1.1.tgz",
|
||||
"integrity": "sha512-hL/eG8lrll1Qy1ezvkant+trihbGnaKaeEjj6Scyr3DN+RC7iQ5Rz84IeLERfAWDGo0HBSNAakczwgCilDXnWg==",
|
||||
"version": "5.2.0",
|
||||
"resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.0.tgz",
|
||||
"integrity": "sha512-4zqtU1hYsSJzcJBOcNZIbW5Fbk9BkjCp1pZVhQKoRaWL5J7N4XphDLwo8aWwdQpTugxwu+jf9u2ZhkXiqp5Z6A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"array-back": "^3.0.1",
|
||||
"array-back": "^3.1.0",
|
||||
"find-replace": "^3.0.0",
|
||||
"lodash.camelcase": "^4.3.0",
|
||||
"typical": "^4.0.0"
|
||||
@@ -4528,23 +4528,10 @@
|
||||
"walk-back": "^5.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"handlebars": {
|
||||
"version": "4.7.7",
|
||||
"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz",
|
||||
"integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"minimist": "^1.2.5",
|
||||
"neo-async": "^2.6.0",
|
||||
"source-map": "^0.6.1",
|
||||
"uglify-js": "^3.1.4",
|
||||
"wordwrap": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"minimist": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
||||
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
|
||||
"array-back": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/array-back/-/array-back-5.0.0.tgz",
|
||||
"integrity": "sha512-kgVWwJReZWmVuWOQKEOohXKJX+nD02JAZ54D1RRWlv8L0NebauKAaFxACKzB74RTclt1+WNz5KHaLRDAPZbDEw==",
|
||||
"dev": true
|
||||
},
|
||||
"reduce-flatten": {
|
||||
@@ -4552,18 +4539,6 @@
|
||||
"resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-3.0.1.tgz",
|
||||
"integrity": "sha512-bYo+97BmUUOzg09XwfkwALt4PQH1M5L0wzKerBt6WLm3Fhdd43mMS89HiT1B9pJIqko/6lWx3OnV4J9f2Kqp5Q==",
|
||||
"dev": true
|
||||
},
|
||||
"source-map": {
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||
"dev": true
|
||||
},
|
||||
"wordwrap": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
|
||||
"integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -5291,6 +5266,14 @@
|
||||
"requires": {
|
||||
"array-back": "^5.0.0",
|
||||
"glob": "^7.1.6"
|
||||
},
|
||||
"dependencies": {
|
||||
"array-back": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/array-back/-/array-back-5.0.0.tgz",
|
||||
"integrity": "sha512-kgVWwJReZWmVuWOQKEOohXKJX+nD02JAZ54D1RRWlv8L0NebauKAaFxACKzB74RTclt1+WNz5KHaLRDAPZbDEw==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"file-type": {
|
||||
@@ -5605,6 +5588,37 @@
|
||||
"minimatch": "0.3"
|
||||
}
|
||||
},
|
||||
"handlebars": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-2.0.0.tgz",
|
||||
"integrity": "sha1-bp1/hRSjRn+l6fgswVjs/B1ax28=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"optimist": "~0.3",
|
||||
"uglify-js": "~2.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"async": {
|
||||
"version": "0.2.10",
|
||||
"resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
|
||||
"integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"uglify-js": {
|
||||
"version": "2.3.6",
|
||||
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz",
|
||||
"integrity": "sha1-+gmEdwtCi3qbKoBY9GNV0U/vIRo=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"async": "~0.2.6",
|
||||
"optimist": "~0.3.5",
|
||||
"source-map": "~0.1.7"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"jshint": {
|
||||
"version": "2.5.11",
|
||||
"resolved": "https://registry.npmjs.org/jshint/-/jshint-2.5.11.tgz",
|
||||
@@ -5639,12 +5653,6 @@
|
||||
"integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=",
|
||||
"dev": true
|
||||
},
|
||||
"mime": {
|
||||
"version": "1.2.11",
|
||||
"resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz",
|
||||
"integrity": "sha1-WCA+7Ybjpe8XrtK32evUfwpg3RA=",
|
||||
"dev": true
|
||||
},
|
||||
"minimatch": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
|
||||
@@ -5656,10 +5664,11 @@
|
||||
}
|
||||
},
|
||||
"source-map": {
|
||||
"version": "0.1.34",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz",
|
||||
"integrity": "sha1-p8/omux7FoLDsZjQrPtH19CQVms=",
|
||||
"version": "0.1.43",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
|
||||
"integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"amdefine": ">=0.0.4"
|
||||
}
|
||||
@@ -5687,6 +5696,15 @@
|
||||
"resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
|
||||
"integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
|
||||
"dev": true
|
||||
},
|
||||
"source-map": {
|
||||
"version": "0.1.34",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz",
|
||||
"integrity": "sha1-p8/omux7FoLDsZjQrPtH19CQVms=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"amdefine": ">=0.0.4"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -6344,43 +6362,23 @@
|
||||
}
|
||||
},
|
||||
"handlebars": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-2.0.0.tgz",
|
||||
"integrity": "sha1-bp1/hRSjRn+l6fgswVjs/B1ax28=",
|
||||
"version": "4.7.7",
|
||||
"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz",
|
||||
"integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"optimist": "~0.3",
|
||||
"uglify-js": "~2.3"
|
||||
"minimist": "^1.2.5",
|
||||
"neo-async": "^2.6.0",
|
||||
"source-map": "^0.6.1",
|
||||
"uglify-js": "^3.1.4",
|
||||
"wordwrap": "^1.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"async": {
|
||||
"version": "0.2.10",
|
||||
"resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
|
||||
"integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"source-map": {
|
||||
"version": "0.1.43",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
|
||||
"integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"amdefine": ">=0.0.4"
|
||||
}
|
||||
},
|
||||
"uglify-js": {
|
||||
"version": "2.3.6",
|
||||
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz",
|
||||
"integrity": "sha1-+gmEdwtCi3qbKoBY9GNV0U/vIRo=",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"async": "~0.2.6",
|
||||
"optimist": "~0.3.5",
|
||||
"source-map": "~0.1.7"
|
||||
}
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -7188,43 +7186,18 @@
|
||||
"path-is-absolute": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"handlebars": {
|
||||
"version": "4.7.7",
|
||||
"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz",
|
||||
"integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"minimist": "^1.2.5",
|
||||
"neo-async": "^2.6.0",
|
||||
"source-map": "^0.6.1",
|
||||
"uglify-js": "^3.1.4",
|
||||
"wordwrap": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"has-flag": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
|
||||
"integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
|
||||
"dev": true
|
||||
},
|
||||
"minimist": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
||||
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
|
||||
"dev": true
|
||||
},
|
||||
"resolve": {
|
||||
"version": "1.1.7",
|
||||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
|
||||
"integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
|
||||
"dev": true
|
||||
},
|
||||
"source-map": {
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||
"dev": true
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "3.2.3",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
|
||||
@@ -7233,12 +7206,6 @@
|
||||
"requires": {
|
||||
"has-flag": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"wordwrap": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
|
||||
"integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -7338,49 +7305,49 @@
|
||||
}
|
||||
},
|
||||
"jsdoc-api": {
|
||||
"version": "7.0.1",
|
||||
"resolved": "https://registry.npmjs.org/jsdoc-api/-/jsdoc-api-7.0.1.tgz",
|
||||
"integrity": "sha512-SttT7mAvl/L9liIoOoa647ksFlD+fyNP2Vy80MBRi6akOmJQ4ryQjMBOPfg1veKfwVp/8f3My8Bb2JnVGL9wVg==",
|
||||
"version": "7.1.0",
|
||||
"resolved": "https://registry.npmjs.org/jsdoc-api/-/jsdoc-api-7.1.0.tgz",
|
||||
"integrity": "sha512-yjIiZa6LFOgd0dyFW/R+3unnVUhhbU1CeBhisgjBPRHkar83rkgDtTMRdgQotSvt+pGlmknZqfwR5AQuMh9/6w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"array-back": "^5.0.0",
|
||||
"array-back": "^6.2.0",
|
||||
"cache-point": "^2.0.0",
|
||||
"collect-all": "^1.0.4",
|
||||
"file-set": "^4.0.2",
|
||||
"fs-then-native": "^2.0.0",
|
||||
"jsdoc": "^3.6.6",
|
||||
"jsdoc": "^3.6.7",
|
||||
"object-to-spawn-args": "^2.0.1",
|
||||
"temp-path": "^1.0.0",
|
||||
"walk-back": "^5.0.0"
|
||||
"walk-back": "^5.1.0"
|
||||
}
|
||||
},
|
||||
"jsdoc-parse": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/jsdoc-parse/-/jsdoc-parse-6.0.0.tgz",
|
||||
"integrity": "sha512-35DhfCHL1bq5r0TvolhyyGhhoem700IfEvviL8I1t99Qxa3aSmWbBEpnvvouA7TyXlwxcQfSg75ryXW8Ppq7FA==",
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/jsdoc-parse/-/jsdoc-parse-6.0.1.tgz",
|
||||
"integrity": "sha512-ij3Az5y2dp+ajMxYnEJH7kjKK5v6+yZ3Cg/KtRdoT15pIm6qTk/W8q72QdNLZ9jQm/U2/ifENFXXTOe6xIxGeA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"array-back": "^5.0.0",
|
||||
"array-back": "^6.1.1",
|
||||
"lodash.omit": "^4.5.0",
|
||||
"lodash.pick": "^4.4.0",
|
||||
"reduce-extract": "^1.0.0",
|
||||
"sort-array": "^4.1.3",
|
||||
"sort-array": "^4.1.4",
|
||||
"test-value": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"jsdoc-to-markdown": {
|
||||
"version": "7.0.1",
|
||||
"resolved": "https://registry.npmjs.org/jsdoc-to-markdown/-/jsdoc-to-markdown-7.0.1.tgz",
|
||||
"integrity": "sha512-wN6WAHAPiCyAU7m/+F3FbEEV40CGVWMae49SBPIvfy7kDq/2fBrOw86vdbnLdmjt6u/tHnoxHNrHWYbYFN+4UA==",
|
||||
"version": "7.1.0",
|
||||
"resolved": "https://registry.npmjs.org/jsdoc-to-markdown/-/jsdoc-to-markdown-7.1.0.tgz",
|
||||
"integrity": "sha512-LJAiwrUaOpPqOmllqnVVqfBZh6KI/rHHfSwL7DerTpjLQWHfpndz/JUNlF5ngYjbL4aHNf7uJ1TuXl6xGfq5rg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"array-back": "^5.0.0",
|
||||
"array-back": "^6.2.0",
|
||||
"command-line-tool": "^0.8.0",
|
||||
"config-master": "^3.1.0",
|
||||
"dmd": "^6.0.0",
|
||||
"jsdoc-api": "^7.0.0",
|
||||
"jsdoc-parse": "^6.0.0",
|
||||
"walk-back": "^5.0.0"
|
||||
"jsdoc-api": "^7.1.0",
|
||||
"jsdoc-parse": "^6.0.1",
|
||||
"walk-back": "^5.1.0"
|
||||
}
|
||||
},
|
||||
"jsdoc-type-pratt-parser": {
|
||||
@@ -7396,9 +7363,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"jshint": {
|
||||
"version": "2.13.0",
|
||||
"resolved": "https://registry.npmjs.org/jshint/-/jshint-2.13.0.tgz",
|
||||
"integrity": "sha512-Nd+md9wIeyfDK+RGrbOBzwLONSTdihGMtyGYU/t7zYcN2EgUa4iuY3VK2oxtPYrW5ycTj18iC+UbhNTxe4C66g==",
|
||||
"version": "2.13.1",
|
||||
"resolved": "https://registry.npmjs.org/jshint/-/jshint-2.13.1.tgz",
|
||||
"integrity": "sha512-vymzfR3OysF5P774x6zYv0bD4EpH6NWRxpq54wO9mA9RuY49yb1teKSICkLx2Ryx+mfzlVVNNbTBtsRtg78t7g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"cli": "~1.0.0",
|
||||
@@ -7411,12 +7378,6 @@
|
||||
"strip-json-comments": "1.0.x"
|
||||
},
|
||||
"dependencies": {
|
||||
"lodash": {
|
||||
"version": "4.17.21",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
|
||||
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
|
||||
"dev": true
|
||||
},
|
||||
"strip-json-comments": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz",
|
||||
@@ -7690,13 +7651,6 @@
|
||||
"ctype": "0.5.3"
|
||||
}
|
||||
},
|
||||
"mime": {
|
||||
"version": "1.2.11",
|
||||
"resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz",
|
||||
"integrity": "sha1-WCA+7Ybjpe8XrtK32evUfwpg3RA=",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"mime-types": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz",
|
||||
@@ -8196,9 +8150,9 @@
|
||||
}
|
||||
},
|
||||
"mime": {
|
||||
"version": "2.5.2",
|
||||
"resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz",
|
||||
"integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==",
|
||||
"version": "1.2.11",
|
||||
"resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz",
|
||||
"integrity": "sha1-WCA+7Ybjpe8XrtK32evUfwpg3RA=",
|
||||
"dev": true
|
||||
},
|
||||
"mime-db": {
|
||||
@@ -8243,6 +8197,12 @@
|
||||
"brace-expansion": "^1.1.7"
|
||||
}
|
||||
},
|
||||
"minimist": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
||||
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
|
||||
"dev": true
|
||||
},
|
||||
"minimist-options": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.0.2.tgz",
|
||||
@@ -8279,9 +8239,9 @@
|
||||
}
|
||||
},
|
||||
"mkdirp2": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/mkdirp2/-/mkdirp2-1.0.4.tgz",
|
||||
"integrity": "sha512-Q2PKB4ZR4UPtjLl76JfzlgSCUZhSV1AXQgAZa1qt5RiaALFjP/CDrGvFBrOz7Ck6McPcwMAxTsJvWOUjOU8XMw==",
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/mkdirp2/-/mkdirp2-1.0.5.tgz",
|
||||
"integrity": "sha512-xOE9xbICroUDmG1ye2h4bZ8WBie9EGmACaco8K8cx6RlkJJrxGIqjGqztAI+NMhexXBcdGbSEzI6N3EJPevxZw==",
|
||||
"dev": true
|
||||
},
|
||||
"ms": {
|
||||
@@ -8316,9 +8276,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"neo-async": {
|
||||
"version": "2.6.1",
|
||||
"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz",
|
||||
"integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==",
|
||||
"version": "2.6.2",
|
||||
"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
|
||||
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
|
||||
"dev": true
|
||||
},
|
||||
"nice-try": {
|
||||
@@ -8723,6 +8683,14 @@
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"wordwrap": "~0.0.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"wordwrap": {
|
||||
"version": "0.0.3",
|
||||
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
|
||||
"integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"optionator": {
|
||||
@@ -10098,6 +10066,12 @@
|
||||
"typical": "^6.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"array-back": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/array-back/-/array-back-5.0.0.tgz",
|
||||
"integrity": "sha512-kgVWwJReZWmVuWOQKEOohXKJX+nD02JAZ54D1RRWlv8L0NebauKAaFxACKzB74RTclt1+WNz5KHaLRDAPZbDEw==",
|
||||
"dev": true
|
||||
},
|
||||
"typical": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/typical/-/typical-6.0.1.tgz",
|
||||
@@ -11364,9 +11338,9 @@
|
||||
}
|
||||
},
|
||||
"walk-back": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/walk-back/-/walk-back-5.0.0.tgz",
|
||||
"integrity": "sha512-ASerU3aOj9ok+uMNiW0A6/SEwNOxhPmiprbHmPFw1faz7Qmoy9wD3sbmL5HYG+IBxT5c/4cX9O2kSpNv8OAM9A==",
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/walk-back/-/walk-back-5.1.0.tgz",
|
||||
"integrity": "sha512-Uhxps5yZcVNbLEAnb+xaEEMdgTXl9qAQDzKYejG2AZ7qPwRQ81lozY9ECDbjLPNWm7YsO1IK5rsP1KoQzXAcGA==",
|
||||
"dev": true
|
||||
},
|
||||
"walkdir": {
|
||||
@@ -11448,9 +11422,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"wordwrap": {
|
||||
"version": "0.0.3",
|
||||
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
|
||||
"integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
|
||||
"integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
|
||||
"dev": true
|
||||
},
|
||||
"wordwrapjs": {
|
||||
|
||||
+2
-2
@@ -35,8 +35,8 @@
|
||||
"hugo-bin": "^0.50.2",
|
||||
"hugo-lunr-indexer": "^1.1.3",
|
||||
"jsdoc": "^3.6.7",
|
||||
"jsdoc-to-markdown": "^7.0.1",
|
||||
"jshint": "^2.13.0",
|
||||
"jsdoc-to-markdown": "^7.1.0",
|
||||
"jshint": "^2.13.1",
|
||||
"node-sass": "^4.14.1",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"semver": "7.3.2",
|
||||
|
||||
@@ -469,7 +469,7 @@ body:not(.editing) .sitetopic ul.section {
|
||||
}
|
||||
|
||||
.course-content li {
|
||||
&.section {
|
||||
&.section:not(.course-section) {
|
||||
@include media-breakpoint-down(sm) {
|
||||
ul {
|
||||
padding-left: 0;
|
||||
@@ -1331,3 +1331,109 @@ span.editinstructions {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// These are the new styles for the renewed course UI in isssue MDL-71691
|
||||
// once the old course renderers are removed in MDL-72656, all css related
|
||||
// to activities and sections above this commend needs to be reviewed an
|
||||
// possibly removed.
|
||||
.course-section {
|
||||
list-style: none;
|
||||
padding-left: 0;
|
||||
border-bottom: $border-width solid $border-color;
|
||||
|
||||
&:last-child {
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
.sectionbadges .badge {
|
||||
margin-left: 0.5rem;
|
||||
}
|
||||
|
||||
.course-section-header.draggable {
|
||||
cursor: move;
|
||||
}
|
||||
|
||||
.section_action_menu {
|
||||
.dropdown-toggle::after {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.inplaceeditable {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
&.section-summary {
|
||||
padding-left: 1rem;
|
||||
padding-right: 1rem;
|
||||
margin-bottom: 0.5rem;
|
||||
margin-top: 0.5rem;
|
||||
@if $enable-rounded {
|
||||
@include border-radius($border-radius-lg);
|
||||
}
|
||||
}
|
||||
|
||||
.section-summary-activities .activity-count {
|
||||
color: $text-muted;
|
||||
font-size: $font-size-sm;
|
||||
margin: 3px;
|
||||
white-space: nowrap;
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
|
||||
$activity-iconcontainer-width: 50px;
|
||||
$activity-iconcontainer-height: 50px;
|
||||
|
||||
.activity-item .activityiconcontainer {
|
||||
width: $activity-iconcontainer-width;
|
||||
height: $activity-iconcontainer-height;
|
||||
display: inline-flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background-color: $gray-100;
|
||||
border-radius: 4px;
|
||||
padding: 0.7rem;
|
||||
|
||||
.activityicon {
|
||||
margin: 0;
|
||||
height: 24px;
|
||||
width: 24px;
|
||||
}
|
||||
}
|
||||
|
||||
.description .course-description-item {
|
||||
background-color: $gray-100;
|
||||
padding-left: map-get($spacers, 3);
|
||||
padding-right: map-get($spacers, 3);
|
||||
|
||||
.description-inner {
|
||||
padding-bottom: map-get($spacers, 2);
|
||||
padding-top: map-get($spacers, 2);
|
||||
border-bottom: $border-width solid $border-color;
|
||||
|
||||
p:last-child {
|
||||
padding-bottom: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&:first-child {
|
||||
margin-top: map-get($spacers, 3);
|
||||
padding-top: map-get($spacers, 3);
|
||||
|
||||
.description-inner {
|
||||
padding-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
padding-bottom: map-get($spacers, 3);
|
||||
|
||||
.description-inner {
|
||||
padding-bottom: 0;
|
||||
border-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13994,24 +13994,24 @@ body:not(.editing) .sitetopic ul.section {
|
||||
display: none; }
|
||||
|
||||
@media (max-width: 767.98px) {
|
||||
.course-content li.section ul {
|
||||
.course-content li.section:not(.course-section) ul {
|
||||
padding-left: 0; } }
|
||||
|
||||
.course-content li.section ul {
|
||||
.course-content li.section:not(.course-section) ul {
|
||||
list-style: disc; }
|
||||
.course-content li.section ul ul {
|
||||
.course-content li.section:not(.course-section) ul ul {
|
||||
list-style: circle; }
|
||||
.course-content li.section ul ul ul {
|
||||
.course-content li.section:not(.course-section) ul ul ul {
|
||||
list-style: square; }
|
||||
|
||||
.course-content li.section li.activity ul {
|
||||
.course-content li.section:not(.course-section) li.activity ul {
|
||||
list-style: disc; }
|
||||
.course-content li.section li.activity ul ul {
|
||||
.course-content li.section:not(.course-section) li.activity ul ul {
|
||||
list-style: circle; }
|
||||
.course-content li.section li.activity ul ul ul {
|
||||
.course-content li.section:not(.course-section) li.activity ul ul ul {
|
||||
list-style: square; }
|
||||
|
||||
.course-content li.section .right > .icon:first-child {
|
||||
.course-content li.section:not(.course-section) .right > .icon:first-child {
|
||||
/* Remove the spacer icon. */
|
||||
display: none; }
|
||||
|
||||
@@ -14648,6 +14648,70 @@ span.editinstructions {
|
||||
.section-collapsemenu.collapsed .expandall {
|
||||
display: block; }
|
||||
|
||||
.course-section {
|
||||
list-style: none;
|
||||
padding-left: 0;
|
||||
border-bottom: 1px solid #dee2e6; }
|
||||
.course-section:last-child {
|
||||
border-bottom: 0; }
|
||||
.course-section .sectionbadges .badge {
|
||||
margin-left: 0.5rem; }
|
||||
.course-section .course-section-header.draggable {
|
||||
cursor: move; }
|
||||
.course-section .section_action_menu .dropdown-toggle::after {
|
||||
display: none; }
|
||||
.course-section .inplaceeditable {
|
||||
display: flex;
|
||||
align-items: center; }
|
||||
.course-section.section-summary {
|
||||
padding-left: 1rem;
|
||||
padding-right: 1rem;
|
||||
margin-bottom: 0.5rem;
|
||||
margin-top: 0.5rem;
|
||||
border-radius: 0.3rem; }
|
||||
.course-section .section-summary-activities .activity-count {
|
||||
color: #6a737b;
|
||||
font-size: 0.8203125rem;
|
||||
margin: 3px;
|
||||
white-space: nowrap;
|
||||
display: inline-block; }
|
||||
|
||||
.activity-item .activityiconcontainer {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
display: inline-flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background-color: #f8f9fa;
|
||||
border-radius: 4px;
|
||||
padding: 0.7rem; }
|
||||
.activity-item .activityiconcontainer .activityicon {
|
||||
margin: 0;
|
||||
height: 24px;
|
||||
width: 24px; }
|
||||
|
||||
.description .course-description-item {
|
||||
background-color: #f8f9fa;
|
||||
padding-left: 1rem;
|
||||
padding-right: 1rem; }
|
||||
.description .course-description-item .description-inner {
|
||||
padding-bottom: 0.5rem;
|
||||
padding-top: 0.5rem;
|
||||
border-bottom: 1px solid #dee2e6; }
|
||||
.description .course-description-item .description-inner p:last-child {
|
||||
padding-bottom: 0;
|
||||
margin-bottom: 0; }
|
||||
.description .course-description-item:first-child {
|
||||
margin-top: 1rem;
|
||||
padding-top: 1rem; }
|
||||
.description .course-description-item:first-child .description-inner {
|
||||
padding-top: 0; }
|
||||
.description .course-description-item:last-child {
|
||||
padding-bottom: 1rem; }
|
||||
.description .course-description-item:last-child .description-inner {
|
||||
padding-bottom: 0;
|
||||
border-bottom: 0; }
|
||||
|
||||
/* Anchor link offset fix. This makes hash links scroll 60px down to account for the fixed header. */
|
||||
:target {
|
||||
scroll-margin-top: 70px; }
|
||||
|
||||
@@ -13994,24 +13994,24 @@ body:not(.editing) .sitetopic ul.section {
|
||||
display: none; }
|
||||
|
||||
@media (max-width: 767.98px) {
|
||||
.course-content li.section ul {
|
||||
.course-content li.section:not(.course-section) ul {
|
||||
padding-left: 0; } }
|
||||
|
||||
.course-content li.section ul {
|
||||
.course-content li.section:not(.course-section) ul {
|
||||
list-style: disc; }
|
||||
.course-content li.section ul ul {
|
||||
.course-content li.section:not(.course-section) ul ul {
|
||||
list-style: circle; }
|
||||
.course-content li.section ul ul ul {
|
||||
.course-content li.section:not(.course-section) ul ul ul {
|
||||
list-style: square; }
|
||||
|
||||
.course-content li.section li.activity ul {
|
||||
.course-content li.section:not(.course-section) li.activity ul {
|
||||
list-style: disc; }
|
||||
.course-content li.section li.activity ul ul {
|
||||
.course-content li.section:not(.course-section) li.activity ul ul {
|
||||
list-style: circle; }
|
||||
.course-content li.section li.activity ul ul ul {
|
||||
.course-content li.section:not(.course-section) li.activity ul ul ul {
|
||||
list-style: square; }
|
||||
|
||||
.course-content li.section .right > .icon:first-child {
|
||||
.course-content li.section:not(.course-section) .right > .icon:first-child {
|
||||
/* Remove the spacer icon. */
|
||||
display: none; }
|
||||
|
||||
@@ -14648,6 +14648,70 @@ span.editinstructions {
|
||||
.section-collapsemenu.collapsed .expandall {
|
||||
display: block; }
|
||||
|
||||
.course-section {
|
||||
list-style: none;
|
||||
padding-left: 0;
|
||||
border-bottom: 1px solid #dee2e6; }
|
||||
.course-section:last-child {
|
||||
border-bottom: 0; }
|
||||
.course-section .sectionbadges .badge {
|
||||
margin-left: 0.5rem; }
|
||||
.course-section .course-section-header.draggable {
|
||||
cursor: move; }
|
||||
.course-section .section_action_menu .dropdown-toggle::after {
|
||||
display: none; }
|
||||
.course-section .inplaceeditable {
|
||||
display: flex;
|
||||
align-items: center; }
|
||||
.course-section.section-summary {
|
||||
padding-left: 1rem;
|
||||
padding-right: 1rem;
|
||||
margin-bottom: 0.5rem;
|
||||
margin-top: 0.5rem;
|
||||
border-radius: 0.3rem; }
|
||||
.course-section .section-summary-activities .activity-count {
|
||||
color: #6a737b;
|
||||
font-size: 0.8203125rem;
|
||||
margin: 3px;
|
||||
white-space: nowrap;
|
||||
display: inline-block; }
|
||||
|
||||
.activity-item .activityiconcontainer {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
display: inline-flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background-color: #f8f9fa;
|
||||
border-radius: 4px;
|
||||
padding: 0.7rem; }
|
||||
.activity-item .activityiconcontainer .activityicon {
|
||||
margin: 0;
|
||||
height: 24px;
|
||||
width: 24px; }
|
||||
|
||||
.description .course-description-item {
|
||||
background-color: #f8f9fa;
|
||||
padding-left: 1rem;
|
||||
padding-right: 1rem; }
|
||||
.description .course-description-item .description-inner {
|
||||
padding-bottom: 0.5rem;
|
||||
padding-top: 0.5rem;
|
||||
border-bottom: 1px solid #dee2e6; }
|
||||
.description .course-description-item .description-inner p:last-child {
|
||||
padding-bottom: 0;
|
||||
margin-bottom: 0; }
|
||||
.description .course-description-item:first-child {
|
||||
margin-top: 1rem;
|
||||
padding-top: 1rem; }
|
||||
.description .course-description-item:first-child .description-inner {
|
||||
padding-top: 0; }
|
||||
.description .course-description-item:last-child {
|
||||
padding-bottom: 1rem; }
|
||||
.description .course-description-item:last-child .description-inner {
|
||||
padding-bottom: 0;
|
||||
border-bottom: 0; }
|
||||
|
||||
/* Anchor link offset fix. This makes hash links scroll 60px down to account for the fixed header. */
|
||||
:target {
|
||||
scroll-margin-top: 60px; }
|
||||
|
||||
Reference in New Issue
Block a user