intervention-pages
Version:
164 lines (163 loc) • 5.23 kB
JavaScript
export class IndicatorIndicator {
constructor() {
this.id = null;
this.title = '';
this.display_type = 'percentage';
this.unit = 'number';
}
}
export class Indicator {
constructor() {
// Indicator
this.id = null;
this.is_active = true;
this.is_high_frequency = false;
this.indicator = new IndicatorIndicator();
this.section = null;
this.baseline = {};
this.target = { d: '1' };
this.means_of_verification = null;
this.locations = [];
this.disaggregation = [];
this.cluster_name = null;
this.cluster_indicator_id = null;
this.cluster_indicator_title = null;
this.response_plan_name = null;
this.numerator_label = '';
this.denominator_label = '';
}
}
export class PlannedBudget {
}
export class InterventionAttachment {
constructor() {
this.active = true;
}
}
export class FrsDetails {
constructor() {
this.currencies_match = false;
this.earliest_start_date = null;
this.frs = [];
this.latest_end_date = null;
this.multi_curr_flag = false;
this.total_actual_amt = 0;
this.total_frs_amt = '0';
this.total_intervention_amt = 0;
this.total_outstanding_amt = 0;
}
}
export class PlannedVisit {
constructor() {
this.id = null;
this.year = null;
this.programmatic_q1 = '0';
this.programmatic_q2 = '0';
this.programmatic_q3 = '0';
this.programmatic_q4 = '0';
}
}
export class InterventionSupplyItem {
constructor() {
this.id = null;
this.title = '';
this.unit_number = undefined;
this.unit_price = undefined;
this.result = '';
this.total_price = undefined;
this.other_mentions = '';
this.intervention = '';
this.outputs = [];
}
}
export class InterventionPermissionsFields {
constructor() {
this.id = false;
this.status = false;
// details - Partnership Information
this.agreement = false;
this.document_type = false;
this.number = false;
this.title = false;
this.offices = false;
this.unicef_focal_points = false;
this.partner_focal_points = false;
// details - PD or SSFA Details
this.contingency_pd = false;
this.country_programme = false;
this.start = false;
this.end = false;
this.sections = false;
this.flat_locations = false;
this.reporting_requirements = false;
// details - PD Output or SSFA Expected results
this.result_links = false;
// details - Planned Budget
this.planned_budget = false;
this.planned_budget_unicef_cash = false; // TODO: this should be also received from backend
// details - Planned Visits
this.planned_visits = false;
this.technical_guidance = false;
this.capacity_development = false;
this.other_partners_involved = false;
this.other_info = false;
// review & sign - Signatures & Dates
this.submission_date = false;
this.submission_date_prc = false;
this.review_date_prc = false;
this.prc_review_attachment = false;
this.partner_authorized_officer_signatory = false;
this.signed_by_partner_date = false;
this.unicef_signatory = false;
this.signed_by_unicef_date = false;
this.signed_pd_attachment = false;
// review & sign - Amendments
this.amendments = false;
// review & sign - FR Numbers
this.frs = false;
this.locations = false;
// attachments
this.attachments = false;
}
}
export class Intervention {
constructor() {
this.id = null;
this.reference_number_year = null;
this.status = '';
this.start = '';
this.end = '';
this.submitted_to_prc = false;
this.unicef_focal_points = [];
this.partner_focal_points = [];
this.partner_vendor = '';
this.offices = [];
this.sections = [];
this.frs = [];
this.frs_details = new FrsDetails();
this.planned_budget = new PlannedBudget();
this.flat_locations = [];
this.result_links = [];
this.planned_visits = [];
this.in_amendment = false;
this.amendments = [];
this.locations = [];
// distributions: [];
this.activation_letter_attachment = null;
this.technical_guidance = '';
this.capacity_development = '';
this.other_partners_involved = '';
this.other_info = '';
this.attachments = [];
}
}
export class InterventionAmendment {
constructor() {
this.amendment_number = null;
this.types = [];
this.other_description = null;
this.signed_date = null;
this.signed_amendment_attachment = null;
this.internal_prc_review = null;
}
}