server {
listen 80;
server_name mysite;
set $base_root /var/www/mysite;
root $base_root;
charset utf-8;
index index.php;
autoindex off;
location / {
try_files $uri $uri/ /index.php?altum=$uri;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass php:9000; # proxy requests to a TCP socket
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
$serializer = new Serializer();
$meeting = $serializer->deserialize($formData, Meeting::class, 'array');
this.deck.addEventListener('trackloadstart', (e) => {
this.setProgressInfo('Start the track reading...');
this.setProgressPercent('0%');
progressBar.style.transform = 'scaleX(0)';
setTimeout(() => progressBar.classList.add(this.barTransitionClass), 0);
});
//........
//........
this.deck.addEventListener('trackstarted', (e) => {
this.setProgressInfo('Ready');
this.setProgressPercent('100%');
progressBar.style.transform = 'scaleX(1)';
setTimeout(() => progressBar.classList.remove(this.barTransitionClass), 0);
});
protected bindProgressbar() {
if (this.loadProgressSelector) {
const progressBar = document.querySelector(this.loadProgressSelector) as HTMLElement;
this.deck.addEventListener('trackloadstart', (e) => {
this.setProgressInfo('Start the track reading...');
this.setProgressPercent('0%');
progressBar.style.transform = 'scaleX(0)';
progressBar.classList.add(this.barTransitionClass);
});
this.deck.addEventListener('trackprogress', (event:CustomEvent) => {
const nativeEvent = event.detail.nativeEvent;
const value = nativeEvent.loaded / nativeEvent.total;
this.setProgressInfo('Track reading...');
this.setProgressPercent(Math.round(value /4 / 100) + '%');
progressBar.style.transform = 'scaleX('+(value / 4) + ')';
});
this.deck.addEventListener('trackload', (e) => {
this.setProgressInfo('Track decoding...');
this.setProgressPercent('25%');
progressBar.style.transform = 'scaleX(0.25)';
});
this.deck.addEventListener('trackdecoded', (e) => {
this.setProgressInfo('Track buffering...');
this.setProgressPercent('50%');
progressBar.style.transform = 'scaleX(0.5)';
});
this.deck.addEventListener('trackbuffered', (e) => {
this.setProgressInfo('Track starting...');
this.setProgressPercent('75%');
progressBar.style.transform = 'scaleX(0.75)';
});
this.deck.addEventListener('trackstarted', (e) => {
this.setProgressInfo('Ready');
this.setProgressPercent('100%');
progressBar.style.transform = 'scaleX(1)';
progressBar.classList.remove(this.barTransitionClass);
});
}
}
.progress {
&-line {
flex-basis: 100%;
height: .25rem;
background: #ccc;
position: relative;
overflow: visible;
border-radius: 5px;
}
&-bar {
height: 100%;
width: 100%;
left: 0;
top: 0;
background-color: #44b9e7;
border-radius: 5px;
box-shadow: 0 0 10px 0 #44b9e7;
transform: scaleX(0);
&-transition {
transform-origin: left center;
transition: transform .2s;
}
}
&-text {
flex-basis: 100%;
display: inline-flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
color: #44b9e7;
text-shadow: 0 0 10px #44b9e7;
}
}