Compare commits

..

No commits in common. "d3f2d5648ed1fdb172c5ca843964021f2acd45b0" and "53f44007315f9de42751a64e2effdd0093787661" have entirely different histories.

11 changed files with 34 additions and 44 deletions

View File

@ -1,8 +1,8 @@
Forms.CreateContributionForm = class CreateContributionForm extends Forms.BaseForm { class CreateContributionForm extends Form {
static autoInit() { static autoInit() {
let createContributionFormElements = document.querySelectorAll('.create-contribution-form'); let createContributionFormElements = document.querySelectorAll('.create-contribution-form');
for (let createContributionFormElement of createContributionFormElements) { for (let createContributionFormElement of createContributionFormElements) {
new Forms.CreateContributionForm(createContributionFormElement); new CreateContributionForm(createContributionFormElement);
} }
} }
@ -15,4 +15,4 @@ Forms.CreateContributionForm = class CreateContributionForm extends Forms.BaseFo
} }
}); });
} }
}; }

View File

@ -1,8 +1,8 @@
Forms.CreateCorpusFileForm = class CreateCorpusFileForm extends Forms.BaseForm { class CreateCorpusFileForm extends Form {
static autoInit() { static autoInit() {
let createCorpusFileFormElements = document.querySelectorAll('.create-corpus-file-form'); let createCorpusFileFormElements = document.querySelectorAll('.create-corpus-file-form');
for (let createCorpusFileFormElement of createCorpusFileFormElements) { for (let createCorpusFileFormElement of createCorpusFileFormElements) {
new Forms.CreateCorpusFileForm(createCorpusFileFormElement); new CreateCorpusFileForm(createCorpusFileFormElement);
} }
} }
@ -15,4 +15,4 @@ Forms.CreateCorpusFileForm = class CreateCorpusFileForm extends Forms.BaseForm {
} }
}); });
} }
}; }

View File

@ -1,8 +1,8 @@
Forms.CreateJobForm = class CreateJobForm extends Forms.BaseForm { class CreateJobForm extends Form {
static autoInit() { static autoInit() {
let createJobFormElements = document.querySelectorAll('.create-job-form'); let createJobFormElements = document.querySelectorAll('.create-job-form');
for (let createJobFormElement of createJobFormElements) { for (let createJobFormElement of createJobFormElements) {
new Forms.CreateJobForm(createJobFormElement); new CreateJobForm(createJobFormElement);
} }
} }
@ -22,4 +22,4 @@ Forms.CreateJobForm = class CreateJobForm extends Forms.BaseForm {
} }
}); });
} }
}; }

View File

@ -1,17 +1,9 @@
var Forms = {}; class Form {
static autoInit() {
Forms.autoInit = () => { CreateContributionForm.autoInit();
for (let propertyName in Forms) { CreateCorpusFileForm.autoInit();
let property = Forms[propertyName]; CreateJobForm.autoInit();
// Call the autoInit method of all properties that are subclasses of Forms.BaseForm
if (property.prototype instanceof Forms.BaseForm) {
property.autoInit();
}
} }
};
Forms.BaseForm = class BaseForm {
static autoInit() {throw 'Not implemented';}
constructor(formElement) { constructor(formElement) {
this.formElement = formElement; this.formElement = formElement;
@ -147,4 +139,4 @@ Forms.BaseForm = class BaseForm {
} }
} }
} }
}; }

View File

@ -1,4 +1,4 @@
ResourceDisplays.CorpusDisplay = class CorpusDisplay extends ResourceDisplays.BaseDisplay { class CorpusDisplay extends ResourceDisplay {
constructor(displayElement) { constructor(displayElement) {
super(displayElement); super(displayElement);
this.corpusId = displayElement.dataset.corpusId; this.corpusId = displayElement.dataset.corpusId;
@ -102,4 +102,4 @@ ResourceDisplays.CorpusDisplay = class CorpusDisplay extends ResourceDisplays.Ba
new Date(creationDate).toLocaleString("en-US") new Date(creationDate).toLocaleString("en-US")
); );
} }
}; }

View File

