forked from SPC/spc-site
Some fixes for magprog
This commit is contained in:
parent
5e207a1a64
commit
be2a9499c6
@ -20,7 +20,7 @@
|
||||
});
|
||||
|
||||
// Hack: Enable IE flexbox workarounds.
|
||||
if (browser.name === 'ie')
|
||||
if (browser.name == 'ie')
|
||||
$body.addClass('is-ie');
|
||||
|
||||
// Play initial animations on page load.
|
||||
@ -57,7 +57,7 @@
|
||||
var $this = $(this);
|
||||
|
||||
// External link? Bail.
|
||||
if ($this.attr('href').charAt(0) !== '#')
|
||||
if ($this.attr('href').charAt(0) != '#')
|
||||
return;
|
||||
|
||||
// Deactivate all links.
|
||||
@ -96,7 +96,7 @@
|
||||
$section.removeClass('inactive');
|
||||
|
||||
// No locked links? Deactivate all links and activate this section's one.
|
||||
if ($sidebar_a.filter('.active-locked').length === 0) {
|
||||
if ($sidebar_a.filter('.active-locked').length == 0) {
|
||||
|
||||
$sidebar_a.removeClass('active');
|
||||
$this.addClass('active');
|
||||
@ -139,7 +139,7 @@
|
||||
initialize: function () {
|
||||
|
||||
// Deactivate section.
|
||||
$(this).addClass('inactive');
|
||||
// $(this).addClass('inactive');
|
||||
|
||||
},
|
||||
enter: function () {
|
||||
@ -160,7 +160,7 @@
|
||||
$image.css('background-image', 'url(' + $img.attr('src') + ')');
|
||||
|
||||
// Set background position.
|
||||
if (x === $img.data('position'))
|
||||
if (x = $img.data('position'))
|
||||
$image.css('background-position', x);
|
||||
|
||||
// Hide <img>.
|
||||
@ -187,20 +187,5 @@
|
||||
|
||||
}
|
||||
});
|
||||
})(jQuery);
|
||||
|
||||
//From https://www.w3schools.com/howto/howto_js_collapsible.asp
|
||||
const coll = document.getElementsByClassName("collapsible");
|
||||
let i;
|
||||
|
||||
for (i = 0; i < coll.length; i++) {
|
||||
coll[i].addEventListener("click", function() {
|
||||
this.classList.toggle("active");
|
||||
const content = this.nextElementSibling;
|
||||
if (content.style.maxHeight){
|
||||
content.style.maxHeight = null;
|
||||
} else {
|
||||
content.style.maxHeight = content.scrollHeight + "px";
|
||||
}
|
||||
});
|
||||
}
|
||||
})(jQuery);
|
@ -20,8 +20,8 @@
|
||||
b.push(
|
||||
'<a ' +
|
||||
'class="link depth-' + indent + '"' +
|
||||
( (typeof target !== 'undefined' && target !== '') ? ' target="' + target + '"' : '') +
|
||||
( (typeof href !== 'undefined' && href !== '') ? ' href="' + href + '"' : '') +
|
||||
( (typeof target !== 'undefined' && target != '') ? ' target="' + target + '"' : '') +
|
||||
( (typeof href !== 'undefined' && href != '') ? ' href="' + href + '"' : '') +
|
||||
'>' +
|
||||
'<span class="indent-' + indent + '"></span>' +
|
||||
$this.text() +
|
||||
@ -42,7 +42,7 @@
|
||||
$.fn.panel = function(userConfig) {
|
||||
|
||||
// No elements?
|
||||
if (this.length === 0)
|
||||
if (this.length == 0)
|
||||
return $this;
|
||||
|
||||
// Multiple elements?
|
||||
@ -153,7 +153,7 @@
|
||||
href = $a.attr('href'),
|
||||
target = $a.attr('target');
|
||||
|
||||
if (!href || href === '#' || href === '' || href === '#' + id)
|
||||
if (!href || href == '#' || href == '' || href == '#' + id)
|
||||
return;
|
||||
|
||||
// Cancel original event.
|
||||
@ -166,7 +166,7 @@
|
||||
// Redirect to href.
|
||||
window.setTimeout(function() {
|
||||
|
||||
if (target === '_blank')
|
||||
if (target == '_blank')
|
||||
window.open(href);
|
||||
else
|
||||
window.location.href = href;
|
||||
@ -287,7 +287,7 @@
|
||||
if (config.hideOnEscape)
|
||||
$window.on('keydown', function(event) {
|
||||
|
||||
if (event.keyCode === 27)
|
||||
if (event.keyCode == 27)
|
||||
$this._hide(event);
|
||||
|
||||
});
|
||||
@ -307,7 +307,7 @@
|
||||
return $(this);
|
||||
|
||||
// No elements?
|
||||
if (this.length === 0)
|
||||
if (this.length == 0)
|
||||
return $this;
|
||||
|
||||
// Multiple elements?
|
||||
@ -329,8 +329,8 @@
|
||||
|
||||
var i = $(this);
|
||||
|
||||
if (i.val() === ''
|
||||
|| i.val() === i.attr('placeholder'))
|
||||
if (i.val() == ''
|
||||
|| i.val() == i.attr('placeholder'))
|
||||
i
|
||||
.addClass('polyfill-placeholder')
|
||||
.val(i.attr('placeholder'));
|
||||
@ -343,7 +343,7 @@
|
||||
if (i.attr('name').match(/-polyfill-field$/))
|
||||
return;
|
||||
|
||||
if (i.val() === '')
|
||||
if (i.val() == '')
|
||||
i
|
||||
.addClass('polyfill-placeholder')
|
||||
.val(i.attr('placeholder'));
|
||||
@ -356,7 +356,7 @@
|
||||
if (i.attr('name').match(/-polyfill-field$/))
|
||||
return;
|
||||
|
||||
if (i.val() === i.attr('placeholder'))
|
||||
if (i.val() == i.attr('placeholder'))
|
||||
i
|
||||
.removeClass('polyfill-placeholder')
|
||||
.val('');
|
||||
@ -377,16 +377,16 @@
|
||||
.replace(/type=password/i, 'type=text')
|
||||
);
|
||||
|
||||
if (i.attr('id') !== '')
|
||||
if (i.attr('id') != '')
|
||||
x.attr('id', i.attr('id') + '-polyfill-field');
|
||||
|
||||
if (i.attr('name') !== '')
|
||||
if (i.attr('name') != '')
|
||||
x.attr('name', i.attr('name') + '-polyfill-field');
|
||||
|
||||
x.addClass('polyfill-placeholder')
|
||||
.val(x.attr('placeholder')).insertAfter(i);
|
||||
|
||||
if (i.val() === '')
|
||||
if (i.val() == '')
|
||||
i.hide();
|
||||
else
|
||||
x.hide();
|
||||
@ -398,7 +398,7 @@
|
||||
|
||||
var x = i.parent().find('input[name=' + i.attr('name') + '-polyfill-field]');
|
||||
|
||||
if (i.val() === '') {
|
||||
if (i.val() == '') {
|
||||
|
||||
i.hide();
|
||||
x.show();
|
||||
@ -442,7 +442,7 @@
|
||||
if (i.attr('name').match(/-polyfill-field$/))
|
||||
i.attr('name', '');
|
||||
|
||||
if (i.val() === i.attr('placeholder')) {
|
||||
if (i.val() == i.attr('placeholder')) {
|
||||
|
||||
i.removeClass('polyfill-placeholder');
|
||||
i.val('');
|
||||
@ -478,7 +478,7 @@
|
||||
|
||||
x = i.parent().find('input[name=' + i.attr('name') + '-polyfill-field]');
|
||||
|
||||
if (i.val() === '') {
|
||||
if (i.val() == '') {
|
||||
i.hide();
|
||||
x.show();
|
||||
}
|
||||
@ -498,7 +498,7 @@
|
||||
case 'textarea':
|
||||
i.val(i.attr('defaultValue'));
|
||||
|
||||
if (i.val() === '') {
|
||||
if (i.val() == '') {
|
||||
i.addClass('polyfill-placeholder');
|
||||
i.val(i.attr('placeholder'));
|
||||
}
|
||||
@ -538,7 +538,7 @@
|
||||
$parent = $e.parent();
|
||||
|
||||
// No parent? Bail.
|
||||
if ($parent.length === 0)
|
||||
if ($parent.length == 0)
|
||||
return;
|
||||
|
||||
// Not moved? Move it.
|
||||
@ -552,7 +552,7 @@
|
||||
$p = $e.prev();
|
||||
|
||||
// Couldn't find anything? Means this element's already at the top, so bail.
|
||||
if ($p.length === 0)
|
||||
if ($p.length == 0)
|
||||
return;
|
||||
|
||||
// Move element to top of parent.
|
||||
|
@ -3,6 +3,7 @@ package center.sciprog
|
||||
import io.ktor.server.application.Application
|
||||
import io.ktor.server.application.call
|
||||
import io.ktor.server.application.install
|
||||
import io.ktor.server.application.log
|
||||
import io.ktor.server.plugins.forwardedheaders.ForwardedHeaders
|
||||
import io.ktor.server.plugins.forwardedheaders.XForwardedHeaders
|
||||
import io.ktor.server.response.respondRedirect
|
||||
@ -46,7 +47,7 @@ fun Application.spcModule() {
|
||||
}
|
||||
|
||||
siteData.forEach { namedData ->
|
||||
println("${namedData.name}: ${namedData.meta[FileData.FILE_PATH_KEY]}")
|
||||
log.debug("Loading data {} from {}", namedData.name, namedData.meta[FileData.FILE_PATH_KEY])
|
||||
}
|
||||
|
||||
routing {
|
||||
|
@ -5,6 +5,9 @@ import kotlinx.html.*
|
||||
import space.kscience.dataforge.data.Data
|
||||
import space.kscience.dataforge.data.await
|
||||
import space.kscience.dataforge.data.getByType
|
||||
import space.kscience.dataforge.io.Binary
|
||||
import space.kscience.dataforge.io.readWith
|
||||
import space.kscience.dataforge.io.yaml.YamlMetaFormat
|
||||
import space.kscience.dataforge.meta.Meta
|
||||
import space.kscience.dataforge.meta.get
|
||||
import space.kscience.dataforge.meta.getIndexed
|
||||
@ -45,7 +48,7 @@ private fun wrapSection(
|
||||
id: String,
|
||||
title: String,
|
||||
sectionContent: FlowContent.() -> Unit,
|
||||
): MagProgSection = MagProgSection(id, title, "wrapper style1 fullscreen fade-up") {
|
||||
): MagProgSection = MagProgSection(id, title, "wrapper style1 fullscreen") {
|
||||
div("inner") {
|
||||
h2 { +title }
|
||||
sectionContent()
|
||||
@ -69,7 +72,7 @@ private val ENROLL_PATH: Name = CONTENT_NODE_NAME + "enroll"
|
||||
private val CONTACTS_PATH: Name = CONTENT_NODE_NAME + "contacts"
|
||||
private val PROGRAM_PATH: Name = CONTENT_NODE_NAME + "program"
|
||||
private val RECOMMENDED_COURSES_PATH: Name = CONTENT_NODE_NAME + "recommendedCourses"
|
||||
private val PARTNERS_PATH: Name = CONTENT_NODE_NAME + "partners"
|
||||
private val PARTNERS_PATH: Name = CONTENT_NODE_NAME + "partners.yaml".asName()
|
||||
|
||||
private val programSection = PageFragment {
|
||||
val programBlock = data.resolveHtmlOrNull(PROGRAM_PATH)!!
|
||||
@ -90,8 +93,10 @@ private val programSection = PageFragment {
|
||||
|
||||
|
||||
private val partners = PageFragment {
|
||||
//val partnersData: Meta = resolve<Any>(PARTNERS_PATH)?.meta ?: Meta.EMPTY
|
||||
val partnersData: Meta = runBlocking { data.getByType<Meta>(PARTNERS_PATH)?.await() } ?: Meta.EMPTY
|
||||
val partnersData: Meta = runBlocking {
|
||||
//TODO add meta reading step to data preparation
|
||||
data.getByType<Binary>(PARTNERS_PATH)?.await()?.readWith(YamlMetaFormat)
|
||||
} ?: Meta.EMPTY
|
||||
div("inner") {
|
||||
h2 { +"Партнеры" }
|
||||
div("features") {
|
||||
@ -311,13 +316,13 @@ internal val spcMasters = HtmlSite {
|
||||
static("images")
|
||||
static("common", "")
|
||||
|
||||
page{
|
||||
page {
|
||||
val sections = listOf(
|
||||
wrapSection(data.resolveHtmlOrNull(INTRO_PATH)!!, "intro"),
|
||||
MagProgSection(
|
||||
id = "partners",
|
||||
title = "Партнеры",
|
||||
style = "wrapper style3 fullscreen fade-up"
|
||||
style = "wrapper style3 fullscreen"
|
||||
) {
|
||||
fragment(partners)
|
||||
},
|
||||
@ -332,7 +337,7 @@ internal val spcMasters = HtmlSite {
|
||||
MagProgSection(
|
||||
id = "program",
|
||||
title = "Учебная программа",
|
||||
style = "wrapper style3 fullscreen fade-up"
|
||||
style = "wrapper style3 fullscreen"
|
||||
) {
|
||||
fragment(programSection)
|
||||
},
|
||||
|
Loading…
Reference in New Issue
Block a user