unclean SPARC
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
<style>
|
||||
.submission.short-form > header {
|
||||
background: url('/app/assets/images/cards/submission-card.jpg');
|
||||
background-position: center;
|
||||
background-size: cover !important;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
.submission.short-form textarea { min-height: 240px; }
|
||||
.submission.short-form input[data-path=""][name="PICNumber"],
|
||||
.submission.short-form input[data-path=""][name="CEOPhoneNumberCode"],
|
||||
.submission.short-form input[data-path=""][name="CompanyPostalCode"] { min-width: 180px; }
|
||||
.submission.short-form .tools .contributors { white-space: nowrap; }
|
||||
.submission.short-form .tools .contributors [eicchip],
|
||||
.submission.short-form .tools .contributors [eicchip] label { cursor: pointer; }
|
||||
</style>
|
||||
<article eiccard media class="submission short-form legacy">
|
||||
<header>
|
||||
<h1>Short proposal ${models.submission.data.ProposalId}</h1>
|
||||
<h2>
|
||||
<span eicchip primary>short ${models.submission.data.version}</span>
|
||||
<span eicchip primary>${models.submission.data.status}</span>
|
||||
${models.submission.data.resubmitted ? `<span eicchip accent>resubmission</span>`:''}
|
||||
</h2>
|
||||
</header>
|
||||
<section>
|
||||
<div eicalert danger>
|
||||
<p small><span danger>Please note that after <b>December 31st 2023 at 23:59 (GMT +1)</b>, it will no longer be possible to submit a short proposal via the current EIC Platform.</span></p>
|
||||
<div small>
|
||||
Nonetheless, the platform will remain accessible to consult previous proposals, drafts, results and to access the coaching module.
|
||||
Should you intend to submit a new short proposal as of <b>January 3, 2024</b> you can do so via the <a href="https://ec.europa.eu/info/funding-tenders/opportunities/portal/" target="_blank" title="Funding and Tenders Portal">Funding and Tenders Portal</a>.
|
||||
Please note that the templates and rules for the short proposal will change under the <a href="https://eic.ec.europa.eu/eic-2024-work-programme_en" target="_blank" title="EIC Work Programme 2024">EIC Work Programme 2024</a>.
|
||||
We invite you to read them carefully. The new rules will come into force from <b>January 1, 2024</b>.
|
||||
More detailed information will be available shortly on our <a href="https://eic.ec.europa.eu/eic-accelerator-application-platform-frequently-asked-questions_en" target="_blank" title="EIC Website">website</a>.
|
||||
</div>
|
||||
</div>
|
||||
<div class="tools cols-2 right">
|
||||
<div>
|
||||
<div class="updated">last saved: <span class="date"></span> by <span class="contributor"></span></div>
|
||||
<div class="created">created: <span class="date"></span> by <span class="contributor"></span></div>
|
||||
</div>
|
||||
<div class="contributors"></div>
|
||||
</div>
|
||||
<div eicalert info>
|
||||
This form has been extracted from the previous submission platform and is filled a deprecated submission template.
|
||||
You cannot make any more changes to it or use it for submission. If it was not submitted at the time, please start over your proposal using the latest template. If you submitted your proposal at the time with this template, you are still able to see the result of the evaluation through the "submission" tab. Thank you for your understanding.
|
||||
</div>
|
||||
<div class="form cols-2 left">
|
||||
<div class="tabs-extended vertical">
|
||||
<section>
|
||||
<menu eictab>
|
||||
<li data-target="what">What</li>
|
||||
<li data-target="why">Why</li>
|
||||
<li data-target="who">Who</li>
|
||||
<li data-target="how">How</li>
|
||||
<li data-target="amount">How much</li>
|
||||
<li data-target="whom">For whom</li>
|
||||
<li data-target="impact">Impact</li>
|
||||
<li data-target="documents">Documents</li>
|
||||
<li data-target="status">Submission</li>
|
||||
</menu>
|
||||
</section>
|
||||
</div>
|
||||
<div class="content" data-part="what"></div>
|
||||
<div class="content" data-part="why"></div>
|
||||
<div class="content" data-part="who"></div>
|
||||
<div class="content" data-part="how"></div>
|
||||
<div class="content" data-part="amount"></div>
|
||||
<div class="content" data-part="whom"></div>
|
||||
<div class="content" data-part="impact"></div>
|
||||
<div class="content" data-part="documents"></div>
|
||||
<div class="content" data-part="status"></div>
|
||||
</div>
|
||||
</section>
|
||||
</article>
|
||||
@@ -0,0 +1,175 @@
|
||||
class SubmissionShortForm2022View extends EICDomContent {
|
||||
|
||||
options = {
|
||||
mode: 'read',
|
||||
}
|
||||
|
||||
chunks = [];
|
||||
|
||||
DOMContentLoaded(options) {
|
||||
|
||||
// forcing read mode for legacy proposals
|
||||
for(let model in options.models) this[model] = options.models[model];
|
||||
|
||||
ui.eicfy(this.el);
|
||||
|
||||
this.tabs = new Tab();
|
||||
this.tabs.addTabs(this.findAll('.tabs-extended menu li'), this.findAll('.content'))
|
||||
|
||||
this.pic = options.profile.pic;
|
||||
this.number = options.profile.number;
|
||||
|
||||
this.form = new Form(this.find('.form'));
|
||||
|
||||
this.members.list(this.pic,this.number).then(this.fillContributors.bind(this))
|
||||
|
||||
this.fill(this.options.mode);
|
||||
}
|
||||
|
||||
fill(mode) {
|
||||
let myTabsPath = 'projects/submissions/2022/tabs/'
|
||||
|
||||
this.find('.tools .created .date').innerText = (new Date(this.submission.data.CreatedAt)).toLocaleString("en-DE");
|
||||
this.find('.tools .created .contributor').innerText = `(unknown user)`;
|
||||
|
||||
let queue = [
|
||||
this.loadContent( myTabsPath+'SubmissionShortForm2022WhatView', {}, { model: this.submission })
|
||||
.then( view => this.appendTab('what', view)),
|
||||
this.loadContent( myTabsPath+'SubmissionShortForm2022WhyView', {}, { model: this.submission })
|
||||
.then( view => this.appendTab('why', view)),
|
||||
this.loadContent( myTabsPath+'SubmissionShortForm2022WhoView', {}, { model: this.submission })
|
||||
.then( view => this.appendTab('who', view)),
|
||||
this.loadContent( myTabsPath+'SubmissionShortForm2022HowView', {}, { model: this.submission })
|
||||
.then( view => this.appendTab('how', view)),
|
||||
this.loadContent( myTabsPath+'SubmissionShortForm2022AmountView', {}, { model: this.submission })
|
||||
.then( view => this.appendTab('amount', view)),
|
||||
this.loadContent( myTabsPath+'SubmissionShortForm2022WhomView', {}, { model: this.submission })
|
||||
.then( view => this.appendTab('whom', view)),
|
||||
this.loadContent( myTabsPath+'SubmissionShortForm2022ImpactView', {}, { model: this.submission })
|
||||
.then( view => this.appendTab('impact', view)),
|
||||
this.loadContent( myTabsPath+'SubmissionShortForm2022DocumentsView', {}, { model: this.submission })
|
||||
.then( view => this.appendTab('documents', view)),
|
||||
]
|
||||
|
||||
if(this.submission.data.status == 'draft') {
|
||||
|
||||
} else {
|
||||
queue.push(
|
||||
this.loadContent( myTabsPath+'SubmissionShortForm2022StatusView', {}, { model: this.submission } )
|
||||
.then( view => {
|
||||
this.appendTab('status', view);
|
||||
this.statusTab = view;
|
||||
view.el.addEventListener('withdraw', this.withdraw.bind(this));
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
Promise.allSettled(queue)
|
||||
.then((results) => {
|
||||
this.setupMode(mode)
|
||||
this.loaded = true;
|
||||
});
|
||||
|
||||
this.refreshUpdated({
|
||||
date: this.submission.data.UpdatedAt,
|
||||
contributor: {
|
||||
firstname: 'import',
|
||||
lastname: ''
|
||||
}})
|
||||
}
|
||||
|
||||
setupMode(mode) {
|
||||
|
||||
this.mode = mode;
|
||||
|
||||
for(let chunk of this.chunks) {
|
||||
chunk.view.options.mode = mode;
|
||||
chunk.view.fill(mode);
|
||||
}
|
||||
}
|
||||
|
||||
appendTab(target, view) {
|
||||
this.chunks.push( {target: target, view: view} );
|
||||
this.find(`.content[data-part="${target}"]`).append(view.el)
|
||||
}
|
||||
|
||||
fillContributors(data) {
|
||||
let metrics = { contributors: 0, pending: 0 }
|
||||
this.find('.contributors').innerHTML = '';
|
||||
for(let item of data) {
|
||||
if(item.status == 'active') metrics.contributors++;
|
||||
if(item.status == 'pending') metrics.pending++;
|
||||
}
|
||||
this.find('.contributors').innerHTML = '';
|
||||
if(metrics.contributors > 0) {
|
||||
let chip = new Chip(null, {label: 'contributors', severity: 'primary', badge: metrics.contributors});
|
||||
chip.el.addEventListener('click', this.onContributorsEdit.bind(this))
|
||||
this.find('.contributors').append(chip.el);
|
||||
}
|
||||
if(metrics.pending > 0) {
|
||||
let chip = new Chip(null, {label: 'pending requests', severity: 'warning', badge: metrics.pending})
|
||||
chip.el.addEventListener('click', this.onContributorsEdit.bind(this))
|
||||
this.find('.contributors').append(chip.el);
|
||||
}
|
||||
}
|
||||
|
||||
async withdraw(event) {
|
||||
this.submission.withdraw(this.pic, this.number, this.form.value)
|
||||
.then(async payload => {
|
||||
this.dispatchUpdate();
|
||||
ui.growl.append('Your proposal has been successfully withdrawn', 'success');
|
||||
this.unload();
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
async onContributorsEdit(event) {
|
||||
event.stopPropagation();
|
||||
event.preventDefault();
|
||||
|
||||
await this.openDialog(
|
||||
await this.loadContent(
|
||||
'projects/submissions/dialogs/SubmissionFormAccessDialog',
|
||||
{ title: 'Contributors to this proposal' }, {
|
||||
pic: this.pic,
|
||||
number: this.number,
|
||||
models: {
|
||||
proposal: this.members,
|
||||
organisation: new ApplicantMembersModel(['list'])
|
||||
}
|
||||
}
|
||||
)
|
||||
);
|
||||
|
||||
this.members.list(this.pic,this.number)
|
||||
.then(this.fillContributors.bind(this));
|
||||
|
||||
}
|
||||
|
||||
refreshUpdated(data) {
|
||||
this.find('.tools .updated .date').innerText = (new Date(data.date)).toLocaleString("en-DE");
|
||||
this.find('.tools .updated .contributor').innerText = `${data.contributor.firstname} ${data.contributor.lastname}`;
|
||||
}
|
||||
|
||||
DOMContentResized() {
|
||||
super.DOMContentResized();
|
||||
|
||||
let device = this.el.getAttribute('device');
|
||||
let tabs = this.find('.tabs-extended');
|
||||
|
||||
switch(device) {
|
||||
case 'desktop':
|
||||
ui.show(tabs);
|
||||
let current = tabs.querySelector('.tab-selected');
|
||||
let part = current.getAttribute('data-target');
|
||||
this.findAll('.content[data-part]').forEach(content => { if(content.getAttribute('data-part') != part) ui.hide(content) });
|
||||
break;
|
||||
default:
|
||||
ui.hide(tabs);
|
||||
this.findAll('.content[data-part]').forEach(content => { ui.show(content) })
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
app.registerClass('SubmissionShortForm2022View', SubmissionShortForm2022View);
|
||||
@@ -0,0 +1,40 @@
|
||||
<h2>How much?</h2>
|
||||
<div>
|
||||
<label>Please indicate which EIC Support you intend to request</label>
|
||||
<select eicselect name="DiagnosticBudgetType" data-path="" data-type="text" class="required">
|
||||
<option></option>
|
||||
<option value="0">Blended Finance</option>
|
||||
<option value="1">Grant First</option>
|
||||
<option value="2">Grant Only</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="cols-2">
|
||||
<div>
|
||||
<h3>Innovative activities</h3>
|
||||
<div>
|
||||
<label>How much do you think that the innovation activities related to your project will cost ?</label>
|
||||
<input eicinput type="currency" name="TotalEstimatedInnovationCostProject" data-path="" data-type="text" maxlen="100" class="required" />
|
||||
</div>
|
||||
<div>
|
||||
<label>Please detail your other funding sources</label>
|
||||
<textarea eictextarea name="OtherSourcesInnovation" data-path="" data-type="text" maxlen="1000" class="required"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<h3>Market Deployment / Scale-Up activities</h3>
|
||||
<div>
|
||||
<label>How much do you think the EIC should provide you in the form of investment for the market deployment/scale up activities related to your project ?</label>
|
||||
<input eicinput type="currency" name="InvestmentMarketComponent" data-path="" data-type="text" maxlen="100" class="required" />
|
||||
</div>
|
||||
<div>
|
||||
<label>If you have other ressources for market deployment, please specify the amount</label>
|
||||
<input eicinput type="currency" name="TotalInvestmentMarketFromOtherSources" data-path="" data-type="text" maxlen="100" class="required" />
|
||||
</div>
|
||||
<div>
|
||||
<label>Please detail your other funding sources</label>
|
||||
<textarea eictextarea name="OtherSourcesMarket" data-path="" data-type="text" maxlen="1000" class="required"></textarea>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
class SubmissionShortForm2022AmountView extends SubmissionShortFormTabView {
|
||||
|
||||
setupRules() {}
|
||||
}
|
||||
|
||||
app.registerClass('SubmissionShortForm2022AmountView', SubmissionShortForm2022AmountView);
|
||||
@@ -0,0 +1,34 @@
|
||||
<style>
|
||||
div[data-part="documents"] div.documentFiles button {
|
||||
margin: 1vw;
|
||||
flex: auto;
|
||||
}
|
||||
div[data-part="documents"] div.documentFiles button i[class*="icon"] {
|
||||
margin-left: 1vw;
|
||||
font-weight: bold;
|
||||
font-size: var(--eicui-base-font-size-xl);
|
||||
}
|
||||
div[data-part="documents"] embed.EmbedDocument {
|
||||
min-height: 50vw;
|
||||
display: none;
|
||||
}
|
||||
div[data-part="documents"] embed.EmbedVideo {
|
||||
min-height: 20vw;
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script>
|
||||
<h2>Your uploaded documents</h2>
|
||||
<article eiccard class="documents">
|
||||
<section>
|
||||
<div class="documentFiles cols-2"></div>
|
||||
<embed type="application/pdf" class="EmbedDocument" src=""/>
|
||||
<div class="videoStage">
|
||||
<video id="video" width="675" height="380" controls autoplay class="EmbedVideo"></video>
|
||||
<div eicalert warning class="noStreamingWarn">Looks like your browser does not support video streaming.</div>
|
||||
</div>
|
||||
</section>
|
||||
<footer>
|
||||
<div class="cols-2"></div>
|
||||
</footer>
|
||||
</article>
|
||||
@@ -0,0 +1,102 @@
|
||||
class SubmissionShortForm2022DocumentsView extends SubmissionShortFormTabView {
|
||||
|
||||
DOMContentLoaded(options) {
|
||||
let components = ui.eicfy(this.el);
|
||||
this.model = options.model;
|
||||
|
||||
this.AwsDownload = new AwsFileDownload({
|
||||
pdf : { url: app.config.api['/S3Files'].viewDocument.uri,
|
||||
method: app.config.api['/S3Files'].viewDocument.method,
|
||||
headers: { 'Accept': 'application/json',
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
credentials: 'include'
|
||||
},
|
||||
})
|
||||
|
||||
this.embedDocument = this.find('.EmbedDocument')
|
||||
this.videoStage = this.find('.videoStage')
|
||||
this.embedVideo = this.find('.EmbedVideo')
|
||||
this.noStreamingWarn = this.find('.noStreamingWarn')
|
||||
|
||||
this.videoStage.style.display = 'none'
|
||||
this.embedDocument.style.display = 'none'
|
||||
this.noStreamingWarn.style.display = 'none'
|
||||
this.filesContainer = this.find('.documentFiles')
|
||||
|
||||
if(this.model.data.PdfUploadedFilename || this.model.data.VideoUploadedFilename) {
|
||||
if(this.model.data.PdfUploadedFilename) {
|
||||
this.pdfButton = new Button(null, {
|
||||
icon: 'icon-pdf',
|
||||
label: this.model.data.PdfOriginalFilename,
|
||||
severity: 'primary',
|
||||
disabled: false,
|
||||
badge: false,
|
||||
size: 'small',
|
||||
hint: 'View the PDF',
|
||||
})
|
||||
this.pdfButton.el.addEventListener('click', this.showPdf.bind(this))
|
||||
this.find('footer div').append(this.pdfButton.el)
|
||||
}
|
||||
if(this.model.data.VideoUploadedFilename) {
|
||||
this.vodButton = new Button(null, {
|
||||
icon: 'icon-youtube',
|
||||
label: this.model.data.VideoOriginalFilename,
|
||||
severity: 'primary',
|
||||
disabled: false,
|
||||
badge: false,
|
||||
size: 'small',
|
||||
hint: 'View the video',
|
||||
})
|
||||
this.vodButton.el.addEventListener('click', this.showVideo.bind(this))
|
||||
this.find('footer div').append(this.vodButton.el)
|
||||
}
|
||||
} else {
|
||||
this.filesContainer.innerHtml = 'No uploaded Documents'
|
||||
}
|
||||
}
|
||||
|
||||
async showPdf(event) {
|
||||
this.pdfButton.loading = true
|
||||
let awsUrl = await this.AwsDownload.getDownloadUrl('pdf', this.model.data.PdfUploadedFilename)
|
||||
this.pdfButton.loading = false
|
||||
if(!awsUrl) return
|
||||
ui.hide(this.videoStage)
|
||||
|
||||
// Safari workaround : You can't just replace the src like with every other browser,
|
||||
// you need to create a new embed node with the src already in.
|
||||
let clone = this.embedDocument.cloneNode()
|
||||
clone.setAttribute('src',awsUrl)
|
||||
this.embedDocument.replaceWith(clone)
|
||||
this.embedDocument=clone
|
||||
ui.show(this.embedDocument)
|
||||
}
|
||||
|
||||
async showVideo(event) {
|
||||
this.videoStage.style.display = 'block'
|
||||
this.embedDocument.style.display = 'none'
|
||||
if(!Hls.isSupported()) {
|
||||
this.noStreamingWarn.style.display = 'block'
|
||||
return
|
||||
}
|
||||
this.noStreamingWarn.style.display = 'none'
|
||||
let noextName = this.model.data.VideoUploadedFilename.substr(0,this.model.data.VideoUploadedFilename.lastIndexOf('.'))
|
||||
let videoUrl = app.config.api['/S3Files'].viewVideo.uri+`${noextName}.m3u8`
|
||||
let config = {
|
||||
debug: true,
|
||||
xhrSetup: function (xhr,url) {
|
||||
xhr.withCredentials = true; // do send cookie
|
||||
}
|
||||
};
|
||||
var hls = new Hls(config);
|
||||
hls.loadSource(videoUrl)
|
||||
hls.attachMedia(this.embedVideo);
|
||||
hls.on(Hls.Events.MANIFEST_PARSED,(() => {
|
||||
this.embedVideo.play();
|
||||
}).bind(this));
|
||||
}
|
||||
|
||||
fill() {}
|
||||
}
|
||||
|
||||
app.registerClass('SubmissionShortForm2022DocumentsView', SubmissionShortForm2022DocumentsView);
|
||||
@@ -0,0 +1,53 @@
|
||||
<h2>How?</h2>
|
||||
<!--
|
||||
<div>
|
||||
<label>Idea or technology based</label>
|
||||
<input eiccheckbox type="checkbox" name="ideaBased" value="true" label="Idea based" />
|
||||
<input eiccheckbox type="checkbox" name="techBased" value="true" label="Technology based" />
|
||||
</div>
|
||||
-->
|
||||
<div class="Use case(s)">
|
||||
<div class="cases"></div>
|
||||
</div>
|
||||
<div>
|
||||
<label>Describe the deliverables</label>
|
||||
<textarea eictextarea name="Deliverables" data-path="" data-type="text" maxlen="1000" class="required"></textarea>
|
||||
</div>
|
||||
<div>
|
||||
<label>What are the risks of failure?</label>
|
||||
<div class="risks"></div>
|
||||
</div>
|
||||
<div>
|
||||
<label>Why can't you do it without the EIC? Why not other funding sources including National/Regional public programmes?</label>
|
||||
<textarea eictextarea name="WhyCantWithoutEIC" data-path="" data-type="text" maxlen="1000" class="required"></textarea>
|
||||
</div>
|
||||
<div>
|
||||
<label>Current Technology Readiness Level</label>
|
||||
<select eicselect name="CurrentTrl" data-path="" data-type="text" class="required">
|
||||
<option></option>
|
||||
<option value="1">TRL1: Basic Research</option>
|
||||
<option value="2">TRL2: Technology Formulation</option>
|
||||
<option value="3">TRL3: Needs Validation</option>
|
||||
<option value="4">TRL4: Small Scale Prototype</option>
|
||||
<option value="5">TRL5: Large Scale Prototype</option>
|
||||
<option value="6">TRL6: Prototype System</option>
|
||||
<option value="7">TRL7: Demonstration System</option>
|
||||
<option value="8">TRL8: First Of A Kind Commercial System</option>
|
||||
<option value="9">TRL9: Full Commercial Application</option>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<label>Expected Technology Readiness Level</label>
|
||||
<select eicselect name="ExpectedTrl" data-path="" data-type="text" class="required">
|
||||
<option></option>
|
||||
<option value="1">TRL1: Basic Research</option>
|
||||
<option value="2">TRL2: Technology Formulation</option>
|
||||
<option value="3">TRL3: Needs Validation</option>
|
||||
<option value="4">TRL4: Small Scale Prototype</option>
|
||||
<option value="5">TRL5: Large Scale Prototype</option>
|
||||
<option value="6">TRL6: Prototype System</option>
|
||||
<option value="7">TRL7: Demonstration System</option>
|
||||
<option value="8">TRL8: First Of A Kind Commercial System</option>
|
||||
<option value="9">TRL9: Full Commercial Application</option>
|
||||
</select>
|
||||
</div>
|
||||
@@ -0,0 +1,76 @@
|
||||
class SubmissionShortForm2022HowView extends SubmissionShortFormTabView {
|
||||
|
||||
setupRules() {}
|
||||
|
||||
fill() {
|
||||
super.fill();
|
||||
|
||||
if(this.model.data.RisksOfFailure) {
|
||||
for(let item of this.model.data.RisksOfFailure)
|
||||
this.find('.risks').append(this.createFailure(item));
|
||||
}
|
||||
|
||||
if(this.model.data.DiagnosticFunctions) {
|
||||
for(let item of this.model.data.DiagnosticFunctions)
|
||||
this.find('.cases').append(this.createCase(item));
|
||||
}
|
||||
}
|
||||
|
||||
createFailure(item) {
|
||||
let card = ui.create(`<div class="risk">
|
||||
<div>
|
||||
<label>Risk type</label>
|
||||
<select eicselect disabled name="Type" data-path="RisksOfFailure[]" data-type="text">
|
||||
<option></option>
|
||||
<option value="0">Technological</option>
|
||||
<option value="1">Financial</option>
|
||||
<option value="2">Commercial</option>
|
||||
<option value="3">Regulatory</option>
|
||||
<option value="4">Societal acceptance</option>
|
||||
<option value="5">Other</option>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<label>Risk description</label>
|
||||
<textarea eictextarea disabled name="Description" data-path="RisksOfFailure[]" data-type="text"></textarea>
|
||||
</div>
|
||||
</div>`);
|
||||
|
||||
let components = ui.eicfy(card);
|
||||
components.find(item => item.el.name=="Type").value = item.Type;
|
||||
components.find(item => item.el.name=="Description").value = item.Description;
|
||||
|
||||
return card;
|
||||
}
|
||||
|
||||
createCase(item) {
|
||||
let card = ui.create(`<div class="risk">
|
||||
<div>
|
||||
<label>Function</label>
|
||||
<input eicinput disabled name="Function" data-path="" data-type="text" value="${item.DiagnosticFunction.Name}" />
|
||||
</div>
|
||||
${ item.DiagnosticFunctionFeature.map(feature =>
|
||||
`<div>
|
||||
<label>Feature name</label>
|
||||
<input eicinput disabled name="Feature" data-path="" data-type="text" value="${feature.Name}" />
|
||||
</div>
|
||||
<div>
|
||||
<label>Needed knowledge</label>
|
||||
<textarea eictextarea disabled name="NeededKnowledge" data-path="" data-type="text">${feature.NeededKnowledge}</textarea>
|
||||
</div>
|
||||
<div>
|
||||
<label>Technology</label>
|
||||
<textarea eictextarea disabled name="Technology" data-path="" data-type="text">${feature.Technology}</textarea>
|
||||
</div>`
|
||||
).join('')
|
||||
}
|
||||
|
||||
</div>`);
|
||||
|
||||
ui.eicfy(card);
|
||||
|
||||
return card;
|
||||
}
|
||||
}
|
||||
|
||||
app.registerClass('SubmissionShortForm2022HowView', SubmissionShortForm2022HowView);
|
||||
@@ -0,0 +1,25 @@
|
||||
<h2>What impact?</h2>
|
||||
<div>
|
||||
<label>Current Business Readiness Level</label>
|
||||
<select eicselect name="CurrentBrl" data-path="" data-type="text" class="required">
|
||||
<option></option>
|
||||
<option value="1">Basic Research</option>
|
||||
<option value="2">Needs formulation</option>
|
||||
<option value="3">Needs Validation</option>
|
||||
<option value="4">Small scale stakeholder campaign</option>
|
||||
<option value="5">Large scale early adopter campaign</option>
|
||||
<option value="6">Proof of traction</option>
|
||||
<option value="7">Proof of satisfaction</option>
|
||||
<option value="8">Proof of scalability</option>
|
||||
<option value="9">Proof of stability</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label>Can you describe potential societal or industrial applications? Will your innovation have broader societal, economic, environmental or climate impacts?</label>
|
||||
<textarea eictextarea name="Application" data-path="" data-type="text" maxlen="1000" class="required"></textarea>
|
||||
</div>
|
||||
<div>
|
||||
<label>What are the payoffs for your company in case of success? How do you see your company in 5 years</label>
|
||||
<textarea eictextarea name="Payoffs" data-path="" data-type="text" maxlen="1000" class="required"></textarea>
|
||||
</div>
|
||||
@@ -0,0 +1,3 @@
|
||||
class SubmissionShortForm2022ImpactView extends SubmissionShortFormTabView {}
|
||||
|
||||
app.registerClass('SubmissionShortForm2022ImpactView', SubmissionShortForm2022ImpactView);
|
||||
@@ -0,0 +1,114 @@
|
||||
<h2>Submission status</h2>
|
||||
<div class="cols-1 withdrawing">
|
||||
<h5>Your proposal is on the way</h5>
|
||||
<div eicalert success>
|
||||
<p>We acknowledge the successful submission of your proposal on <span class="date"></span>. Thank you for taking the time to prepare and submit it to us.</p>
|
||||
</div>
|
||||
<p>At this stage, no further action is required from your side. Our team will now proceed with the evaluation process. Once the evaluation is completed, we will notify you about the outcome.</p>
|
||||
<h5>Withdrawing your proposal</h5>
|
||||
<p>If you choose to withdraw your proposal, it is taken out of the ongoing evaluation process without affecting the resubmission limits as per the current <a href="https://eic.ec.europa.eu/eic-2023-work-programme_en" target="_blank">EIC 2023 work programme</a>. As long as you remain eligible, you will still have the opportunity to resubmit another proposal in the future.</p>
|
||||
<div eicalert danger class="withdraw-confirm">
|
||||
<input eiccheckbox class="" type="checkbox" name="withdrawConfirmation" data-path="" data-type="ignore" value="true" label="Hereby, I confirm that I want to withdraw my proposal from the evaluation process" />
|
||||
</div>
|
||||
<div class="cols-1 center"><button eicbutton danger class="withdraw">Withdraw my proposal</button></div>
|
||||
<hr/>
|
||||
</div>
|
||||
<div class="withdrawn">
|
||||
<div eicalert warning>You withdrawn this proposal</div>
|
||||
</div>
|
||||
<div class="cols-1 fast-track">
|
||||
<h5>Your proposal is on the fast tracks</h5>
|
||||
<p>
|
||||
Your proposal has been selected for a Fast-Track process.
|
||||
This means that you will now skip the short proposal submission and proceed directly to the full proposal submission and evaluation.
|
||||
</p>
|
||||
</div>
|
||||
<div class="cols-1 evaluation">
|
||||
|
||||
<div class="go">
|
||||
<div eicalert success>
|
||||
<h5>Congratulations! Your proposal has been evaluated</h5>
|
||||
<p>We are happy to inform you that your proposal submitted on <span class="date">${(new Date(model.data.UpdatedAt)).toLocaleDateString("en-DE")}</span> has been awarded an overall GO by our experts.</p>
|
||||
<div class="cols-2">
|
||||
<!--<button eicbutton class="view-submission-go" icon="icon-pdf"><span>Download the submission</span></button>-->
|
||||
<button eicbutton primary class="view-evaluation-go" icon="icon-pdf"><span>Download the evaluation</span></button>
|
||||
</div>
|
||||
</div>
|
||||
<p>You are on the eve of a new adventure. You now benefit of a new batch of services including:</p>
|
||||
<ul bulleted>
|
||||
<li>access to the full proposal submission (you have a full year to submit)</li>
|
||||
<li>3 days of coaching</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="no-go">
|
||||
<div eicalert danger>
|
||||
<p>We regret to inform you that your proposal submitted on <span class="date">${(new Date(model.data.updated.date)).toLocaleDateString("en-DE")}</span> has received an overall NO GO.</p>
|
||||
<div class="cols-2">
|
||||
<!--<button eicbutton class="view-submission-no-go" icon="icon-pdf"><span>Download the submission</span></button>-->
|
||||
<button eicbutton primary class="view-evaluation-no-go" icon="icon-pdf"><span>Download the evaluation</span></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="first-submission">
|
||||
<p>
|
||||
Please review the proposal evaluation comments as you will have the opportunity to rebut the experts' comments and summarise any changes made to the proposal, in the event that you decide to resubmit.
|
||||
Please note, that as per the <a href="https://ec.europa.eu/info/funding-tenders/opportunities/docs/2021-2027/horizon/wp-call/2023/wp_horizon-eic-2023_en.pdf" target="_blank" title="EIC Work Programme 2023">Work Programme 2023</a> (Table 8), applicants are limited to two unsuccessful attempts at this step, even if the innovations/ideas are different between attempts. You may start over with a blank template from scratch by returning to the dashboard and creating a new version or you can reuse this proposal as a basis for your next attempt. If you wish to reuse the proposal please click on the button below:
|
||||
</p>
|
||||
</div>
|
||||
<div class="second-submission">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="go-full">
|
||||
<h5>How to proceed to the Full Proposal?</h5>
|
||||
<p>
|
||||
Your next step is to submit, within exactly 12 months from the date of receiving your positive short proposal result, a deeper detailed description of your proposal (known as the full proposal).
|
||||
In order to do so, please follow one of the links below.
|
||||
Each link refers to a different topic of which more details is provided. Once the desired topic is identified, follow the 'apply to this topic' related link:
|
||||
</p>
|
||||
<ul bulleted>
|
||||
<li>
|
||||
<label><a href="https://ec.europa.eu/info/funding-tenders/opportunities/docs/2021-2027/horizon/wp-call/2023/wp_horizon-eic-2023_en.pdf#page" target="_blank" title="EIC Accelerator Open 2023">EIC Accelerator Open 2023</a></label>
|
||||
<div><a href="https://ec.europa.eu/research/participants/submission/manage/screen/submission/create-draft/30648?topic=HORIZON-EIC-2023-ACCELERATOROPEN-01" target="_blank" title="EIC Accelerator Open 2023">Apply to this topic</a></div>
|
||||
</li>
|
||||
<li>
|
||||
<label><a href="https://eic.ec.europa.eu/events/eic-accelerator-energy-storage-challenge-information-day-2023-02-01_en" target="_blank" title="EIC Accelerator Challenge: Energy storage">EIC Accelerator Challenge: Energy storage</a></label>
|
||||
<div><a href="https://ec.europa.eu/research/participants/submission/manage/screen/submission/create-draft/30648?topic=HORIZON-EIC-2023-ACCELERATORCHALLENGES-03" target="_blank" title="EIC Accelerator Challenge: Energy storage">Apply to this topic</a></div>
|
||||
</li>
|
||||
<li>
|
||||
<label><a href="https://eic.ec.europa.eu/events/eic-accelerator-challenge-novel-technologies-resilient-agriculture-information-day-2023-01-31_en" target="_blank" title="EIC Accelerator Challenge: Novel technologies for resilient agriculture">EIC Accelerator Challenge: Novel technologies for resilient agriculture</a></label>
|
||||
<div><a href="https://ec.europa.eu/research/participants/submission/manage/screen/submission/create-draft/30648?topic=HORIZON-EIC-2023-ACCELERATORCHALLENGES-06" target="_blank" title="EIC Accelerator Challenge: Novel technologies for resilient agriculture">Apply to this topic</a></div>
|
||||
</li>
|
||||
<li>
|
||||
<label><a href="https://eic.ec.europa.eu/events/accelerator-challenge-emerging-semiconductor-and-quantum-technology-components-information-day-2023-02-09_en" target="_blank" title="EIC Accelerator Challenge: Emerging semiconductor or quantum technology components">EIC Accelerator Challenge: Emerging semiconductor or quantum technology components</a></label>
|
||||
<div><a href="https://ec.europa.eu/research/participants/submission/manage/screen/submission/create-draft/30648?topic=HORIZON-EIC-2023-ACCELERATORCHALLENGES-05" target="_blank" title="EIC Accelerator Challenge: Emerging semiconductor or quantum technology components">Apply to this topic</a></div>
|
||||
</li>
|
||||
<li>
|
||||
<label><a href="https://eic.ec.europa.eu/events/accelerator-challenge-aerosol-and-surface-decontamination-pandemic-management-information-day-2023-02-02_en" target="_blank" title="EIC Accelerator Challenge: Aerosol and surface decontamination for pandemic management">EIC Accelerator Challenge: Aerosol and surface decontamination for pandemic management</a></label>
|
||||
<div><a href="https://ec.europa.eu/research/participants/submission/manage/screen/submission/create-draft/30648?topic=HORIZON-EIC-2023-ACCELERATORCHALLENGES-02" target="_blank" title="EIC Accelerator Challenge: Aerosol and surface decontamination for pandemic management">Apply to this topic</a></div>
|
||||
</li>
|
||||
<li>
|
||||
<label><a href="https://eic.ec.europa.eu/events/eic-accelerator-space-challenge-information-day-2023-01-26_en" target="_blank" title="EIC Accelerator Challenge: Customer-driven, innovative space technologies and services">EIC Accelerator Challenge: Customer-driven, innovative space technologies and services</a></label>
|
||||
<div><a href="https://ec.europa.eu/research/participants/submission/manage/screen/submission/create-draft/30648?topic=HORIZON-EIC-2023-ACCELERATORCHALLENGES-07" target="_blank" title="EIC Accelerator Challenge: Customer-driven, innovative space technologies and services">Apply to this topic</a></div>
|
||||
</li>
|
||||
<li>
|
||||
<label><a href="https://eic.ec.europa.eu/events/eic-accelerator-challenge-novel-biomarker-based-assays-guide-personalised-cancer-treatment-2023-02-03_en" target="_blank" title="EIC Accelerator Challenge: Novel biomarker-based assays to guide personalised cancer treatment">EIC Accelerator Challenge: Novel biomarker-based assays to guide personalised cancer treatment</a></label>
|
||||
<div><a href="https://ec.europa.eu/research/participants/submission/manage/screen/submission/create-draft/30648?topic=HORIZON-EIC-2023-ACCELERATORCHALLENGES-01" target="_blank" title="EIC Accelerator Challenge: Novel biomarker-based assays to guide personalised cancer treatment">Apply to this topic</a></div>
|
||||
</li>
|
||||
<li>
|
||||
<label><a href="https://eic.ec.europa.eu/events/accelerator-challenge-new-european-bauhaus-and-architecture-engineering-and-construction-2023-02-02_en" target="_blank" title="EIC Accelerator Challenge: New European Bauhaus and Architecture, Engineering and Construction digitalization for decarbonisation">EIC Accelerator Challenge: New European Bauhaus and Architecture, Engineering and Construction digitalization for decarbonisation</a></label>
|
||||
<div><a href="https://ec.europa.eu/research/participants/submission/manage/screen/submission/create-draft/30648?topic=HORIZON-EIC-2023-ACCELERATORCHALLENGES-04" target="_blank" title="EIC Accelerator Challenge: New European Bauhaus and Architecture, Engineering and Construction digitalization for decarbonisation">Apply to this topic</a></div>
|
||||
</li>
|
||||
</ul>
|
||||
<p>We advise you also to consult the following documents to assist your preparations for the next step of your application:</p>
|
||||
<ul>
|
||||
<label><a href="https://eic.ec.europa.eu/guide-applicants_en" target="_blank" title="EIC Accelerator Guide for Applicants">EIC Accelerator Guide for Applicants</a></label>
|
||||
<label><a href="https://eic.ec.europa.eu/eic-frequently-asked-questions_en#eic-accelerator" target="_blank" title="EIC Accelerator General FAQs">EIC Accelerator General FAQs</a></label>
|
||||
<label><a href="https://eic.ec.europa.eu/eic-accelerator-application-platform-frequently-asked-questions_en" target="_blank" title="EIC Accelerator Platform related FAQs">EIC Accelerator Platform related FAQs</a></label>
|
||||
<label><a href="https://ec.europa.eu/info/funding-tenders/opportunities/docs/2021-2027/horizon/wp-call/2023/wp_horizon-eic-2023_en.pdf" target="_blank" title="EIC Work Programme 2023">EIC Work Programme 2023</a></label>
|
||||
<label><a href="https://eic.ec.europa.eu/system/files/2021-05/EIC%20Fund%20Investment%20Guidelines%20-%20Horizon%20Europe.pdf" target="_blank" title="EIC Fund Investment Guidelines">EIC Fund Investment Guidelines</a></label>
|
||||
<label><a href="" target="_blank" title="Model Grant Agreement used for EIC Actions under Horizon Europe">Model Grant Agreement used for EIC Actions under Horizon Europe</a></label>
|
||||
<label><a href="https://ec.europa.eu/info/funding-tenders/opportunities/docs/2021-2027/common/guidance/om_en.pdf" target="_blank" title="Funding & Tenders Portal Online Manual">Funding & Tenders Portal Online Manual</a></label>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,119 @@
|
||||
class SubmissionShortForm2022StatusView extends SubmissionShortFormTabView {
|
||||
|
||||
setupRules() {
|
||||
|
||||
this.AwsDownload = new AwsFileDownload({
|
||||
pdf : { url: app.config.api['/S3Files'].viewDocument.uri,
|
||||
method: app.config.api['/S3Files'].viewDocument.method,
|
||||
headers: { 'Accept': 'application/json',
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
credentials: 'include'
|
||||
},
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
fill(mode) {
|
||||
super.fill(mode);
|
||||
|
||||
this.switchStatus(this.model.data.status);
|
||||
}
|
||||
|
||||
switchStatus(status) {
|
||||
ui.hide(this.find('.fast-track'));
|
||||
ui.hide(this.find('.withdrawing'));
|
||||
ui.hide(this.find('.evaluation'));
|
||||
ui.hide(this.find('.go-full'));
|
||||
ui.hide(this.find('.withdrawn'));
|
||||
|
||||
if(status == 'submitted') {
|
||||
this.withdraw = this.components.find(item => item.el.classList.contains('withdraw'));
|
||||
this.withdraw.addEventListener('click', this.onWithdraw.bind(this))
|
||||
this.withdrawConfirm = this.components.find(item => item.el.name == 'withdrawConfirmation');
|
||||
this.withdrawConfirm.disabled = false;
|
||||
|
||||
ui.show(this.find('.withdrawing'));
|
||||
ui.hide(this.find('.withdraw-confirm'));
|
||||
|
||||
if(!this.model.hasPrivilege('withdraw')) {
|
||||
ui.hide(this.find('button.withdraw'))
|
||||
}
|
||||
|
||||
this.find('.withdrawing span.date').innerText = (new Date(this.model.data.updated.date)).toLocaleDateString("en-DE")
|
||||
}
|
||||
|
||||
if(status == 'withdrawn') {
|
||||
ui.show(this.find('.withdrawn'));
|
||||
}
|
||||
|
||||
if(status == 'fast-track') {
|
||||
ui.show(this.find('.fast-track'));
|
||||
ui.show(this.find('.go-full'));
|
||||
}
|
||||
|
||||
if(status == 'evaluated') {
|
||||
|
||||
ui.show(this.find('.evaluation'));
|
||||
ui.hide(this.find('.evaluation .go'));
|
||||
ui.hide(this.find('.evaluation .no-go'));
|
||||
|
||||
if(this.model.data.evaluation) {
|
||||
|
||||
if(this.model.data.evaluation.outcome == 'go') {
|
||||
|
||||
let evalBt = this.components.find(item => item.el.classList.contains('view-evaluation-go'));
|
||||
evalBt.addEventListener('click', this.onDocumentDownload.bind(this, this.model.data.documents.esrShort.fileName))
|
||||
|
||||
ui.show(this.find('.evaluation .go'));
|
||||
ui.show(this.find('.go-full'));
|
||||
}
|
||||
|
||||
if(this.model.data.evaluation.outcome == 'no-go') {
|
||||
let evalBt = this.components.find(item => item.el.classList.contains('view-evaluation-no-go'));
|
||||
evalBt.addEventListener('click', this.onDocumentDownload.bind(this, this.model.data.documents.esrShort.fileName))
|
||||
|
||||
ui.hide(this.find('.evaluation .first-submission'));
|
||||
ui.hide(this.find('.evaluation .second-submission'));
|
||||
ui.show(this.find('.evaluation .no-go'));
|
||||
|
||||
if(this.model.data.resubmitted) {
|
||||
ui.show(this.find('.evaluation .second-submission'));
|
||||
} else {
|
||||
ui.show(this.find('.evaluation .first-submission'));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
console.error('No evaluation provided')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async onWithdraw(event) {
|
||||
event.stopPropagation();
|
||||
event.preventDefault();
|
||||
|
||||
ui.show(this.find('.withdraw-confirm'));
|
||||
if(this.withdrawConfirm.el.checked) {
|
||||
this.el.dispatchEvent(new Event('withdraw'));
|
||||
}
|
||||
}
|
||||
|
||||
async onDocumentDownload(file, event) {
|
||||
event.stopPropagation();
|
||||
event.preventDefault();
|
||||
|
||||
if(!file) return
|
||||
let awsUrl = await this.AwsDownload.getDownloadUrl('pdf', file)
|
||||
console.log('', awsUrl)
|
||||
|
||||
if(!awsUrl) {
|
||||
ui.growl.append('This document is unavailable', 'danger');
|
||||
return;
|
||||
}
|
||||
|
||||
window.open(awsUrl, '_blank');
|
||||
}
|
||||
}
|
||||
|
||||
app.registerClass('SubmissionShortForm2022StatusView', SubmissionShortForm2022StatusView);
|
||||
@@ -0,0 +1,79 @@
|
||||
|
||||
<h2>What?</h2>
|
||||
<div>
|
||||
<label>Acronym</label>
|
||||
<input eicinput name="Acronym" data-path="" data-type="text" maxlen="50" class="required" />
|
||||
</div>
|
||||
<div>
|
||||
<label>Title</label>
|
||||
<input eicinput name="ProposalTitle" data-path="" data-type="text" maxlen="200" class="required" />
|
||||
</div>
|
||||
<div>
|
||||
<label>Description of the solution</label>
|
||||
<textarea eictextarea name="Solution" data-path="" data-type="text" maxlen="1000" class="required"></textarea>
|
||||
</div>
|
||||
<label>Keywords</label>
|
||||
<div class="cols-3">
|
||||
<div>
|
||||
<label>1st Keyword</label>
|
||||
<select eicselect name="Keyword1Code" data-path="" data-type="array" class="required">
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<label>2nd Keyword</label>
|
||||
<select eicselect name="Keyword2Code" data-path="" data-type="array" class="required">
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<label>3rd Keyword</label>
|
||||
<select eicselect name="Keyword3Code" data-path="" data-type="array" class="required">
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label>Free Keywords</label>
|
||||
<select eicselect editable name="FreeKeywords" data-path="" data-type="text" class="required"></select>
|
||||
</div>
|
||||
<div>
|
||||
<label>Type of solution</label>
|
||||
<select eicselect multiple name="SolutionTypes" data-path="" data-type="array" class="required">
|
||||
<option value="0">product</option>
|
||||
<option value="1">service</option>
|
||||
<option value="2">process</option>
|
||||
<option value="3">marketing method</option>
|
||||
<option value="4">organisational method</option>
|
||||
<option value="5">consulting services</option>
|
||||
<option value="6">other</option>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<label>Type of innovation</label>
|
||||
<select eicselect name="InnovationType" data-path="" data-type="text" class="required">
|
||||
<option></option>
|
||||
<option value="0">Significant Improvement Of Existing</option>
|
||||
<option value="1">Brand New Thing</option>
|
||||
<option value="2">Other</option>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<label>Justify your choice of type of innovation</label>
|
||||
<textarea eictextarea name="InnovationTypeJustification" data-path="" data-type="text" maxlen="1000" class="required"></textarea>
|
||||
</div>
|
||||
<div>
|
||||
<label>Level of innovation</label>
|
||||
<select eicselect name="InnovationLevel" data-path="" data-type="text" class="required">
|
||||
<option></option>
|
||||
<option value="0">Some distinct, probably minor, improvement over existing products</option>
|
||||
<option value="1">Innovative but could be difficult to convert customers</option>
|
||||
<option value="2">Obviously innovative and easily appreciated advantages to customer</option>
|
||||
<option value="3">Very innovative</option>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<label>Justify your choice of level of innovation</label>
|
||||
<textarea eictextarea name="Problem" data-path="" data-type="text" maxlen="1000" class="required"></textarea>
|
||||
</div>
|
||||
<div>
|
||||
<label>What are the existing solutions and what are their limits?</label>
|
||||
<textarea eictextarea name="Solutions" data-path="" data-type="text" maxlen="1000" class="required"></textarea>
|
||||
</div>
|
||||
@@ -0,0 +1,19 @@
|
||||
class SubmissionShortForm2022WhatView extends SubmissionShortFormTabView {
|
||||
|
||||
fill(data) {
|
||||
let keywords = [];
|
||||
|
||||
keywords = app.meta.toOptions('eic-keywords', null, true);
|
||||
keywords.forEach(item => this.find('select[name="Keyword1Code"]').append(item));
|
||||
|
||||
keywords = app.meta.toOptions('eic-keywords', null, true);
|
||||
keywords.forEach(item => this.find('select[name="Keyword2Code"]').append(item));
|
||||
|
||||
keywords = app.meta.toOptions('eic-keywords', null, true);
|
||||
keywords.forEach(item => this.find('select[name="Keyword3Code"]').append(item));
|
||||
|
||||
super.fill(data);
|
||||
}
|
||||
}
|
||||
|
||||
app.registerClass('SubmissionShortForm2022WhatView', SubmissionShortForm2022WhatView);
|
||||
@@ -0,0 +1,150 @@
|
||||
<style>
|
||||
.submission.short-form .members {
|
||||
display: grid;
|
||||
grid-gap: 10px;
|
||||
grid-template-columns: repeat( auto-fill, 280px);
|
||||
grid-auto-rows: 1fr;
|
||||
margin-bottom: var(--eicui-base-spacing-l);
|
||||
}
|
||||
.submission.short-form .members article {
|
||||
width: 280px;
|
||||
height: 100%;
|
||||
}
|
||||
</style>
|
||||
<h2>Who?</h2>
|
||||
<div>
|
||||
<label>Are you an investor who supports and submits on behalf of an SME, a small mid-cap or a natural person willing to establish a start-up/SME in an EU Member State or an Associated country? NB: Investors cannot include consultants or organisations in the capacity of intermediaries of Horizon Europe (EEN, NCP)</label>
|
||||
<select eicselect name="IsSupportingSme" data-path="" data-type="text">
|
||||
<option></option>
|
||||
<option value="false">No</option>
|
||||
<option value="true">Yes</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="cols-2 left">
|
||||
<div>
|
||||
<label>PIC</label>
|
||||
<input eicinput disabled name="PICNumber" data-path="" data-type="text" />
|
||||
</div>
|
||||
<div>
|
||||
<label>Legal entity name (which can be the name of a person)</label>
|
||||
<input eicinput name="LegalEntityName" data-path="" data-type="text" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label>Business name</label>
|
||||
<input eicinput name="BusinessName" data-path="" data-type="text" />
|
||||
</div>
|
||||
<div>
|
||||
<label>Address</label>
|
||||
<input eicinput name="CompanyStreetAndNumber" data-path="" data-type="text" placeholder="Street" />
|
||||
</div>
|
||||
<div class="cols-2 left">
|
||||
<input eicinput name="CompanyPostalCode" data-path="" data-type="text" placeholder="Postal Code" />
|
||||
<input eicinput name="CompanyCity" data-path="" data-type="text" placeholder="City" />
|
||||
</div>
|
||||
<div>
|
||||
<input eicinput name="CompanyCountry" data-path="" data-type="text" placeholder="Country" />
|
||||
</div>
|
||||
<div>
|
||||
<label>What is your type of entity ?</label>
|
||||
<select eicselect name="OrganisationSubmissionType" data-path="" data-type="text">
|
||||
<option></option>
|
||||
<option value="0">Public Body</option>
|
||||
<option value="1">Private Organisation</option>
|
||||
<option value="2">NaturalPerson</option>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<label>Size of organisation ?</label>
|
||||
<select eicselect name="OrganisationSubmissionSecondaryType" data-path="" data-type="text">
|
||||
<option></option>
|
||||
<option value="0">An SME</option>
|
||||
<option value="1">A Small-mid cap</option>
|
||||
<option value="2">Other</option>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<label>Are you a for-profit organisation?</label>
|
||||
<select eicselect name="IsProfitMaking" data-path="" data-type="text">
|
||||
<option></option>
|
||||
<option value="false">No</option>
|
||||
<option value="true">Yes</option>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<label>What is the purpose of your project ?</label>
|
||||
<select eicselect name="SectorOfActivityType" data-path="" data-type="array">
|
||||
<option></option>
|
||||
<option value="Research">Research</option>
|
||||
<option value="Education">Education</option>
|
||||
<option value="ResearchEducation">Research & Education</option>
|
||||
<option value="Industry">Industry</option>
|
||||
<option value="Other">Other</option>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<label>CEO</label>
|
||||
</div>
|
||||
<div class="cols-3">
|
||||
<div>
|
||||
<label>Gender</label>
|
||||
<select eicselect name="CEOGender" data-path="" data-type="text">
|
||||
<option></option>
|
||||
<option value="1">Ms</option>
|
||||
<option value="0">M</option>
|
||||
<option value="2">I rather not say</option>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<label>First name</label>
|
||||
<input eicinput name="CEOFirstName" data-path="" data-type="text" />
|
||||
</div>
|
||||
<div>
|
||||
<label>Last name</label>
|
||||
<input eicinput name="CEOLastName" data-path="" data-type="text" />
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label>Email</label>
|
||||
<input eicinput name="CEOEmail" data-path="" data-type="text" />
|
||||
</div>
|
||||
<div>
|
||||
<label>Phone</label>
|
||||
</div>
|
||||
<div class="cols-2 left noflex">
|
||||
<div>
|
||||
<input eicinput name="CEOPhoneNumberCode" data-path="" data-type="text" />
|
||||
</div>
|
||||
<div>
|
||||
<input eicinput name="CEOPhoneNumber" data-path="" data-type="text" />
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label>Your team</label>
|
||||
<div class="members"></div>
|
||||
</div>
|
||||
<div>
|
||||
<label>Do you have the team you need to implement the action?</label>
|
||||
<select eicselect name="TeamYouNeed" data-path="" data-type="array">
|
||||
<option></option>
|
||||
<option value="true">Yes</option>
|
||||
<option value="false">No</option>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<label>Please justify your choice</label>
|
||||
<textarea eictextarea name="MissingSkills" data-path="" data-type="text" maxlen="1000"></textarea>
|
||||
</div>
|
||||
<div>
|
||||
<label>Will you need cooperation with other stakeholders of your value chain (research and innovation, industrial, financial, suppliers, distributors, ... ) to implement the action?</label>
|
||||
<select eicselect name="PartnersYouNeed" data-path="" data-type="array">
|
||||
<option></option>
|
||||
<option value="true">Yes</option>
|
||||
<option value="false">No</option>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<label>Please justify your choice</label>
|
||||
<textarea eictextarea name="MissingPartnerships" data-path="" data-type="text" maxlen="1000"></textarea>
|
||||
</div>
|
||||
@@ -0,0 +1,76 @@
|
||||
class SubmissionShortForm2022WhoView extends SubmissionShortFormTabView {
|
||||
|
||||
DOMContentLoaded(options) {
|
||||
super.DOMContentLoaded(options);
|
||||
|
||||
app.meta.collections['organisation-genders-legacy'] = {
|
||||
content: [
|
||||
{
|
||||
"id": "0",
|
||||
"label": "M"
|
||||
},
|
||||
{
|
||||
"id": "1",
|
||||
"label": "Ms"
|
||||
},
|
||||
{
|
||||
"id": "2",
|
||||
"label": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
this.initTeamEditing();
|
||||
}
|
||||
|
||||
fill(mode) {
|
||||
super.fill(mode);
|
||||
let type = this.find('[name="OrganisationSubmissionType"]')
|
||||
if(type != "1") {
|
||||
ui.hide(this.find('[name="OrganisationSubmissionSecondaryType"]').parentElement.parentElement)
|
||||
}
|
||||
if(type == "2") {
|
||||
ui.hide(this.find('[name="IsProfitMaking"]').parentElement.parentElement)
|
||||
}
|
||||
|
||||
let team = this.find('[name="TeamYouNeed"]')
|
||||
if(team == "false") {
|
||||
ui.hide(this.find('[name="MissingSkills"]').parentElement.parentElement)
|
||||
}
|
||||
|
||||
let partner = this.find('[name="PartnersYouNeed"]')
|
||||
if(partner == "true") {
|
||||
ui.hide(this.find('[name="MissingSkills"]').parentElement.parentElement)
|
||||
}
|
||||
}
|
||||
|
||||
setupRules() {}
|
||||
|
||||
initTeamEditing() {
|
||||
for(let member of this.model.data.team) {
|
||||
this.addMember(member);
|
||||
}
|
||||
}
|
||||
|
||||
addMember(member) {
|
||||
let severity = member.Position && member.Position.indexOf('CEO') == 0 ? 'primary': ''
|
||||
let card = ui.create(`<article eiccard ${severity} data-id="${member.Id}" data-index="${this.findAll('.members article').length}">
|
||||
<header>
|
||||
<h1>${app.meta.toString('organisation-genders-legacy', member.Gender)} ${member.FirstName} ${member.LastName}</h1>
|
||||
<h2>${member.Position}</h2>
|
||||
</header>
|
||||
<section>
|
||||
<div>
|
||||
<label>Area of Expertise(s)</label>
|
||||
<span>${member.AreasOfExpertise.join(', ')}</span>
|
||||
</div>
|
||||
<p><i>"${member.Why}"</i></p>
|
||||
</section>
|
||||
<footer></footer>
|
||||
</article`);
|
||||
ui.hide(card.querySelector('footer'));
|
||||
this.find('.members').append(card);
|
||||
}
|
||||
}
|
||||
|
||||
app.registerClass('SubmissionShortForm2022WhoView', SubmissionShortForm2022WhoView);
|
||||
@@ -0,0 +1,52 @@
|
||||
<h2>For whom?</h2>
|
||||
<div>
|
||||
<label>Who will use the innovation ?</label>
|
||||
<select eicselect name="InnovationWho" data-path="" data-type="array" class="required">
|
||||
<option></option>
|
||||
<option value="0">Current Customers</option>
|
||||
<option value="1">New Customers</option>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<label>Please justify your choice</label>
|
||||
<textarea eictextarea name="InnovationWhoJustification" data-path="" data-type="text" maxlen="1000" class="required"></textarea>
|
||||
</div>
|
||||
<div>
|
||||
<label>Describe your targeted market</label>
|
||||
<textarea eictextarea name="Market" data-path="" data-type="text" maxlen="1000" class="required"></textarea>
|
||||
</div>
|
||||
<div>
|
||||
<label>Would you say that the market targeted by this innovation is ...</label>
|
||||
<select eicselect name="InnovationTarget" data-path="" data-type="array" class="required">
|
||||
<option></option>
|
||||
<option value="0">Not yet existing and it is not yet clear that the innovation can create it</option>
|
||||
<option value="1">Not yet existing but the innovation can create it (market-creating)</option>
|
||||
<option value="2">Emerging: there is a growing demand and few offerings are available</option>
|
||||
<option value="3">Mature: the market is already supplied with many products of the type proposed</option>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<label>Please justify your choice</label>
|
||||
<textarea eictextarea name="InnovationTargetJustification" data-path="" data-type="text" maxlen="1000" class="required"></textarea>
|
||||
</div>
|
||||
<div>
|
||||
<label>How will the innovation be exploited ?</label>
|
||||
<select eicselect name="InnovationExploited" data-path="" data-type="array" class="required">
|
||||
<option></option>
|
||||
<option value="0">Introduced as new to the market (commercial exploitation)</option>
|
||||
<option value="1">Only new to the organisation</option>
|
||||
<option value="2">No exploitation</option>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<label>Please justify your choice</label>
|
||||
<textarea eictextarea name="InnovationExploitedJustification" data-path="" data-type="text" maxlen="1000" class="required"></textarea>
|
||||
</div>
|
||||
<div>
|
||||
<label>Who cares about your innovation?</label>
|
||||
<textarea eictextarea name="WhoCares" data-path="" data-type="text" maxlen="1000" class="required"></textarea>
|
||||
</div>
|
||||
<div>
|
||||
<label>Indicate your Time-to-Market in years ?</label>
|
||||
<input eicinput type="number" min="1" max="10" name="Ttm" data-path="" data-type="text" maxlen="150" class="required" />
|
||||
</div>
|
||||
@@ -0,0 +1,6 @@
|
||||
class SubmissionShortForm2022WhomView extends SubmissionShortFormTabView {
|
||||
|
||||
|
||||
}
|
||||
|
||||
app.registerClass('SubmissionShortForm2022WhomView', SubmissionShortForm2022WhomView);
|
||||
@@ -0,0 +1,30 @@
|
||||
<h2>Why?</h2>
|
||||
<div>
|
||||
<label>Describe the problem to be solved or the need(s) to be satisfied</label>
|
||||
<textarea eictextarea name="InnovationLevelJustification" data-path="" data-type="text" maxlen="1000" class="required"></textarea>
|
||||
</div>
|
||||
<!--
|
||||
<div>
|
||||
<div eicalert warning>MFA: this field is related to a sideline service called BottomUpTopic. NOT USED IN project sheet</div>
|
||||
<label>What is the purpose of your project ?</label>
|
||||
<select eicselect multiple name="BottomUpTopics" data-path="" data-type="array" class="required">
|
||||
<option value="3">R&D Infrastructure</option>
|
||||
<option value="4">Training and mobility</option>
|
||||
<option value="5">Basic Research</option>
|
||||
<option value="1">Applied research and/or technological innovation</option>
|
||||
<option value="2">Non-technological innovation</option>
|
||||
</select>
|
||||
</div>
|
||||
-->
|
||||
<div>
|
||||
<label>Why it is new compared to the existing solutions?</label>
|
||||
<textarea eictextarea name="WhyNew" data-path="" data-type="text" maxlen="1000" class="required"></textarea>
|
||||
</div>
|
||||
<div>
|
||||
<label>Why do you think it will be successful?</label>
|
||||
<textarea eictextarea name="WhySuccessful" data-path="" data-type="text" maxlen="1000" class="required"></textarea>
|
||||
</div>
|
||||
<div>
|
||||
<label>Why now ?</label>
|
||||
<textarea eictextarea name="WhyNow" data-path="" data-type="text" maxlen="1000" class="required"></textarea>
|
||||
</div>
|
||||
@@ -0,0 +1,3 @@
|
||||
class SubmissionShortForm2022WhyView extends SubmissionShortFormTabView {}
|
||||
|
||||
app.registerClass('SubmissionShortForm2022WhyView', SubmissionShortForm2022WhyView);
|
||||
Reference in New Issue
Block a user