unclean SPARC

This commit is contained in:
STEINNI
2025-08-27 07:03:09 +00:00
commit f308460931
430 changed files with 54426 additions and 0 deletions
@@ -0,0 +1,9 @@
<article eiccard class="journal">
<header>
<h1>Documents available for this project</h1>
<h2></h2>
</header>
<section>
</section>
</article>
@@ -0,0 +1,31 @@
/**
*/
class ProjectFundingDocumentsView extends EICDomContent {
DOMContentLoaded(options) {
for(let model in options.models) this[model] = options.models[model];
this.components = ui.eicfy(this.el);
this.project.documents(this.project.current.project.number)
.then(this.fill.bind(this))
}
fill(data) {
let content = this.find('section');
for(let section of data) {
content.append(ui.create(`<label large><b>${section.category}</b></label>`));
let files = ui.create(`<ul bulleted small>`)
content.append(files);
for(let file of section.attachments) {
let url = app.config.api['/files'].get.uri
url = url.replace('{id}', file.id)
files.append(ui.create(`<li><a href="${url}" noroute target="_blank">${file.label}</a></li>`));
}
}
}
}
app.registerClass('ProjectFundingDocumentsView',ProjectFundingDocumentsView);
@@ -0,0 +1,9 @@
<article eiccard class="history">
<header>
<h1>Project history</h1>
<h2>Key events of the project life cycle</h2>
</header>
<section>
<div eicdatagrid></div>
</section>
</article>
@@ -0,0 +1,32 @@
/**
*/
class ProjectFundingHistoryView extends EICDomContent {
DOMContentLoaded(options) {
this.components = ui.eicfy(this.el);
for(let model in options.models) this[model] = options.models[model];
this.list = new DataGrid(this.find('[eicdatagrid]'), {
headers: [
{label: 'date', type: 'dateTime'},
{label: 'action'}
],
height: '45vh'
})
this.fill(this.project.current.project.statusHistory);
}
fill(data) {
this.list.clear();
for(let item of data) {
this.list.addRow(0, [ item.dateTime, item.value ]);
}
}
}
app.registerClass('ProjectFundingHistoryView',ProjectFundingHistoryView);
@@ -0,0 +1,53 @@
<article eiccard class="history">
<header>
<h1>Summary</h1>
<h2></h2>
</header>
<section>
<p class="project-abstract"></p>
<div class="project-keywords">
<label xsmall><b>Keywords</b></label>
<span></span>
</div>
<div class="project-extra-keywords">
<label xsmall><b>Extra keywords</b></label>
<span></span>
</div>
<hr/>
<label xlarge><b>Fundings information</b></label>
<div class="project-grant">
<label large><b>Grant funding</b></label>
<div class="cols-3">
<div class="project-grant-requested">
<label xsmall>Requested amount (by Beneficiary)</label>
<span></span>
</div>
<div class="project-grant-proposed">
<label xsmall>Recommended amount (by Interview panel)</label>
<span></span>
</div>
<div class="project-grant-final">
<label xsmall>Final amount</label>
<span></span>
</div>
</div>
</div>
<div class="project-equity">
<label large><b>Equity funding</b></label>
<div class="cols-3">
<div class="project-equity-requested">
<label xsmall>Requested amount (by Beneficiary)</label>
<span></span>
</div>
<div class="project-equity-proposed">
<label xsmall>Recommended amount (by Interview panel)</label>
<span></span>
</div>
</div>
</div>
<div class="project-documents">
<hr/>
<label xlarge><b>Documents</b></label>
</div>
</section>
</article>
@@ -0,0 +1,56 @@
/**
*
*/
class ProjectFundingInfoView extends EICDomContent {
DOMContentLoaded(options) {
this.components = ui.eicfy(this.el);
for(let model in options.models) this[model] = options.models[model];
this.fill(this.project.current)
}
fill(data) {
this.find('.project-abstract').innerHTML = data.project.abstract;
this.find('.project-keywords span').innerHTML = data.project.keywords.eicKeywords.join(', ');
this.find('.project-extra-keywords span').innerHTML = data.project.keywords.freeKeywords.join(', ');
if(data.project.financingDetails.grant) {
this.find('.project-grant-requested span').innerHTML = ui.format.currency(data.project.financingDetails.grant.requestedAmount);
this.find('.project-grant-proposed span').innerHTML = ui.format.currency(data.project.financingDetails.grant.proposedAmount);
this.find('.project-grant-final span').innerHTML = ui.format.currency(data.project.financingDetails.grant.finalAmount);
} else {
ui.hide(this.find('.project-grant'))
}
if(data.project.financingDetails.equity) {
this.find('.project-equity-requested span').innerHTML = ui.format.currency(data.project.financingDetails.equity.requestedAmount);
this.find('.project-equity-proposed span').innerHTML = ui.format.currency(data.project.financingDetails.equity.proposedAmount);
} else {
ui.hide(this.find('.project-equity'))
}
if(data.project.documents) {
let content = this.find('.project-documents');
for(let section of data.project.documents) {
content.append(ui.create(`<label large><b>${section.category}</b></label>`));
let files = ui.create(`<ul bulleted small>`)
content.append(files);
for(let file of section.attachments) {
let url = app.config.api['/files'].get.uri
url = url.replace('{id}', file.id)
files.append(ui.create(`<li><a href="${url}" noroute target="_blank">${file.label}</a></li>`));
}
}
} else {
ui.hide(this.find('.project-documents'))
}
}
}
app.registerClass('ProjectFundingInfoView',ProjectFundingInfoView);
@@ -0,0 +1,47 @@
<article eiccard class="funding-node progress-meeting">
<header>
<h1>Progress Meeting</h1>
<h2><span eicchip warning>feedback</span></h2>
</header>
<section>
<div class="cols-2 right">
<div>
<article eiccard>
<header>
<h1>Schedule</h1>
</header>
<section>
<div>
<label>Date</label>
<span>6 Feb 2024 | 10:00 - 22:00</span>
</div>
<div>
<label>Location</label>
<span>skype</span>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>Participants</h1>
</header>
<section>
<label>Attending</label>
<ul></ul>
<label>Excused</label>
<ul></ul>
</section>
</article>
</div>
<article eiccard class="feedback-form">
<header>
<h1>Feedback</h1>
<h2></h2>
</header>
<section>
</section>
</article>
</div>
</section>
</article>
@@ -0,0 +1,10 @@
class ProjectFundingProgressMeetingView extends EICDomContent {
DOMContentLoaded(options) {
}
fill() {}
refresh(data) {}
}
@@ -0,0 +1,17 @@
<style>
.contributors .list {
display: flex;
flex-flow: wrap;
grid-gap: 20px;
white-space: nowrap;
}
</style>
<article eiccard class="contributors">
<header>
<h1>Contributors</h1>
<h2>People involved in the project</h2>
</header>
<section>
<ul nonbulleted class="list"></ul>
</section>
</article>
@@ -0,0 +1,44 @@
/**
*/
class ProjectFundingTeamView extends EICDomContent {
DOMContentLoaded(options) {
for(let model in options.models) this[model] = options.models[model];
this.components = ui.eicfy(this.el);
this.project.contributors(this.project.current.project.number)
.then(this.fill.bind(this))
}
fill(data) {
let list = this.find('ul.list');
for(let member of data) {
let roles = member.roles.map(o => this.translateRole(o.role))
let el = ui.create(`<li>
<div medium><b>${member.information.name.firstName} ${member.information.name.lastName}</b></div>
<div xsmall><a href="mailto:${member.information.contacts.email}">${member.information.contacts.email}</a></div>
<div small>${roles.join(' | ')}</div>
</li>`);
list.append(el)
}
}
translateRole(role) {
let s = role.replace('PROJECT_', '');
switch(s) {
case 'TechDDExpert':
s = 'TechDD Expert';
break;
}
return s;
}
}
app.registerClass('ProjectFundingTeamView',ProjectFundingTeamView);
@@ -0,0 +1,29 @@
<style>
.funding-node.tech-dd textarea { height: 120px; }
.funding-node.tech-dd .tabs-extended { min-width: 240px; }
</style>
<article eiccard class="funding-node tech-dd">
<header class="cols-2 right">
<div>
<h1>Technical Due Diligence</h1>
<h2></h2>
</div>
<div class="version"></div>
</header>
<section>
<div class="files"></div>
<div class="form"></div>
</section>
<footer>
<div class="cols-2 right">
<div>
<div class="autosave-control">
<input eicinput type="toggler" labelleft="Enable auto-save" name="autosave" data-typ="ignore" truevalue="true" falsevalue="false" value="true" />
</div>
</div>
<div class="actions"></div>
</div>
</footer>
</article>
@@ -0,0 +1,625 @@
/**
*
*/
class ProjectFundingTechDDView extends EICDomContent {
_autoSave = null;
// save every 10s
_autoSaveDelay = 10000;
// validate every 2s
_autoValidateDelay = 2000;
// state flag avoiding saving form currently beeing loaded
_busy = false;
get autoSave() { return this._autoSave != null; }
set autoSave(value) {
if(value) {
if(!this._autoSave) {
this._autoSave = setInterval(this.onAutoSave.bind(this), this._autoSaveDelay)
}
} else {
clearInterval(this._autoSave);
this._autoSave = null;
}
}
DOMContentLoaded(options) {
this.components = ui.eicfy(this.el);
this.projectNumber = options.projectNumber
this.nodeId = options.nodeId;
this.nodeType = 'techdd';
this.mode = options.mode;
for(let model in options.models) this[model] = options.models[model];
this.container = this.components.find(o => o.el.classList.contains('funding-node'))
this.container.loading = true;
this._busy = true;
this.techdd.get(this.projectNumber,this.nodeType, this.nodeId)
.then(this.fill.bind(this))
}
DOMContentBlured() {
if(this.autoSave) { this.autoSave = false; }
if(this.validationCheck) {
clearInterval(this.validationCheck);
this.validationCheck = null;
}
}
DOMContentRemoved() {
if(this.autoSave) {
this.autoSave = false;
if((this.mode == 'edit')) this.save();
};
if(this.validationCheck) {
clearInterval(this.validationCheck);
this.validationCheck = null;
}
}
DOMContentFocused() {
if(this.mode == 'edit') {
if(this.saveToggler && this.saveToggler.value == 'true') { this.autoSave = true }
if(!this.validationCheck) {
this.validationCheck = setInterval(this.validateForm.bind(this), this._autoValidateDelay);
}
}
}
setupFormActions() {
let saveControl = this.find('.autosave-control');
this.availableActions = [];
this.reviewActions = [];
ui.hide(saveControl);
if(this.techdd.hasPrivilege('read')) {
this.mode = 'read'
}
if(this.techdd.hasPrivilege('update')) {
this.mode = 'edit';
ui.show(saveControl);
this.availableActions.push({
id: 'cancel',
ctrl: new Button(null, {
severity: 'secondary',
onclick: this.cancel.bind(this),
label: 'discard changes'
})
})
this.availableActions.push({
id: 'save',
ctrl: new Button(null, {
severity: 'primary',
onclick: this.save.bind(this),
label: 'save' })
})
this.autosave = true
this.saveToggler.onToggle("true", this.saveToggler);
}
if(this.techdd.hasPrivilege('submit')) {
this.availableActions.push({
id: 'submit',
ctrl: new Button(null, {
severity: 'primary',
onclick: this.submit.bind(this),
label: 'submit' })
})
}
if(this.techdd.hasPrivilege('reject')) {
this.mode = 'review';
this.availableActions.push({
id: 'reject',
ctrl: new Button(null, {
severity: 'primary',
onclick: this.reject.bind(this),
label: 'Reopen' })
})
this.reviewActions.push({
id: 'cancelReview',
ctrl: new Button(null, {
severity: 'secondary',
onclick: this.cancelReview.bind(this),
label: 'cancel' })
})
this.reviewActions.push({
id: 'commitReview',
ctrl: new Button(null, {
severity: 'primary',
onclick: this.commitReview.bind(this),
label: 'send remarks' })
})
}
if(this.techdd.hasPrivilege('sendforreview')) {
this.mode = 'review';
this.availableActions.push({
id: 'review',
ctrl: new Button(null, {
severity: 'primary',
onclick: this.review.bind(this),
label: 'send for consultation' })
})
}
if(this.techdd.hasPrivilege('validate')) {
this.mode = 'review';
this.availableActions.push({
id: 'validate',
ctrl: new Button(null, {
severity: 'success',
onclick: this.validate.bind(this),
label: 'validate' })
})
}
if(this.techdd.hasPrivilege('cancel')) {
this.mode = 'review';
this.availableActions.push({
id: 'abort',
ctrl: new Button(null, {
severity: 'danger',
onclick: this.abort.bind(this),
label: 'abort' })
})
}
if(this.techdd.hasPrivilege('review')) {
this.mode = 'review';
this.availableActions.push({
id: 'reject',
ctrl: new Button(null, {
severity: 'primary',
onclick: this.reject.bind(this),
label: 'add remarks' })
})
this.availableActions.push({
id: 'approve',
ctrl: new Button(null, {
severity: 'success',
onclick: this.approve.bind(this),
label: 'approve' })
})
this.reviewActions.push({
id: 'cancelReview',
ctrl: new Button(null, {
severity: 'secondary',
onclick: this.cancelReview.bind(this),
label: 'cancel' })
})
this.reviewActions.push({
id: 'commitReview',
ctrl: new Button(null, {
severity: 'primary',
onclick: this.commitConsult.bind(this),
label: 'send remarks' })
})
}
let container = this.find('footer .actions');
container.innerHTML = '';
for(let action of this.availableActions) { container.append(action.ctrl.el) }
}
fill(data) {
let path = 'projects/icmp/project/forms/'
let view = 'ICMPFormTechddV1View';
let versionLabel = 'regular report'
switch(data.form.version) {
case 'techdd-report-v1-full':
view = 'ICMPFormTechddV1FullView';
versionLabel = 'full report'
break;
case 'techdd-report-v1-enhanced':
view = 'ICMPFormTechddV1EnhancedView'
versionLabel = 'enhanced report'
break;
default:
break;
}
let tags = [];
this.find('header .version').innerHTML = `<span eicchip primary>${versionLabel}</span>`
if(data.experts.length > 0) {
tags.push(`<span eicchip info>reporting assigned to ${data.experts[0].information.name.firstName} ${data.experts[0].information.name.lastName}</span>`)
}
tags.push(`<span eicchip accent>${app.meta.getItem('icmp-techdd-status', data.statusHistory[0].value).label}</span>`)
this.find('header h2').innerHTML = tags.join('');
this.originalForm = JSON.parse(JSON.stringify(data))
this.loadContent(path + view, {})
.then(view => {
this.find('.form').append(view.el)
view.fill(data);
this.formView = view;
this.form = view.form;
this.formComponents = view.components;
this.setupForm(data)
}
)
}
setupForm(data) {
this.saveToggler = this.components.find(o => o.el.name == 'autosave');
this.saveToggler.onToggle = this.onAutoSaveToggle.bind(this)
this.setupFormActions();
switch(this.mode) {
case 'read':
this.enableEditing(false);
this.enableReviewing(false);
break;
case 'edit':
this.enableEditing(true);
this.enableReviewing(false);
if(!this.validationCheck) {
this.validationCheck = setInterval(this.validateForm.bind(this), this._autoValidateDelay);
}
break;
case 'review':
this.enableEditing(false);
this.enableReviewing(false);
break;
}
let comments = this.findAll('[data-path^="comments."]')
for(let comment of comments) {
let chunks = comment.dataset.path.split('.')
if(chunks.length > 2 && comment.value != '') {
let trigger = this.find(`li[data-target=${chunks[2]}]`)
if(trigger) trigger.setAttribute('warning', '')
}
}
if(data.documents && data.documents.length > 0) {
for(let document of data.documents[0].attachments) {
let url = app.config.api['/files'].get.uri
url = url.replace('{id}', document.id)
let alert = ui.create(`<div eicalert info><a href="${url}" noroute target="_blank">Download report as PDF</a></div>`)
this.find('.files').append(alert);
}
}
this.container.loading = false;
this._busy = false;
}
enableEditing(value) {
let fields = this.form.scan(true);
for(let field of fields) {
let component = this.form.element2component(this.formComponents, field.el.name, field.el.dataset.path)
if(component && component.el && component.el.dataset.path.search('form') == 0) {
if(value) {
component.el.dataset.type = component.el.nodeName == 'SELECT' ? 'boolean': 'text'
component.disabled = false;
} else {
component.el.dataset.type = 'ignore'
component.disabled = true;
}
}
}
}
enableReviewing(value) {
let fields = this.form.scan(true);
this.originalComments = [];
for(let field of fields) {
let component = this.form.element2component(this.formComponents, field.el.name, field.el.dataset.path)
if(component && component.el.dataset.path.search('comment') == 0) {
if(value) {
this.originalComments.push({
component: component,
value: component.value
})
component.el.dataset.type = 'text'
component.disabled = false
component.show()
} else {
component.el.dataset.type = 'ignore'
component.disabled = true
component.hide()
let alerts = component.el.parentElement.querySelectorAll('[eicalert]');
for(let alert of alerts) {
alert.remove();
}
if(component.value != '') {
component.el.parentElement.append((new Alert(null, {message: component.value,severity: 'warning'})).el)
}
}
}
}
}
validateForm() {
//let valid = true;
let valid = this.form.validate();
// init tab badges
//let triggers = [].concat( this.formView.tabTech.triggers, this.formView.tabMarket.triggers )
console.log(this.formView.getTriggers())
let triggers = this.formView.getTriggers();
for(let trigger of triggers) {
let badge = new Badge(trigger.querySelector('[eicbadge]'))
badge.value = ''
}
// mark tabs on error
if(!valid) {
let errors = this.findAll('.validation-failed textarea, .validation-failed select')
for(let error of errors) {
let path = error.dataset.path.split('.')
let trigger = triggers.find(el => el.dataset.target == path[2]);
// todo make it count
if(trigger) {
let badge = new Badge(trigger.querySelector('[eicbadge]'))
badge.value = parseInt(badge.value || 0) + 1;
}
}
}
/**/
return valid;
}
autoValidate() { this.validateForm(); }
reject() {
let container = this.find('footer .actions');
container.innerHTML = '';
for(let action of this.reviewActions) container.append(action.ctrl.el)
this.enableReviewing(true);
}
cancelReview() {
let container = this.find('footer .actions');
container.innerHTML = '';
for(let comment of this.originalComments) {
comment.component.value = comment.value;
}
for(let action of this.availableActions) container.append(action.ctrl.el)
this.enableReviewing(false);
}
commitReview() {
for(let action of this.reviewActions) action.ctrl.disabled = true;
this.reviewActions.find(o => o.id == 'commitReview').ctrl.loading = true;
let payload = this.form.value;
this.techdd.comment('rejecting', this.projectNumber, this.nodeType, this.nodeId, payload)
.then( () => {
for(let action of this.reviewActions) action.ctrl.disabled = false;
this.reviewActions.find(o => o.id == 'commitReview').ctrl.loading = false;
this.reviewActions.find(o => o.id == 'commitReview').ctrl.disabled = this.autoSave;
app.events.trigger('project_node_updated', {node: this.nodeType, nodeId: this.nodeId});
},
() => {
for(let action of this.reviewActions) action.ctrl.disabled = false;
this.reviewActions.find(o => o.id == 'commitReview').ctrl.loading = false;
this.reviewActions.find(o => o.id == 'commitReview').ctrl.disabled = this.autoSave;
})
}
approve() {
for(let action of this.availableActions) action.ctrl.disabled = true;
this.availableActions.find(o => o.id == 'approve').ctrl.loading = true;
let payload = this.form.value;
payload.comments = {};
this.techdd.comment('reviewing', this.projectNumber, this.nodeType, this.nodeId, payload)
.then( () => {
for(let action of this.availableActions) action.ctrl.disabled = false;
this.availableActions.find(o => o.id == 'approve').ctrl.loading = false;
app.events.trigger('project_node_updated', {node: this.nodeType, nodeId: this.nodeId});
},
() => {
for(let action of this.availableActions) action.ctrl.disabled = false;
this.availableActions.find(o => o.id == 'approve').ctrl.loading = false;
})
}
commitConsult() {
for(let action of this.reviewActions) action.ctrl.disabled = true;
this.reviewActions.find(o => o.id == 'commitReview').ctrl.loading = true;
let payload = this.form.value;
this.techdd.comment('reviewing', this.projectNumber, this.nodeType, this.nodeId, payload)
.then( () => {
for(let action of this.reviewActions) action.ctrl.disabled = false;
this.reviewActions.find(o => o.id == 'commitReview').ctrl.loading = false;
app.events.trigger('project_node_updated', {node: this.nodeType, nodeId: this.nodeId});
},
() => {
for(let action of this.reviewActions) action.ctrl.disabled = false;
this.reviewActions.find(o => o.id == 'commitReview').ctrl.loading = false;
})
}
save() {
if(!app.User.isAuthenticated || this._busy) return;
this.validateForm()
for(let action of this.availableActions) action.ctrl.disabled = true;
this.availableActions.find(o => o.id == 'save').ctrl.loading = true;
let payload = this.form.value;
this.techdd.process('saving', this.projectNumber, this.nodeType, this.nodeId, payload)
.then( payload => {
for(let action of this.availableActions) action.ctrl.disabled = false;
this.availableActions.find(o => o.id == 'save').ctrl.loading = false;
this.availableActions.find(o => o.id == 'save').ctrl.disabled = this.autoSave;
this.availableActions.find(o => o.id == 'cancel').ctrl.disabled = this.autoSave;
this.originalForm.form = payload.form;
},
() => {
for(let action of this.availableActions) action.ctrl.disabled = false;
this.availableActions.find(o => o.id == 'save').ctrl.loading = false;
this.availableActions.find(o => o.id == 'save').ctrl.disabled = this.autoSave;
this.availableActions.find(o => o.id == 'cancel').ctrl.disabled = this.autoSave;
})
}
submit() {
for(let action of this.availableActions) action.ctrl.disabled = true;
this.availableActions.find(o => o.id == 'submit').ctrl.loading = true;
if(this.validateForm()) {
let payload = this.form.value;
this.autoSave = false;
this.techdd.process('submitting', this.projectNumber, this.nodeType, this.nodeId, payload)
.then( () => {
for(let action of this.availableActions) action.ctrl.disabled = false;
this.availableActions.find(o => o.id == 'submit').ctrl.loading = false;
app.events.trigger('project_node_updated', {node: this.nodeType, nodeId: this.nodeId});
},
() => {
for(let action of this.availableActions) action.ctrl.disabled = false;
this.availableActions.find(o => o.id == 'submit').ctrl.loading = false;
})
} else {
for(let action of this.availableActions) action.ctrl.disabled = false;
this.availableActions.find(o => o.id == 'submit').ctrl.loading = false;
ui.growl.append('The form still contains issues', 'danger')
}
}
cancel() {
this.form.fill(this.components,this.originalForm)
}
async abort() {
let success = await this.openDialog(
await this.loadContent(
'projects/icmp/project/dialogs/ICMPNodeActionConfirmDialog',
{
title: 'Dismiss expert and report',
subtitle: 'You are about to dismiss this report. Another expert will be assigned to this task.'
},
{
models: {
node: this.techdd
},
number: this.projectNumber,
type: this.nodeType,
nodeId: this.nodeId,
report: this.form.value,
action: 'aborting'
}
)
);
if(success) {
app.events.trigger('project_node_updated', {node: this.nodeType, nodeId: this.nodeId});
}
}
async validate() {
let success = await this.openDialog(
await this.loadContent(
'projects/icmp/project/dialogs/ICMPNodeActionConfirmDialog',
{
title: 'Validate this report',
subtitle: 'You are about to approve this report and complete Technical Due Diligence'
},
{
models: {
node: this.techdd
},
number: this.projectNumber,
type: this.nodeType,
nodeId: this.nodeId,
report: this.form.value,
action: 'validating'
}
)
);
if(success) {
app.events.trigger('project_node_updated', {node: this.nodeType, nodeId: this.nodeId});
}
}
async review() {
let success = await this.openDialog(
await this.loadContent(
'projects/icmp/project/dialogs/ICMPNodeActionConfirmDialog',
{ title: 'Send this report for reviewing' },
{
models: {
node: this.techdd
},
number: this.projectNumber,
type: this.nodeType,
nodeId: this.nodeId,
report: this.form.value,
action: 'reviewing'
}
)
)
if(success) {
app.events.trigger('project_node_updated', {node: this.nodeType, nodeId: this.nodeId});
}
}
onAutoSaveToggle(value, toggler) {
if(value == 'true') {
toggler.severity = 'primary'
this.autoSave = true;
} else {
toggler.severity = 'secondary'
this.autoSave = false;
}
this.availableActions.find(o => o.id == 'save').ctrl.disabled = this.autoSave;
this.availableActions.find(o => o.id == 'cancel').ctrl.disabled = this.autoSave;
}
onAutoSave() { this.save(); }
}
app.registerClass('ProjectFundingTechDDView',ProjectFundingTechDDView);
@@ -0,0 +1,10 @@
<style>
.project-node-process-confirm {
min-width: 40vw;
min-height: 40vh;
}
.project-node-process-confirm textarea { height:320px; }
</style>
<div class="project-node-process-confirm">
<textarea eictextarea name="justification" placeholder="Comments about this action" class="required"></textarea>
</div>
@@ -0,0 +1,47 @@
class ICMPNodeActionConfirmDialog extends EICDialogContent {
actions = [
{
label: 'cancel',
onclick: this.cancel.bind(this),
severity: 'secondary',
role: 'cancel'
},
{
label: 'proceed',
onclick: this.process.bind(this),
severity: 'primary',
role: 'process'
}
]
async DOMContentLoaded(options) {
this.node = options.models.node;
this.action = options.action
this.number = options.number
this.type = options.type
this.nodeId = options.nodeId
this.report = options.report
console.log(options)
console.log(this)
}
DOMContentFocused() {
ui.eicfy(this.el);
this.form = new Form(this.el);
}
process() {
let payload = {
status: this.action,
form: this.report
};
payload = {...payload, ...this.form.value}
this.node.process(this.action, this.number, this.type, this.nodeId, payload)
.then( this.commit );
}
}
app.registerClass('ICMPNodeActionConfirmDialog', ICMPNodeActionConfirmDialog);
@@ -0,0 +1,434 @@
<form>
<h2>1. Focus on the technology</h2>
<div class="cols-2 left tech">
<input type="hidden" name="form.version" data-path="" value="1.0" />
<input type="hidden" name="status" data-path="" value="" />
<div class="tabs-extended vertical">
<section>
<menu eictab>
<li data-target="attributes">Attributes<span xxsmall eicbadge danger></span></li>
<li data-target="protection">Protection<span xxsmall eicbadge danger></span></li>
<li data-target="validity">Validity<span xxsmall eicbadge danger></span></li>
<li data-target="commercialisation">Commercialisation<span xxsmall eicbadge danger></span></li>
<li data-target="milestones">Milestones<span xxsmall eicbadge danger></span></li>
<li data-target="production">Value Chain<span xxsmall eicbadge danger></span></li>
<li data-target="compliance">Compliance<span xxsmall eicbadge danger></span></li>
<li data-target="feedbacks">Feedbacks<span xxsmall eicbadge danger></span></li>
</menu>
</section>
</div>
<div>
<article eiccard>
<header>
<h1>1.1. Attributes</h1>
<h2>qualities, shortcomings, use and possible extension</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.technology.attributes" class="required" hint="Please try to provide an answer around 2500 chars length." maxlen="3500"></textarea>
<textarea eictextarea name="abstract" data-path="comments.technology.attributes" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.technology.attributes" class="required" hint="Please try to provide an answer around 4000 chars length." maxlen="6000"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.technology.attributes" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.technology.attributes" class="required" hint="Please try to provide an answer around 2000 chars length." maxlen="3000"></textarea>
<textarea eictextarea name="risks" data-path="comments.technology.attributes" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>1.2. Protection</h1>
<h2>patents, copyrights, trade secret, know-ho</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.technology.protection" class="required" hint="Please try to provide an answer around 2500 chars length." maxlen="3500"></textarea>
<textarea eictextarea name="abstract" data-path="comments.technology.protection" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.technology.protection" class="required" hint="Please try to provide an answer around 4000 chars length." maxlen="6000"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.technology.protection" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.technology.protection" class="required" hint="Please try to provide an answer around 2000 chars length." maxlen="3000"></textarea>
<textarea eictextarea name="risks" data-path="comments.technology.protection" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>1.3. Validity</h1>
<h2>development plan, tests, prototype, demo, scalability</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.technology.validity" class="required" hint="Please try to provide an answer around 2500 chars length." maxlen="3500"></textarea>
<textarea eictextarea name="abstract" data-path="comments.technology.validity" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.technology.validity" class="required" hint="Please try to provide an answer around 4000 chars length." maxlen="6000"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.technology.validity" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.technology.validity" class="required" hint="Please try to provide an answer around 2000 chars length." maxlen="3000"></textarea>
<textarea eictextarea name="risks" data-path="comments.technology.validity" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>1.4. Commercialisation</h1>
<h2>time and costs to develop, barriers and risks</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.technology.commercialisation" class="required" hint="Please try to provide an answer around 2500 chars length." maxlen="3500"></textarea>
<textarea eictextarea name="abstract" data-path="comments.technology.commercialisation" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.technology.commercialisation" class="required" hint="Please try to provide an answer around 4000 chars length." maxlen="6000"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.technology.commercialisation" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.technology.commercialisation" class="required" hint="Please try to provide an answer around 2000 chars length." maxlen="3000"></textarea>
<textarea eictextarea name="risks" data-path="comments.technology.commercialisation" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>1.5. Milestones</h1>
<h2>Expert opinion: clear, complete, realistic? Costs and timing precisely explained?</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.technology.milestones" class="required" hint="Please try to provide an answer around 2500 chars length." maxlen="3500"></textarea>
<textarea eictextarea name="abstract" data-path="comments.technology.milestones" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.technology.milestones" class="required" hint="Please try to provide an answer around 4000 chars length." maxlen="6000"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.technology.milestones" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.technology.milestones" class="required" hint="Please try to provide an answer around 2000 chars length." maxlen="3000"></textarea>
<textarea eictextarea name="risks" data-path="comments.technology.milestones" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>1.6. Value Chain</h1>
<h2>internal / external, supply chain, suppliers</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.technology.production" class="required" hint="Please try to provide an answer around 2500 chars length." maxlen="3500"></textarea>
<textarea eictextarea name="abstract" data-path="comments.technology.production" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.technology.production" class="required" hint="Please try to provide an answer around 4000 chars length." maxlen="6000"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.technology.production" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.technology.production" class="required" hint="Please try to provide an answer around 2000 chars length." maxlen="3000"></textarea>
<textarea eictextarea name="risks" data-path="comments.technology.production" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>1.7. Compliance</h1>
<h2>current / future regulations, industry standards</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.technology.compliance" class="required" hint="Please try to provide an answer around 2500 chars length." maxlen="3500"></textarea>
<textarea eictextarea name="abstract" data-path="comments.technology.compliance" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.technology.compliance" class="required" hint="Please try to provide an answer around 4000 chars length." maxlen="6000"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.technology.compliance" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.technology.compliance" class="required" hint="Please try to provide an answer around 2000 chars length." maxlen="3000"></textarea>
<textarea eictextarea name="risks" data-path="comments.technology.compliance" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>1.8. Feedbacks</h1>
<h2>from tests, lab results, prototypes, customers</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.technology.feedbacks" class="required" hint="Please try to provide an answer around 2500 chars length." maxlen="3000"></textarea>
<textarea eictextarea name="abstract" data-path="comments.technology.feedbacks" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.technology.feedbacks" class="required" hint="Please try to provide an answer around 4000 chars length." maxlen="6000"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.technology.feedbacks" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.technology.feedbacks" class="required" hint="Please try to provide an answer around 2000 chars length." maxlen="3000"></textarea>
<textarea eictextarea name="risks" data-path="comments.technology.feedbacks" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
</div>
</div>
<h2>2. Focus on the market</h2>
<div class="cols-2 left market">
<div class="tabs-extended vertical">
<section>
<menu eictab>
<li data-target="landscape">Landscape<span xxsmall eicbadge danger></span></li>
<li data-target="ecosystem">Ecosystem<span xxsmall eicbadge danger></span></li>
<li data-target="positioning">Positioning<span xxsmall eicbadge danger></span></li>
<li data-target="competition">Competition<span xxsmall eicbadge danger></span></li>
<li data-target="opportunities">Opportunities<span xxsmall eicbadge danger></span></li>
</menu>
</section>
</div>
<div>
<article eiccard>
<header>
<h1>2.1. Landscape</h1>
<h2>market shares, trends, cycles, segments, regulations</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.market.landscape" class="required" hint="Please try to provide an answer around 2500 chars length." maxlen="3500"></textarea>
<textarea eictextarea name="abstract" data-path="comments.market.landscape" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.market.landscape" class="required" hint="Please try to provide an answer around 4000 chars length." maxlen="6000"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.market.landscape" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.market.landscape" class="required" hint="Please try to provide an answer around 2000 chars length." maxlen="3000"></textarea>
<textarea eictextarea name="risks" data-path="comments.market.landscape" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>2.2. Ecosystem</h1>
<h2>actors and interactions (including competitors)</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.market.ecosystem" class="required" hint="Please try to provide an answer around 2500 chars length." maxlen="3500"></textarea>
<textarea eictextarea name="abstract" data-path="comments.market.ecosystem" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.market.ecosystem" class="required" hint="Please try to provide an answer around 4000 chars length." maxlen="6000"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.market.ecosystem" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.market.ecosystem" class="required" hint="Please try to provide an answer around 2000 chars length." maxlen="3000"></textarea>
<textarea eictextarea name="risks" data-path="comments.market.ecosystem" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>2.3. Positioning</h1>
<h2>USP, alternatives, substitutes, comparaison</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.market.positioning" class="required" hint="Please try to provide an answer around 2500 chars length." maxlen="3500"></textarea>
<textarea eictextarea name="abstract" data-path="comments.market.positioning" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.market.positioning" class="required" hint="Please try to provide an answer around 4000 chars length." maxlen="6000"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.market.positioning" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.market.positioning" class="required" hint="Please try to provide an answer around 2000 chars length." maxlen="3000"></textarea>
<textarea eictextarea name="risks" data-path="comments.market.positioning" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>2.4. Competition</h1>
<h2>who, how far, what traction, what funding</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.market.competition" class="required" hint="Please try to provide an answer around 2500 chars length." maxlen="3500"></textarea>
<textarea eictextarea name="abstract" data-path="comments.market.competition" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.market.competition" class="required" hint="Please try to provide an answer around 4000 chars length." maxlen="6000"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.market.competition" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.market.competition" class="required" hint="Please try to provide an answer around 2000 chars length." maxlen="3000"></textarea>
<textarea eictextarea name="risks" data-path="comments.market.competition" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>2.5. Opportunities</h1>
<h2>procurement, expansion, export, trade</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.market.opportunities" class="required" hint="Please try to provide an answer around 2500 chars length." maxlen="3500"></textarea>
<textarea eictextarea name="abstract" data-path="comments.market.opportunities" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.market.opportunities" class="required" hint="Please try to provide an answer around 4000 chars length." maxlen="6000"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.market.opportunities" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.market.opportunities" class="required" hint="Please try to provide an answer around 2000 chars length." maxlen="3000"></textarea>
<textarea eictextarea name="risks" data-path="comments.market.opportunities" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
</div>
</div>
<h2>3. Focus on Strategy and business matters</h2>
<div class="cols-2 left strategy">
<div class="tabs-extended vertical">
<section>
<menu eictab>
<li data-target="team">Team<span xxsmall eicbadge danger></span></li>
<li data-target="scalability">Scalability<span xxsmall eicbadge danger></span></li>
</menu>
</section>
</div>
<article eiccard>
<header>
<h1>3.1. Team</h1>
<h2>Team sizing, key profiles, hiring, critical external collaborations.</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.strategy.team" class="required" hint="Please try to provide an answer around 2500 chars length." maxlen="3500"></textarea>
<textarea eictextarea name="abstract" data-path="comments.strategy.team" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.strategy.team" class="required" hint="Please try to provide an answer around 4000 chars length." maxlen="5000"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.strategy.team" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.strategy.team" class="required" hint="Please try to provide an answer around 2000 chars length." maxlen="3000"></textarea>
<textarea eictextarea name="risks" data-path="comments.strategy.team" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>3.2. Scalability</h1>
<h2>Growth speed, reach profitability</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.strategy.scalability" class="required" hint="Please try to provide an answer around 2500 chars length." maxlen="3500"></textarea>
<textarea eictextarea name="abstract" data-path="comments.strategy.scalability" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.strategy.scalability" class="required" hint="Please try to provide an answer around 4000 chars length." maxlen="5000"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.strategy.scalability" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.strategy.scalability" class="required" hint="Please try to provide an answer around 2000 chars length." maxlen="3000"></textarea>
<textarea eictextarea name="risks" data-path="comments.strategy.scalability" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
</div>
<h2>General conclusions and recommendations</h2>
<div>
<label>Is the technology in combination with the company investable or not?</label>
<div class="cols-3">
<select eicselect name="choice" data-path="form.conclusion.combination" data-type="boolean" class="required">
<option></option>
<option value="true">Yes</option>
<option value="false">No</option>
</select>
</div>
<textarea eictextarea name="justification" data-path="form.conclusion.combination" class="required" hint="Please try to provide an answer between 3200 and 4000 chars." maxlen="7000" placeholder="please explain"></textarea>
<textarea eictextarea name="justification" data-path="comments.conclusion.combination" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Did you identify issues or short comings? Should this be the case can you suggest recommendations to address them.</label>
<div class="cols-3">
<select eicselect name="choice" data-path="form.conclusion.issues" data-type="boolean" class="required">
<option></option>
<option value="true">Yes</option>
<option value="false">No</option>
</select>
</div>
<textarea eictextarea name="justification" data-path="form.conclusion.issues" class="required" hint="Please try to provide an answer between 3200 and 4000 chars." maxlen="7000" placeholder="please explain"></textarea>
<textarea eictextarea name="justification" data-path="comments.conclusion.issues" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>In your opinion is the project aligned with the objectives of the EC funds on Deep tech, strategic priorities and sovereignity concerns?</label>
<div class="cols-3">
<select eicselect name="choice" data-path="form.conclusion.alignment" data-type="boolean" class="required">
<option></option>
<option value="true">Yes</option>
<option value="false">No</option>
</select>
</div>
<textarea eictextarea name="justification" data-path="form.conclusion.alignment" class="required" hint="Please try to provide an answer between 3200 and 4000 chars." maxlen="7000" placeholder="please explain"></textarea>
<textarea eictextarea name="justification" data-path="comments.conclusion.alignment" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</form>
@@ -0,0 +1,22 @@
/**
*
*/
class ICMPFormTechddV1EnhancedView extends ICMPFormTechddV1View {
DOMContentLoaded(options) {
super.DOMContentLoaded(options);
this.tabStrategy = new Tab();
this.tabStrategy.addTabs(
this.findAll('.strategy .tabs-extended menu li'),
this.findAll('.strategy article')
);
}
getTriggers() {
return [].concat( this.tabTech.triggers, this.tabMarket.triggers, this.tabStrategy.triggers )
}
}
app.registerClass('ICMPFormTechddV1EnhancedView',ICMPFormTechddV1EnhancedView);
@@ -0,0 +1,460 @@
<form>
<h2>Focus on the technology</h2>
<div class="cols-2 left tech">
<input type="hidden" name="form.version" data-path="" value="1.0" />
<input type="hidden" name="status" data-path="" value="" />
<div class="tabs-extended vertical">
<section>
<menu eictab>
<li data-target="attributes">Attributes<span xxsmall eicbadge danger></span></li>
<li data-target="protection">Protection<span xxsmall eicbadge danger></span></li>
<li data-target="validity">Validity<span xxsmall eicbadge danger></span></li>
<li data-target="commercialisation">Commercialisation<span xxsmall eicbadge danger></span></li>
<li data-target="milestones">Milestones<span xxsmall eicbadge danger></span></li>
<li data-target="production">Value Chain<span xxsmall eicbadge danger></span></li>
<li data-target="compliance">Compliance<span xxsmall eicbadge danger></span></li>
<li data-target="feedbacks">Feedbacks<span xxsmall eicbadge danger></span></li>
</menu>
</section>
</div>
<div>
<article eiccard>
<header>
<h1>1.1. Attributes</h1>
<h2>qualities, shortcomings, use and possible extension</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.technology.attributes" class="required" hint="Please try to provide an answer around 4500 chars length." maxlen="6500"></textarea>
<textarea eictextarea name="abstract" data-path="comments.technology.attributes" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.technology.attributes" class="required" hint="Please try to provide an answer around 6000 chars length." maxlen="9000"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.technology.attributes" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.technology.attributes" class="required" hint="Please try to provide an answer around 4500 chars length." maxlen="6000"></textarea>
<textarea eictextarea name="risks" data-path="comments.technology.attributes" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>1.2. Protection</h1>
<h2>patents, copyrights, trade secret, know-ho</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.technology.protection" class="required" hint="Please try to provide an answer around 4500 chars length." maxlen="6500"></textarea>
<textarea eictextarea name="abstract" data-path="comments.technology.protection" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.technology.protection" class="required" hint="Please try to provide an answer around 6000 chars length." maxlen="9000"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.technology.protection" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.technology.protection" class="required" hint="Please try to provide an answer around 4500 chars length." maxlen="6000"></textarea>
<textarea eictextarea name="risks" data-path="comments.technology.protection" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>1.3. Validity</h1>
<h2>development plan, tests, prototype, demo, scalability</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.technology.validity" class="required" hint="Please try to provide an answer around 4500 chars length." maxlen="6500"></textarea>
<textarea eictextarea name="abstract" data-path="comments.technology.validity" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.technology.validity" class="required" hint="Please try to provide an answer around 6000 chars length." maxlen="9000"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.technology.validity" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.technology.validity" class="required" hint="Please try to provide an answer around 4500 chars length." maxlen="6000"></textarea>
<textarea eictextarea name="risks" data-path="comments.technology.validity" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>1.4. Commercialisation</h1>
<h2>time and costs to develop, barriers and risks</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.technology.commercialisation" class="required" hint="Please try to provide an answer around 4500 chars length." maxlen="6500"></textarea>
<textarea eictextarea name="abstract" data-path="comments.technology.commercialisation" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.technology.commercialisation" class="required" hint="Please try to provide an answer around 6000 chars length." maxlen="9000"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.technology.commercialisation" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.technology.commercialisation" class="required" hint="Please try to provide an answer around 4500 chars length." maxlen="6000"></textarea>
<textarea eictextarea name="risks" data-path="comments.technology.commercialisation" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>1.5. Milestones</h1>
<h2>Expert opinion: clear, complete, realistic? Costs and timing precisely explained?</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.technology.milestones" class="required" hint="Please try to provide an answer around 4500 chars length." maxlen="6500"></textarea>
<textarea eictextarea name="abstract" data-path="comments.technology.milestones" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.technology.milestones" class="required" hint="Please try to provide an answer around 6000 chars length." maxlen="9000"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.technology.milestones" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.technology.milestones" class="required" hint="Please try to provide an answer around 4500 chars length." maxlen="6000"></textarea>
<textarea eictextarea name="risks" data-path="comments.technology.milestones" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>1.6. Value Chain</h1>
<h2>internal / external, supply chain, suppliers</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.technology.production" class="required" hint="Please try to provide an answer around 4500 chars length." maxlen="6500"></textarea>
<textarea eictextarea name="abstract" data-path="comments.technology.production" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.technology.production" class="required" hint="Please try to provide an answer around 6000 chars length." maxlen="9000"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.technology.production" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.technology.production" class="required" hint="Please try to provide an answer around 4500 chars length." maxlen="6000"></textarea>
<textarea eictextarea name="risks" data-path="comments.technology.production" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>1.7. Compliance</h1>
<h2>current / future regulations, industry standards</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.technology.compliance" class="required" hint="Please try to provide an answer around 4500 chars length." maxlen="6500"></textarea>
<textarea eictextarea name="abstract" data-path="comments.technology.compliance" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.technology.compliance" class="required" hint="Please try to provide an answer around 6000 chars length." maxlen="9000"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.technology.compliance" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.technology.compliance" class="required" hint="Please try to provide an answer around 4500 chars length." maxlen="6000"></textarea>
<textarea eictextarea name="risks" data-path="comments.technology.compliance" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>1.8. Feedbacks</h1>
<h2>from tests, lab results, prototypes, customers</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.technology.feedbacks" class="required" hint="Please try to provide an answer around 2500 chars length." maxlen="3000"></textarea>
<textarea eictextarea name="abstract" data-path="comments.technology.feedbacks" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.technology.feedbacks" class="required" hint="Please try to provide an answer around 6000 chars length." maxlen="9000"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.technology.feedbacks" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.technology.feedbacks" class="required" hint="Please try to provide an answer around 4500 chars length." maxlen="6000"></textarea>
<textarea eictextarea name="risks" data-path="comments.technology.feedbacks" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
</div>
</div>
<h2>2. Focus on the market</h2>
<div class="cols-2 left market">
<div class="tabs-extended vertical">
<section>
<menu eictab>
<li data-target="landscape">Landscape<span xxsmall eicbadge danger></span></li>
<li data-target="ecosystem">Ecosystem<span xxsmall eicbadge danger></span></li>
<li data-target="positioning">Positioning<span xxsmall eicbadge danger></span></li>
<li data-target="competition">Competition<span xxsmall eicbadge danger></span></li>
<li data-target="opportunities">Opportunities<span xxsmall eicbadge danger></span></li>
</menu>
</section>
</div>
<div>
<article eiccard>
<header>
<h1>2.1. Landscape</h1>
<h2>market shares, trends, cycles, segments, regulations</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.market.landscape" class="required" hint="Please try to provide an answer around 4500 chars length." maxlen="6500"></textarea>
<textarea eictextarea name="abstract" data-path="comments.market.landscape" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.market.landscape" class="required" hint="Please try to provide an answer around 6000 chars length." maxlen="9000"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.market.landscape" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.market.landscape" class="required" hint="Please try to provide an answer around 4500 chars length." maxlen="6000"></textarea>
<textarea eictextarea name="risks" data-path="comments.market.landscape" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>2.2. Ecosystem</h1>
<h2>actors and interactions (including competitors)</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.market.ecosystem" class="required" hint="Please try to provide an answer around 4500 chars length." maxlen="6500"></textarea>
<textarea eictextarea name="abstract" data-path="comments.market.ecosystem" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.market.ecosystem" class="required" hint="Please try to provide an answer around 6000 chars length." maxlen="9000"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.market.ecosystem" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.market.ecosystem" class="required" hint="Please try to provide an answer around 4500 chars length." maxlen="6000"></textarea>
<textarea eictextarea name="risks" data-path="comments.market.ecosystem" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>2.3. Positioning</h1>
<h2>USP, alternatives, substitutes, comparaison</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.market.positioning" class="required" hint="Please try to provide an answer around 4500 chars length." maxlen="6500"></textarea>
<textarea eictextarea name="abstract" data-path="comments.market.positioning" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.market.positioning" class="required" hint="Please try to provide an answer around 6000 chars length." maxlen="9000"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.market.positioning" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.market.positioning" class="required" hint="Please try to provide an answer around 4500 chars length." maxlen="6000"></textarea>
<textarea eictextarea name="risks" data-path="comments.market.positioning" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>2.4. Competition</h1>
<h2>who, how far, what traction, what funding</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.market.competition" class="required" hint="Please try to provide an answer around 4500 chars length." maxlen="6500"></textarea>
<textarea eictextarea name="abstract" data-path="comments.market.competition" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.market.competition" class="required" hint="Please try to provide an answer around 6000 chars length." maxlen="9000"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.market.competition" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.market.competition" class="required" hint="Please try to provide an answer around 4500 chars length." maxlen="6000"></textarea>
<textarea eictextarea name="risks" data-path="comments.market.competition" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>2.5. Opportunities</h1>
<h2>procurement, expansion, export, trade</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.market.opportunities" class="required" hint="Please try to provide an answer around 4500 chars length." maxlen="6500"></textarea>
<textarea eictextarea name="abstract" data-path="comments.market.opportunities" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.market.opportunities" class="required" hint="Please try to provide an answer around 6000 chars length." maxlen="9000"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.market.opportunities" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.market.opportunities" class="required" hint="Please try to provide an answer around 4500 chars length." maxlen="6000"></textarea>
<textarea eictextarea name="risks" data-path="comments.market.opportunities" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
</div>
</div>
</div>
<h2>3. Focus on Strategy and business matters</h2>
<div class="cols-2 left strategy">
<div class="tabs-extended vertical">
<section>
<menu eictab>
<li data-target="team">Team<span xxsmall eicbadge danger></span></li>
<li data-target="scalability">Scalability<span xxsmall eicbadge danger></span></li>
<li data-target="business">Business model<span xxsmall eicbadge danger></span></li>
</menu>
</section>
</div>
<article eiccard>
<header>
<h1>3.1. Team</h1>
<h2>Team sizing, key profiles, hiring, critical external collaborations.</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.strategy.team" class="required" hint="Please try to provide an answer around 4500 chars length." maxlen="6500"></textarea>
<textarea eictextarea name="abstract" data-path="comments.strategy.team" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.strategy.team" class="required" hint="Please try to provide an answer around 6000 chars length." maxlen="9000"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.strategy.team" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.strategy.team" class="required" hint="Please try to provide an answer around 4500 chars length." maxlen="6000"></textarea>
<textarea eictextarea name="risks" data-path="comments.strategy.team" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>3.2. Scalability</h1>
<h2>Growth speed, reach profitability</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.strategy.scalability" class="required" hint="Please try to provide an answer around 4500 chars length." maxlen="6500"></textarea>
<textarea eictextarea name="abstract" data-path="comments.strategy.scalability" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.strategy.scalability" class="required" hint="Please try to provide an answer around 6000 chars length." maxlen="9000"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.strategy.scalability" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.strategy.scalability" class="required" hint="Please try to provide an answer around 4500 chars length." maxlen="6000"></textarea>
<textarea eictextarea name="risks" data-path="comments.strategy.scalability" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>3.3. Business model</h1>
<h2>Key revenues, Capex, Cost assumptions in the Business model</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.strategy.business" class="required" hint="Please try to provide an answer around 4500 chars length." maxlen="6500"></textarea>
<textarea eictextarea name="abstract" data-path="comments.strategy.business" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.strategy.business" class="required" hint="Please try to provide an answer around 6000 chars length." maxlen="9000"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.strategy.business" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.strategy.business" class="required" hint="Please try to provide an answer around 4500 chars length." maxlen="6000"></textarea>
<textarea eictextarea name="risks" data-path="comments.strategy.business" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
</div>
<h2>General conclusions and recommendations</h2>
<div>
<label>Is the technology in combination with the company investable or not?</label>
<div class="cols-3">
<select eicselect name="choice" data-path="form.conclusion.combination" data-type="boolean" class="required">
<option></option>
<option value="true">Yes</option>
<option value="false">No</option>
</select>
</div>
<textarea eictextarea name="justification" data-path="form.conclusion.combination" class="required" hint="Please try to provide an answer between 3200 and 4000 chars." maxlen="7000" placeholder="please explain"></textarea>
<textarea eictextarea name="justification" data-path="comments.conclusion.combination" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Did you identify issues or short comings? Should this be the case can you suggest recommendations to address them.</label>
<div class="cols-3">
<select eicselect name="choice" data-path="form.conclusion.issues" data-type="boolean" class="required">
<option></option>
<option value="true">Yes</option>
<option value="false">No</option>
</select>
</div>
<textarea eictextarea name="justification" data-path="form.conclusion.issues" class="required" hint="Please try to provide an answer between 3200 and 4000 chars." maxlen="7000" placeholder="please explain"></textarea>
<textarea eictextarea name="justification" data-path="comments.conclusion.issues" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>In your opinion is the project aligned with the objectives of the EC funds on Deep tech, strategic priorities and sovereignity concerns?</label>
<div class="cols-3">
<select eicselect name="choice" data-path="form.conclusion.alignment" data-type="boolean" class="required">
<option></option>
<option value="true">Yes</option>
<option value="false">No</option>
</select>
</div>
<textarea eictextarea name="justification" data-path="form.conclusion.alignment" class="required" hint="Please try to provide an answer between 3200 and 4000 chars." maxlen="7000" placeholder="please explain"></textarea>
<textarea eictextarea name="justification" data-path="comments.conclusion.alignment" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</form>
@@ -0,0 +1,22 @@
/**
*
*/
class ICMPFormTechddV1FullView extends ICMPFormTechddV1View {
DOMContentLoaded(options) {
super.DOMContentLoaded(options);
this.tabStrategy = new Tab();
this.tabStrategy.addTabs(
this.findAll('.strategy .tabs-extended menu li'),
this.findAll('.strategy article')
);
}
getTriggers() {
return [].concat( this.tabTech.triggers, this.tabMarket.triggers, this.tabStrategy.triggers )
}
}
app.registerClass('ICMPFormTechddV1FullView',ICMPFormTechddV1FullView);
@@ -0,0 +1,352 @@
<form>
<h2>1. Focus on the technology</h2>
<div class="cols-2 left tech">
<input type="hidden" name="form.version" data-path="" value="1.0" />
<input type="hidden" name="status" data-path="" value="" />
<div class="tabs-extended vertical">
<section>
<menu eictab>
<li data-target="attributes">Attributes<span xxsmall eicbadge danger></span></li>
<li data-target="protection">Protection<span xxsmall eicbadge danger></span></li>
<li data-target="validity">Validity<span xxsmall eicbadge danger></span></li>
<li data-target="commercialisation">Commercialisation<span xxsmall eicbadge danger></span></li>
<li data-target="milestones">Milestones<span xxsmall eicbadge danger></span></li>
<li data-target="production">Value Chain<span xxsmall eicbadge danger></span></li>
<li data-target="compliance">Compliance<span xxsmall eicbadge danger></span></li>
<li data-target="feedbacks">Feedbacks<span xxsmall eicbadge danger></span></li>
</menu>
</section>
</div>
<div>
<article eiccard>
<header>
<h1>1.1. Attributes</h1>
<h2>qualities, shortcomings, use and possible extension</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.technology.attributes" class="required" hint="Please try to provide an answer around 1500 chars length." maxlen="2000"></textarea>
<textarea eictextarea name="abstract" data-path="comments.technology.attributes" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.technology.attributes" class="required" hint="Please try to provide an answer around 3000 chars length." maxlen="4500"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.technology.attributes" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.technology.attributes" class="required" hint="Please try to provide an answer around 1500 chars length." maxlen="2000"></textarea>
<textarea eictextarea name="risks" data-path="comments.technology.attributes" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>1.2. Protection</h1>
<h2>patents, copyrights, trade secret, know-ho</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.technology.protection" class="required" hint="Please try to provide an answer around 1500 chars length." maxlen="2000"></textarea>
<textarea eictextarea name="abstract" data-path="comments.technology.protection" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.technology.protection" class="required" hint="Please try to provide an answer around 3000 chars length." maxlen="4500"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.technology.protection" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.technology.protection" class="required" hint="Please try to provide an answer around 1500 chars length." maxlen="2000"></textarea>
<textarea eictextarea name="risks" data-path="comments.technology.protection" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>1.3. Validity</h1>
<h2>development plan, tests, prototype, demo, scalability</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.technology.validity" class="required" hint="Please try to provide an answer around 1500 chars length." maxlen="2000"></textarea>
<textarea eictextarea name="abstract" data-path="comments.technology.validity" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.technology.validity" class="required" hint="Please try to provide an answer around 3000 chars length." maxlen="4500"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.technology.validity" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.technology.validity" class="required" hint="Please try to provide an answer around 1500 chars length." maxlen="2000"></textarea>
<textarea eictextarea name="risks" data-path="comments.technology.validity" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>1.4. Commercialisation</h1>
<h2>time and costs to develop, barriers and risks</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.technology.commercialisation" class="required" hint="Please try to provide an answer around 1500 chars length." maxlen="2000"></textarea>
<textarea eictextarea name="abstract" data-path="comments.technology.commercialisation" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.technology.commercialisation" class="required" hint="Please try to provide an answer around 3000 chars length." maxlen="4500"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.technology.commercialisation" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.technology.commercialisation" class="required" hint="Please try to provide an answer around 1500 chars length." maxlen="2000"></textarea>
<textarea eictextarea name="risks" data-path="comments.technology.commercialisation" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>1.5. Milestones</h1>
<h2>Expert opinion: clear, complete, realistic? Costs and timing precisely explained?</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.technology.milestones" class="required" hint="Please try to provide an answer around 1500 chars length." maxlen="2000"></textarea>
<textarea eictextarea name="abstract" data-path="comments.technology.milestones" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.technology.milestones" class="required" hint="Please try to provide an answer around 3000 chars length." maxlen="4500"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.technology.milestones" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.technology.milestones" class="required" hint="Please try to provide an answer around 1500 chars length." maxlen="2000"></textarea>
<textarea eictextarea name="risks" data-path="comments.technology.milestones" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>1.6. Value Chain</h1>
<h2>internal / external, supply chain, suppliers</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.technology.production" class="required" hint="Please try to provide an answer around 1500 chars length." maxlen="2000"></textarea>
<textarea eictextarea name="abstract" data-path="comments.technology.production" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.technology.production" class="required" hint="Please try to provide an answer around 3000 chars length." maxlen="4500"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.technology.production" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.technology.production" class="required" hint="Please try to provide an answer around 1500 chars length." maxlen="2000"></textarea>
<textarea eictextarea name="risks" data-path="comments.technology.production" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>1.7. Compliance</h1>
<h2>current / future regulations, industry standards</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.technology.compliance" class="required" hint="Please try to provide an answer around 1500 chars length." maxlen="2000"></textarea>
<textarea eictextarea name="abstract" data-path="comments.technology.compliance" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.technology.compliance" class="required" hint="Please try to provide an answer around 3000 chars length." maxlen="4500"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.technology.compliance" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.technology.compliance" class="required" hint="Please try to provide an answer around 1500 chars length." maxlen="2000"></textarea>
<textarea eictextarea name="risks" data-path="comments.technology.compliance" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>1.8. Feedbacks</h1>
<h2>from tests, lab results, prototypes, customers</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.technology.feedbacks" class="required" hint="Please try to provide an answer around 1500 chars length." maxlen="2000"></textarea>
<textarea eictextarea name="abstract" data-path="comments.technology.feedbacks" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.technology.feedbacks" class="required" hint="Please try to provide an answer around 3000 chars length." maxlen="4500"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.technology.feedbacks" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.technology.feedbacks" class="required" hint="Please try to provide an answer around 1500 chars length." maxlen="2000"></textarea>
<textarea eictextarea name="risks" data-path="comments.technology.feedbacks" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
</div>
</div>
<h2>2. Focus on the market</h2>
<div class="cols-2 left market">
<div class="tabs-extended vertical">
<section>
<menu eictab>
<li data-target="landscape">Landscape<span xxsmall eicbadge danger></span></li>
<li data-target="ecosystem">Ecosystem<span xxsmall eicbadge danger></span></li>
<li data-target="positioning">Positioning<span xxsmall eicbadge danger></span></li>
<li data-target="competition">Competition<span xxsmall eicbadge danger></span></li>
<li data-target="opportunities">Opportunities<span xxsmall eicbadge danger></span></li>
</menu>
</section>
</div>
<div>
<article eiccard>
<header>
<h1>2.1. Landscape</h1>
<h2>market shares, trends, cycles, segments, regulations</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.market.landscape" class="required" hint="Please try to provide an answer around 1500 chars length." maxlen="2000"></textarea>
<textarea eictextarea name="abstract" data-path="comments.market.landscape" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.market.landscape" class="required" hint="Please try to provide an answer around 3000 chars length." maxlen="4500"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.market.landscape" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.market.landscape" class="required" hint="Please try to provide an answer around 1500 chars length." maxlen="2000"></textarea>
<textarea eictextarea name="risks" data-path="comments.market.landscape" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>2.2. Ecosystem</h1>
<h2>actors and interactions (including competitors)</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.market.ecosystem" class="required" hint="Please try to provide an answer around 1500 chars length." maxlen="2000"></textarea>
<textarea eictextarea name="abstract" data-path="comments.market.ecosystem" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.market.ecosystem" class="required" hint="Please try to provide an answer around 3000 chars length." maxlen="4500"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.market.ecosystem" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.market.ecosystem" class="required" hint="Please try to provide an answer around 1500 chars length." maxlen="2000"></textarea>
<textarea eictextarea name="risks" data-path="comments.market.ecosystem" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>2.3. Positioning</h1>
<h2>USP, alternatives, substitutes, comparaison</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.market.positioning" class="required" hint="Please try to provide an answer around 1500 chars length." maxlen="2000"></textarea>
<textarea eictextarea name="abstract" data-path="comments.market.positioning" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.market.positioning" class="required" hint="Please try to provide an answer around 3000 chars length." maxlen="4500"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.market.positioning" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.market.positioning" class="required" hint="Please try to provide an answer around 1500 chars length." maxlen="2000"></textarea>
<textarea eictextarea name="risks" data-path="comments.market.positioning" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>2.4. Competition</h1>
<h2>who, how far, what traction, what funding</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.market.competition" class="required" hint="Please try to provide an answer around 1500 chars length." maxlen="2000"></textarea>
<textarea eictextarea name="abstract" data-path="comments.market.competition" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.market.competition" class="required" hint="Please try to provide an answer around 3000 chars length." maxlen="4500"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.market.competition" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.market.competition" class="required" hint="Please try to provide an answer around 1500 chars length." maxlen="2000"></textarea>
<textarea eictextarea name="risks" data-path="comments.market.competition" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
<article eiccard>
<header>
<h1>2.5. Opportunities</h1>
<h2>procurement, expansion, export, trade</h2>
</header>
<section>
<div>
<label>Abstract</label>
<textarea eictextarea name="abstract" data-path="form.market.opportunities" class="required" hint="Please try to provide an answer around 1500 chars length." maxlen="2000"></textarea>
<textarea eictextarea name="abstract" data-path="comments.market.opportunities" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Expert opinion</label>
<textarea eictextarea name="expertOpinion" data-path="form.market.opportunities" class="required" hint="Please try to provide an answer around 3000 chars length." maxlen="4500"></textarea>
<textarea eictextarea name="expertOpinion" data-path="comments.market.opportunities" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
<div>
<label>Risk(s)</label>
<textarea eictextarea name="risks" data-path="form.market.opportunities" class="required" hint="Please try to provide an answer around 1500 chars length." maxlen="2000"></textarea>
<textarea eictextarea name="risks" data-path="comments.market.opportunities" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</section>
</article>
</div>
</div>
<h2>General conclusions and recommendations</h2>
<div>
<label>Is the technology in combination with the company investable or not?</label>
<div class="cols-3">
<select eicselect name="combination" data-path="form.conclusion" data-type="boolean" class="required">
<option></option>
<option value="true">Yes</option>
<option value="false">No</option>
</select>
</div>
<textarea eictextarea name="justification" data-path="form.conclusion" class="required" hint="Please try to provide an answer between 3200 and 4000 chars." maxlen="7000" placeholder="please explain"></textarea>
<textarea eictextarea name="justification" data-path="comments.conclusion" class="" hint="" placeholder="Place your comments here"></textarea>
</div>
</form>
@@ -0,0 +1,29 @@
/**
*
*/
class ICMPFormTechddV1View extends EICDomContent {
DOMContentLoaded(options) {
this.components = ui.eicfy(this.el);
//for(let model in options.models) this[model] = options.models[model];
console.log('tabs')
this.tabTech = new Tab();
this.tabTech.addTabs(this.findAll('.tech .tabs-extended menu li'), this.findAll('.tech article'))
this.tabMarket = new Tab();
this.tabMarket.addTabs(this.findAll('.market .tabs-extended menu li'), this.findAll('.market article'))
}
fill(data) {
this.form = new Form(this.find('form'));
this.form.fill(this.components, data);
}
getTriggers() {
return [].concat( this.tabTech.triggers, this.tabMarket.triggers )
}
}
app.registerClass('ICMPFormTechddV1View',ICMPFormTechddV1View);