2021-12-09 11:50:14 +00:00
|
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/fast-json-patch/3.1.0/fast-json-patch.min.js" integrity="sha512-KrvLlmKBiDoTa0Fke92aFoEv4xS0+cuYGP27nt39w0yLZWvVOhArmZ29uuOe3uOOBcbnkpvnLhkvYcYjahSOwg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
|
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/list.js/2.3.1/list.min.js" integrity="sha512-93wYgwrIFL+b+P3RvYxi/WUFRXXUDSLCT2JQk9zhVGXuS2mHl2axj6d+R6pP+gcU5isMHRj1u0oYE/mWyt/RjA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
|
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/4.4.0/socket.io.js" integrity="sha512-nYuHvSAhY5lFZ4ixSViOwsEKFvlxHMU2NHts1ILuJgOS6ptUmAGt/0i5czIgMOahKZ6JN84YFDA+mCdky7dD8A==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
|
|
|
<script src="{{ url_for('static', filename='js/App.js') }}"></script>
|
|
|
|
<script src="{{ url_for('static', filename='js/JobStatusNotifier.js') }}"></script>
|
2021-12-09 14:39:45 +00:00
|
|
|
{%- assets
|
|
|
|
filters='rjsmin',
|
|
|
|
output='js/RessourceDisplays.min.bundle.js',
|
|
|
|
'js/RessourceDisplays/RessourceDisplay.js',
|
|
|
|
'js/RessourceDisplays/CorpusDisplay.js',
|
|
|
|
'js/RessourceDisplays/JobDisplay.js'
|
|
|
|
%}
|
2021-05-28 13:51:23 +00:00
|
|
|
<script src="{{ ASSET_URL }}"></script>
|
2021-12-09 14:39:45 +00:00
|
|
|
{%- endassets %}
|
|
|
|
{%- assets
|
|
|
|
filters='rjsmin',
|
|
|
|
output='js/RessourceLists.min.bundle.js',
|
|
|
|
'js/RessourceLists/RessourceList.js',
|
|
|
|
'js/RessourceLists/CorpusList.js',
|
|
|
|
'js/RessourceLists/CorpusFileList.js',
|
|
|
|
'js/RessourceLists/JobList.js',
|
|
|
|
'js/RessourceLists/JobInputList.js',
|
|
|
|
'js/RessourceLists/JobResultList.js',
|
|
|
|
'js/RessourceLists/QueryResultList.js',
|
|
|
|
'js/RessourceLists/UserList.js'
|
|
|
|
%}
|
2021-05-28 13:51:23 +00:00
|
|
|
<script src="{{ ASSET_URL }}"></script>
|
2021-12-09 14:39:45 +00:00
|
|
|
{%- endassets %}
|
2021-12-09 11:50:14 +00:00
|
|
|
<script src="{{ url_for('static', filename='js/UploadForm.js') }}"></script>
|
2021-05-28 13:51:23 +00:00
|
|
|
<script>
|
2021-12-09 14:39:45 +00:00
|
|
|
const app = new App();
|
|
|
|
{%- if current_user.is_authenticated %}
|
|
|
|
const currentUserId = {{ current_user.hashid|tojson }};
|
|
|
|
const jobStatusNotifier = new JobStatusNotifier(currentUserId);
|
|
|
|
|
|
|
|
// Initialize components for current user
|
|
|
|
app.addEventListener('users.patch', patch => jobStatusNotifier.usersPatchHandler(patch));
|
|
|
|
app.getUserById(currentUserId)
|
|
|
|
.then(
|
|
|
|
user => {return;},
|
|
|
|
error => {throw JSON.stringify(error);}
|
|
|
|
);
|
|
|
|
{%- endif %}
|
|
|
|
|
2021-05-28 13:51:23 +00:00
|
|
|
// Disable all option elements with no value
|
2021-12-09 14:39:45 +00:00
|
|
|
for (let optionElementWithoutValue of document.querySelectorAll('option[value=""]')) {
|
|
|
|
optionElementWithoutValue.disabled = true;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Initialize components
|
2021-05-28 13:51:23 +00:00
|
|
|
M.AutoInit();
|
|
|
|
M.CharacterCounter.init(document.querySelectorAll('input[data-length][type="email"], input[data-length][type="password"], input[data-length][type="text"], textarea[data-length]'));
|
2021-12-09 14:39:45 +00:00
|
|
|
M.Dropdown.init(
|
|
|
|
document.querySelectorAll('#nav-more-dropdown-trigger'),
|
|
|
|
{alignment: 'right', constrainWidth: false, coverTrigger: false}
|
|
|
|
);
|
2021-12-02 15:25:48 +00:00
|
|
|
RessourceList.autoInit();
|
2021-12-09 14:39:45 +00:00
|
|
|
UploadForm.autoInit();
|
|
|
|
|
|
|
|
// Display flashed messages
|
|
|
|
for (let flashedMessage of {{ get_flashed_messages(with_categories=True)|tojson }}) {
|
|
|
|
app.flash(flashedMessage[1], flashedMessage[0]);
|
|
|
|
}
|
2021-05-28 13:51:23 +00:00
|
|
|
</script>
|