@ -1,4 +1,4 @@
ResourceDisplays.JobDisplay = class JobDisplay extends ResourceDisplays.BaseDisplay { class JobDisplay extends ResourceDisplay {
constructor(displayElement) { constructor(displayElement) {
super(displayElement); super(displayElement);
this.jobId = this.displayElement.dataset.jobId; this.jobId = this.displayElement.dataset.jobId;
@ -123,4 +123,4 @@ ResourceDisplays.JobDisplay = class JobDisplay extends ResourceDisplays.BaseDisp
setServiceVersion(serviceVersion) { setServiceVersion(serviceVersion) {
this.setElements(this.displayElement.querySelectorAll('.job-service-version'), serviceVersion); this.setElements(this.displayElement.querySelectorAll('.job-service-version'), serviceVersion);
} }
}; }

View File

@ -1,6 +1,4 @@
var ResourceDisplays = {}; class ResourceDisplay {
ResourceDisplays.BaseDisplay = class BaseDisplay {
constructor(displayElement) { constructor(displayElement) {
this.displayElement = displayElement; this.displayElement = displayElement;
this.userId = this.displayElement.dataset.userId; this.userId = this.displayElement.dataset.userId;
@ -43,4 +41,4 @@ ResourceDisplays.BaseDisplay = class BaseDisplay {
this.setElement(element, value); this.setElement(element, value);
} }
} }
}; }

View File

@ -29,7 +29,7 @@ class JobList extends ResourceList {
get item() { get item() {
return ` return `
<tr class="list-item service-scheme clickable hoverable"> <tr class="list-item service-scheme">
<td> <td>
<label class="list-action-trigger" data-list-action="select"> <label class="list-action-trigger" data-list-action="select">
<input class="select-checkbox" type="checkbox"> <input class="select-checkbox" type="checkbox">
@ -112,7 +112,7 @@ class JobList extends ResourceList {
if (listItemElement === null) {return;} if (listItemElement === null) {return;}
let itemId = listItemElement.dataset.id; let itemId = listItemElement.dataset.id;
let listActionElement = event.target.closest('.list-action-trigger[data-list-action]'); let listActionElement = event.target.closest('.list-action-trigger[data-list-action]');
let listAction = listActionElement === null ? 'view' : listActionElement.dataset.listAction; let listAction = listActionElement === null ? '' : listActionElement.dataset.listAction;
switch (listAction) { switch (listAction) {
case 'delete-request': { case 'delete-request': {
let values = this.listjs.get('id', itemId)[0].values(); let values = this.listjs.get('id', itemId)[0].values();

View File

@ -35,20 +35,20 @@
{%- assets {%- assets
filters='rjsmin', filters='rjsmin',
output='gen/Forms.%(version)s.js', output='gen/Forms.%(version)s.js',
'js/forms/index.js', 'js/Forms/Form.js',
'js/forms/create-contribution-form.js', 'js/Forms/CreateCorpusFileForm.js',
'js/forms/create-corpus-file-form.js', 'js/Forms/CreateJobForm.js',
'js/forms/create-job-form.js' 'js/Forms/CreateContributionForm.js'
%} %}
<script src="{{ ASSET_URL }}"></script> <script src="{{ ASSET_URL }}"></script>
{%- endassets %} {%- endassets %}
{%- assets {%- assets
filters='rjsmin', filters='rjsmin',
output='gen/resource-displays.%(version)s.js', output='gen/ResourceDisplays.%(version)s.js',
'js/resource-displays/index.js', 'js/ResourceDisplays/ResourceDisplay.js',
'js/resource-displays/corpus-display.js', 'js/ResourceDisplays/CorpusDisplay.js',
'js/resource-displays/job-display.js' 'js/ResourceDisplays/JobDisplay.js'
%} %}
<script src="{{ ASSET_URL }}"></script> <script src="{{ ASSET_URL }}"></script>
{%- endassets %} {%- endassets %}
@ -141,7 +141,7 @@
{alignment: 'right', constrainWidth: false, coverTrigger: false} {alignment: 'right', constrainWidth: false, coverTrigger: false}
); );
ResourceList.autoInit(); ResourceList.autoInit();
Forms.autoInit(); Form.autoInit();
// Display flashed messages // Display flashed messages
for (let [category, message] of {{ get_flashed_messages(with_categories=True)|tojson }}) { for (let [category, message] of {{ get_flashed_messages(with_categories=True)|tojson }}) {

View File

@ -237,7 +237,7 @@
{% block scripts %} {% block scripts %}
{{ super() }} {{ super() }}
<script> <script>
let corpusDisplay = new ResourceDisplays.CorpusDisplay(document.querySelector('#corpus-display')); let corpusDisplay = new CorpusDisplay(document.querySelector('#corpus-display'));
{# {% if current_user.is_following_corpus(corpus) %} {# {% if current_user.is_following_corpus(corpus) %}
let unfollowRequestElement = document.querySelector('.action-button[data-action="unfollow-request"]'); let unfollowRequestElement = document.querySelector('.action-button[data-action="unfollow-request"]');

View File

@ -150,7 +150,7 @@
{% block scripts %} {% block scripts %}
{{ super() }} {{ super() }}
<script> <script>
let jobDisplay = new ResourceDisplays.JobDisplay(document.querySelector('#job-display')); let jobDisplay = new JobDisplay(document.querySelector('#job-display'));
let deleteJobRequestElement = document.querySelector('#delete-job-request'); let deleteJobRequestElement = document.querySelector('#delete-job-request');
let restartJobRequestElement = document.querySelector('#restart-job-request'); let restartJobRequestElement = document.querySelector('#restart-job-request');
deleteJobRequestElement.addEventListener('click', (event) => { deleteJobRequestElement.addEventListener('click', (event) => {