{"version":3,"file":"main.1df267e2eeb5cdbb.js","mappings":"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AAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;AACb,CAAC,EA1PWA,YAAY,KAAZA,YAAY;AA4PjB,IAAKC,aAsLX;AAtLD,WAAYA,aAAa;EACrBA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;E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TA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;EACTA,YAAA,aAAS;AACb,CAAC,EA1PWA,YAAY,KAAZA,YAAY;AA4PjB,IAAKC,aAsLX;AAtLD,WAAYA,aAAa;EACrBA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eAAW;EACXA,aAAA,eA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","sources":["./src/api-client/integration-api.generated.ts","./src/api-client/report-api.generated.ts","./src/app/api-client/integration-api/integration-api-service.ts","./src/app/api-client/report-api/access-token-service.ts","./src/app/api-client/report-api/app-api-service.ts","./src/app/api-client/report-api/asset-api-service.ts","./src/app/api-client/report-api/calc-factor-api-service.ts","./src/app/api-client/report-api/calculated-data-api-service.ts","./src/app/api-client/report-api/categories-api-service.ts","./src/app/api-client/report-api/chat-ai-service.ts","./src/app/api-client/report-api/country-api-service.ts","./src/app/api-client/report-api/currency-api-service.ts","./src/app/api-client/report-api/data-profile-api-service.ts","./src/app/api-client/report-api/data-record-api-service.ts","./src/app/api-client/report-api/indicator-api-service.ts","./src/app/api-client/report-api/indicator-data-api-service.ts","./src/app/api-client/report-api/indicator-data-source-api-service.ts","./src/app/api-client/report-api/indicator-definition-api-service.ts","./src/app/api-client/report-api/organization-api-service.ts","./src/app/api-client/report-api/region-api-service.ts","./src/app/api-client/report-api/report-api-service.ts","./src/app/api-client/report-api/sector-api-service.ts","./src/app/api-client/report-api/support-topic-api-service.ts","./src/app/api-client/report-api/support-topic-item-api-service.ts","./src/app/api-client/report-api/template-api-service.ts","./src/app/api-client/report-api/topic-item-api-service.ts","./src/app/api-client/report-api/unit-api-service.ts","./src/app/api-client/report-api/user-api-service.ts","./src/app/app-layout/app-layout.component.ts","./src/app/app-layout/app-layout.component.html","./src/app/app-layout/navbar/navbar.component.ts","./src/app/app-layout/navbar/navbar.component.html","./src/app/app-layout/side-navigation/side-navigation.component.ts","./src/app/app-layout/side-navigation/side-navigation.component.html","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/auth-config.ts","./src/app/content/content-configuration.ts","./src/app/content/content-context-menu/content-context-menu.component.ts","./src/app/content/content-context-menu/content-context-menu.component.html","./src/app/content/content-item/content-topbar/content-topbar.component.ts","./src/app/content/content-item/content-topbar/content-topbar.component.html","./src/app/content/content-item/empty-content/empty-content.component.ts","./src/app/content/content-item/empty-content/empty-content.component.html","./src/app/content/content-item/import-from-excel/import-from-excel.component.ts","./src/app/content/content-item/import-from-excel/import-from-excel.component.html","./src/app/content/content-item/indicator-content/indicator-content-set/indicator-content-set.component.ts","./src/app/content/content-item/indicator-content/indicator-content-set/indicator-content-set.component.html","./src/app/content/content-item/indicator-content/indicator-content-substrate-data/indicator-content-substrate-data.component.ts","./src/app/content/content-item/indicator-content/indicator-content-substrate-data/indicator-content-substrate-data.component.html","./src/app/content/content-item/indicator-content/indicator-content-toolbar/indicator-content-toolbar.component.ts","./src/app/content/content-item/indicator-content/indicator-content-toolbar/indicator-content-toolbar.component.html","./src/app/content/content-item/indicator-content/indicator-content.component.ts","./src/app/content/content-item/indicator-content/indicator-content.component.html","./src/app/content/content-item/picture/picture-toolbar/picture-toolbar.component.ts","./src/app/content/content-item/picture/picture-toolbar/picture-toolbar.component.html","./src/app/content/content-item/picture/picture.component.ts","./src/app/content/content-item/picture/picture.component.html","./src/app/content/content-item/text-area/text-area.component.ts","./src/app/content/content-item/text-area/text-area.component.html","./src/app/content/content-item/text-disclosure/text-disclosure-footer/text-disclosure-footer.component.ts","./src/app/content/content-item/text-disclosure/text-disclosure-footer/text-disclosure-footer.component.html","./src/app/content/content-item/text-disclosure/text-disclosure.component.ts","./src/app/content/content-item/text-disclosure/text-disclosure.component.html","./src/app/content/content-list/content-list.component.ts","./src/app/content/content-list/content-list.component.html","./src/app/content/content-list/dynamic-content-item/ad-host.directive.ts","./src/app/content/content-list/dynamic-content-item/dynamic-content-item.component.ts","./src/app/content/content-menu/content-menu.component.ts","./src/app/content/content-menu/content-menu.component.html","./src/app/content/content.component.ts","./src/app/content/content.component.html","./src/app/content/content.module.ts","./src/app/content/dynamic-content-data.ts","./src/app/content/dynamic-content.ts","./src/app/core/app-auth.service.ts","./src/app/core/app-configuration.service.ts","./src/app/core/app-info.service.ts","./src/app/core/error-handling-interceptor.ts","./src/app/core/guards/admin-guard.ts","./src/app/core/guards/super-admin-guard.ts","./src/app/pages-auth/layout.module.ts","./src/app/pages-auth/loading-user/loading-user.component.ts","./src/app/pages-auth/loading-user/loading-user.component.html","./src/app/pages-auth/login-page/login-page.component.ts","./src/app/pages-auth/login-page/login-page.component.html","./src/app/pages/admin/access-token/access-token-page.component.ts","./src/app/pages/admin/access-token/access-token-page.component.html","./src/app/pages/admin/access-token/access-token-state.service.ts","./src/app/pages/admin/admin-indicator-library/admin-indicator-library-state.service.ts","./src/app/pages/admin/admin-indicator-library/admin-indicator-library.component.ts","./src/app/pages/admin/admin-indicator-library/admin-indicator-library.component.html","./src/app/pages/admin/admin-indicator-library/indicator-definition-details/indicator-definition-details-state.service.ts","./src/app/pages/admin/admin-indicator-library/indicator-definition-details/indicator-definition-details.component.ts","./src/app/pages/admin/admin-indicator-library/indicator-definition-details/indicator-definition-details.component.html","./src/app/pages/admin/admin-indicator-library/indicator-definition-table/default-table-definitions.ts","./src/app/pages/admin/admin-indicator-library/indicator-definition-table/indicator-definition-table.component.ts","./src/app/pages/admin/admin-indicator-library/indicator-definition-table/indicator-definition-table.component.html","./src/app/pages/admin/admin-page-state.service.ts","./src/app/pages/admin/admin-page.component.ts","./src/app/pages/admin/admin-page.component.html","./src/app/pages/admin/admin.module.ts","./src/app/pages/admin/calculation-factors/air-emissions-factors/air-emissions-factor-detail/air-emissions-factor-detail-state.service.ts","./src/app/pages/admin/calculation-factors/air-emissions-factors/air-emissions-factor-detail/air-emissions-factor-detail.component.ts","./src/app/pages/admin/calculation-factors/air-emissions-factors/air-emissions-factor-detail/air-emissions-factor-detail.component.html","./src/app/pages/admin/calculation-factors/air-travel-factors/air-travel-factor-detail/air-travel-factor-detail-state.service.ts","./src/app/pages/admin/calculation-factors/air-travel-factors/air-travel-factor-detail/air-travel-factor-detail.component.ts","./src/app/pages/admin/calculation-factors/air-travel-factors/air-travel-factor-detail/air-travel-factor-detail.component.html","./src/app/pages/admin/calculation-factors/calculation-factor-detail-state.service.ts","./src/app/pages/admin/calculation-factors/calculation-factor-detail.component.ts","./src/app/pages/admin/calculation-factors/child-labour-factors/child-labour-factor-detail/child-labour-factor-detail-state.service.ts","./src/app/pages/admin/calculation-factors/child-labour-factors/child-labour-factor-detail/child-labour-factor-detail.component.ts","./src/app/pages/admin/calculation-factors/child-labour-factors/child-labour-factor-detail/child-labour-factor-detail.component.html","./src/app/pages/admin/calculation-factors/corruption-risk-factors/corruption-risk-factor-detail/corruption-risk-factor-detail-state.service.ts","./src/app/pages/admin/calculation-factors/corruption-risk-factors/corruption-risk-factor-detail/corruption-risk-factor-detail.component.ts","./src/app/pages/admin/calculation-factors/corruption-risk-factors/corruption-risk-factor-detail/corruption-risk-factor-detail.component.html","./src/app/pages/admin/calculation-factors/electricity-factors/electricity-factor-detail/electricity-factor-detail-state.service.ts","./src/app/pages/admin/calculation-factors/electricity-factors/electricity-factor-detail/electricity-factor-detail.component.ts","./src/app/pages/admin/calculation-factors/electricity-factors/electricity-factor-detail/electricity-factor-detail.component.html","./src/app/pages/admin/calculation-factors/employee-commuting-factors/employee-commuting-factor-detail/employee-commuting-factor-detail-state.service.ts","./src/app/pages/admin/calculation-factors/employee-commuting-factors/employee-commuting-factor-detail/employee-commuting-factor-detail.component.ts","./src/app/pages/admin/calculation-factors/employee-commuting-factors/employee-commuting-factor-detail/employee-commuting-factor-detail.component.html","./src/app/pages/admin/calculation-factors/env-screening-sector-factors/env-screening-sector-factor-detail/env-screening-sector-factor-detail-state.service.ts","./src/app/pages/admin/calculation-factors/env-screening-sector-factors/env-screening-sector-factor-detail/env-screening-sector-factor-detail.component.ts","./src/app/pages/admin/calculation-factors/env-screening-sector-factors/env-screening-sector-factor-detail/env-screening-sector-factor-detail.component.html","./src/app/pages/admin/calculation-factors/freedom-rights-factors/freedom-rights-factor-detail/freedom-rights-factor-detail-state.service.ts","./src/app/pages/admin/calculation-factors/freedom-rights-factors/freedom-rights-factor-detail/freedom-rights-factor-detail.component.ts","./src/app/pages/admin/calculation-factors/freedom-rights-factors/freedom-rights-factor-detail/freedom-rights-factor-detail.component.html","./src/app/pages/admin/calculation-factors/fuel-combustion-factors/fuel-combustion-factor-detail/fuel-combustion-factor-detail-state.service.ts","./src/app/pages/admin/calculation-factors/fuel-combustion-factors/fuel-combustion-factor-detail/fuel-combustion-factor-detail.component.ts","./src/app/pages/admin/calculation-factors/fuel-combustion-factors/fuel-combustion-factor-detail/fuel-combustion-factor-detail.component.html","./src/app/pages/admin/calculation-factors/fuel-energy-factors/fuel-energy-factor-detail/fuel-energy-factor-detail-state.service.ts","./src/app/pages/admin/calculation-factors/fuel-energy-factors/fuel-energy-factor-detail/fuel-energy-factor-detail.component.ts","./src/app/pages/admin/calculation-factors/fuel-energy-factors/fuel-energy-factor-detail/fuel-energy-factor-detail.component.html","./src/app/pages/admin/calculation-factors/global-warming-potential-factors/global-warming-potential-factor-detail/global-warming-potential-factor-detail-state.service.ts","./src/app/pages/admin/calculation-factors/global-warming-potential-factors/global-warming-potential-factor-detail/global-warming-potential-factor-detail.component.ts","./src/app/pages/admin/calculation-factors/global-warming-potential-factors/global-warming-potential-factor-detail/global-warming-potential-factor-detail.component.html","./src/app/pages/admin/calculation-factors/hotel-nights-factors/hotel-nights-factor-detail/hotel-nights-factor-detail-state.service.ts","./src/app/pages/admin/calculation-factors/hotel-nights-factors/hotel-nights-factor-detail/hotel-nights-factor-detail.component.ts","./src/app/pages/admin/calculation-factors/hotel-nights-factors/hotel-nights-factor-detail/hotel-nights-factor-detail.component.html","./src/app/pages/admin/calculation-factors/labour-rights-factors/labour-rights-factor-detail/labour-rights-factor-detail-state.service.ts","./src/app/pages/admin/calculation-factors/labour-rights-factors/labour-rights-factor-detail/labour-rights-factor-detail.component.ts","./src/app/pages/admin/calculation-factors/labour-rights-factors/labour-rights-factor-detail/labour-rights-factor-detail.component.html","./src/app/pages/admin/calculation-factors/purchased-fish/purchased-fish-factor-detail/purchased-fish-factor-detail-state.service.ts","./src/app/pages/admin/calculation-factors/purchased-fish/purchased-fish-factor-detail/purchased-fish-factor-detail.component.ts","./src/app/pages/admin/calculation-factors/purchased-fish/purchased-fish-factor-detail/purchased-fish-factor-detail.component.html","./src/app/pages/admin/calculation-factors/shared/factor-records-table/factor-records-table.component.ts","./src/app/pages/admin/calculation-factors/shared/factor-records-table/factor-records-table.component.html","./src/app/pages/admin/calculation-factors/shared/factor-version-form/factor-version-form.component.ts","./src/app/pages/admin/calculation-factors/shared/factor-version-form/factor-version-form.component.html","./src/app/pages/admin/calculation-factors/shared/factor-version-menu/factor-version-menu.component.ts","./src/app/pages/admin/calculation-factors/shared/factor-version-menu/factor-version-menu.component.html","./src/app/pages/admin/calculation-factors/waste-factors/waste-factor-detail/waste-factor-detail-state.service.ts","./src/app/pages/admin/calculation-factors/waste-factors/waste-factor-detail/waste-factor-detail.component.ts","./src/app/pages/admin/calculation-factors/waste-factors/waste-factor-detail/waste-factor-detail.component.html","./src/app/pages/admin/data-collect-categories/data-collect-categories-state.service.ts","./src/app/pages/admin/data-collect-categories/data-collect-categories.component.ts","./src/app/pages/admin/data-collect-categories/data-collect-categories.component.html","./src/app/pages/admin/data-collect-categories/data-collect-category-details/data-collect-category-details-state.service.ts","./src/app/pages/admin/data-collect-categories/data-collect-category-details/data-collect-category-details.component.ts","./src/app/pages/admin/data-collect-categories/data-collect-category-details/data-collect-category-details.component.html","./src/app/pages/admin/organizations/all-organizations/all-organizations-state.service.ts","./src/app/pages/admin/organizations/all-organizations/all-organizations.component.ts","./src/app/pages/admin/organizations/organizations.component.html","./src/app/pages/admin/organizations/organization-details/organization-details.component.ts","./src/app/pages/admin/organizations/organization-details/organization-details.component.html","./src/app/pages/admin/organizations/organization-form/organization-form-state.service.ts","./src/app/pages/admin/organizations/organization-form/organization-form.component.ts","./src/app/pages/admin/organizations/organization-form/organization-form.component.html","./src/app/pages/admin/organizations/organization-list/organization-list.component.ts","./src/app/pages/admin/organizations/organization-list/organization-list.component.html","./src/app/pages/admin/organizations/organization-list/organization-tbody/organization-tbody.component.ts","./src/app/pages/admin/organizations/organization-list/organization-tbody/organization-tbody.component.html","./src/app/pages/admin/organizations/organization-list/sub-organization-form/sub-organization-form.component.ts","./src/app/pages/admin/organizations/organization-list/sub-organization-form/sub-organization-form.component.html","./src/app/pages/admin/organizations/organization-list/sub-organization-row/sub-organization-row.component.ts","./src/app/pages/admin/organizations/organization-list/sub-organization-row/sub-organization-row.component.html","./src/app/pages/admin/organizations/organizations-state.service.ts","./src/app/pages/admin/organizations/organizations.component.ts","./src/app/pages/admin/profile/label-value/label-value.component.ts","./src/app/pages/admin/profile/label-value/label-value.component.html","./src/app/pages/admin/profile/profile-state.service.ts","./src/app/pages/admin/profile/profile.component.ts","./src/app/pages/admin/profile/profile.component.html","./src/app/pages/admin/regions/regions-state.service.ts","./src/app/pages/admin/regions/regions.component.ts","./src/app/pages/admin/regions/regions.component.html","./src/app/pages/admin/units/units-state.service.ts","./src/app/pages/admin/units/units.component.ts","./src/app/pages/admin/units/units.component.html","./src/app/pages/admin/users/all-users/all-users-state.service.ts","./src/app/pages/admin/users/all-users/all-users.component.ts","./src/app/pages/admin/users/users.component.html","./src/app/pages/admin/users/user-details/user-details.component.ts","./src/app/pages/admin/users/user-details/user-details.component.html","./src/app/pages/admin/users/user-form/user-form.component.ts","./src/app/pages/admin/users/user-form/user-form.component.html","./src/app/pages/admin/users/user-list/user-list.component.ts","./src/app/pages/admin/users/user-list/user-list.component.html","./src/app/pages/admin/users/users-state.service.ts","./src/app/pages/admin/users/users.component.ts","./src/app/pages/assets/asset-form-dialog/asset-form-dialog-state.service.ts","./src/app/pages/assets/asset-form-dialog/asset-form-dialog.component.ts","./src/app/pages/assets/asset-form-dialog/asset-form-dialog.component.html","./src/app/pages/assets/asset-list/asset-details-state.service.ts","./src/app/pages/assets/asset-list/asset-list-state.service.ts","./src/app/pages/assets/asset-list/asset-list.component.ts","./src/app/pages/assets/asset-list/asset-list.component.html","./src/app/pages/assets/asset-list/clients/client-details/client-details-state.service.ts","./src/app/pages/assets/asset-list/clients/client-details/client-details.component.ts","./src/app/pages/assets/asset-list/clients/client-details/client-details.component.html","./src/app/pages/assets/asset-list/clients/clients-state.service.ts","./src/app/pages/assets/asset-list/clients/clients-table/clients-table.component.ts","./src/app/pages/assets/asset-list/clients/clients-table/clients-table.component.html","./src/app/pages/assets/asset-list/clients/clients.component.ts","./src/app/pages/assets/asset-list/clients/clients.component.html","./src/app/pages/assets/asset-list/facilities/facilities-state.service.ts","./src/app/pages/assets/asset-list/facilities/facilities-table/facilities-table.component.ts","./src/app/pages/assets/asset-list/facilities/facilities-table/facilities-table.component.html","./src/app/pages/assets/asset-list/facilities/facilities.component.ts","./src/app/pages/assets/asset-list/facilities/facilities.component.html","./src/app/pages/assets/asset-list/facilities/facility-details/facility-details-state.service.ts","./src/app/pages/assets/asset-list/facilities/facility-details/facility-details.component.ts","./src/app/pages/assets/asset-list/facilities/facility-details/facility-details.component.html","./src/app/pages/assets/asset-list/organization-assets/organization-asset-details/organization-asset-details-state.service.ts","./src/app/pages/assets/asset-list/organization-assets/organization-asset-details/organization-asset-details.component.ts","./src/app/pages/assets/asset-list/organization-assets/organization-asset-details/organization-asset-details.component.html","./src/app/pages/assets/asset-list/organization-assets/organization-asset-row/nested-organization-asset.component.ts","./src/app/pages/assets/asset-list/organization-assets/organization-asset-row/nested-organization-asset.component.html","./src/app/pages/assets/asset-list/organization-assets/organization-assets-state.service.ts","./src/app/pages/assets/asset-list/organization-assets/organization-assets.component.ts","./src/app/pages/assets/asset-list/organization-assets/organization-assets.component.html","./src/app/pages/assets/asset-list/suppliers/supplier-details/supplier-details-state.service.ts","./src/app/pages/assets/asset-list/suppliers/supplier-details/supplier-details.component.ts","./src/app/pages/assets/asset-list/suppliers/supplier-details/supplier-details.component.html","./src/app/pages/assets/asset-list/suppliers/suppliers-state.service.ts","./src/app/pages/assets/asset-list/suppliers/suppliers-table/suppliers-table.component.ts","./src/app/pages/assets/asset-list/suppliers/suppliers-table/suppliers-table.component.html","./src/app/pages/assets/asset-list/suppliers/suppliers.component.ts","./src/app/pages/assets/asset-list/suppliers/suppliers.component.html","./src/app/pages/assets/asset-list/vehicles-crafts-machinery/vehicle-craft-machinery-details/vehicle-craft-machinery-details-state.service.ts","./src/app/pages/assets/asset-list/vehicles-crafts-machinery/vehicle-craft-machinery-details/vehicle-craft-machinery-details.component.ts","./src/app/pages/assets/asset-list/vehicles-crafts-machinery/vehicle-craft-machinery-details/vehicle-craft-machinery-details.component.html","./src/app/pages/assets/asset-list/vehicles-crafts-machinery/vehicles-crafts-machinery-state.service.ts","./src/app/pages/assets/asset-list/vehicles-crafts-machinery/vehicles-crafts-machinery-table/vehicles-crafts-machinery-table.component.ts","./src/app/pages/assets/asset-list/vehicles-crafts-machinery/vehicles-crafts-machinery-table/vehicles-crafts-machinery-table.component.html","./src/app/pages/assets/asset-list/vehicles-crafts-machinery/vehicles-crafts-machinery.component.ts","./src/app/pages/assets/asset-list/vehicles-crafts-machinery/vehicles-crafts-machinery.component.html","./src/app/pages/assets/asset-list/vessels/vessel-details/vessel-details-state.service.ts","./src/app/pages/assets/asset-list/vessels/vessel-details/vessel-details.component.ts","./src/app/pages/assets/asset-list/vessels/vessel-details/vessel-details.component.html","./src/app/pages/assets/asset-list/vessels/vessels-state.service.ts","./src/app/pages/assets/asset-list/vessels/vessels-table/vessels-table.component.ts","./src/app/pages/assets/asset-list/vessels/vessels-table/vessels-table.component.html","./src/app/pages/assets/asset-list/vessels/vessels.component.ts","./src/app/pages/assets/asset-list/vessels/vessels.component.html","./src/app/pages/assets/assets-default/assets-default.component.ts","./src/app/pages/assets/assets-default/assets-default.component.html","./src/app/pages/assets/assets-menu/assets-menu-state.service.ts","./src/app/pages/assets/assets-menu/assets-menu.component.ts","./src/app/pages/assets/assets-menu/assets-menu.component.html","./src/app/pages/assets/assets-page.component.ts","./src/app/pages/assets/assets-page.component.html","./src/app/pages/assets/assets.module.ts","./src/app/pages/assets/shared/asset-table/asset-table.component.ts","./src/app/pages/assets/shared/asset-table/asset-table.component.html","./src/app/pages/assets/shared/asset-version-form/asset-version-form.component.ts","./src/app/pages/assets/shared/asset-version-form/asset-version-form.component.html","./src/app/pages/assets/shared/asset-version-menu/asset-version-menu.component.ts","./src/app/pages/assets/shared/asset-version-menu/asset-version-menu.component.html","./src/app/pages/assets/shared/records-overview/records-overview.component.ts","./src/app/pages/assets/shared/records-overview/records-overview.component.html","./src/app/pages/data-collect/data-collect-page.component.ts","./src/app/pages/data-collect/data-collect-page.component.html","./src/app/pages/data-collect/data-collect.module.ts","./src/app/pages/data-collect/profiles/employee-commuting/employee-commuting-details/employee-commuting-details.component.ts","./src/app/pages/data-collect/profiles/employee-commuting/employee-commuting-details/employee-commuting-details.component.html","./src/app/pages/data-collect/profiles/employee-commuting/employee-commuting-form-table/employee-commuting-form-table.component.ts","./src/app/pages/data-collect/profiles/employee-commuting/employee-commuting-form-table/employee-commuting-form-table.component.html","./src/app/pages/data-collect/profiles/employee-commuting/employee-commuting-records/employee-commuting-details-state.service.ts","./src/app/pages/data-collect/profiles/employee-commuting/employee-commuting-records/employee-commuting-records.component.ts","./src/app/pages/data-collect/profiles/employee-commuting/employee-commuting-records/employee-commuting-records.component.html","./src/app/pages/data-collect/profiles/employee-commuting/employee-commuting-state.service.ts","./src/app/pages/data-collect/profiles/employee-commuting/employee-commuting.component.ts","./src/app/pages/data-collect/profiles/employee-commuting/employee-commuting.component.html","./src/app/pages/data-collect/profiles/gender-diversity-equality/gender-diversity-equality-details/gender-diversity-equality-details-state.service.ts","./src/app/pages/data-collect/profiles/gender-diversity-equality/gender-diversity-equality-details/gender-diversity-equality-details.component.ts","./src/app/pages/data-collect/profiles/gender-diversity-equality/gender-diversity-equality-details/gender-diversity-equality-details.component.html","./src/app/pages/data-collect/profiles/gender-diversity-equality/gender-diversity-equality-form-table/gender-diversity-equality-form-table.component.ts","./src/app/pages/data-collect/profiles/gender-diversity-equality/gender-diversity-equality-form-table/gender-diversity-equality-form-table.component.html","./src/app/pages/data-collect/profiles/gender-diversity-equality/gender-diversity-equality-records/gender-diversity-equality-records.component.ts","./src/app/pages/data-collect/profiles/gender-diversity-equality/gender-diversity-equality-records/gender-diversity-equality-records.component.html","./src/app/pages/data-collect/profiles/gender-diversity-equality/gender-diversity-equality-state.service.ts","./src/app/pages/data-collect/profiles/gender-diversity-equality/gender-diversity-equality.component.ts","./src/app/pages/data-collect/profiles/gender-diversity-equality/gender-diversity-equality.component.html","./src/app/pages/data-collect/profiles/profiles-state.service.ts","./src/app/pages/data-collect/record-form-dialog/record-form-dialog-state.service.ts","./src/app/pages/data-collect/record-form-dialog/record-form-dialog.component.ts","./src/app/pages/data-collect/record-form-dialog/record-form-dialog.component.html","./src/app/pages/data-collect/records-default/records-default.component.ts","./src/app/pages/data-collect/records-default/records-default.component.html","./src/app/pages/data-collect/records-menu/records-menu.component.ts","./src/app/pages/data-collect/records-menu/records-menu.component.html","./src/app/pages/data-collect/records/business-travel/air-travel-form-table/air-travel-form-table.component.ts","./src/app/pages/data-collect/records/business-travel/air-travel-form-table/air-travel-form-table.component.html","./src/app/pages/data-collect/records/business-travel/air-travel-state.service.ts","./src/app/pages/data-collect/records/business-travel/air-travel.component.ts","./src/app/pages/data-collect/records/business-travel/air-travel.component.html","./src/app/pages/data-collect/records/business-travel/business-travel.component.ts","./src/app/pages/data-collect/records/business-travel/hotel-nights-form-table/hotel-nights-form-table.component.ts","./src/app/pages/data-collect/records/business-travel/hotel-nights-form-table/hotel-nights-form-table.component.html","./src/app/pages/data-collect/records/business-travel/hotel-nights-state.service.ts","./src/app/pages/data-collect/records/business-travel/hotel-nights.component.ts","./src/app/pages/data-collect/records/business-travel/hotel-nights.component.html","./src/app/pages/data-collect/records/catched-fish/catched-fish-form-table/catched-fish-form-table.component.ts","./src/app/pages/data-collect/records/catched-fish/catched-fish-form-table/catched-fish-form-table.component.html","./src/app/pages/data-collect/records/catched-fish/catched-fish-state.service.ts","./src/app/pages/data-collect/records/catched-fish/catched-fish.component.ts","./src/app/pages/data-collect/records/catched-fish/catched-fish.component.html","./src/app/pages/data-collect/records/corruption-risk/corruption-risk-form-table/corruption-risk-form-table.component.ts","./src/app/pages/data-collect/records/corruption-risk/corruption-risk-form-table/corruption-risk-form-table.component.html","./src/app/pages/data-collect/records/corruption-risk/corruption-risk-state.service.ts","./src/app/pages/data-collect/records/corruption-risk/corruption-risk.component.ts","./src/app/pages/data-collect/records/corruption-risk/corruption-risk.component.html","./src/app/pages/data-collect/records/electricity/electricity-form-table/electricity-form-table.component.ts","./src/app/pages/data-collect/records/electricity/electricity-form-table/electricity-form-table.component.html","./src/app/pages/data-collect/records/electricity/electricity-state.service.ts","./src/app/pages/data-collect/records/electricity/electricity.component.ts","./src/app/pages/data-collect/records/electricity/electricity.component.html","./src/app/pages/data-collect/records/fines/fines-form-table/fines-form-table.component.ts","./src/app/pages/data-collect/records/fines/fines-form-table/fines-form-table.component.html","./src/app/pages/data-collect/records/fines/fines-state.service.ts","./src/app/pages/data-collect/records/fines/fines.component.ts","./src/app/pages/data-collect/records/fines/fines.component.html","./src/app/pages/data-collect/records/fuel-combustion/fuel-combustion.component.ts","./src/app/pages/data-collect/records/fuel-combustion/vehicle-combustion-form-table/vehicle-combustion-form-table.component.ts","./src/app/pages/data-collect/records/fuel-combustion/vehicle-combustion-form-table/vehicle-combustion-form-table.component.html","./src/app/pages/data-collect/records/fuel-combustion/vehicle-combustion-state.service.ts","./src/app/pages/data-collect/records/fuel-combustion/vehicle-combustion.component.ts","./src/app/pages/data-collect/records/fuel-combustion/vehicle-combustion.component.html","./src/app/pages/data-collect/records/fuel-combustion/vessel-combustion-form-table/vessel-combustion-form-table.component.ts","./src/app/pages/data-collect/records/fuel-combustion/vessel-combustion-form-table/vessel-combustion-form-table.component.html","./src/app/pages/data-collect/records/fuel-combustion/vessel-combustion-state.service.ts","./src/app/pages/data-collect/records/fuel-combustion/vessel-combustion.component.ts","./src/app/pages/data-collect/records/fuel-combustion/vessel-combustion.component.html","./src/app/pages/data-collect/records/leased-assets/leased-assets-form-table/leased-assets-form-table.component.ts","./src/app/pages/data-collect/records/leased-assets/leased-assets-form-table/leased-assets-form-table.component.html","./src/app/pages/data-collect/records/leased-assets/leased-assets-state.service.ts","./src/app/pages/data-collect/records/leased-assets/leased-assets.component.ts","./src/app/pages/data-collect/records/leased-assets/leased-assets.component.html","./src/app/pages/data-collect/records/lobby-political-contribution/lobby-political-contibution-form-table/lobby-political-contibution-form-table.component.ts","./src/app/pages/data-collect/records/lobby-political-contribution/lobby-political-contibution-form-table/lobby-political-contibution-form-table.component.html","./src/app/pages/data-collect/records/lobby-political-contribution/lobby-political-contribution-state.service.ts","./src/app/pages/data-collect/records/lobby-political-contribution/lobby-political-contribution.component.ts","./src/app/pages/data-collect/records/lobby-political-contribution/lobby-political-contribution.component.html","./src/app/pages/data-collect/records/marine-casualty/marine-casualty-form-table/marine-casualty-form-table.component.ts","./src/app/pages/data-collect/records/marine-casualty/marine-casualty-form-table/marine-casualty-form-table.component.html","./src/app/pages/data-collect/records/marine-casualty/marine-casualty-state.service.ts","./src/app/pages/data-collect/records/marine-casualty/marine-casualty.component.ts","./src/app/pages/data-collect/records/marine-casualty/marine-casualty.component.html","./src/app/pages/data-collect/records/marine-protected-areas/marine-protected-areas-form-table/marine-protected-areas-form-table.component.ts","./src/app/pages/data-collect/records/marine-protected-areas/marine-protected-areas-form-table/marine-protected-areas-form-table.component.html","./src/app/pages/data-collect/records/marine-protected-areas/marine-protected-areas-state.service.ts","./src/app/pages/data-collect/records/marine-protected-areas/marine-protected-areas.component.ts","./src/app/pages/data-collect/records/marine-protected-areas/marine-protected-areas.component.html","./src/app/pages/data-collect/records/new-hires-and-turnover/new-hires-and-turnover-form-table/new-hires-and-turnover-form-table.component.ts","./src/app/pages/data-collect/records/new-hires-and-turnover/new-hires-and-turnover-form-table/new-hires-and-turnover-form-table.component.html","./src/app/pages/data-collect/records/new-hires-and-turnover/new-hires-and-turnover-state.service.ts","./src/app/pages/data-collect/records/new-hires-and-turnover/new-hires-and-turnover.component.ts","./src/app/pages/data-collect/records/new-hires-and-turnover/new-hires-and-turnover.component.html","./src/app/pages/data-collect/records/parental-leave/parental-leave-form-table/parental-leave-form-table.component.ts","./src/app/pages/data-collect/records/parental-leave/parental-leave-form-table/parental-leave-form-table.component.html","./src/app/pages/data-collect/records/parental-leave/parental-leave-state.service.ts","./src/app/pages/data-collect/records/parental-leave/parental-leave.component.ts","./src/app/pages/data-collect/records/parental-leave/parental-leave.component.html","./src/app/pages/data-collect/records/purchased-fish/purchased-fish-form-table/purchased-fish-form-table.component.ts","./src/app/pages/data-collect/records/purchased-fish/purchased-fish-form-table/purchased-fish-form-table.component.html","./src/app/pages/data-collect/records/purchased-fish/purchased-fish-state.service.ts","./src/app/pages/data-collect/records/purchased-fish/purchased-fish.component.ts","./src/app/pages/data-collect/records/purchased-fish/purchased-fish.component.html","./src/app/pages/data-collect/records/records-state.service.ts","./src/app/pages/data-collect/records/records.component.ts","./src/app/pages/data-collect/records/sick-leave/sick-leave-form-table/sick-leave-form-table.component.ts","./src/app/pages/data-collect/records/sick-leave/sick-leave-form-table/sick-leave-form-table.component.html","./src/app/pages/data-collect/records/sick-leave/sick-leave-state.service.ts","./src/app/pages/data-collect/records/sick-leave/sick-leave.component.ts","./src/app/pages/data-collect/records/sick-leave/sick-leave.component.html","./src/app/pages/data-collect/records/spills-to-environment/spills-to-environment-form-table/spills-to-environment-form-table.component.ts","./src/app/pages/data-collect/records/spills-to-environment/spills-to-environment-form-table/spills-to-environment-form-table.component.html","./src/app/pages/data-collect/records/spills-to-environment/spills-to-environment-state.service.ts","./src/app/pages/data-collect/records/spills-to-environment/spills-to-environment.component.ts","./src/app/pages/data-collect/records/spills-to-environment/spills-to-environment.component.html","./src/app/pages/data-collect/records/waste/waste-form-table/waste-form-table.component.ts","./src/app/pages/data-collect/records/waste/waste-form-table/waste-form-table.component.html","./src/app/pages/data-collect/records/waste/waste-state.service.ts","./src/app/pages/data-collect/records/waste/waste.component.ts","./src/app/pages/data-collect/records/waste/waste.component.html","./src/app/pages/data-collect/records/whistleblowing/whistleblowing-form-table/whistleblowing-form-table.component.ts","./src/app/pages/data-collect/records/whistleblowing/whistleblowing-form-table/whistleblowing-form-table.component.html","./src/app/pages/data-collect/records/whistleblowing/whistleblowing-state.service.ts","./src/app/pages/data-collect/records/whistleblowing/whistleblowing.component.ts","./src/app/pages/data-collect/records/whistleblowing/whistleblowing.component.html","./src/app/pages/data-collect/records/work-related-injuries/work-related-injuries-form-table/work-related-injuries-form-table.component.ts","./src/app/pages/data-collect/records/work-related-injuries/work-related-injuries-form-table/work-related-injuries-form-table.component.html","./src/app/pages/data-collect/records/work-related-injuries/work-related-injuries-state.service.ts","./src/app/pages/data-collect/records/work-related-injuries/work-related-injuries.component.ts","./src/app/pages/data-collect/records/work-related-injuries/work-related-injuries.component.html","./src/app/pages/data-collect/shared/profile-form/profile-form.component.ts","./src/app/pages/data-collect/shared/profile-form/profile-form.component.html","./src/app/pages/data-collect/shared/record-form-table/record-form-table.component.ts","./src/app/pages/data-collect/shared/record-form-table/record-form-table.component.html","./src/app/pages/data-collect/shared/segmented-control/segmented-control.component.ts","./src/app/pages/data-collect/shared/segmented-control/segmented-control.component.html","./src/app/pages/example/data-import-from-excel/data-import-from-excel.component.ts","./src/app/pages/example/data-import-from-excel/data-import-from-excel.component.html","./src/app/pages/example/example.component.ts","./src/app/pages/example/example.component.html","./src/app/pages/example/example.module.ts","./src/app/pages/example/examples/content-example-state.service.ts","./src/app/pages/example/examples/examples.component.ts","./src/app/pages/example/examples/examples.component.html","./src/app/pages/example/feedback-examples/feedback-examples.component.ts","./src/app/pages/example/feedback-examples/feedback-examples.component.html","./src/app/pages/example/generic-table-example/generic-table-example.component.ts","./src/app/pages/example/generic-table-example/generic-table-example.component.html","./src/app/pages/example/onboarding-example/onboarding-example.component.ts","./src/app/pages/example/onboarding-example/onboarding-example.component.html","./src/app/pages/example/shared-components/shared-components.component.ts","./src/app/pages/example/shared-components/shared-components.component.html","./src/app/pages/example/ui-components/ui-components.component.ts","./src/app/pages/example/ui-components/ui-components.component.html","./src/app/pages/home/assigned-tasks/assigned-tasks.component.ts","./src/app/pages/home/assigned-tasks/assigned-tasks.component.html","./src/app/pages/home/home-content/home-content.component.ts","./src/app/pages/home/home-content/home-content.component.html","./src/app/pages/home/home-page-state.service.ts","./src/app/pages/home/home-page.component.ts","./src/app/pages/home/home-page.component.html","./src/app/pages/home/home.module.ts","./src/app/pages/indicators/indicator-details/indicator-data/all-records-dialog/all-records-dialog-state.service.ts","./src/app/pages/indicators/indicator-details/indicator-data/all-records-dialog/all-records-dialog.component.ts","./src/app/pages/indicators/indicator-details/indicator-data/all-records-dialog/all-records-dialog.component.html","./src/app/pages/indicators/indicator-details/indicator-data/indicator-data-state.service.ts","./src/app/pages/indicators/indicator-details/indicator-data/indicator-data.component.ts","./src/app/pages/indicators/indicator-details/indicator-data/indicator-data.component.html","./src/app/pages/indicators/indicator-details/indicator-data/indicator-record-form-table/indicator-record-form-table.component.ts","./src/app/pages/indicators/indicator-details/indicator-data/indicator-record-form-table/indicator-record-form-table.component.html","./src/app/pages/indicators/indicator-details/indicator-data/indicator-records.component.ts","./src/app/pages/indicators/indicator-details/indicator-data/indicator-table-records/indicator-table-records.component.ts","./src/app/pages/indicators/indicator-details/indicator-data/indicator-table-records/indicator-table-records.component.html","./src/app/pages/indicators/indicator-details/indicator-details-state.service.ts","./src/app/pages/indicators/indicator-details/indicator-details.component.ts","./src/app/pages/indicators/indicator-details/indicator-details.component.html","./src/app/pages/indicators/indicator-details/indicator-performance/indicator-graph-view/indicator-graph-view.component.ts","./src/app/pages/indicators/indicator-details/indicator-performance/indicator-graph-view/indicator-graph-view.component.html","./src/app/pages/indicators/indicator-details/indicator-performance/indicator-performance-state.service.ts","./src/app/pages/indicators/indicator-details/indicator-performance/indicator-performance.component.ts","./src/app/pages/indicators/indicator-details/indicator-performance/indicator-performance.component.html","./src/app/pages/indicators/indicator-details/indicator-performance/numeric-calculated-data/numeric-calculated-data.component.ts","./src/app/pages/indicators/indicator-details/indicator-performance/numeric-calculated-data/numeric-calculated-data.component.html","./src/app/pages/indicators/indicator-details/indicator-performance/numeric-calculated-summary/numeric-calculated-summary.component.ts","./src/app/pages/indicators/indicator-details/indicator-performance/numeric-calculated-summary/numeric-calculated-summary.component.html","./src/app/pages/indicators/indicator-details/indicator-performance/set-indicator-target-dialog/set-indicator-target-dialog-service.service.ts","./src/app/pages/indicators/indicator-details/indicator-performance/set-indicator-target-dialog/set-indicator-target-dialog.component.ts","./src/app/pages/indicators/indicator-details/indicator-performance/set-indicator-target-dialog/set-indicator-target-dialog.component.html","./src/app/pages/indicators/indicator-details/indicator-properties/indicator-properties.component.ts","./src/app/pages/indicators/indicator-details/indicator-properties/indicator-properties.component.html","./src/app/pages/indicators/indicators-library/indicators-library-state.service.ts","./src/app/pages/indicators/indicators-library/indicators-library.component.ts","./src/app/pages/indicators/indicators-library/indicators-library.component.html","./src/app/pages/indicators/indicators-list/indicator-list-state.service.ts","./src/app/pages/indicators/indicators-list/indicators-list.component.ts","./src/app/pages/indicators/indicators-list/indicators-list.component.html","./src/app/pages/indicators/indicators-page-state.service.ts","./src/app/pages/indicators/indicators-page.component.ts","./src/app/pages/indicators/indicators-page.component.html","./src/app/pages/indicators/indicators.module.ts","./src/app/pages/indicators/narrative-details/narrative-details-state.service.ts","./src/app/pages/indicators/narrative-details/narrative-details.component.ts","./src/app/pages/indicators/narrative-details/narrative-details.component.html","./src/app/pages/indicators/shared/indicator-table-value/indicator-table-value.component.ts","./src/app/pages/indicators/shared/indicator-table-value/indicator-table-value.component.html","./src/app/pages/report-details/no-topic-selected/no-topic-selected.component.ts","./src/app/pages/report-details/no-topic-selected/no-topic-selected.component.html","./src/app/pages/report-details/report-details-state.service.ts","./src/app/pages/report-details/report-details.component.ts","./src/app/pages/report-details/report-details.component.html","./src/app/pages/report-details/report-details.module.ts","./src/app/pages/report-details/report-pdf/components/import-from-excel.ts","./src/app/pages/report-details/report-pdf/components/indicator-set-pdf.ts","./src/app/pages/report-details/report-pdf/components/indicator-table-value-pdf.ts","./src/app/pages/report-details/report-pdf/key-figures-table-pdf.ts","./src/app/pages/report-details/report-pdf/logo.ts","./src/app/pages/report-details/report-pdf/report-pdf-constants.ts","./src/app/pages/report-details/report-pdf/report-pdf-service.ts","./src/app/pages/report-details/report-structure/main-level-item/main-level-item.component.ts","./src/app/pages/report-details/report-structure/main-level-item/main-level-item.component.html","./src/app/pages/report-details/report-structure/report-menu-item/report-menu-item.component.ts","./src/app/pages/report-details/report-structure/report-menu-item/report-menu-item.component.html","./src/app/pages/report-details/report-structure/report-structure.component.ts","./src/app/pages/report-details/report-structure/report-structure.component.html","./src/app/pages/report-details/report-structure/topic-item/topic-item.component.ts","./src/app/pages/report-details/report-structure/topic-item/topic-item.component.html","./src/app/pages/report-details/topic-content/indicator-disclosure-dialog/indicator-disclosure-dialog.component.ts","./src/app/pages/report-details/topic-content/indicator-disclosure-dialog/indicator-disclosure-dialog.component.html","./src/app/pages/report-details/topic-content/topic-content-state.service.ts","./src/app/pages/report-details/topic-content/topic-content.component.ts","./src/app/pages/report-details/topic-content/topic-content.component.html","./src/app/pages/report-details/topic-content/topic-item-content/topic-item-content-state.service.ts","./src/app/pages/report-details/topic-content/topic-item-content/topic-item-content.component.ts","./src/app/pages/report-details/topic-content/topic-item-content/topic-item-content.component.html","./src/app/pages/report-details/topic-content/topic-item-header/topic-item-header.component.ts","./src/app/pages/report-details/topic-content/topic-item-header/topic-item-header.component.html","./src/app/pages/report-details/topic-content/topic-item-placeholder/topic-item-placeholder.component.ts","./src/app/pages/report-details/topic-content/topic-item-placeholder/topic-item-placeholder.component.html","./src/app/pages/report-details/topic-details/new-indicator-form/new-indicator-form-state.service.ts","./src/app/pages/report-details/topic-details/new-indicator-form/new-indicator-form.component.ts","./src/app/pages/report-details/topic-details/new-indicator-form/new-indicator-form.component.html","./src/app/pages/report-details/topic-details/text-disclosure-form/text-disclosure-form-state.service.ts","./src/app/pages/report-details/topic-details/text-disclosure-form/text-disclosure-form.component.ts","./src/app/pages/report-details/topic-details/text-disclosure-form/text-disclosure-form.component.html","./src/app/pages/report-details/topic-details/topic-details-state.service.ts","./src/app/pages/report-details/topic-details/topic-details.component.ts","./src/app/pages/report-details/topic-details/topic-details.component.html","./src/app/pages/report-details/topic-details/topic-item-details/components/components-state.service.ts","./src/app/pages/report-details/topic-details/topic-item-details/indicator-input/indicator-input.component.ts","./src/app/pages/report-details/topic-details/topic-item-details/indicator-input/indicator-input.component.html","./src/app/pages/report-details/topic-details/topic-item-details/indicator-values/indicator-values.component.ts","./src/app/pages/report-details/topic-details/topic-item-details/indicator-values/indicator-values.component.html","./src/app/pages/report-details/topic-details/topic-item-details/substrate-data/substrate-data.component.ts","./src/app/pages/report-details/topic-details/topic-item-details/substrate-data/substrate-data.component.html","./src/app/pages/report-details/topic-details/topic-item-details/topic-item-details-state.service.ts","./src/app/pages/report-details/topic-details/topic-item-details/topic-item-details.component.ts","./src/app/pages/report-details/topic-details/topic-item-details/topic-item-details.component.html","./src/app/pages/report-details/topic-details/topic-item-list/topic-item-list.component.ts","./src/app/pages/report-details/topic-details/topic-item-list/topic-item-list.component.html","./src/app/pages/report/report-card/report-card.component.ts","./src/app/pages/report/report-card/report-card.component.html","./src/app/pages/report/report-form/edit-form/edit-form.component.ts","./src/app/pages/report/report-form/edit-form/edit-form.component.html","./src/app/pages/report/report-form/report-form-state.service.ts","./src/app/pages/report/report-form/report-form.component.ts","./src/app/pages/report/report-form/report-form.component.html","./src/app/pages/report/report-form/template-card/template-card.component.ts","./src/app/pages/report/report-form/template-card/template-card.component.html","./src/app/pages/report/report-form/template-list/template-list.component.ts","./src/app/pages/report/report-form/template-list/template-list.component.html","./src/app/pages/report/report-state.service.ts","./src/app/pages/report/report.component.ts","./src/app/pages/report/report.component.html","./src/app/pages/report/report.module.ts","./src/app/pages/report/template-form/template-card-view/template-card-view.component.ts","./src/app/pages/report/template-form/template-card-view/template-card-view.component.html","./src/app/pages/report/template-form/template-form-state.service.ts","./src/app/pages/report/template-form/template-form.component.ts","./src/app/pages/report/template-form/template-form.component.html","./src/app/pages/support/support-content-list/support-article-details/support-article-details-state.service.ts","./src/app/pages/support/support-content-list/support-article-details/support-article-details.component.ts","./src/app/pages/support/support-content-list/support-article-details/support-article-details.component.html","./src/app/pages/support/support-content-list/support-content-list-state.service.ts","./src/app/pages/support/support-content-list/support-content-list.component.ts","./src/app/pages/support/support-content-list/support-content-list.component.html","./src/app/pages/support/support-page-state.service.ts","./src/app/pages/support/support-page.component.ts","./src/app/pages/support/support-page.component.html","./src/app/pages/support/support.module.ts","./src/app/pages/support/tutorials/tutorial-dialog/tutorial-dialog.component.ts","./src/app/pages/support/tutorials/tutorial-dialog/tutorial-dialog.component.html","./src/app/pages/support/tutorials/tutorials.component.ts","./src/app/pages/support/tutorials/tutorials.component.html","./src/app/pdfmake-common/converters.ts","./src/app/pdfmake-common/fonts.ts","./src/app/pdfmake-common/generate-report.ts","./src/app/report-preview/layout/preview-layout.component.ts","./src/app/report-preview/layout/preview-layout.component.html","./src/app/report-preview/layout/preview-navbar/preview-navbar.component.ts","./src/app/report-preview/layout/preview-navbar/preview-navbar.component.html","./src/app/report-preview/pages/key-figures/key-figures-preview-state.service.ts","./src/app/report-preview/pages/key-figures/key-figures.component.ts","./src/app/report-preview/pages/key-figures/key-figures.component.html","./src/app/report-preview/pages/main-topic-feed/main-topic-feed-state.service.ts","./src/app/report-preview/pages/main-topic-feed/main-topic-feed.component.ts","./src/app/report-preview/pages/main-topic-feed/main-topic-feed.component.html","./src/app/report-preview/report-preview-state.service.ts","./src/app/report-preview/report-preview.component.ts","./src/app/report-preview/report-preview.component.html","./src/app/report-preview/report-preview.module.ts","./src/app/report-preview/report-share-dialog/report-share-dialog-state.service.ts","./src/app/report-preview/report-share-dialog/report-share-dialog.component.ts","./src/app/report-preview/report-share-dialog/report-share-dialog.component.html","./src/app/report-preview/shared/components/dynamic-seperator/dynamic-seperator.component.ts","./src/app/report-preview/shared/components/dynamic-table-header-cell/dynamic-table-header-cell.component.ts","./src/app/report-preview/shared/components/mobile-navigation/mobile-navigation.component.ts","./src/app/report-preview/shared/components/mobile-navigation/mobile-navigation.component.html","./src/app/report-preview/shared/components/preview-side-menu/preview-side-menu.component.ts","./src/app/report-preview/shared/components/preview-side-menu/preview-side-menu.component.html","./src/app/report-preview/shared/components/table-of-contents/table-of-contents.component.ts","./src/app/report-preview/shared/components/table-of-contents/table-of-contents.component.html","./src/app/report-preview/shared/components/topic-tabs/topic-tabs.component.ts","./src/app/report-preview/shared/components/topic-tabs/topic-tabs.component.html","./src/app/shared/components/asset-history-dialog/asset-history-dialog.component.ts","./src/app/shared/components/asset-history-dialog/asset-history-dialog.component.html","./src/app/shared/components/beta-tag/beta-tag.component.ts","./src/app/shared/components/beta-tag/beta-tag.component.html","./src/app/shared/components/chart/chart-v3.component.ts","./src/app/shared/components/chart/chart-v3.component.html","./src/app/shared/components/column-viewer/column-viewer.component.ts","./src/app/shared/components/column-viewer/column-viewer.component.html","./src/app/shared/components/data-import-from-excel/data-import-from-excel-state.service.ts","./src/app/shared/components/data-import-from-excel/data-import-from-excel.component.ts","./src/app/shared/components/data-import-from-excel/data-import-from-excel.component.html","./src/app/shared/components/data-import-from-excel/excel-exporter.ts","./src/app/shared/components/data-import-from-excel/excel-importer.ts","./src/app/shared/components/description-and-reference/description-and-reference.component.ts","./src/app/shared/components/description-and-reference/description-and-reference.component.html","./src/app/shared/components/details-dialog/details-dialog.component.ts","./src/app/shared/components/details-dialog/details-dialog.component.html","./src/app/shared/components/form-dialog/form-dialog.component.ts","./src/app/shared/components/form-dialog/form-dialog.component.html","./src/app/shared/components/gri-report-tip/gri-report-tip.component.ts","./src/app/shared/components/gri-report-tip/gri-report-tip.component.html","./src/app/shared/components/header-with-guidance/header-with-guidance.component.ts","./src/app/shared/components/header-with-guidance/header-with-guidance.component.html","./src/app/shared/components/import-from-excel-toolbar/import-from-excel-toolbar.component.ts","./src/app/shared/components/import-from-excel-toolbar/import-from-excel-toolbar.component.html","./src/app/shared/components/indicator-table-value-preview/indicator-table-value-preview.component.ts","./src/app/shared/components/indicator-table-value-preview/indicator-table-value-preview.component.html","./src/app/shared/components/onboarding-dialog/onboarding-dialog.component.ts","./src/app/shared/components/onboarding-dialog/onboarding-dialog.component.html","./src/app/shared/components/pagination/pagination.component.ts","./src/app/shared/components/pagination/pagination.component.html","./src/app/shared/components/records-table/records-table.component.ts","./src/app/shared/components/records-table/records-table.component.html","./src/app/shared/components/risk-label/risk-bar.component.ts","./src/app/shared/components/risk-label/risk-bar.component.html","./src/app/shared/components/risk-label/risk-label.component.ts","./src/app/shared/components/route-selector/route-selector.component.ts","./src/app/shared/components/route-selector/route-selector.component.html","./src/app/shared/components/search-filter-bar/search-filter-bar.component.ts","./src/app/shared/components/search-filter-bar/search-filter-bar.component.html","./src/app/shared/components/section-content-preview/indicator-set-preview/indicator-set-preview.component.ts","./src/app/shared/components/section-content-preview/indicator-set-preview/indicator-set-preview.component.html","./src/app/shared/components/section-content-preview/section-content-preview.component.ts","./src/app/shared/components/section-content-preview/section-content-preview.component.html","./src/app/shared/components/shared-components.module.ts","./src/app/shared/components/side-menu/side-menu.component.ts","./src/app/shared/components/side-menu/side-menu.component.html","./src/app/shared/components/sortable-table-column/sortable-table-column.component.ts","./src/app/shared/components/sortable-table-column/sortable-table-column.component.html","./src/app/shared/components/substrate-data-preview/substrate-data-preview.component.ts","./src/app/shared/components/substrate-data-preview/substrate-data-preview.component.html","./src/app/shared/components/table-data/table-data.component.ts","./src/app/shared/components/table-data/table-data.component.html","./src/app/shared/components/time-period-selector/time-period-selector-options/time-period-selector-options.component.ts","./src/app/shared/components/time-period-selector/time-period-selector-options/time-period-selector-options.component.html","./src/app/shared/components/time-period-selector/time-period-selector.component.ts","./src/app/shared/components/time-period-selector/time-period-selector.component.html","./src/app/shared/components/time-period/time-period.component.ts","./src/app/shared/components/time-period/time-period.component.html","./src/app/shared/directives/click-double.directive.ts","./src/app/shared/directives/directive.module.ts","./src/app/shared/directives/intersection-observer.ts","./src/app/shared/directives/keyboard-shortcuts.directive.ts","./src/app/shared/directives/on-tab-focus.directive.ts","./src/app/shared/pipes/format-unit-with-html.pipe.ts","./src/app/shared/pipes/format-unit-with-unicode.pipe.ts","./src/app/shared/services/notification/notification-wrapper.component.ts","./src/app/shared/services/notification/notification.module.ts","./src/app/shared/services/notification/notification.service.ts","./src/app/shared/services/target-value-calculator/target-value-calculator.service.ts","./src/app/shared/services/unit/unit.service.ts","./src/app/shared/table/generic-table/generic-table.component.ts","./src/app/shared/table/generic-table/generic-table.component.html","./src/app/shared/table/generic-table/generic-table.types.ts","./src/app/shared/table/table-button/table-button.component.ts","./src/app/shared/table/table-button/table-button.component.html","./src/app/shared/table/table-cancel-button/table-cancel-button.component.ts","./src/app/shared/table/table-cancel-button/table-cancel-button.component.html","./src/app/shared/table/table-delete-button/table-delete-button.component.ts","./src/app/shared/table/table-delete-button/table-delete-button.component.html","./src/app/shared/table/table-dropdown/table-dropdown.component.ts","./src/app/shared/table/table-dropdown/table-dropdown.component.html","./src/app/shared/table/table-header-text/table-header-text.component.ts","./src/app/shared/table/table-header-text/table-header-text.component.html","./src/app/shared/table/table-input/table-input.component.ts","./src/app/shared/table/table-input/table-input.component.html","./src/app/shared/table/table-select/table-select.component.ts","./src/app/shared/table/table-select/table-select.component.html","./src/app/shared/table/table-text/table-text.component.ts","./src/app/shared/table/table-text/table-text.component.html","./src/app/shared/table/table.module.ts","./src/app/shared/ui/alert-dialog/alert-dialog.component.ts","./src/app/shared/ui/alert-dialog/alert-dialog.component.html","./src/app/shared/ui/button/add-button.component.ts","./src/app/shared/ui/button/add-button.component.html","./src/app/shared/ui/button/button.component.ts","./src/app/shared/ui/button/button.component.html","./src/app/shared/ui/carousel-dialog/carousel-dialog.component.ts","./src/app/shared/ui/carousel-dialog/carousel-dialog.component.html","./src/app/shared/ui/carousel-dialog/carousel-slide.component.ts","./src/app/shared/ui/carousel-dialog/carousel-slide.component.html","./src/app/shared/ui/checkbox/checkbox-form.component.ts","./src/app/shared/ui/checkbox/checkbox-form.component.html","./src/app/shared/ui/checkbox/checkbox.component.ts","./src/app/shared/ui/checkbox/checkbox.component.html","./src/app/shared/ui/collapsible-icon/collapsible-icon.component.ts","./src/app/shared/ui/collapsible-icon/collapsible-icon.component.html","./src/app/shared/ui/collapsible-section/collapsible-section.component.ts","./src/app/shared/ui/collapsible-section/collapsible-section.component.html","./src/app/shared/ui/confirm-dialog/confirm-dialog.component.ts","./src/app/shared/ui/confirm-dialog/confirm-dialog.component.html","./src/app/shared/ui/context-menu/context-menu.component.ts","./src/app/shared/ui/context-menu/context-menu.component.html","./src/app/shared/ui/context-menu/context-menu.service.ts","./src/app/shared/ui/datepicker/datepicker-header/datepicker-header.component.ts","./src/app/shared/ui/datepicker/datepicker-header/datepicker-header.component.html","./src/app/shared/ui/datepicker/datepicker.component.ts","./src/app/shared/ui/datepicker/datepicker.component.html","./src/app/shared/ui/dialog/dialog.component.ts","./src/app/shared/ui/dialog/dialog.component.html","./src/app/shared/ui/dot-flashing/dot-flashing.component.ts","./src/app/shared/ui/dot-flashing/dot-flashing.component.html","./src/app/shared/ui/dot-flashing/section-dot-flashing.component.ts","./src/app/shared/ui/dot-flashing/section-dot-flashing.component.html","./src/app/shared/ui/dropdown-multiple/dropdown-multiple-form.component.ts","./src/app/shared/ui/dropdown-multiple/dropdown-multiple-form.component.html","./src/app/shared/ui/esg-ck-editor/esg-ck-editor.component.ts","./src/app/shared/ui/esg-ck-editor/esg-ck-editor.component.html","./src/app/shared/ui/icons/add-icon.component.ts","./src/app/shared/ui/icons/arrow-down.component.ts","./src/app/shared/ui/icons/arrow-right-long.component.ts","./src/app/shared/ui/icons/arrow-right-top.component.ts","./src/app/shared/ui/icons/arrow-right.component.ts","./src/app/shared/ui/icons/asset-icon.component.ts","./src/app/shared/ui/icons/assigned-icon.component.ts","./src/app/shared/ui/icons/bot-icon.component.ts","./src/app/shared/ui/icons/calculation-icon.component.ts","./src/app/shared/ui/icons/chart-icon.component.ts","./src/app/shared/ui/icons/check-circle-icon.component.ts","./src/app/shared/ui/icons/checkmark.component.ts","./src/app/shared/ui/icons/chevron.component.ts","./src/app/shared/ui/icons/clear-icon.component.ts","./src/app/shared/ui/icons/close-icon.component.ts","./src/app/shared/ui/icons/cloud-disconnected-icon.component.ts","./src/app/shared/ui/icons/cloud-locked-icon.component.ts","./src/app/shared/ui/icons/cloud-update-filled-icon.component.ts","./src/app/shared/ui/icons/cloud-update-icon.component.ts","./src/app/shared/ui/icons/column-stack-icon.component.ts","./src/app/shared/ui/icons/company-icon.component.ts","./src/app/shared/ui/icons/convert-icon.component.ts","./src/app/shared/ui/icons/copy-link.component.ts","./src/app/shared/ui/icons/dashboard-icon.component.ts","./src/app/shared/ui/icons/delete-icon.component.ts","./src/app/shared/ui/icons/delete-xmark.component.ts","./src/app/shared/ui/icons/document-icon.component.ts","./src/app/shared/ui/icons/double-chevron.component.ts","./src/app/shared/ui/icons/download-icon.component.ts","./src/app/shared/ui/icons/drag-icon.component.ts","./src/app/shared/ui/icons/dropdown-arrow.component.ts","./src/app/shared/ui/icons/ellipsis-horizontal.component.ts","./src/app/shared/ui/icons/ellipsis-vertical.component.ts","./src/app/shared/ui/icons/environment-icon.component.ts","./src/app/shared/ui/icons/error-icon.component.ts","./src/app/shared/ui/icons/excel-icon.component.ts","./src/app/shared/ui/icons/expanders.component.ts","./src/app/shared/ui/icons/ext-link-icon.component.ts","./src/app/shared/ui/icons/framework-icon.component.ts","./src/app/shared/ui/icons/governance-icon.component.ts","./src/app/shared/ui/icons/group-icon.component.ts","./src/app/shared/ui/icons/history-icon.component.ts","./src/app/shared/ui/icons/home-icon.component.ts","./src/app/shared/ui/icons/icon.module.ts","./src/app/shared/ui/icons/image-icon.component.ts","./src/app/shared/ui/icons/import-from-excel-2-icon.component.ts","./src/app/shared/ui/icons/import-from-excel-icon.component.ts","./src/app/shared/ui/icons/ind-library.component.ts","./src/app/shared/ui/icons/indicator-data-from-3nd-parties-icon.component.ts","./src/app/shared/ui/icons/indicator-data-from-excel-icon.component.ts","./src/app/shared/ui/icons/info-icon-filled.component.ts","./src/app/shared/ui/icons/info-icon.component.ts","./src/app/shared/ui/icons/kpi-icon.component.ts","./src/app/shared/ui/icons/language-icon.component.ts","./src/app/shared/ui/icons/lock-icon.component.ts","./src/app/shared/ui/icons/logout-icon.component.ts","./src/app/shared/ui/icons/menu-icon.component.ts","./src/app/shared/ui/icons/minus-icon.component.ts","./src/app/shared/ui/icons/move.component.ts","./src/app/shared/ui/icons/new-icon.component.ts","./src/app/shared/ui/icons/no-lock-icon.component.ts","./src/app/shared/ui/icons/organization-icon.component.ts","./src/app/shared/ui/icons/paperplane-icon.component.ts","./src/app/shared/ui/icons/play-icon.component.ts","./src/app/shared/ui/icons/preview-icon.component.ts","./src/app/shared/ui/icons/raw-data-icon.component.ts","./src/app/shared/ui/icons/records-icon.component.ts","./src/app/shared/ui/icons/region-icon.component.ts","./src/app/shared/ui/icons/report-icon.component.ts","./src/app/shared/ui/icons/save-template.component.ts","./src/app/shared/ui/icons/search-icon.component.ts","./src/app/shared/ui/icons/section-icon.component.ts","./src/app/shared/ui/icons/settings-icon.component.ts","./src/app/shared/ui/icons/share-icon.component.ts","./src/app/shared/ui/icons/social-icon.component.ts","./src/app/shared/ui/icons/sort-accending-icon.ts","./src/app/shared/ui/icons/sort-descending-icon.ts","./src/app/shared/ui/icons/sort-icon.ts","./src/app/shared/ui/icons/stack-icon.component.ts","./src/app/shared/ui/icons/suborg-icon.component.ts","./src/app/shared/ui/icons/support-icon.component.ts","./src/app/shared/ui/icons/target.component.ts","./src/app/shared/ui/icons/text-icon.component.ts","./src/app/shared/ui/icons/update.component.ts","./src/app/shared/ui/icons/warning-filled-icon.component.ts","./src/app/shared/ui/icons/warning-icon.component.ts","./src/app/shared/ui/icons/window-icon.component.ts","./src/app/shared/ui/letter-avatar/letter-avatar.component.ts","./src/app/shared/ui/letter-avatar/letter-avatar.component.html","./src/app/shared/ui/notification/notification.component.ts","./src/app/shared/ui/notification/notification.component.html","./src/app/shared/ui/on-click-outside/on-click-outside.component.ts","./src/app/shared/ui/on-click-outside/on-click-outside.component.html","./src/app/shared/ui/pulsing-dot/pulsing-dot.component.ts","./src/app/shared/ui/pulsing-dot/pulsing-dot.component.html","./src/app/shared/ui/radio-button/radio-button.component.ts","./src/app/shared/ui/radio-button/radio-button.component.html","./src/app/shared/ui/select-simple/select-simple.component.ts","./src/app/shared/ui/select-simple/select-simple.component.html","./src/app/shared/ui/select/select-field/select-field.component.ts","./src/app/shared/ui/select/select-field/select-field.component.html","./src/app/shared/ui/select/select-options/select-options.component.ts","./src/app/shared/ui/select/select-options/select-options.component.html","./src/app/shared/ui/select/select-tree-options/select-tree-options.component.ts","./src/app/shared/ui/select/select-tree-options/select-tree-options.component.html","./src/app/shared/ui/select/select-tree.component.ts","./src/app/shared/ui/select/select-tree.component.html","./src/app/shared/ui/select/select.component.ts","./src/app/shared/ui/select/select.component.html","./src/app/shared/ui/side-dialog/side-dialog.component.ts","./src/app/shared/ui/side-dialog/side-dialog.component.html","./src/app/shared/ui/spinner/spinner.component.ts","./src/app/shared/ui/spinner/spinner.component.html","./src/app/shared/ui/status-select/status-select.component.ts","./src/app/shared/ui/status-select/status-select.component.html","./src/app/shared/ui/tabs/segmented-tabs.component.ts","./src/app/shared/ui/tabs/segmented-tabs.component.html","./src/app/shared/ui/tabs/tabs.component.ts","./src/app/shared/ui/tabs/tabs.component.html","./src/app/shared/ui/tag/tag.component.ts","./src/app/shared/ui/tag/tag.component.html","./src/app/shared/ui/text-editor/text-editor-toolbar/text-editor-toolbar.component.ts","./src/app/shared/ui/text-editor/text-editor-toolbar/text-editor-toolbar.component.html","./src/app/shared/ui/text-editor/text-editor.component.ts","./src/app/shared/ui/text-editor/text-editor.component.html","./src/app/shared/ui/text-view-editor/text-view-editor.component.ts","./src/app/shared/ui/text-view-editor/text-view-editor.component.html","./src/app/shared/ui/textarea/textarea.component.ts","./src/app/shared/ui/textarea/textarea.component.html","./src/app/shared/ui/textbox/textbox-form.component.ts","./src/app/shared/ui/textbox/textbox.component.html","./src/app/shared/ui/textbox/textbox.component.ts","./src/app/shared/ui/toggle-switch/toggle-switch.component.ts","./src/app/shared/ui/toggle-switch/toggle-switch.component.html","./src/app/shared/ui/tooltip/tooltip.component.ts","./src/app/shared/ui/tooltip/tooltip.component.html","./src/app/shared/ui/ui.module.ts","./src/app/shared/ui/upload-file/upload-file.component.ts","./src/app/shared/ui/upload-file/upload-file.component.html","./src/app/shared/ui/upload-picture/upload-picture.component.ts","./src/app/shared/ui/upload-picture/upload-picture.component.html","./src/app/shared/utils/array.ts","./src/app/shared/utils/colors.ts","./src/app/shared/utils/custom-form-validators.ts","./src/app/shared/utils/date.ts","./src/app/shared/utils/file.ts","./src/app/shared/utils/guid.ts","./src/app/shared/utils/number-converters.ts","./src/app/shared/utils/object-array.ts","./src/app/shared/utils/user-utils.ts","./src/app/static-data/breakpoints.ts","./src/app/static-data/constants.ts","./src/app/static-data/enum-mappings.ts","./src/app/static-data/options.ts","./src/app/static-data/time-labels.ts","./src/environments/environment.ts","./src/main.ts"],"sourcesContent":["//----------------------\n// \n// Generated using the NSwag toolchain v14.1.0.0 (NJsonSchema v11.0.2.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)\n// \n//----------------------\n\n/* tslint:disable */\n/* eslint-disable */\n// ReSharper disable InconsistentNaming\n\nimport { mergeMap as _observableMergeMap, catchError as _observableCatch } from 'rxjs/operators';\nimport { Observable, throwError as _observableThrow, of as _observableOf } from 'rxjs';\nimport { Injectable, Inject, Optional, InjectionToken } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\n\nexport const API_BASE_URL = new InjectionToken('API_BASE_URL');\n\nexport interface IIntegrationClient {\n /**\n * @return Success\n */\n authorize(): Observable;\n /**\n * @return Success\n */\n getOrganizations(): Observable;\n /**\n * @param organizationId (optional) \n * @return Success\n */\n getAssetsByOrganizationAndType(organizationId: string | undefined, assetType: AssetType): Observable;\n /**\n * @return Success\n */\n createAsset(body: CreateAssetCommandParams): Observable;\n /**\n * @return Success\n */\n updateAsset(body: UpdateAssetCommandParams): Observable;\n /**\n * @return Success\n */\n getDataProfilesByType(dataRecordType: DataProfileType): Observable;\n /**\n * @return Success\n */\n createDataProfile(body: CreateDataProfileCommandParams): Observable;\n /**\n * @return Success\n */\n deleteDataProfile(id: string): Observable;\n /**\n * @return Success\n */\n getDataRecordsByAssetAndType(assetId: string, dataRecordType: DataRecordType): Observable;\n /**\n * @return Success\n */\n createDataRecord(body: CreateDataRecordCommandParams): Observable;\n /**\n * @return Success\n */\n updateDataRecord(body: UpdateDataRecordCommandParams): Observable;\n /**\n * @return Success\n */\n createMultipleDataRecord(body: CreateMultipleDataRecordCommandParams): Observable;\n /**\n * @param inputType (optional) \n * @param type (optional) \n * @param category (optional) \n * @param dataProfileId (optional) \n * @param assetIds (optional) \n * @param assetTypes (optional) \n * @param orderBy (optional) \n * @param dateFrom (optional) \n * @param dateTo (optional) \n * @return Success\n */\n deleteMultipleDataRecords(inputType: InputType | undefined, type: DataRecordType | undefined, category: DataRecordCategory | undefined, dataProfileId: string | undefined, assetIds: string[] | undefined, assetTypes: AssetType[] | undefined, orderBy: string | undefined, dateFrom: Date | undefined, dateTo: Date | undefined): Observable;\n /**\n * @return Success\n */\n deleteDataRecord(id: string): Observable;\n /**\n * @return Success\n */\n createMultipleIndicatorData(body: CreateMultipleIndicatorDataCommandParams): Observable;\n /**\n * @return Success\n */\n deleteMultipleIndicatorData(body: DeleteIndicatorDataByFilter): Observable;\n}\n\n@Injectable()\nexport class IntegrationClient implements IIntegrationClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl ?? \"/api/report\";\n }\n\n /**\n * @return Success\n */\n authorize(): Observable {\n let url_ = this.baseUrl + \"/integration/authorize\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAuthorize(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAuthorize(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processAuthorize(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = Result.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getOrganizations(): Observable {\n let url_ = this.baseUrl + \"/integration/organization\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetOrganizations(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetOrganizations(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetOrganizations(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetOrganizationListQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param organizationId (optional) \n * @return Success\n */\n getAssetsByOrganizationAndType(organizationId: string | undefined, assetType: AssetType): Observable {\n let url_ = this.baseUrl + \"/integration/asset?\";\n if (organizationId === null)\n throw new Error(\"The parameter 'organizationId' cannot be null.\");\n else if (organizationId !== undefined)\n url_ += \"organizationId=\" + encodeURIComponent(\"\" + organizationId) + \"&\";\n if (assetType === undefined || assetType === null)\n throw new Error(\"The parameter 'assetType' must be defined and cannot be null.\");\n else\n url_ += \"assetType=\" + encodeURIComponent(\"\" + assetType) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAssetsByOrganizationAndType(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAssetsByOrganizationAndType(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAssetsByOrganizationAndType(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetAssetsByOrganizationAndTypeQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n createAsset(body: CreateAssetCommandParams): Observable {\n let url_ = this.baseUrl + \"/integration/asset\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateAsset(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateAsset(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateAsset(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CreateAssetCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n updateAsset(body: UpdateAssetCommandParams): Observable {\n let url_ = this.baseUrl + \"/integration/asset\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateAsset(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateAsset(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateAsset(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UpdateAssetCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getDataProfilesByType(dataRecordType: DataProfileType): Observable {\n let url_ = this.baseUrl + \"/integration/profile/by-type?\";\n if (dataRecordType === undefined || dataRecordType === null)\n throw new Error(\"The parameter 'dataRecordType' must be defined and cannot be null.\");\n else\n url_ += \"dataRecordType=\" + encodeURIComponent(\"\" + dataRecordType) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetDataProfilesByType(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetDataProfilesByType(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetDataProfilesByType(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetDataProfilesByTypeQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n createDataProfile(body: CreateDataProfileCommandParams): Observable {\n let url_ = this.baseUrl + \"/integration/profile\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateDataProfile(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateDataProfile(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateDataProfile(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CreateDataProfileCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n deleteDataProfile(id: string): Observable {\n let url_ = this.baseUrl + \"/integration/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteDataProfile(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteDataProfile(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteDataProfile(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DeleteDataProfileCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getDataRecordsByAssetAndType(assetId: string, dataRecordType: DataRecordType): Observable {\n let url_ = this.baseUrl + \"/integration/datarecord/by-asset/{assetId}?\";\n if (assetId === undefined || assetId === null)\n throw new Error(\"The parameter 'assetId' must be defined.\");\n url_ = url_.replace(\"{assetId}\", encodeURIComponent(\"\" + assetId));\n if (dataRecordType === undefined || dataRecordType === null)\n throw new Error(\"The parameter 'dataRecordType' must be defined and cannot be null.\");\n else\n url_ += \"dataRecordType=\" + encodeURIComponent(\"\" + dataRecordType) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetDataRecordsByAssetAndType(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetDataRecordsByAssetAndType(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetDataRecordsByAssetAndType(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetDataRecordsByAssetQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n createDataRecord(body: CreateDataRecordCommandParams): Observable {\n let url_ = this.baseUrl + \"/integration/datarecord\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateDataRecord(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateDataRecord(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateDataRecord(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CreateDataRecordCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n updateDataRecord(body: UpdateDataRecordCommandParams): Observable {\n let url_ = this.baseUrl + \"/integration/datarecord\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateDataRecord(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateDataRecord(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateDataRecord(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UpdateDataRecordCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n createMultipleDataRecord(body: CreateMultipleDataRecordCommandParams): Observable {\n let url_ = this.baseUrl + \"/integration/datarecord/multiple\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateMultipleDataRecord(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateMultipleDataRecord(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateMultipleDataRecord(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CreateMultipleDataRecordCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param inputType (optional) \n * @param type (optional) \n * @param category (optional) \n * @param dataProfileId (optional) \n * @param assetIds (optional) \n * @param assetTypes (optional) \n * @param orderBy (optional) \n * @param dateFrom (optional) \n * @param dateTo (optional) \n * @return Success\n */\n deleteMultipleDataRecords(inputType: InputType | undefined, type: DataRecordType | undefined, category: DataRecordCategory | undefined, dataProfileId: string | undefined, assetIds: string[] | undefined, assetTypes: AssetType[] | undefined, orderBy: string | undefined, dateFrom: Date | undefined, dateTo: Date | undefined): Observable {\n let url_ = this.baseUrl + \"/integration/datarecord/multiple?\";\n if (inputType === null)\n throw new Error(\"The parameter 'inputType' cannot be null.\");\n else if (inputType !== undefined)\n url_ += \"InputType=\" + encodeURIComponent(\"\" + inputType) + \"&\";\n if (type === null)\n throw new Error(\"The parameter 'type' cannot be null.\");\n else if (type !== undefined)\n url_ += \"Type=\" + encodeURIComponent(\"\" + type) + \"&\";\n if (category === null)\n throw new Error(\"The parameter 'category' cannot be null.\");\n else if (category !== undefined)\n url_ += \"Category=\" + encodeURIComponent(\"\" + category) + \"&\";\n if (dataProfileId === null)\n throw new Error(\"The parameter 'dataProfileId' cannot be null.\");\n else if (dataProfileId !== undefined)\n url_ += \"DataProfileId=\" + encodeURIComponent(\"\" + dataProfileId) + \"&\";\n if (assetIds === null)\n throw new Error(\"The parameter 'assetIds' cannot be null.\");\n else if (assetIds !== undefined)\n assetIds && assetIds.forEach(item => { url_ += \"AssetIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (assetTypes === null)\n throw new Error(\"The parameter 'assetTypes' cannot be null.\");\n else if (assetTypes !== undefined)\n assetTypes && assetTypes.forEach(item => { url_ += \"AssetTypes=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (orderBy === null)\n throw new Error(\"The parameter 'orderBy' cannot be null.\");\n else if (orderBy !== undefined)\n url_ += \"OrderBy=\" + encodeURIComponent(\"\" + orderBy) + \"&\";\n if (dateFrom === null)\n throw new Error(\"The parameter 'dateFrom' cannot be null.\");\n else if (dateFrom !== undefined)\n url_ += \"DateFrom=\" + encodeURIComponent(dateFrom ? \"\" + dateFrom.toISOString() : \"\") + \"&\";\n if (dateTo === null)\n throw new Error(\"The parameter 'dateTo' cannot be null.\");\n else if (dateTo !== undefined)\n url_ += \"DateTo=\" + encodeURIComponent(dateTo ? \"\" + dateTo.toISOString() : \"\") + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteMultipleDataRecords(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteMultipleDataRecords(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteMultipleDataRecords(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DeleteDataRecordsByCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n deleteDataRecord(id: string): Observable {\n let url_ = this.baseUrl + \"/integration/datarecord/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteDataRecord(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteDataRecord(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteDataRecord(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DeleteDataRecordCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n createMultipleIndicatorData(body: CreateMultipleIndicatorDataCommandParams): Observable {\n let url_ = this.baseUrl + \"/integration/indicatordata/multiple\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateMultipleIndicatorData(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateMultipleIndicatorData(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateMultipleIndicatorData(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CreateIndicatorDataCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n deleteMultipleIndicatorData(body: DeleteIndicatorDataByFilter): Observable {\n let url_ = this.baseUrl + \"/integration/indicatordata/multiple\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteMultipleIndicatorData(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteMultipleIndicatorData(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteMultipleIndicatorData(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DeleteMultipleIndicatorDataCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\nexport class CreateAssetCommandResponse implements ICreateAssetCommandResponse {\n result?: CreateAssetVm | undefined;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: ICreateAssetCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? CreateAssetVm.fromJS(_data[\"result\"]) : undefined;\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CreateAssetCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CreateAssetCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICreateAssetCommandResponse {\n result?: CreateAssetVm | undefined;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CreateAssetVm implements ICreateAssetVm {\n id!: string;\n\n constructor(data?: ICreateAssetVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CreateAssetVm {\n data = typeof data === 'object' ? data : {};\n let result = new CreateAssetVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICreateAssetVm {\n id: string;\n}\n\nexport class CreateAssetCommandParams implements ICreateAssetCommandParams {\n organizationId!: string;\n subOrganizationId?: string | undefined;\n name!: string;\n versionValidFrom!: Date;\n\n protected _discriminator: string;\n\n constructor(data?: ICreateAssetCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n this._discriminator = \"CreateAssetCommandParams\";\n }\n\n init(_data?: any) {\n if (_data) {\n this.organizationId = _data[\"organizationId\"];\n this.subOrganizationId = _data[\"subOrganizationId\"];\n this.name = _data[\"name\"];\n this.versionValidFrom = _data[\"versionValidFrom\"] ? new Date(_data[\"versionValidFrom\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): CreateAssetCommandParams {\n data = typeof data === 'object' ? data : {};\n if (data[\"type\"] === \"Client\") {\n let result = new CreateClientAssetCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Facility\") {\n let result = new CreateFacilityAssetCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Supplier\") {\n let result = new CreateSupplierAssetCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VehicleCraftMachinery\") {\n let result = new CreateVehicleCraftMachineryAssetCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Vessel\") {\n let result = new CreateVesselAssetCommandParams();\n result.init(data);\n return result;\n }\n let result = new CreateAssetCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this._discriminator;\n data[\"organizationId\"] = this.organizationId;\n data[\"subOrganizationId\"] = this.subOrganizationId;\n data[\"name\"] = this.name;\n data[\"versionValidFrom\"] = this.versionValidFrom ? formatDate(this.versionValidFrom) : undefined;\n return data;\n }\n}\n\nexport interface ICreateAssetCommandParams {\n organizationId: string;\n subOrganizationId?: string | undefined;\n name: string;\n versionValidFrom: Date;\n}\n\nexport class CreateClientAssetCommandParams extends CreateAssetCommandParams implements ICreateClientAssetCommandParams {\n readonly type!: AssetType;\n countryCode!: CountryCodes;\n address?: string | undefined;\n contactPerson?: string | undefined;\n email?: string | undefined;\n\n constructor(data?: ICreateClientAssetCommandParams) {\n super(data);\n this._discriminator = \"Client\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.countryCode = _data[\"countryCode\"];\n this.address = _data[\"address\"];\n this.contactPerson = _data[\"contactPerson\"];\n this.email = _data[\"email\"];\n }\n }\n\n static fromJS(data: any): CreateClientAssetCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateClientAssetCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"countryCode\"] = this.countryCode;\n data[\"address\"] = this.address;\n data[\"contactPerson\"] = this.contactPerson;\n data[\"email\"] = this.email;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateClientAssetCommandParams extends ICreateAssetCommandParams {\n type: AssetType;\n countryCode: CountryCodes;\n address?: string | undefined;\n contactPerson?: string | undefined;\n email?: string | undefined;\n}\n\nexport class CreateFacilityAssetCommandParams extends CreateAssetCommandParams implements ICreateFacilityAssetCommandParams {\n readonly type!: AssetType;\n subType!: FacilityType;\n address?: string | undefined;\n countryCode!: CountryCodes;\n sqm_m2?: number | undefined;\n\n constructor(data?: ICreateFacilityAssetCommandParams) {\n super(data);\n this._discriminator = \"Facility\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.subType = _data[\"subType\"];\n this.address = _data[\"address\"];\n this.countryCode = _data[\"countryCode\"];\n this.sqm_m2 = _data[\"sqm_m2\"];\n }\n }\n\n static fromJS(data: any): CreateFacilityAssetCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateFacilityAssetCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"subType\"] = this.subType;\n data[\"address\"] = this.address;\n data[\"countryCode\"] = this.countryCode;\n data[\"sqm_m2\"] = this.sqm_m2;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateFacilityAssetCommandParams extends ICreateAssetCommandParams {\n type: AssetType;\n subType: FacilityType;\n address?: string | undefined;\n countryCode: CountryCodes;\n sqm_m2?: number | undefined;\n}\n\nexport class CreateSupplierAssetCommandParams extends CreateAssetCommandParams implements ICreateSupplierAssetCommandParams {\n readonly type!: AssetType;\n countryCode!: CountryCodes;\n sector!: SectorType;\n status!: SupplierStatus;\n orgID?: string | undefined;\n address?: string | undefined;\n postalNumber?: string | undefined;\n city?: string | undefined;\n contactPerson?: string | undefined;\n email?: string | undefined;\n phone?: string | undefined;\n\n constructor(data?: ICreateSupplierAssetCommandParams) {\n super(data);\n this._discriminator = \"Supplier\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.countryCode = _data[\"countryCode\"];\n this.sector = _data[\"sector\"];\n this.status = _data[\"status\"];\n this.orgID = _data[\"orgID\"];\n this.address = _data[\"address\"];\n this.postalNumber = _data[\"postalNumber\"];\n this.city = _data[\"city\"];\n this.contactPerson = _data[\"contactPerson\"];\n this.email = _data[\"email\"];\n this.phone = _data[\"phone\"];\n }\n }\n\n static fromJS(data: any): CreateSupplierAssetCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateSupplierAssetCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"countryCode\"] = this.countryCode;\n data[\"sector\"] = this.sector;\n data[\"status\"] = this.status;\n data[\"orgID\"] = this.orgID;\n data[\"address\"] = this.address;\n data[\"postalNumber\"] = this.postalNumber;\n data[\"city\"] = this.city;\n data[\"contactPerson\"] = this.contactPerson;\n data[\"email\"] = this.email;\n data[\"phone\"] = this.phone;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateSupplierAssetCommandParams extends ICreateAssetCommandParams {\n type: AssetType;\n countryCode: CountryCodes;\n sector: SectorType;\n status: SupplierStatus;\n orgID?: string | undefined;\n address?: string | undefined;\n postalNumber?: string | undefined;\n city?: string | undefined;\n contactPerson?: string | undefined;\n email?: string | undefined;\n phone?: string | undefined;\n}\n\nexport class CreateVehicleCraftMachineryAssetCommandParams extends CreateAssetCommandParams implements ICreateVehicleCraftMachineryAssetCommandParams {\n readonly type!: AssetType;\n subType!: VehicleCraftMachineryType;\n registrationNumber?: string | undefined;\n modelYear?: number | undefined;\n powerSource!: PowerSource;\n cO2?: number | undefined;\n nOx?: number | undefined;\n\n constructor(data?: ICreateVehicleCraftMachineryAssetCommandParams) {\n super(data);\n this._discriminator = \"VehicleCraftMachinery\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.subType = _data[\"subType\"];\n this.registrationNumber = _data[\"registrationNumber\"];\n this.modelYear = _data[\"modelYear\"];\n this.powerSource = _data[\"powerSource\"];\n this.cO2 = _data[\"cO2\"];\n this.nOx = _data[\"nOx\"];\n }\n }\n\n static fromJS(data: any): CreateVehicleCraftMachineryAssetCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateVehicleCraftMachineryAssetCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"subType\"] = this.subType;\n data[\"registrationNumber\"] = this.registrationNumber;\n data[\"modelYear\"] = this.modelYear;\n data[\"powerSource\"] = this.powerSource;\n data[\"cO2\"] = this.cO2;\n data[\"nOx\"] = this.nOx;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateVehicleCraftMachineryAssetCommandParams extends ICreateAssetCommandParams {\n type: AssetType;\n subType: VehicleCraftMachineryType;\n registrationNumber?: string | undefined;\n modelYear?: number | undefined;\n powerSource: PowerSource;\n cO2?: number | undefined;\n nOx?: number | undefined;\n}\n\nexport class CreateVesselAssetCommandParams extends CreateAssetCommandParams implements ICreateVesselAssetCommandParams {\n readonly type!: AssetType;\n imOnumber?: number | undefined;\n vesselType!: VesselType;\n installedPower!: number;\n scrubbersInstalled?: boolean | undefined;\n scrubbersLoopSystem?: ScrubbersLoopSystem | undefined;\n toBeRecycledYear?: number | undefined;\n roRoVessel?: boolean | undefined;\n deadWeightTonnage?: number | undefined;\n grossTonnage?: number | undefined;\n\n constructor(data?: ICreateVesselAssetCommandParams) {\n super(data);\n this._discriminator = \"Vessel\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.imOnumber = _data[\"imOnumber\"];\n this.vesselType = _data[\"vesselType\"];\n this.installedPower = _data[\"installedPower\"];\n this.scrubbersInstalled = _data[\"scrubbersInstalled\"];\n this.scrubbersLoopSystem = _data[\"scrubbersLoopSystem\"];\n this.toBeRecycledYear = _data[\"toBeRecycledYear\"];\n this.roRoVessel = _data[\"roRoVessel\"];\n this.deadWeightTonnage = _data[\"deadWeightTonnage\"];\n this.grossTonnage = _data[\"grossTonnage\"];\n }\n }\n\n static fromJS(data: any): CreateVesselAssetCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateVesselAssetCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"imOnumber\"] = this.imOnumber;\n data[\"vesselType\"] = this.vesselType;\n data[\"installedPower\"] = this.installedPower;\n data[\"scrubbersInstalled\"] = this.scrubbersInstalled;\n data[\"scrubbersLoopSystem\"] = this.scrubbersLoopSystem;\n data[\"toBeRecycledYear\"] = this.toBeRecycledYear;\n data[\"roRoVessel\"] = this.roRoVessel;\n data[\"deadWeightTonnage\"] = this.deadWeightTonnage;\n data[\"grossTonnage\"] = this.grossTonnage;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateVesselAssetCommandParams extends ICreateAssetCommandParams {\n type: AssetType;\n imOnumber?: number | undefined;\n vesselType: VesselType;\n installedPower: number;\n scrubbersInstalled?: boolean | undefined;\n scrubbersLoopSystem?: ScrubbersLoopSystem | undefined;\n toBeRecycledYear?: number | undefined;\n roRoVessel?: boolean | undefined;\n deadWeightTonnage?: number | undefined;\n grossTonnage?: number | undefined;\n}\n\nexport class UpdateAssetCommandParams implements IUpdateAssetCommandParams {\n id!: string;\n subOrganizationId?: string | undefined;\n name!: string;\n versionId!: string;\n versionValidFrom!: Date;\n\n protected _discriminator: string;\n\n constructor(data?: IUpdateAssetCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n this._discriminator = \"UpdateAssetCommandParams\";\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.subOrganizationId = _data[\"subOrganizationId\"];\n this.name = _data[\"name\"];\n this.versionId = _data[\"versionId\"];\n this.versionValidFrom = _data[\"versionValidFrom\"] ? new Date(_data[\"versionValidFrom\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): UpdateAssetCommandParams {\n data = typeof data === 'object' ? data : {};\n if (data[\"type\"] === \"Client\") {\n let result = new UpdateClientAssetCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Facility\") {\n let result = new UpdateFacilityAssetCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Supplier\") {\n let result = new UpdateSupplierAssetCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VehicleCraftMachinery\") {\n let result = new UpdateVehicleCraftMachineryAssetCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Vessel\") {\n let result = new UpdateVesselAssetCommandParams();\n result.init(data);\n return result;\n }\n let result = new UpdateAssetCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this._discriminator;\n data[\"id\"] = this.id;\n data[\"subOrganizationId\"] = this.subOrganizationId;\n data[\"name\"] = this.name;\n data[\"versionId\"] = this.versionId;\n data[\"versionValidFrom\"] = this.versionValidFrom ? formatDate(this.versionValidFrom) : undefined;\n return data;\n }\n}\n\nexport interface IUpdateAssetCommandParams {\n id: string;\n subOrganizationId?: string | undefined;\n name: string;\n versionId: string;\n versionValidFrom: Date;\n}\n\nexport class UpdateClientAssetCommandParams extends UpdateAssetCommandParams implements IUpdateClientAssetCommandParams {\n readonly type!: AssetType;\n countryCode!: CountryCodes;\n address?: string | undefined;\n contactPerson?: string | undefined;\n email?: string | undefined;\n\n constructor(data?: IUpdateClientAssetCommandParams) {\n super(data);\n this._discriminator = \"Client\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.countryCode = _data[\"countryCode\"];\n this.address = _data[\"address\"];\n this.contactPerson = _data[\"contactPerson\"];\n this.email = _data[\"email\"];\n }\n }\n\n static fromJS(data: any): UpdateClientAssetCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateClientAssetCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"countryCode\"] = this.countryCode;\n data[\"address\"] = this.address;\n data[\"contactPerson\"] = this.contactPerson;\n data[\"email\"] = this.email;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateClientAssetCommandParams extends IUpdateAssetCommandParams {\n type: AssetType;\n countryCode: CountryCodes;\n address?: string | undefined;\n contactPerson?: string | undefined;\n email?: string | undefined;\n}\n\nexport class UpdateFacilityAssetCommandParams extends UpdateAssetCommandParams implements IUpdateFacilityAssetCommandParams {\n readonly type!: AssetType;\n subType!: FacilityType;\n address?: string | undefined;\n countryCode!: CountryCodes;\n sqm_m2?: number | undefined;\n\n constructor(data?: IUpdateFacilityAssetCommandParams) {\n super(data);\n this._discriminator = \"Facility\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.subType = _data[\"subType\"];\n this.address = _data[\"address\"];\n this.countryCode = _data[\"countryCode\"];\n this.sqm_m2 = _data[\"sqm_m2\"];\n }\n }\n\n static fromJS(data: any): UpdateFacilityAssetCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateFacilityAssetCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"subType\"] = this.subType;\n data[\"address\"] = this.address;\n data[\"countryCode\"] = this.countryCode;\n data[\"sqm_m2\"] = this.sqm_m2;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateFacilityAssetCommandParams extends IUpdateAssetCommandParams {\n type: AssetType;\n subType: FacilityType;\n address?: string | undefined;\n countryCode: CountryCodes;\n sqm_m2?: number | undefined;\n}\n\nexport class UpdateSupplierAssetCommandParams extends UpdateAssetCommandParams implements IUpdateSupplierAssetCommandParams {\n readonly type!: AssetType;\n countryCode!: CountryCodes;\n sector!: SectorType;\n status!: SupplierStatus;\n orgID?: string | undefined;\n address?: string | undefined;\n postalNumber?: string | undefined;\n city?: string | undefined;\n contactPerson?: string | undefined;\n email?: string | undefined;\n phone?: string | undefined;\n\n constructor(data?: IUpdateSupplierAssetCommandParams) {\n super(data);\n this._discriminator = \"Supplier\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.countryCode = _data[\"countryCode\"];\n this.sector = _data[\"sector\"];\n this.status = _data[\"status\"];\n this.orgID = _data[\"orgID\"];\n this.address = _data[\"address\"];\n this.postalNumber = _data[\"postalNumber\"];\n this.city = _data[\"city\"];\n this.contactPerson = _data[\"contactPerson\"];\n this.email = _data[\"email\"];\n this.phone = _data[\"phone\"];\n }\n }\n\n static fromJS(data: any): UpdateSupplierAssetCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateSupplierAssetCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"countryCode\"] = this.countryCode;\n data[\"sector\"] = this.sector;\n data[\"status\"] = this.status;\n data[\"orgID\"] = this.orgID;\n data[\"address\"] = this.address;\n data[\"postalNumber\"] = this.postalNumber;\n data[\"city\"] = this.city;\n data[\"contactPerson\"] = this.contactPerson;\n data[\"email\"] = this.email;\n data[\"phone\"] = this.phone;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateSupplierAssetCommandParams extends IUpdateAssetCommandParams {\n type: AssetType;\n countryCode: CountryCodes;\n sector: SectorType;\n status: SupplierStatus;\n orgID?: string | undefined;\n address?: string | undefined;\n postalNumber?: string | undefined;\n city?: string | undefined;\n contactPerson?: string | undefined;\n email?: string | undefined;\n phone?: string | undefined;\n}\n\nexport class UpdateVehicleCraftMachineryAssetCommandParams extends UpdateAssetCommandParams implements IUpdateVehicleCraftMachineryAssetCommandParams {\n readonly type!: AssetType;\n subType!: VehicleCraftMachineryType;\n registrationNumber?: string | undefined;\n modelYear?: number | undefined;\n powerSource!: PowerSource;\n cO2?: number | undefined;\n nOx?: number | undefined;\n\n constructor(data?: IUpdateVehicleCraftMachineryAssetCommandParams) {\n super(data);\n this._discriminator = \"VehicleCraftMachinery\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.subType = _data[\"subType\"];\n this.registrationNumber = _data[\"registrationNumber\"];\n this.modelYear = _data[\"modelYear\"];\n this.powerSource = _data[\"powerSource\"];\n this.cO2 = _data[\"cO2\"];\n this.nOx = _data[\"nOx\"];\n }\n }\n\n static fromJS(data: any): UpdateVehicleCraftMachineryAssetCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateVehicleCraftMachineryAssetCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"subType\"] = this.subType;\n data[\"registrationNumber\"] = this.registrationNumber;\n data[\"modelYear\"] = this.modelYear;\n data[\"powerSource\"] = this.powerSource;\n data[\"cO2\"] = this.cO2;\n data[\"nOx\"] = this.nOx;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateVehicleCraftMachineryAssetCommandParams extends IUpdateAssetCommandParams {\n type: AssetType;\n subType: VehicleCraftMachineryType;\n registrationNumber?: string | undefined;\n modelYear?: number | undefined;\n powerSource: PowerSource;\n cO2?: number | undefined;\n nOx?: number | undefined;\n}\n\nexport class UpdateVesselAssetCommandParams extends UpdateAssetCommandParams implements IUpdateVesselAssetCommandParams {\n readonly type!: AssetType;\n imOnumber?: number | undefined;\n vesselType!: VesselType;\n installedPower!: number;\n scrubbersInstalled?: boolean | undefined;\n scrubbersLoopSystem?: ScrubbersLoopSystem | undefined;\n toBeRecycledYear?: number | undefined;\n roRoVessel?: boolean | undefined;\n deadWeightTonnage?: number | undefined;\n grossTonnage?: number | undefined;\n\n constructor(data?: IUpdateVesselAssetCommandParams) {\n super(data);\n this._discriminator = \"Vessel\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.imOnumber = _data[\"imOnumber\"];\n this.vesselType = _data[\"vesselType\"];\n this.installedPower = _data[\"installedPower\"];\n this.scrubbersInstalled = _data[\"scrubbersInstalled\"];\n this.scrubbersLoopSystem = _data[\"scrubbersLoopSystem\"];\n this.toBeRecycledYear = _data[\"toBeRecycledYear\"];\n this.roRoVessel = _data[\"roRoVessel\"];\n this.deadWeightTonnage = _data[\"deadWeightTonnage\"];\n this.grossTonnage = _data[\"grossTonnage\"];\n }\n }\n\n static fromJS(data: any): UpdateVesselAssetCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateVesselAssetCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"imOnumber\"] = this.imOnumber;\n data[\"vesselType\"] = this.vesselType;\n data[\"installedPower\"] = this.installedPower;\n data[\"scrubbersInstalled\"] = this.scrubbersInstalled;\n data[\"scrubbersLoopSystem\"] = this.scrubbersLoopSystem;\n data[\"toBeRecycledYear\"] = this.toBeRecycledYear;\n data[\"roRoVessel\"] = this.roRoVessel;\n data[\"deadWeightTonnage\"] = this.deadWeightTonnage;\n data[\"grossTonnage\"] = this.grossTonnage;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateVesselAssetCommandParams extends IUpdateAssetCommandParams {\n type: AssetType;\n imOnumber?: number | undefined;\n vesselType: VesselType;\n installedPower: number;\n scrubbersInstalled?: boolean | undefined;\n scrubbersLoopSystem?: ScrubbersLoopSystem | undefined;\n toBeRecycledYear?: number | undefined;\n roRoVessel?: boolean | undefined;\n deadWeightTonnage?: number | undefined;\n grossTonnage?: number | undefined;\n}\n\nexport class UpdateAssetCommandResponse implements IUpdateAssetCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IUpdateAssetCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): UpdateAssetCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateAssetCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IUpdateAssetCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetAssetsByOrganizationAndTypeQueryResponse implements IGetAssetsByOrganizationAndTypeQueryResponse {\n result!: AssetVm[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetAssetsByOrganizationAndTypeQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(AssetVm.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetAssetsByOrganizationAndTypeQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetAssetsByOrganizationAndTypeQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetAssetsByOrganizationAndTypeQueryResponse {\n result: AssetVm[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class AssetVm implements IAssetVm {\n id!: string;\n name!: string;\n organizationId!: string;\n subOrganizationId?: string | undefined;\n orgOrSuborgName!: string;\n versionValidFrom!: Date;\n\n protected _discriminator: string;\n\n constructor(data?: IAssetVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n this._discriminator = \"AssetVm\";\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.organizationId = _data[\"organizationId\"];\n this.subOrganizationId = _data[\"subOrganizationId\"];\n this.orgOrSuborgName = _data[\"orgOrSuborgName\"];\n this.versionValidFrom = _data[\"versionValidFrom\"] ? new Date(_data[\"versionValidFrom\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): AssetVm {\n data = typeof data === 'object' ? data : {};\n if (data[\"type\"] === \"Client\") {\n let result = new ClientAssetVm();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Facility\") {\n let result = new FacilityAssetVm();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Organization\") {\n let result = new OrganizationAssetVm();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Supplier\") {\n let result = new SupplierAssetVm();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VehicleCraftMachinery\") {\n let result = new VehicleCraftMachineryAssetVm();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Vessel\") {\n let result = new VesselAssetVm();\n result.init(data);\n return result;\n }\n let result = new AssetVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this._discriminator;\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"organizationId\"] = this.organizationId;\n data[\"subOrganizationId\"] = this.subOrganizationId;\n data[\"orgOrSuborgName\"] = this.orgOrSuborgName;\n data[\"versionValidFrom\"] = this.versionValidFrom ? formatDate(this.versionValidFrom) : undefined;\n return data;\n }\n}\n\nexport interface IAssetVm {\n id: string;\n name: string;\n organizationId: string;\n subOrganizationId?: string | undefined;\n orgOrSuborgName: string;\n versionValidFrom: Date;\n}\n\nexport class ClientAssetVm extends AssetVm implements IClientAssetVm {\n countryCode!: CountryCodes;\n countryName!: string;\n\n constructor(data?: IClientAssetVm) {\n super(data);\n this._discriminator = \"Client\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.countryCode = _data[\"countryCode\"];\n this.countryName = _data[\"countryName\"];\n }\n }\n\n static fromJS(data: any): ClientAssetVm {\n data = typeof data === 'object' ? data : {};\n let result = new ClientAssetVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"countryCode\"] = this.countryCode;\n data[\"countryName\"] = this.countryName;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IClientAssetVm extends IAssetVm {\n countryCode: CountryCodes;\n countryName: string;\n}\n\nexport class FacilityAssetVm extends AssetVm implements IFacilityAssetVm {\n subType!: FacilityType;\n countryCode!: CountryCodes;\n countryName!: string;\n\n constructor(data?: IFacilityAssetVm) {\n super(data);\n this._discriminator = \"Facility\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.subType = _data[\"subType\"];\n this.countryCode = _data[\"countryCode\"];\n this.countryName = _data[\"countryName\"];\n }\n }\n\n static fromJS(data: any): FacilityAssetVm {\n data = typeof data === 'object' ? data : {};\n let result = new FacilityAssetVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"subType\"] = this.subType;\n data[\"countryCode\"] = this.countryCode;\n data[\"countryName\"] = this.countryName;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IFacilityAssetVm extends IAssetVm {\n subType: FacilityType;\n countryCode: CountryCodes;\n countryName: string;\n}\n\nexport class OrganizationAssetVm extends AssetVm implements IOrganizationAssetVm {\n countryCode!: CountryCodes;\n countryName!: string;\n currencyCode!: CurrencyCodes;\n\n constructor(data?: IOrganizationAssetVm) {\n super(data);\n this._discriminator = \"Organization\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.countryCode = _data[\"countryCode\"];\n this.countryName = _data[\"countryName\"];\n this.currencyCode = _data[\"currencyCode\"];\n }\n }\n\n static fromJS(data: any): OrganizationAssetVm {\n data = typeof data === 'object' ? data : {};\n let result = new OrganizationAssetVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"countryCode\"] = this.countryCode;\n data[\"countryName\"] = this.countryName;\n data[\"currencyCode\"] = this.currencyCode;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IOrganizationAssetVm extends IAssetVm {\n countryCode: CountryCodes;\n countryName: string;\n currencyCode: CurrencyCodes;\n}\n\nexport class SupplierAssetVm extends AssetVm implements ISupplierAssetVm {\n orgID?: string | undefined;\n countryCode!: CountryCodes;\n sectorType!: SectorType;\n countryName!: string;\n environmentalRisk!: RiskCategory;\n socialRisk!: RiskCategory;\n\n constructor(data?: ISupplierAssetVm) {\n super(data);\n this._discriminator = \"Supplier\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.orgID = _data[\"orgID\"];\n this.countryCode = _data[\"countryCode\"];\n this.sectorType = _data[\"sectorType\"];\n this.countryName = _data[\"countryName\"];\n this.environmentalRisk = _data[\"environmentalRisk\"];\n this.socialRisk = _data[\"socialRisk\"];\n }\n }\n\n static fromJS(data: any): SupplierAssetVm {\n data = typeof data === 'object' ? data : {};\n let result = new SupplierAssetVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"orgID\"] = this.orgID;\n data[\"countryCode\"] = this.countryCode;\n data[\"sectorType\"] = this.sectorType;\n data[\"countryName\"] = this.countryName;\n data[\"environmentalRisk\"] = this.environmentalRisk;\n data[\"socialRisk\"] = this.socialRisk;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ISupplierAssetVm extends IAssetVm {\n orgID?: string | undefined;\n countryCode: CountryCodes;\n sectorType: SectorType;\n countryName: string;\n environmentalRisk: RiskCategory;\n socialRisk: RiskCategory;\n}\n\nexport class VehicleCraftMachineryAssetVm extends AssetVm implements IVehicleCraftMachineryAssetVm {\n subType!: VehicleCraftMachineryType;\n powerSource!: PowerSource;\n\n constructor(data?: IVehicleCraftMachineryAssetVm) {\n super(data);\n this._discriminator = \"VehicleCraftMachinery\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.subType = _data[\"subType\"];\n this.powerSource = _data[\"powerSource\"];\n }\n }\n\n static fromJS(data: any): VehicleCraftMachineryAssetVm {\n data = typeof data === 'object' ? data : {};\n let result = new VehicleCraftMachineryAssetVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"subType\"] = this.subType;\n data[\"powerSource\"] = this.powerSource;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IVehicleCraftMachineryAssetVm extends IAssetVm {\n subType: VehicleCraftMachineryType;\n powerSource: PowerSource;\n}\n\nexport class VesselAssetVm extends AssetVm implements IVesselAssetVm {\n imOnumber?: number | undefined;\n vesselType!: VesselType;\n\n constructor(data?: IVesselAssetVm) {\n super(data);\n this._discriminator = \"Vessel\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.imOnumber = _data[\"imOnumber\"];\n this.vesselType = _data[\"vesselType\"];\n }\n }\n\n static fromJS(data: any): VesselAssetVm {\n data = typeof data === 'object' ? data : {};\n let result = new VesselAssetVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"imOnumber\"] = this.imOnumber;\n data[\"vesselType\"] = this.vesselType;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IVesselAssetVm extends IAssetVm {\n imOnumber?: number | undefined;\n vesselType: VesselType;\n}\n\nexport class CreateDataProfileCommandResponse implements ICreateDataProfileCommandResponse {\n result!: CreateDataProfileVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: ICreateDataProfileCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new CreateDataProfileVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? CreateDataProfileVm.fromJS(_data[\"result\"]) : new CreateDataProfileVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CreateDataProfileCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CreateDataProfileCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICreateDataProfileCommandResponse {\n result: CreateDataProfileVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CreateDataProfileVm implements ICreateDataProfileVm {\n id!: string;\n\n constructor(data?: ICreateDataProfileVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CreateDataProfileVm {\n data = typeof data === 'object' ? data : {};\n let result = new CreateDataProfileVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICreateDataProfileVm {\n id: string;\n}\n\nexport class CreateDataProfileCommandParams implements ICreateDataProfileCommandParams {\n description!: string;\n timePeriodType!: TimePeriodType;\n year?: number | undefined;\n period?: number | undefined;\n customStart?: Date | undefined;\n customEnd?: Date | undefined;\n inputType!: InputType;\n\n protected _discriminator: string;\n\n constructor(data?: ICreateDataProfileCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n this._discriminator = \"CreateDataProfileCommandParams\";\n }\n\n init(_data?: any) {\n if (_data) {\n this.description = _data[\"description\"];\n this.timePeriodType = _data[\"timePeriodType\"];\n this.year = _data[\"year\"];\n this.period = _data[\"period\"];\n this.customStart = _data[\"customStart\"] ? new Date(_data[\"customStart\"].toString()) : undefined;\n this.customEnd = _data[\"customEnd\"] ? new Date(_data[\"customEnd\"].toString()) : undefined;\n this.inputType = _data[\"inputType\"];\n }\n }\n\n static fromJS(data: any): CreateDataProfileCommandParams {\n data = typeof data === 'object' ? data : {};\n if (data[\"type\"] === \"EmployeeCommuting\") {\n let result = new CreateEmployeeCommutingDataProfileCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeGenderDiversityAndEquality\") {\n let result = new CreateEmployeeGenderDiversityAndEqualityDataProfileCommandParams();\n result.init(data);\n return result;\n }\n let result = new CreateDataProfileCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this._discriminator;\n data[\"description\"] = this.description;\n data[\"timePeriodType\"] = this.timePeriodType;\n data[\"year\"] = this.year;\n data[\"period\"] = this.period;\n data[\"customStart\"] = this.customStart ? formatDate(this.customStart) : undefined;\n data[\"customEnd\"] = this.customEnd ? formatDate(this.customEnd) : undefined;\n data[\"inputType\"] = this.inputType;\n return data;\n }\n}\n\nexport interface ICreateDataProfileCommandParams {\n description: string;\n timePeriodType: TimePeriodType;\n year?: number | undefined;\n period?: number | undefined;\n customStart?: Date | undefined;\n customEnd?: Date | undefined;\n inputType: InputType;\n}\n\nexport class CreateEmployeeCommutingDataProfileCommandParams extends CreateDataProfileCommandParams implements ICreateEmployeeCommutingDataProfileCommandParams {\n readonly type!: DataProfileType;\n totalEmployees!: number;\n totalHomeOfficeDays!: number;\n totalCommutingDays!: number;\n\n constructor(data?: ICreateEmployeeCommutingDataProfileCommandParams) {\n super(data);\n this._discriminator = \"EmployeeCommuting\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.totalEmployees = _data[\"totalEmployees\"];\n this.totalHomeOfficeDays = _data[\"totalHomeOfficeDays\"];\n this.totalCommutingDays = _data[\"totalCommutingDays\"];\n }\n }\n\n static fromJS(data: any): CreateEmployeeCommutingDataProfileCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateEmployeeCommutingDataProfileCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"totalEmployees\"] = this.totalEmployees;\n data[\"totalHomeOfficeDays\"] = this.totalHomeOfficeDays;\n data[\"totalCommutingDays\"] = this.totalCommutingDays;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateEmployeeCommutingDataProfileCommandParams extends ICreateDataProfileCommandParams {\n type: DataProfileType;\n totalEmployees: number;\n totalHomeOfficeDays: number;\n totalCommutingDays: number;\n}\n\nexport class CreateEmployeeGenderDiversityAndEqualityDataProfileCommandParams extends CreateDataProfileCommandParams implements ICreateEmployeeGenderDiversityAndEqualityDataProfileCommandParams {\n readonly type!: DataProfileType;\n organizationAssetId!: string;\n\n constructor(data?: ICreateEmployeeGenderDiversityAndEqualityDataProfileCommandParams) {\n super(data);\n this._discriminator = \"EmployeeGenderDiversityAndEquality\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.organizationAssetId = _data[\"organizationAssetId\"];\n }\n }\n\n static fromJS(data: any): CreateEmployeeGenderDiversityAndEqualityDataProfileCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateEmployeeGenderDiversityAndEqualityDataProfileCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"organizationAssetId\"] = this.organizationAssetId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateEmployeeGenderDiversityAndEqualityDataProfileCommandParams extends ICreateDataProfileCommandParams {\n type: DataProfileType;\n organizationAssetId: string;\n}\n\nexport class DeleteDataProfileCommandResponse implements IDeleteDataProfileCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IDeleteDataProfileCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DeleteDataProfileCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteDataProfileCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDeleteDataProfileCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetDataProfilesByTypeQueryResponse implements IGetDataProfilesByTypeQueryResponse {\n result!: DataProfile[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetDataProfilesByTypeQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(DataProfile.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetDataProfilesByTypeQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetDataProfilesByTypeQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetDataProfilesByTypeQueryResponse {\n result: DataProfile[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CreateDataRecordCommandResponse implements ICreateDataRecordCommandResponse {\n result?: CreateDataRecordVm | undefined;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: ICreateDataRecordCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? CreateDataRecordVm.fromJS(_data[\"result\"]) : undefined;\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CreateDataRecordCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CreateDataRecordCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICreateDataRecordCommandResponse {\n result?: CreateDataRecordVm | undefined;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CreateDataRecordVm implements ICreateDataRecordVm {\n id!: string;\n\n constructor(data?: ICreateDataRecordVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CreateDataRecordVm {\n data = typeof data === 'object' ? data : {};\n let result = new CreateDataRecordVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICreateDataRecordVm {\n id: string;\n}\n\nexport class CreateDataRecordCommandParams implements ICreateDataRecordCommandParams {\n assetId!: string;\n inputType!: InputType;\n dataSetId?: string | undefined;\n\n protected _discriminator: string;\n\n constructor(data?: ICreateDataRecordCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n this._discriminator = \"CreateDataRecordCommandParams\";\n }\n\n init(_data?: any) {\n if (_data) {\n this.assetId = _data[\"assetId\"];\n this.inputType = _data[\"inputType\"];\n this.dataSetId = _data[\"dataSetId\"];\n }\n }\n\n static fromJS(data: any): CreateDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n if (data[\"type\"] === \"CatchedFish\") {\n let result = new CreateCatchedFishDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"DownstreamLeasedAsset\") {\n let result = new CreateDownstreamLeasedAssetDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"ElectricityConsumption\") {\n let result = new CreateElectricityConsumptionDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeCommuting\") {\n let result = new CreateEmployeeCommutingDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeGenderDiversityAndEquality\") {\n let result = new CreateEmployeeGenderDiversityAndEqualityDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeMarineCasualty\") {\n let result = new CreateEmployeeMarineCasualtyDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeNewHiresAndTurnovers\") {\n let result = new CreateEmployeeNewHiresAndTurnoversDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeParentalLeaves\") {\n let result = new CreateEmployeeParentalLeavesDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeSickLeaves\") {\n let result = new CreateEmployeeSickLeavesDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeWorkRelatedInjuries\") {\n let result = new CreateEmployeeWorkRelatedInjuriesDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationBusinessAirTravel\") {\n let result = new CreateOrganizationBusinessAirTravelDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationBusinessTravelHotelNights\") {\n let result = new CreateOrganizationBusinessTravelHotelNightsDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationCorruptionRisk\") {\n let result = new CreateOrganizationCorruptionRiskDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationFines\") {\n let result = new CreateOrganizationFinesDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationLobbyPoliticalContribution\") {\n let result = new CreateOrganizationLobbyPoliticalContributionDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationWhistleblowing\") {\n let result = new CreateOrganizationWhistleblowingDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"PurchasedFish\") {\n let result = new CreatePurchasedFishDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VehicleConsumption\") {\n let result = new CreateVehicleConsumptionDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VesselConsumption\") {\n let result = new CreateVesselConsumptionDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VesselDurationInProtectedAreas\") {\n let result = new CreateVesselDurationInProtectedAreasDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VesselEmissions\") {\n let result = new CreateVesselEmissionsDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VesselSpills\") {\n let result = new CreateVesselSpillsDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Waste\") {\n let result = new CreateWasteDataRecordCommandParams();\n result.init(data);\n return result;\n }\n let result = new CreateDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this._discriminator;\n data[\"assetId\"] = this.assetId;\n data[\"inputType\"] = this.inputType;\n data[\"dataSetId\"] = this.dataSetId;\n return data;\n }\n}\n\nexport interface ICreateDataRecordCommandParams {\n assetId: string;\n inputType: InputType;\n dataSetId?: string | undefined;\n}\n\nexport class CreateCatchedFishDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateCatchedFishDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n species!: FishSpecies;\n readonly fishSpeciesName?: string | undefined;\n weight_kg?: number | undefined;\n\n constructor(data?: ICreateCatchedFishDataRecordCommandParams) {\n super(data);\n this._discriminator = \"CatchedFish\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.species = _data[\"species\"];\n (this).fishSpeciesName = _data[\"fishSpeciesName\"];\n this.weight_kg = _data[\"weight_kg\"];\n }\n }\n\n static fromJS(data: any): CreateCatchedFishDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateCatchedFishDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"species\"] = this.species;\n data[\"fishSpeciesName\"] = this.fishSpeciesName;\n data[\"weight_kg\"] = this.weight_kg;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateCatchedFishDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n species: FishSpecies;\n fishSpeciesName?: string | undefined;\n weight_kg?: number | undefined;\n}\n\nexport class CreateDownstreamLeasedAssetDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateDownstreamLeasedAssetDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n clientAssetId!: string;\n\n constructor(data?: ICreateDownstreamLeasedAssetDataRecordCommandParams) {\n super(data);\n this._discriminator = \"DownstreamLeasedAsset\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.clientAssetId = _data[\"clientAssetId\"];\n }\n }\n\n static fromJS(data: any): CreateDownstreamLeasedAssetDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateDownstreamLeasedAssetDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"clientAssetId\"] = this.clientAssetId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateDownstreamLeasedAssetDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n clientAssetId: string;\n}\n\nexport class CreateElectricityConsumptionDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateElectricityConsumptionDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n countryCode!: CountryCodes;\n electricity_kwh!: number;\n\n constructor(data?: ICreateElectricityConsumptionDataRecordCommandParams) {\n super(data);\n this._discriminator = \"ElectricityConsumption\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.countryCode = _data[\"countryCode\"];\n this.electricity_kwh = _data[\"electricity_kwh\"];\n }\n }\n\n static fromJS(data: any): CreateElectricityConsumptionDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateElectricityConsumptionDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"countryCode\"] = this.countryCode;\n data[\"electricity_kwh\"] = this.electricity_kwh;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateElectricityConsumptionDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n countryCode: CountryCodes;\n electricity_kwh: number;\n}\n\nexport class CreateEmployeeCommutingDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateEmployeeCommutingDataRecordCommandParams {\n readonly type!: DataRecordType;\n dataProfileId!: string;\n transport!: EmployeeCommutingTransport;\n mode?: EmployeeCommutingMode | undefined;\n employees!: number;\n days!: number;\n distance_km!: number;\n cO2Measured_kg?: number | undefined;\n\n constructor(data?: ICreateEmployeeCommutingDataRecordCommandParams) {\n super(data);\n this._discriminator = \"EmployeeCommuting\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.dataProfileId = _data[\"dataProfileId\"];\n this.transport = _data[\"transport\"];\n this.mode = _data[\"mode\"];\n this.employees = _data[\"employees\"];\n this.days = _data[\"days\"];\n this.distance_km = _data[\"distance_km\"];\n this.cO2Measured_kg = _data[\"cO2Measured_kg\"];\n }\n }\n\n static fromJS(data: any): CreateEmployeeCommutingDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateEmployeeCommutingDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"dataProfileId\"] = this.dataProfileId;\n data[\"transport\"] = this.transport;\n data[\"mode\"] = this.mode;\n data[\"employees\"] = this.employees;\n data[\"days\"] = this.days;\n data[\"distance_km\"] = this.distance_km;\n data[\"cO2Measured_kg\"] = this.cO2Measured_kg;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateEmployeeCommutingDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n dataProfileId: string;\n transport: EmployeeCommutingTransport;\n mode?: EmployeeCommutingMode | undefined;\n employees: number;\n days: number;\n distance_km: number;\n cO2Measured_kg?: number | undefined;\n}\n\nexport class CreateEmployeeGenderDiversityAndEqualityDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateEmployeeGenderDiversityAndEqualityDataRecordCommandParams {\n readonly type!: DataRecordType;\n dataProfileId!: string;\n employee!: string;\n yearOfBirth!: number;\n gender!: Gender;\n contract?: ContractType | undefined;\n employment?: EmploymentType | undefined;\n positionLevel!: PositionLevel;\n location?: Location | undefined;\n regionId?: string | undefined;\n salary?: number | undefined;\n\n constructor(data?: ICreateEmployeeGenderDiversityAndEqualityDataRecordCommandParams) {\n super(data);\n this._discriminator = \"EmployeeGenderDiversityAndEquality\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.dataProfileId = _data[\"dataProfileId\"];\n this.employee = _data[\"employee\"];\n this.yearOfBirth = _data[\"yearOfBirth\"];\n this.gender = _data[\"gender\"];\n this.contract = _data[\"contract\"];\n this.employment = _data[\"employment\"];\n this.positionLevel = _data[\"positionLevel\"];\n this.location = _data[\"location\"];\n this.regionId = _data[\"regionId\"];\n this.salary = _data[\"salary\"];\n }\n }\n\n static fromJS(data: any): CreateEmployeeGenderDiversityAndEqualityDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateEmployeeGenderDiversityAndEqualityDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"dataProfileId\"] = this.dataProfileId;\n data[\"employee\"] = this.employee;\n data[\"yearOfBirth\"] = this.yearOfBirth;\n data[\"gender\"] = this.gender;\n data[\"contract\"] = this.contract;\n data[\"employment\"] = this.employment;\n data[\"positionLevel\"] = this.positionLevel;\n data[\"location\"] = this.location;\n data[\"regionId\"] = this.regionId;\n data[\"salary\"] = this.salary;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateEmployeeGenderDiversityAndEqualityDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n dataProfileId: string;\n employee: string;\n yearOfBirth: number;\n gender: Gender;\n contract?: ContractType | undefined;\n employment?: EmploymentType | undefined;\n positionLevel: PositionLevel;\n location?: Location | undefined;\n regionId?: string | undefined;\n salary?: number | undefined;\n}\n\nexport class CreateEmployeeMarineCasualtyDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateEmployeeMarineCasualtyDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n marineCasualtyType!: MarineCasualtyType;\n incidents!: number;\n\n constructor(data?: ICreateEmployeeMarineCasualtyDataRecordCommandParams) {\n super(data);\n this._discriminator = \"EmployeeMarineCasualty\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.marineCasualtyType = _data[\"marineCasualtyType\"];\n this.incidents = _data[\"incidents\"];\n }\n }\n\n static fromJS(data: any): CreateEmployeeMarineCasualtyDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateEmployeeMarineCasualtyDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"marineCasualtyType\"] = this.marineCasualtyType;\n data[\"incidents\"] = this.incidents;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateEmployeeMarineCasualtyDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n marineCasualtyType: MarineCasualtyType;\n incidents: number;\n}\n\nexport class CreateEmployeeNewHiresAndTurnoversDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateEmployeeNewHiresAndTurnoversDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n employmentEvent!: EmploymentEvent;\n gender!: Gender;\n ageGroup!: AgeGroup;\n positionLevel!: PositionLevel;\n regionId!: string;\n\n constructor(data?: ICreateEmployeeNewHiresAndTurnoversDataRecordCommandParams) {\n super(data);\n this._discriminator = \"EmployeeNewHiresAndTurnovers\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.employmentEvent = _data[\"employmentEvent\"];\n this.gender = _data[\"gender\"];\n this.ageGroup = _data[\"ageGroup\"];\n this.positionLevel = _data[\"positionLevel\"];\n this.regionId = _data[\"regionId\"];\n }\n }\n\n static fromJS(data: any): CreateEmployeeNewHiresAndTurnoversDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateEmployeeNewHiresAndTurnoversDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"employmentEvent\"] = this.employmentEvent;\n data[\"gender\"] = this.gender;\n data[\"ageGroup\"] = this.ageGroup;\n data[\"positionLevel\"] = this.positionLevel;\n data[\"regionId\"] = this.regionId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateEmployeeNewHiresAndTurnoversDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n employmentEvent: EmploymentEvent;\n gender: Gender;\n ageGroup: AgeGroup;\n positionLevel: PositionLevel;\n regionId: string;\n}\n\nexport class CreateEmployeeParentalLeavesDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateEmployeeParentalLeavesDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n mode!: ParentalLeaveMode;\n gender!: Gender;\n regionId!: string;\n\n constructor(data?: ICreateEmployeeParentalLeavesDataRecordCommandParams) {\n super(data);\n this._discriminator = \"EmployeeParentalLeaves\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.mode = _data[\"mode\"];\n this.gender = _data[\"gender\"];\n this.regionId = _data[\"regionId\"];\n }\n }\n\n static fromJS(data: any): CreateEmployeeParentalLeavesDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateEmployeeParentalLeavesDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"mode\"] = this.mode;\n data[\"gender\"] = this.gender;\n data[\"regionId\"] = this.regionId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateEmployeeParentalLeavesDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n mode: ParentalLeaveMode;\n gender: Gender;\n regionId: string;\n}\n\nexport class CreateEmployeeSickLeavesDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateEmployeeSickLeavesDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n regionId!: string;\n women!: number;\n men!: number;\n workingDays!: number;\n\n constructor(data?: ICreateEmployeeSickLeavesDataRecordCommandParams) {\n super(data);\n this._discriminator = \"EmployeeSickLeaves\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.regionId = _data[\"regionId\"];\n this.women = _data[\"women\"];\n this.men = _data[\"men\"];\n this.workingDays = _data[\"workingDays\"];\n }\n }\n\n static fromJS(data: any): CreateEmployeeSickLeavesDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateEmployeeSickLeavesDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"regionId\"] = this.regionId;\n data[\"women\"] = this.women;\n data[\"men\"] = this.men;\n data[\"workingDays\"] = this.workingDays;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateEmployeeSickLeavesDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n regionId: string;\n women: number;\n men: number;\n workingDays: number;\n}\n\nexport class CreateEmployeeWorkRelatedInjuriesDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateEmployeeWorkRelatedInjuriesDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n recordableInjuries!: number;\n fatalities!: number;\n highConsequenceInjuries!: number;\n illnessHealth!: number;\n lostTimeInjuries!: number;\n daysLost!: number;\n exposureHours!: number;\n\n constructor(data?: ICreateEmployeeWorkRelatedInjuriesDataRecordCommandParams) {\n super(data);\n this._discriminator = \"EmployeeWorkRelatedInjuries\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.recordableInjuries = _data[\"recordableInjuries\"];\n this.fatalities = _data[\"fatalities\"];\n this.highConsequenceInjuries = _data[\"highConsequenceInjuries\"];\n this.illnessHealth = _data[\"illnessHealth\"];\n this.lostTimeInjuries = _data[\"lostTimeInjuries\"];\n this.daysLost = _data[\"daysLost\"];\n this.exposureHours = _data[\"exposureHours\"];\n }\n }\n\n static fromJS(data: any): CreateEmployeeWorkRelatedInjuriesDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateEmployeeWorkRelatedInjuriesDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"recordableInjuries\"] = this.recordableInjuries;\n data[\"fatalities\"] = this.fatalities;\n data[\"highConsequenceInjuries\"] = this.highConsequenceInjuries;\n data[\"illnessHealth\"] = this.illnessHealth;\n data[\"lostTimeInjuries\"] = this.lostTimeInjuries;\n data[\"daysLost\"] = this.daysLost;\n data[\"exposureHours\"] = this.exposureHours;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateEmployeeWorkRelatedInjuriesDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n recordableInjuries: number;\n fatalities: number;\n highConsequenceInjuries: number;\n illnessHealth: number;\n lostTimeInjuries: number;\n daysLost: number;\n exposureHours: number;\n}\n\nexport class CreateOrganizationBusinessAirTravelDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateOrganizationBusinessAirTravelDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n consumptionValueType!: ConsumptionValueType;\n distanceType?: DistanceType | undefined;\n numberOfFlights!: number;\n consumptionValue!: number;\n cO2Measured_kg?: number | undefined;\n\n constructor(data?: ICreateOrganizationBusinessAirTravelDataRecordCommandParams) {\n super(data);\n this._discriminator = \"OrganizationBusinessAirTravel\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.consumptionValueType = _data[\"consumptionValueType\"];\n this.distanceType = _data[\"distanceType\"];\n this.numberOfFlights = _data[\"numberOfFlights\"];\n this.consumptionValue = _data[\"consumptionValue\"];\n this.cO2Measured_kg = _data[\"cO2Measured_kg\"];\n }\n }\n\n static fromJS(data: any): CreateOrganizationBusinessAirTravelDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrganizationBusinessAirTravelDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"consumptionValueType\"] = this.consumptionValueType;\n data[\"distanceType\"] = this.distanceType;\n data[\"numberOfFlights\"] = this.numberOfFlights;\n data[\"consumptionValue\"] = this.consumptionValue;\n data[\"cO2Measured_kg\"] = this.cO2Measured_kg;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateOrganizationBusinessAirTravelDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n consumptionValueType: ConsumptionValueType;\n distanceType?: DistanceType | undefined;\n numberOfFlights: number;\n consumptionValue: number;\n cO2Measured_kg?: number | undefined;\n}\n\nexport class CreateOrganizationBusinessTravelHotelNightsDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateOrganizationBusinessTravelHotelNightsDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n numberOfNights!: number;\n countryCode!: CountryCodes;\n\n constructor(data?: ICreateOrganizationBusinessTravelHotelNightsDataRecordCommandParams) {\n super(data);\n this._discriminator = \"OrganizationBusinessTravelHotelNights\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.numberOfNights = _data[\"numberOfNights\"];\n this.countryCode = _data[\"countryCode\"];\n }\n }\n\n static fromJS(data: any): CreateOrganizationBusinessTravelHotelNightsDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrganizationBusinessTravelHotelNightsDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"numberOfNights\"] = this.numberOfNights;\n data[\"countryCode\"] = this.countryCode;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateOrganizationBusinessTravelHotelNightsDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n numberOfNights: number;\n countryCode: CountryCodes;\n}\n\nexport class CreateOrganizationCorruptionRiskDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateOrganizationCorruptionRiskDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n callsAtPort!: number;\n netRevenue!: number;\n currencyCode!: CurrencyCodes;\n facilitation!: number;\n\n constructor(data?: ICreateOrganizationCorruptionRiskDataRecordCommandParams) {\n super(data);\n this._discriminator = \"OrganizationCorruptionRisk\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.callsAtPort = _data[\"callsAtPort\"];\n this.netRevenue = _data[\"netRevenue\"];\n this.currencyCode = _data[\"currencyCode\"];\n this.facilitation = _data[\"facilitation\"];\n }\n }\n\n static fromJS(data: any): CreateOrganizationCorruptionRiskDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrganizationCorruptionRiskDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"callsAtPort\"] = this.callsAtPort;\n data[\"netRevenue\"] = this.netRevenue;\n data[\"currencyCode\"] = this.currencyCode;\n data[\"facilitation\"] = this.facilitation;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateOrganizationCorruptionRiskDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n callsAtPort: number;\n netRevenue: number;\n currencyCode: CurrencyCodes;\n facilitation: number;\n}\n\nexport class CreateOrganizationFinesDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateOrganizationFinesDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n monetaryValue!: number;\n currencyCode!: CurrencyCodes;\n nonMonetarySanctions!: number;\n\n constructor(data?: ICreateOrganizationFinesDataRecordCommandParams) {\n super(data);\n this._discriminator = \"OrganizationFines\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.monetaryValue = _data[\"monetaryValue\"];\n this.currencyCode = _data[\"currencyCode\"];\n this.nonMonetarySanctions = _data[\"nonMonetarySanctions\"];\n }\n }\n\n static fromJS(data: any): CreateOrganizationFinesDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrganizationFinesDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"monetaryValue\"] = this.monetaryValue;\n data[\"currencyCode\"] = this.currencyCode;\n data[\"nonMonetarySanctions\"] = this.nonMonetarySanctions;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateOrganizationFinesDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n monetaryValue: number;\n currencyCode: CurrencyCodes;\n nonMonetarySanctions: number;\n}\n\nexport class CreateOrganizationLobbyPoliticalContributionDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateOrganizationLobbyPoliticalContributionDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n monetaryValue!: number;\n currencyCode!: CurrencyCodes;\n beneficiary!: string;\n countryCode!: CountryCodes;\n\n constructor(data?: ICreateOrganizationLobbyPoliticalContributionDataRecordCommandParams) {\n super(data);\n this._discriminator = \"OrganizationLobbyPoliticalContribution\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.monetaryValue = _data[\"monetaryValue\"];\n this.currencyCode = _data[\"currencyCode\"];\n this.beneficiary = _data[\"beneficiary\"];\n this.countryCode = _data[\"countryCode\"];\n }\n }\n\n static fromJS(data: any): CreateOrganizationLobbyPoliticalContributionDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrganizationLobbyPoliticalContributionDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"monetaryValue\"] = this.monetaryValue;\n data[\"currencyCode\"] = this.currencyCode;\n data[\"beneficiary\"] = this.beneficiary;\n data[\"countryCode\"] = this.countryCode;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateOrganizationLobbyPoliticalContributionDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n monetaryValue: number;\n currencyCode: CurrencyCodes;\n beneficiary: string;\n countryCode: CountryCodes;\n}\n\nexport class CreateOrganizationWhistleblowingDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateOrganizationWhistleblowingDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n incidents!: number;\n\n constructor(data?: ICreateOrganizationWhistleblowingDataRecordCommandParams) {\n super(data);\n this._discriminator = \"OrganizationWhistleblowing\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.incidents = _data[\"incidents\"];\n }\n }\n\n static fromJS(data: any): CreateOrganizationWhistleblowingDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrganizationWhistleblowingDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"incidents\"] = this.incidents;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateOrganizationWhistleblowingDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n incidents: number;\n}\n\nexport class CreatePurchasedFishDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreatePurchasedFishDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n species!: FishSpecies;\n readonly fishSpeciesName?: string | undefined;\n weight_kg?: number | undefined;\n\n constructor(data?: ICreatePurchasedFishDataRecordCommandParams) {\n super(data);\n this._discriminator = \"PurchasedFish\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.species = _data[\"species\"];\n (this).fishSpeciesName = _data[\"fishSpeciesName\"];\n this.weight_kg = _data[\"weight_kg\"];\n }\n }\n\n static fromJS(data: any): CreatePurchasedFishDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreatePurchasedFishDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"species\"] = this.species;\n data[\"fishSpeciesName\"] = this.fishSpeciesName;\n data[\"weight_kg\"] = this.weight_kg;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreatePurchasedFishDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n species: FishSpecies;\n fishSpeciesName?: string | undefined;\n weight_kg?: number | undefined;\n}\n\nexport class CreateVehicleConsumptionDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateVehicleConsumptionDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n diesel_l!: number;\n petrol_l!: number;\n hydrogen_kg!: number;\n naturalGas!: number;\n naturalGas_Unit!: string;\n liquidPetroleumGas!: number;\n liquidPetroleumGas_Unit!: string;\n distance_km!: number;\n\n constructor(data?: ICreateVehicleConsumptionDataRecordCommandParams) {\n super(data);\n this._discriminator = \"VehicleConsumption\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.diesel_l = _data[\"diesel_l\"];\n this.petrol_l = _data[\"petrol_l\"];\n this.hydrogen_kg = _data[\"hydrogen_kg\"];\n this.naturalGas = _data[\"naturalGas\"];\n this.naturalGas_Unit = _data[\"naturalGas_Unit\"];\n this.liquidPetroleumGas = _data[\"liquidPetroleumGas\"];\n this.liquidPetroleumGas_Unit = _data[\"liquidPetroleumGas_Unit\"];\n this.distance_km = _data[\"distance_km\"];\n }\n }\n\n static fromJS(data: any): CreateVehicleConsumptionDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateVehicleConsumptionDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"diesel_l\"] = this.diesel_l;\n data[\"petrol_l\"] = this.petrol_l;\n data[\"hydrogen_kg\"] = this.hydrogen_kg;\n data[\"naturalGas\"] = this.naturalGas;\n data[\"naturalGas_Unit\"] = this.naturalGas_Unit;\n data[\"liquidPetroleumGas\"] = this.liquidPetroleumGas;\n data[\"liquidPetroleumGas_Unit\"] = this.liquidPetroleumGas_Unit;\n data[\"distance_km\"] = this.distance_km;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateVehicleConsumptionDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n diesel_l: number;\n petrol_l: number;\n hydrogen_kg: number;\n naturalGas: number;\n naturalGas_Unit: string;\n liquidPetroleumGas: number;\n liquidPetroleumGas_Unit: string;\n distance_km: number;\n}\n\nexport class CreateVesselConsumptionDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateVesselConsumptionDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n distanceSailed_nm?: number | undefined;\n inOperation_hrs?: number | undefined;\n mgo?: number | undefined;\n mgO_Unit!: string;\n hfo?: number | undefined;\n hfO_Unit!: string;\n lfo?: number | undefined;\n lfO_Unit!: string;\n urea_l?: number | undefined;\n lng?: number | undefined;\n lnG_Unit!: string;\n mgoB30?: number | undefined;\n mgoB30_Unit!: string;\n hvO100?: number | undefined;\n hvO100_Unit!: string;\n\n constructor(data?: ICreateVesselConsumptionDataRecordCommandParams) {\n super(data);\n this._discriminator = \"VesselConsumption\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.distanceSailed_nm = _data[\"distanceSailed_nm\"];\n this.inOperation_hrs = _data[\"inOperation_hrs\"];\n this.mgo = _data[\"mgo\"];\n this.mgO_Unit = _data[\"mgO_Unit\"];\n this.hfo = _data[\"hfo\"];\n this.hfO_Unit = _data[\"hfO_Unit\"];\n this.lfo = _data[\"lfo\"];\n this.lfO_Unit = _data[\"lfO_Unit\"];\n this.urea_l = _data[\"urea_l\"];\n this.lng = _data[\"lng\"];\n this.lnG_Unit = _data[\"lnG_Unit\"];\n this.mgoB30 = _data[\"mgoB30\"];\n this.mgoB30_Unit = _data[\"mgoB30_Unit\"];\n this.hvO100 = _data[\"hvO100\"];\n this.hvO100_Unit = _data[\"hvO100_Unit\"];\n }\n }\n\n static fromJS(data: any): CreateVesselConsumptionDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateVesselConsumptionDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"distanceSailed_nm\"] = this.distanceSailed_nm;\n data[\"inOperation_hrs\"] = this.inOperation_hrs;\n data[\"mgo\"] = this.mgo;\n data[\"mgO_Unit\"] = this.mgO_Unit;\n data[\"hfo\"] = this.hfo;\n data[\"hfO_Unit\"] = this.hfO_Unit;\n data[\"lfo\"] = this.lfo;\n data[\"lfO_Unit\"] = this.lfO_Unit;\n data[\"urea_l\"] = this.urea_l;\n data[\"lng\"] = this.lng;\n data[\"lnG_Unit\"] = this.lnG_Unit;\n data[\"mgoB30\"] = this.mgoB30;\n data[\"mgoB30_Unit\"] = this.mgoB30_Unit;\n data[\"hvO100\"] = this.hvO100;\n data[\"hvO100_Unit\"] = this.hvO100_Unit;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateVesselConsumptionDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n distanceSailed_nm?: number | undefined;\n inOperation_hrs?: number | undefined;\n mgo?: number | undefined;\n mgO_Unit: string;\n hfo?: number | undefined;\n hfO_Unit: string;\n lfo?: number | undefined;\n lfO_Unit: string;\n urea_l?: number | undefined;\n lng?: number | undefined;\n lnG_Unit: string;\n mgoB30?: number | undefined;\n mgoB30_Unit: string;\n hvO100?: number | undefined;\n hvO100_Unit: string;\n}\n\nexport class CreateVesselDurationInProtectedAreasDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateVesselDurationInProtectedAreasDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n days!: number;\n\n constructor(data?: ICreateVesselDurationInProtectedAreasDataRecordCommandParams) {\n super(data);\n this._discriminator = \"VesselDurationInProtectedAreas\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.days = _data[\"days\"];\n }\n }\n\n static fromJS(data: any): CreateVesselDurationInProtectedAreasDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateVesselDurationInProtectedAreasDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"days\"] = this.days;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateVesselDurationInProtectedAreasDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n days: number;\n}\n\nexport class CreateVesselEmissionsDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateVesselEmissionsDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n mgO_m3?: number | undefined;\n lnG_m3?: number | undefined;\n powerFromShore_kwh?: number | undefined;\n powerFromShoreCountryCode?: CountryCodes | undefined;\n nox_t?: number | undefined;\n cO2_t?: number | undefined;\n sOx_kg?: number | undefined;\n pM25_kg?: number | undefined;\n cH4_kg?: number | undefined;\n n2O_kg?: number | undefined;\n inOperation_hrs?: number | undefined;\n\n constructor(data?: ICreateVesselEmissionsDataRecordCommandParams) {\n super(data);\n this._discriminator = \"VesselEmissions\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.mgO_m3 = _data[\"mgO_m3\"];\n this.lnG_m3 = _data[\"lnG_m3\"];\n this.powerFromShore_kwh = _data[\"powerFromShore_kwh\"];\n this.powerFromShoreCountryCode = _data[\"powerFromShoreCountryCode\"];\n this.nox_t = _data[\"nox_t\"];\n this.cO2_t = _data[\"cO2_t\"];\n this.sOx_kg = _data[\"sOx_kg\"];\n this.pM25_kg = _data[\"pM25_kg\"];\n this.cH4_kg = _data[\"cH4_kg\"];\n this.n2O_kg = _data[\"n2O_kg\"];\n this.inOperation_hrs = _data[\"inOperation_hrs\"];\n }\n }\n\n static fromJS(data: any): CreateVesselEmissionsDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateVesselEmissionsDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"mgO_m3\"] = this.mgO_m3;\n data[\"lnG_m3\"] = this.lnG_m3;\n data[\"powerFromShore_kwh\"] = this.powerFromShore_kwh;\n data[\"powerFromShoreCountryCode\"] = this.powerFromShoreCountryCode;\n data[\"nox_t\"] = this.nox_t;\n data[\"cO2_t\"] = this.cO2_t;\n data[\"sOx_kg\"] = this.sOx_kg;\n data[\"pM25_kg\"] = this.pM25_kg;\n data[\"cH4_kg\"] = this.cH4_kg;\n data[\"n2O_kg\"] = this.n2O_kg;\n data[\"inOperation_hrs\"] = this.inOperation_hrs;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateVesselEmissionsDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n mgO_m3?: number | undefined;\n lnG_m3?: number | undefined;\n powerFromShore_kwh?: number | undefined;\n powerFromShoreCountryCode?: CountryCodes | undefined;\n nox_t?: number | undefined;\n cO2_t?: number | undefined;\n sOx_kg?: number | undefined;\n pM25_kg?: number | undefined;\n cH4_kg?: number | undefined;\n n2O_kg?: number | undefined;\n inOperation_hrs?: number | undefined;\n}\n\nexport class CreateVesselSpillsDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateVesselSpillsDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n spillsType!: string;\n isHazardous!: boolean;\n volume_m3!: number;\n\n constructor(data?: ICreateVesselSpillsDataRecordCommandParams) {\n super(data);\n this._discriminator = \"VesselSpills\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.spillsType = _data[\"spillsType\"];\n this.isHazardous = _data[\"isHazardous\"];\n this.volume_m3 = _data[\"volume_m3\"];\n }\n }\n\n static fromJS(data: any): CreateVesselSpillsDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateVesselSpillsDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"spillsType\"] = this.spillsType;\n data[\"isHazardous\"] = this.isHazardous;\n data[\"volume_m3\"] = this.volume_m3;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateVesselSpillsDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n spillsType: string;\n isHazardous: boolean;\n volume_m3: number;\n}\n\nexport class CreateWasteDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateWasteDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n class!: WasteClass;\n subclass?: WasteSubClass | undefined;\n isHazardous!: boolean;\n toDisposal!: WasteToDisposal;\n quantity!: number;\n unit!: string;\n cO2Measured_t?: number | undefined;\n\n constructor(data?: ICreateWasteDataRecordCommandParams) {\n super(data);\n this._discriminator = \"Waste\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.class = _data[\"class\"];\n this.subclass = _data[\"subclass\"];\n this.isHazardous = _data[\"isHazardous\"];\n this.toDisposal = _data[\"toDisposal\"];\n this.quantity = _data[\"quantity\"];\n this.unit = _data[\"unit\"];\n this.cO2Measured_t = _data[\"cO2Measured_t\"];\n }\n }\n\n static fromJS(data: any): CreateWasteDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateWasteDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"class\"] = this.class;\n data[\"subclass\"] = this.subclass;\n data[\"isHazardous\"] = this.isHazardous;\n data[\"toDisposal\"] = this.toDisposal;\n data[\"quantity\"] = this.quantity;\n data[\"unit\"] = this.unit;\n data[\"cO2Measured_t\"] = this.cO2Measured_t;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateWasteDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n class: WasteClass;\n subclass?: WasteSubClass | undefined;\n isHazardous: boolean;\n toDisposal: WasteToDisposal;\n quantity: number;\n unit: string;\n cO2Measured_t?: number | undefined;\n}\n\nexport class UpdateDataRecordCommandParams implements IUpdateDataRecordCommandParams {\n id!: string;\n assetId!: string;\n\n protected _discriminator: string;\n\n constructor(data?: IUpdateDataRecordCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n this._discriminator = \"UpdateDataRecordCommandParams\";\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.assetId = _data[\"assetId\"];\n }\n }\n\n static fromJS(data: any): UpdateDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n if (data[\"type\"] === \"DownstreamLeasedAsset\") {\n let result = new UpdateDownstreamLeasedAssetDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"ElectricityConsumption\") {\n let result = new UpdateElectricityConsumptionDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeCommuting\") {\n let result = new UpdateEmployeeCommutingDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeGenderDiversityAndEquality\") {\n let result = new UpdateEmployeeGenderDiversityAndEqualityDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeMarineCasualty\") {\n let result = new UpdateEmployeeMarineCasualtyDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeNewHiresAndTurnovers\") {\n let result = new UpdateEmployeeNewHiresAndTurnoversDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeParentalLeaves\") {\n let result = new UpdateEmployeeParentalLeavesDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeSickLeaves\") {\n let result = new UpdateEmployeeSickLeavesDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeWorkRelatedInjuries\") {\n let result = new UpdateEmployeeWorkRelatedInjuriesDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationBusinessAirTravel\") {\n let result = new UpdateOrganizationBusinessAirTravelDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationBusinessTravelHotelNights\") {\n let result = new UpdateOrganizationBusinessTravelHotelNightsDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationCorruptionRisk\") {\n let result = new UpdateOrganizationCorruptionRiskDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationFines\") {\n let result = new UpdateOrganizationFinesDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationLobbyPoliticalContribution\") {\n let result = new UpdateOrganizationLobbyPoliticalContributionDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationWhistleblowing\") {\n let result = new UpdateOrganizationWhistleblowingDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VehicleConsumption\") {\n let result = new UpdateVehicleConsumptionDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VesselConsumption\") {\n let result = new UpdateVesselConsumptionDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VesselDurationInProtectedAreas\") {\n let result = new UpdateVesselDurationInProtectedAreasDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VesselEmissions\") {\n let result = new UpdateVesselEmissionsDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VesselSpills\") {\n let result = new UpdateVesselSpillsDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Waste\") {\n let result = new UpdateWasteDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"CatchedFish\") {\n let result = new UpdateCatchedFishDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"PurchasedFish\") {\n let result = new UpdatePurchasedFishDataRecordCommandParams();\n result.init(data);\n return result;\n }\n let result = new UpdateDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this._discriminator;\n data[\"id\"] = this.id;\n data[\"assetId\"] = this.assetId;\n return data;\n }\n}\n\nexport interface IUpdateDataRecordCommandParams {\n id: string;\n assetId: string;\n}\n\nexport class UpdateCatchedFishDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateCatchedFishDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n species!: FishSpecies;\n readonly fishSpeciesName?: string | undefined;\n weight_kg?: number | undefined;\n\n constructor(data?: IUpdateCatchedFishDataRecordCommandParams) {\n super(data);\n this._discriminator = \"CatchedFish\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.species = _data[\"species\"];\n (this).fishSpeciesName = _data[\"fishSpeciesName\"];\n this.weight_kg = _data[\"weight_kg\"];\n }\n }\n\n static fromJS(data: any): UpdateCatchedFishDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateCatchedFishDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"species\"] = this.species;\n data[\"fishSpeciesName\"] = this.fishSpeciesName;\n data[\"weight_kg\"] = this.weight_kg;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateCatchedFishDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n species: FishSpecies;\n fishSpeciesName?: string | undefined;\n weight_kg?: number | undefined;\n}\n\nexport class UpdatePurchasedFishDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdatePurchasedFishDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n species!: FishSpecies;\n readonly fishSpeciesName?: string | undefined;\n weight_kg?: number | undefined;\n\n constructor(data?: IUpdatePurchasedFishDataRecordCommandParams) {\n super(data);\n this._discriminator = \"PurchasedFish\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.species = _data[\"species\"];\n (this).fishSpeciesName = _data[\"fishSpeciesName\"];\n this.weight_kg = _data[\"weight_kg\"];\n }\n }\n\n static fromJS(data: any): UpdatePurchasedFishDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdatePurchasedFishDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"species\"] = this.species;\n data[\"fishSpeciesName\"] = this.fishSpeciesName;\n data[\"weight_kg\"] = this.weight_kg;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdatePurchasedFishDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n species: FishSpecies;\n fishSpeciesName?: string | undefined;\n weight_kg?: number | undefined;\n}\n\nexport class CreateMultipleDataRecordCommandParams implements ICreateMultipleDataRecordCommandParams {\n dataRecords!: CreateDataRecordCommandParams[];\n\n constructor(data?: ICreateMultipleDataRecordCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.dataRecords = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"dataRecords\"])) {\n this.dataRecords = [] as any;\n for (let item of _data[\"dataRecords\"])\n this.dataRecords!.push(CreateDataRecordCommandParams.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): CreateMultipleDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateMultipleDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.dataRecords)) {\n data[\"dataRecords\"] = [];\n for (let item of this.dataRecords)\n data[\"dataRecords\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ICreateMultipleDataRecordCommandParams {\n dataRecords: CreateDataRecordCommandParams[];\n}\n\nexport class CreateMultipleDataRecordCommandResponse implements ICreateMultipleDataRecordCommandResponse {\n result!: CreateMultipleDataRecordResult;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: ICreateMultipleDataRecordCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new CreateMultipleDataRecordResult();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? CreateMultipleDataRecordResult.fromJS(_data[\"result\"]) : new CreateMultipleDataRecordResult();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CreateMultipleDataRecordCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CreateMultipleDataRecordCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICreateMultipleDataRecordCommandResponse {\n result: CreateMultipleDataRecordResult;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CreateMultipleDataRecordResult implements ICreateMultipleDataRecordResult {\n addedDataRecords!: string[];\n failAddingDataRecords!: FailAddingDataRecord[];\n\n constructor(data?: ICreateMultipleDataRecordResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.addedDataRecords = [];\n this.failAddingDataRecords = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"addedDataRecords\"])) {\n this.addedDataRecords = [] as any;\n for (let item of _data[\"addedDataRecords\"])\n this.addedDataRecords!.push(item);\n }\n if (Array.isArray(_data[\"failAddingDataRecords\"])) {\n this.failAddingDataRecords = [] as any;\n for (let item of _data[\"failAddingDataRecords\"])\n this.failAddingDataRecords!.push(FailAddingDataRecord.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): CreateMultipleDataRecordResult {\n data = typeof data === 'object' ? data : {};\n let result = new CreateMultipleDataRecordResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.addedDataRecords)) {\n data[\"addedDataRecords\"] = [];\n for (let item of this.addedDataRecords)\n data[\"addedDataRecords\"].push(item);\n }\n if (Array.isArray(this.failAddingDataRecords)) {\n data[\"failAddingDataRecords\"] = [];\n for (let item of this.failAddingDataRecords)\n data[\"failAddingDataRecords\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ICreateMultipleDataRecordResult {\n addedDataRecords: string[];\n failAddingDataRecords: FailAddingDataRecord[];\n}\n\nexport class FailAddingDataRecord implements IFailAddingDataRecord {\n dataRecord!: DataRecord;\n messages!: string[];\n\n constructor(data?: IFailAddingDataRecord) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.dataRecord = new DataRecord();\n this.messages = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dataRecord = _data[\"dataRecord\"] ? DataRecord.fromJS(_data[\"dataRecord\"]) : new DataRecord();\n if (Array.isArray(_data[\"messages\"])) {\n this.messages = [] as any;\n for (let item of _data[\"messages\"])\n this.messages!.push(item);\n }\n }\n }\n\n static fromJS(data: any): FailAddingDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new FailAddingDataRecord();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dataRecord\"] = this.dataRecord ? this.dataRecord.toJSON() : undefined;\n if (Array.isArray(this.messages)) {\n data[\"messages\"] = [];\n for (let item of this.messages)\n data[\"messages\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IFailAddingDataRecord {\n dataRecord: DataRecord;\n messages: string[];\n}\n\nexport class DeleteDataRecordCommandResponse implements IDeleteDataRecordCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IDeleteDataRecordCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DeleteDataRecordCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteDataRecordCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDeleteDataRecordCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class DeleteDataRecordsByCommandResponse implements IDeleteDataRecordsByCommandResponse {\n result!: DeleteDataRecordsByVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IDeleteDataRecordsByCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new DeleteDataRecordsByVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? DeleteDataRecordsByVm.fromJS(_data[\"result\"]) : new DeleteDataRecordsByVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DeleteDataRecordsByCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteDataRecordsByCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDeleteDataRecordsByCommandResponse {\n result: DeleteDataRecordsByVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class DeleteDataRecordsByVm implements IDeleteDataRecordsByVm {\n amountOfDeletedItems!: number;\n amountOfItemsLeft!: number;\n\n constructor(data?: IDeleteDataRecordsByVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.amountOfDeletedItems = _data[\"amountOfDeletedItems\"];\n this.amountOfItemsLeft = _data[\"amountOfItemsLeft\"];\n }\n }\n\n static fromJS(data: any): DeleteDataRecordsByVm {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteDataRecordsByVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"amountOfDeletedItems\"] = this.amountOfDeletedItems;\n data[\"amountOfItemsLeft\"] = this.amountOfItemsLeft;\n return data;\n }\n}\n\nexport interface IDeleteDataRecordsByVm {\n amountOfDeletedItems: number;\n amountOfItemsLeft: number;\n}\n\nexport class UpdateDownstreamLeasedAssetDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateDownstreamLeasedAssetDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n clientAssetId!: string;\n\n constructor(data?: IUpdateDownstreamLeasedAssetDataRecordCommandParams) {\n super(data);\n this._discriminator = \"DownstreamLeasedAsset\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.clientAssetId = _data[\"clientAssetId\"];\n }\n }\n\n static fromJS(data: any): UpdateDownstreamLeasedAssetDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateDownstreamLeasedAssetDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"clientAssetId\"] = this.clientAssetId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateDownstreamLeasedAssetDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n clientAssetId: string;\n}\n\nexport class UpdateElectricityConsumptionDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateElectricityConsumptionDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n countryCode!: CountryCodes;\n electricity_kwh!: number;\n\n constructor(data?: IUpdateElectricityConsumptionDataRecordCommandParams) {\n super(data);\n this._discriminator = \"ElectricityConsumption\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.countryCode = _data[\"countryCode\"];\n this.electricity_kwh = _data[\"electricity_kwh\"];\n }\n }\n\n static fromJS(data: any): UpdateElectricityConsumptionDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateElectricityConsumptionDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"countryCode\"] = this.countryCode;\n data[\"electricity_kwh\"] = this.electricity_kwh;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateElectricityConsumptionDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n countryCode: CountryCodes;\n electricity_kwh: number;\n}\n\nexport class UpdateEmployeeCommutingDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateEmployeeCommutingDataRecordCommandParams {\n readonly type!: DataRecordType;\n transport!: EmployeeCommutingTransport;\n mode?: EmployeeCommutingMode | undefined;\n employees!: number;\n days!: number;\n distance_km!: number;\n cO2Measured_kg?: number | undefined;\n\n constructor(data?: IUpdateEmployeeCommutingDataRecordCommandParams) {\n super(data);\n this._discriminator = \"EmployeeCommuting\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.transport = _data[\"transport\"];\n this.mode = _data[\"mode\"];\n this.employees = _data[\"employees\"];\n this.days = _data[\"days\"];\n this.distance_km = _data[\"distance_km\"];\n this.cO2Measured_kg = _data[\"cO2Measured_kg\"];\n }\n }\n\n static fromJS(data: any): UpdateEmployeeCommutingDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateEmployeeCommutingDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"transport\"] = this.transport;\n data[\"mode\"] = this.mode;\n data[\"employees\"] = this.employees;\n data[\"days\"] = this.days;\n data[\"distance_km\"] = this.distance_km;\n data[\"cO2Measured_kg\"] = this.cO2Measured_kg;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateEmployeeCommutingDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n transport: EmployeeCommutingTransport;\n mode?: EmployeeCommutingMode | undefined;\n employees: number;\n days: number;\n distance_km: number;\n cO2Measured_kg?: number | undefined;\n}\n\nexport class UpdateEmployeeGenderDiversityAndEqualityDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateEmployeeGenderDiversityAndEqualityDataRecordCommandParams {\n readonly type!: DataRecordType;\n employee!: string;\n yearOfBirth!: number;\n gender!: Gender;\n contract?: ContractType | undefined;\n employment?: EmploymentType | undefined;\n positionLevel!: PositionLevel;\n location?: Location | undefined;\n regionId?: string | undefined;\n salary?: number | undefined;\n\n constructor(data?: IUpdateEmployeeGenderDiversityAndEqualityDataRecordCommandParams) {\n super(data);\n this._discriminator = \"EmployeeGenderDiversityAndEquality\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.employee = _data[\"employee\"];\n this.yearOfBirth = _data[\"yearOfBirth\"];\n this.gender = _data[\"gender\"];\n this.contract = _data[\"contract\"];\n this.employment = _data[\"employment\"];\n this.positionLevel = _data[\"positionLevel\"];\n this.location = _data[\"location\"];\n this.regionId = _data[\"regionId\"];\n this.salary = _data[\"salary\"];\n }\n }\n\n static fromJS(data: any): UpdateEmployeeGenderDiversityAndEqualityDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateEmployeeGenderDiversityAndEqualityDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"employee\"] = this.employee;\n data[\"yearOfBirth\"] = this.yearOfBirth;\n data[\"gender\"] = this.gender;\n data[\"contract\"] = this.contract;\n data[\"employment\"] = this.employment;\n data[\"positionLevel\"] = this.positionLevel;\n data[\"location\"] = this.location;\n data[\"regionId\"] = this.regionId;\n data[\"salary\"] = this.salary;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateEmployeeGenderDiversityAndEqualityDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n employee: string;\n yearOfBirth: number;\n gender: Gender;\n contract?: ContractType | undefined;\n employment?: EmploymentType | undefined;\n positionLevel: PositionLevel;\n location?: Location | undefined;\n regionId?: string | undefined;\n salary?: number | undefined;\n}\n\nexport class UpdateEmployeeMarineCasualtyDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateEmployeeMarineCasualtyDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n marineCasualtyType!: MarineCasualtyType;\n incidents!: number;\n\n constructor(data?: IUpdateEmployeeMarineCasualtyDataRecordCommandParams) {\n super(data);\n this._discriminator = \"EmployeeMarineCasualty\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.marineCasualtyType = _data[\"marineCasualtyType\"];\n this.incidents = _data[\"incidents\"];\n }\n }\n\n static fromJS(data: any): UpdateEmployeeMarineCasualtyDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateEmployeeMarineCasualtyDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"marineCasualtyType\"] = this.marineCasualtyType;\n data[\"incidents\"] = this.incidents;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateEmployeeMarineCasualtyDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n marineCasualtyType: MarineCasualtyType;\n incidents: number;\n}\n\nexport class UpdateEmployeeNewHiresAndTurnoversDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateEmployeeNewHiresAndTurnoversDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n employmentEvent!: EmploymentEvent;\n gender!: Gender;\n ageGroup!: AgeGroup;\n positionLevel!: PositionLevel;\n regionId!: string;\n\n constructor(data?: IUpdateEmployeeNewHiresAndTurnoversDataRecordCommandParams) {\n super(data);\n this._discriminator = \"EmployeeNewHiresAndTurnovers\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.employmentEvent = _data[\"employmentEvent\"];\n this.gender = _data[\"gender\"];\n this.ageGroup = _data[\"ageGroup\"];\n this.positionLevel = _data[\"positionLevel\"];\n this.regionId = _data[\"regionId\"];\n }\n }\n\n static fromJS(data: any): UpdateEmployeeNewHiresAndTurnoversDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateEmployeeNewHiresAndTurnoversDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"employmentEvent\"] = this.employmentEvent;\n data[\"gender\"] = this.gender;\n data[\"ageGroup\"] = this.ageGroup;\n data[\"positionLevel\"] = this.positionLevel;\n data[\"regionId\"] = this.regionId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateEmployeeNewHiresAndTurnoversDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n employmentEvent: EmploymentEvent;\n gender: Gender;\n ageGroup: AgeGroup;\n positionLevel: PositionLevel;\n regionId: string;\n}\n\nexport class UpdateEmployeeParentalLeavesDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateEmployeeParentalLeavesDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n mode!: ParentalLeaveMode;\n gender!: Gender;\n regionId!: string;\n\n constructor(data?: IUpdateEmployeeParentalLeavesDataRecordCommandParams) {\n super(data);\n this._discriminator = \"EmployeeParentalLeaves\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.mode = _data[\"mode\"];\n this.gender = _data[\"gender\"];\n this.regionId = _data[\"regionId\"];\n }\n }\n\n static fromJS(data: any): UpdateEmployeeParentalLeavesDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateEmployeeParentalLeavesDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"mode\"] = this.mode;\n data[\"gender\"] = this.gender;\n data[\"regionId\"] = this.regionId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateEmployeeParentalLeavesDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n mode: ParentalLeaveMode;\n gender: Gender;\n regionId: string;\n}\n\nexport class UpdateEmployeeSickLeavesDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateEmployeeSickLeavesDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n regionId!: string;\n women!: number;\n men!: number;\n workingDays!: number;\n\n constructor(data?: IUpdateEmployeeSickLeavesDataRecordCommandParams) {\n super(data);\n this._discriminator = \"EmployeeSickLeaves\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.regionId = _data[\"regionId\"];\n this.women = _data[\"women\"];\n this.men = _data[\"men\"];\n this.workingDays = _data[\"workingDays\"];\n }\n }\n\n static fromJS(data: any): UpdateEmployeeSickLeavesDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateEmployeeSickLeavesDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"regionId\"] = this.regionId;\n data[\"women\"] = this.women;\n data[\"men\"] = this.men;\n data[\"workingDays\"] = this.workingDays;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateEmployeeSickLeavesDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n regionId: string;\n women: number;\n men: number;\n workingDays: number;\n}\n\nexport class UpdateEmployeeWorkRelatedInjuriesDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateEmployeeWorkRelatedInjuriesDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n recordableInjuries!: number;\n fatalities!: number;\n highConsequenceInjuries!: number;\n illnessHealth!: number;\n lostTimeInjuries!: number;\n daysLost!: number;\n exposureHours!: number;\n\n constructor(data?: IUpdateEmployeeWorkRelatedInjuriesDataRecordCommandParams) {\n super(data);\n this._discriminator = \"EmployeeWorkRelatedInjuries\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.recordableInjuries = _data[\"recordableInjuries\"];\n this.fatalities = _data[\"fatalities\"];\n this.highConsequenceInjuries = _data[\"highConsequenceInjuries\"];\n this.illnessHealth = _data[\"illnessHealth\"];\n this.lostTimeInjuries = _data[\"lostTimeInjuries\"];\n this.daysLost = _data[\"daysLost\"];\n this.exposureHours = _data[\"exposureHours\"];\n }\n }\n\n static fromJS(data: any): UpdateEmployeeWorkRelatedInjuriesDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateEmployeeWorkRelatedInjuriesDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"recordableInjuries\"] = this.recordableInjuries;\n data[\"fatalities\"] = this.fatalities;\n data[\"highConsequenceInjuries\"] = this.highConsequenceInjuries;\n data[\"illnessHealth\"] = this.illnessHealth;\n data[\"lostTimeInjuries\"] = this.lostTimeInjuries;\n data[\"daysLost\"] = this.daysLost;\n data[\"exposureHours\"] = this.exposureHours;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateEmployeeWorkRelatedInjuriesDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n recordableInjuries: number;\n fatalities: number;\n highConsequenceInjuries: number;\n illnessHealth: number;\n lostTimeInjuries: number;\n daysLost: number;\n exposureHours: number;\n}\n\nexport class UpdateOrganizationBusinessAirTravelDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateOrganizationBusinessAirTravelDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n consumptionValueType!: ConsumptionValueType;\n distanceType?: DistanceType | undefined;\n numberOfFlights!: number;\n consumptionValue!: number;\n cO2Measured_kg?: number | undefined;\n\n constructor(data?: IUpdateOrganizationBusinessAirTravelDataRecordCommandParams) {\n super(data);\n this._discriminator = \"OrganizationBusinessAirTravel\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.consumptionValueType = _data[\"consumptionValueType\"];\n this.distanceType = _data[\"distanceType\"];\n this.numberOfFlights = _data[\"numberOfFlights\"];\n this.consumptionValue = _data[\"consumptionValue\"];\n this.cO2Measured_kg = _data[\"cO2Measured_kg\"];\n }\n }\n\n static fromJS(data: any): UpdateOrganizationBusinessAirTravelDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateOrganizationBusinessAirTravelDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"consumptionValueType\"] = this.consumptionValueType;\n data[\"distanceType\"] = this.distanceType;\n data[\"numberOfFlights\"] = this.numberOfFlights;\n data[\"consumptionValue\"] = this.consumptionValue;\n data[\"cO2Measured_kg\"] = this.cO2Measured_kg;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateOrganizationBusinessAirTravelDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n consumptionValueType: ConsumptionValueType;\n distanceType?: DistanceType | undefined;\n numberOfFlights: number;\n consumptionValue: number;\n cO2Measured_kg?: number | undefined;\n}\n\nexport class UpdateOrganizationBusinessTravelHotelNightsDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateOrganizationBusinessTravelHotelNightsDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n numberOfNights!: number;\n countryCode!: CountryCodes;\n\n constructor(data?: IUpdateOrganizationBusinessTravelHotelNightsDataRecordCommandParams) {\n super(data);\n this._discriminator = \"OrganizationBusinessTravelHotelNights\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.numberOfNights = _data[\"numberOfNights\"];\n this.countryCode = _data[\"countryCode\"];\n }\n }\n\n static fromJS(data: any): UpdateOrganizationBusinessTravelHotelNightsDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateOrganizationBusinessTravelHotelNightsDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"numberOfNights\"] = this.numberOfNights;\n data[\"countryCode\"] = this.countryCode;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateOrganizationBusinessTravelHotelNightsDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n numberOfNights: number;\n countryCode: CountryCodes;\n}\n\nexport class UpdateOrganizationCorruptionRiskDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateOrganizationCorruptionRiskDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n callsAtPort!: number;\n netRevenue!: number;\n currencyCode!: CurrencyCodes;\n facilitation!: number;\n\n constructor(data?: IUpdateOrganizationCorruptionRiskDataRecordCommandParams) {\n super(data);\n this._discriminator = \"OrganizationCorruptionRisk\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.callsAtPort = _data[\"callsAtPort\"];\n this.netRevenue = _data[\"netRevenue\"];\n this.currencyCode = _data[\"currencyCode\"];\n this.facilitation = _data[\"facilitation\"];\n }\n }\n\n static fromJS(data: any): UpdateOrganizationCorruptionRiskDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateOrganizationCorruptionRiskDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"callsAtPort\"] = this.callsAtPort;\n data[\"netRevenue\"] = this.netRevenue;\n data[\"currencyCode\"] = this.currencyCode;\n data[\"facilitation\"] = this.facilitation;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateOrganizationCorruptionRiskDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n callsAtPort: number;\n netRevenue: number;\n currencyCode: CurrencyCodes;\n facilitation: number;\n}\n\nexport class UpdateOrganizationFinesDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateOrganizationFinesDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n monetaryValue!: number;\n currencyCode!: CurrencyCodes;\n nonMonetarySanctions!: number;\n\n constructor(data?: IUpdateOrganizationFinesDataRecordCommandParams) {\n super(data);\n this._discriminator = \"OrganizationFines\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.monetaryValue = _data[\"monetaryValue\"];\n this.currencyCode = _data[\"currencyCode\"];\n this.nonMonetarySanctions = _data[\"nonMonetarySanctions\"];\n }\n }\n\n static fromJS(data: any): UpdateOrganizationFinesDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateOrganizationFinesDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"monetaryValue\"] = this.monetaryValue;\n data[\"currencyCode\"] = this.currencyCode;\n data[\"nonMonetarySanctions\"] = this.nonMonetarySanctions;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateOrganizationFinesDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n monetaryValue: number;\n currencyCode: CurrencyCodes;\n nonMonetarySanctions: number;\n}\n\nexport class UpdateOrganizationLobbyPoliticalContributionDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateOrganizationLobbyPoliticalContributionDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n monetaryValue!: number;\n currencyCode!: CurrencyCodes;\n beneficiary!: string;\n countryCode!: CountryCodes;\n\n constructor(data?: IUpdateOrganizationLobbyPoliticalContributionDataRecordCommandParams) {\n super(data);\n this._discriminator = \"OrganizationLobbyPoliticalContribution\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.monetaryValue = _data[\"monetaryValue\"];\n this.currencyCode = _data[\"currencyCode\"];\n this.beneficiary = _data[\"beneficiary\"];\n this.countryCode = _data[\"countryCode\"];\n }\n }\n\n static fromJS(data: any): UpdateOrganizationLobbyPoliticalContributionDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateOrganizationLobbyPoliticalContributionDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"monetaryValue\"] = this.monetaryValue;\n data[\"currencyCode\"] = this.currencyCode;\n data[\"beneficiary\"] = this.beneficiary;\n data[\"countryCode\"] = this.countryCode;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateOrganizationLobbyPoliticalContributionDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n monetaryValue: number;\n currencyCode: CurrencyCodes;\n beneficiary: string;\n countryCode: CountryCodes;\n}\n\nexport class UpdateOrganizationWhistleblowingDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateOrganizationWhistleblowingDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n incidents!: number;\n\n constructor(data?: IUpdateOrganizationWhistleblowingDataRecordCommandParams) {\n super(data);\n this._discriminator = \"OrganizationWhistleblowing\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.incidents = _data[\"incidents\"];\n }\n }\n\n static fromJS(data: any): UpdateOrganizationWhistleblowingDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateOrganizationWhistleblowingDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"incidents\"] = this.incidents;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateOrganizationWhistleblowingDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n incidents: number;\n}\n\nexport class UpdateVehicleConsumptionDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateVehicleConsumptionDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n diesel_l!: number;\n petrol_l!: number;\n hydrogen_kg!: number;\n naturalGas!: number;\n naturalGas_Unit!: string;\n liquidPetroleumGas!: number;\n liquidPetroleumGas_Unit!: string;\n distance_km!: number;\n\n constructor(data?: IUpdateVehicleConsumptionDataRecordCommandParams) {\n super(data);\n this._discriminator = \"VehicleConsumption\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.diesel_l = _data[\"diesel_l\"];\n this.petrol_l = _data[\"petrol_l\"];\n this.hydrogen_kg = _data[\"hydrogen_kg\"];\n this.naturalGas = _data[\"naturalGas\"];\n this.naturalGas_Unit = _data[\"naturalGas_Unit\"];\n this.liquidPetroleumGas = _data[\"liquidPetroleumGas\"];\n this.liquidPetroleumGas_Unit = _data[\"liquidPetroleumGas_Unit\"];\n this.distance_km = _data[\"distance_km\"];\n }\n }\n\n static fromJS(data: any): UpdateVehicleConsumptionDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateVehicleConsumptionDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"diesel_l\"] = this.diesel_l;\n data[\"petrol_l\"] = this.petrol_l;\n data[\"hydrogen_kg\"] = this.hydrogen_kg;\n data[\"naturalGas\"] = this.naturalGas;\n data[\"naturalGas_Unit\"] = this.naturalGas_Unit;\n data[\"liquidPetroleumGas\"] = this.liquidPetroleumGas;\n data[\"liquidPetroleumGas_Unit\"] = this.liquidPetroleumGas_Unit;\n data[\"distance_km\"] = this.distance_km;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateVehicleConsumptionDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n diesel_l: number;\n petrol_l: number;\n hydrogen_kg: number;\n naturalGas: number;\n naturalGas_Unit: string;\n liquidPetroleumGas: number;\n liquidPetroleumGas_Unit: string;\n distance_km: number;\n}\n\nexport class UpdateVesselConsumptionDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateVesselConsumptionDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n distanceSailed_nm?: number | undefined;\n inOperation_hrs?: number | undefined;\n mgo?: number | undefined;\n mgO_Unit!: string;\n hfo?: number | undefined;\n hfO_Unit!: string;\n lfo?: number | undefined;\n lfO_Unit!: string;\n urea_l?: number | undefined;\n lng?: number | undefined;\n lnG_Unit!: string;\n mgoB30?: number | undefined;\n mgoB30_Unit!: string;\n hvO100?: number | undefined;\n hvO100_Unit!: string;\n\n constructor(data?: IUpdateVesselConsumptionDataRecordCommandParams) {\n super(data);\n this._discriminator = \"VesselConsumption\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.distanceSailed_nm = _data[\"distanceSailed_nm\"];\n this.inOperation_hrs = _data[\"inOperation_hrs\"];\n this.mgo = _data[\"mgo\"];\n this.mgO_Unit = _data[\"mgO_Unit\"];\n this.hfo = _data[\"hfo\"];\n this.hfO_Unit = _data[\"hfO_Unit\"];\n this.lfo = _data[\"lfo\"];\n this.lfO_Unit = _data[\"lfO_Unit\"];\n this.urea_l = _data[\"urea_l\"];\n this.lng = _data[\"lng\"];\n this.lnG_Unit = _data[\"lnG_Unit\"];\n this.mgoB30 = _data[\"mgoB30\"];\n this.mgoB30_Unit = _data[\"mgoB30_Unit\"];\n this.hvO100 = _data[\"hvO100\"];\n this.hvO100_Unit = _data[\"hvO100_Unit\"];\n }\n }\n\n static fromJS(data: any): UpdateVesselConsumptionDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateVesselConsumptionDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"distanceSailed_nm\"] = this.distanceSailed_nm;\n data[\"inOperation_hrs\"] = this.inOperation_hrs;\n data[\"mgo\"] = this.mgo;\n data[\"mgO_Unit\"] = this.mgO_Unit;\n data[\"hfo\"] = this.hfo;\n data[\"hfO_Unit\"] = this.hfO_Unit;\n data[\"lfo\"] = this.lfo;\n data[\"lfO_Unit\"] = this.lfO_Unit;\n data[\"urea_l\"] = this.urea_l;\n data[\"lng\"] = this.lng;\n data[\"lnG_Unit\"] = this.lnG_Unit;\n data[\"mgoB30\"] = this.mgoB30;\n data[\"mgoB30_Unit\"] = this.mgoB30_Unit;\n data[\"hvO100\"] = this.hvO100;\n data[\"hvO100_Unit\"] = this.hvO100_Unit;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateVesselConsumptionDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n distanceSailed_nm?: number | undefined;\n inOperation_hrs?: number | undefined;\n mgo?: number | undefined;\n mgO_Unit: string;\n hfo?: number | undefined;\n hfO_Unit: string;\n lfo?: number | undefined;\n lfO_Unit: string;\n urea_l?: number | undefined;\n lng?: number | undefined;\n lnG_Unit: string;\n mgoB30?: number | undefined;\n mgoB30_Unit: string;\n hvO100?: number | undefined;\n hvO100_Unit: string;\n}\n\nexport class UpdateVesselDurationInProtectedAreasDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateVesselDurationInProtectedAreasDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n days!: number;\n\n constructor(data?: IUpdateVesselDurationInProtectedAreasDataRecordCommandParams) {\n super(data);\n this._discriminator = \"VesselDurationInProtectedAreas\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.days = _data[\"days\"];\n }\n }\n\n static fromJS(data: any): UpdateVesselDurationInProtectedAreasDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateVesselDurationInProtectedAreasDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"days\"] = this.days;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateVesselDurationInProtectedAreasDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n days: number;\n}\n\nexport class UpdateVesselEmissionsDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateVesselEmissionsDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n powerFromShore_kwh?: number | undefined;\n powerFromShoreCountryCode?: CountryCodes | undefined;\n mgO_m3?: number | undefined;\n lnG_m3?: number | undefined;\n nox_t?: number | undefined;\n cO2_t?: number | undefined;\n sOx_kg?: number | undefined;\n pM25_kg?: number | undefined;\n cH4_kg?: number | undefined;\n n2O_kg?: number | undefined;\n inOperation_hrs?: number | undefined;\n\n constructor(data?: IUpdateVesselEmissionsDataRecordCommandParams) {\n super(data);\n this._discriminator = \"VesselEmissions\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.powerFromShore_kwh = _data[\"powerFromShore_kwh\"];\n this.powerFromShoreCountryCode = _data[\"powerFromShoreCountryCode\"];\n this.mgO_m3 = _data[\"mgO_m3\"];\n this.lnG_m3 = _data[\"lnG_m3\"];\n this.nox_t = _data[\"nox_t\"];\n this.cO2_t = _data[\"cO2_t\"];\n this.sOx_kg = _data[\"sOx_kg\"];\n this.pM25_kg = _data[\"pM25_kg\"];\n this.cH4_kg = _data[\"cH4_kg\"];\n this.n2O_kg = _data[\"n2O_kg\"];\n this.inOperation_hrs = _data[\"inOperation_hrs\"];\n }\n }\n\n static fromJS(data: any): UpdateVesselEmissionsDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateVesselEmissionsDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"powerFromShore_kwh\"] = this.powerFromShore_kwh;\n data[\"powerFromShoreCountryCode\"] = this.powerFromShoreCountryCode;\n data[\"mgO_m3\"] = this.mgO_m3;\n data[\"lnG_m3\"] = this.lnG_m3;\n data[\"nox_t\"] = this.nox_t;\n data[\"cO2_t\"] = this.cO2_t;\n data[\"sOx_kg\"] = this.sOx_kg;\n data[\"pM25_kg\"] = this.pM25_kg;\n data[\"cH4_kg\"] = this.cH4_kg;\n data[\"n2O_kg\"] = this.n2O_kg;\n data[\"inOperation_hrs\"] = this.inOperation_hrs;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateVesselEmissionsDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n powerFromShore_kwh?: number | undefined;\n powerFromShoreCountryCode?: CountryCodes | undefined;\n mgO_m3?: number | undefined;\n lnG_m3?: number | undefined;\n nox_t?: number | undefined;\n cO2_t?: number | undefined;\n sOx_kg?: number | undefined;\n pM25_kg?: number | undefined;\n cH4_kg?: number | undefined;\n n2O_kg?: number | undefined;\n inOperation_hrs?: number | undefined;\n}\n\nexport class UpdateVesselSpillsDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateVesselSpillsDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n spillsType!: string;\n isHazardous!: boolean;\n volume_m3!: number;\n\n constructor(data?: IUpdateVesselSpillsDataRecordCommandParams) {\n super(data);\n this._discriminator = \"VesselSpills\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.spillsType = _data[\"spillsType\"];\n this.isHazardous = _data[\"isHazardous\"];\n this.volume_m3 = _data[\"volume_m3\"];\n }\n }\n\n static fromJS(data: any): UpdateVesselSpillsDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateVesselSpillsDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"spillsType\"] = this.spillsType;\n data[\"isHazardous\"] = this.isHazardous;\n data[\"volume_m3\"] = this.volume_m3;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateVesselSpillsDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n spillsType: string;\n isHazardous: boolean;\n volume_m3: number;\n}\n\nexport class UpdateWasteDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateWasteDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n class!: WasteClass;\n subclass?: WasteSubClass | undefined;\n isHazardous!: boolean;\n toDisposal!: WasteToDisposal;\n quantity!: number;\n unit!: string;\n cO2Measured_t?: number | undefined;\n\n constructor(data?: IUpdateWasteDataRecordCommandParams) {\n super(data);\n this._discriminator = \"Waste\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.class = _data[\"class\"];\n this.subclass = _data[\"subclass\"];\n this.isHazardous = _data[\"isHazardous\"];\n this.toDisposal = _data[\"toDisposal\"];\n this.quantity = _data[\"quantity\"];\n this.unit = _data[\"unit\"];\n this.cO2Measured_t = _data[\"cO2Measured_t\"];\n }\n }\n\n static fromJS(data: any): UpdateWasteDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateWasteDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"class\"] = this.class;\n data[\"subclass\"] = this.subclass;\n data[\"isHazardous\"] = this.isHazardous;\n data[\"toDisposal\"] = this.toDisposal;\n data[\"quantity\"] = this.quantity;\n data[\"unit\"] = this.unit;\n data[\"cO2Measured_t\"] = this.cO2Measured_t;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateWasteDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n class: WasteClass;\n subclass?: WasteSubClass | undefined;\n isHazardous: boolean;\n toDisposal: WasteToDisposal;\n quantity: number;\n unit: string;\n cO2Measured_t?: number | undefined;\n}\n\nexport class UpdateDataRecordCommandResponse implements IUpdateDataRecordCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IUpdateDataRecordCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): UpdateDataRecordCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateDataRecordCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IUpdateDataRecordCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetDataRecordsByAssetQueryResponse implements IGetDataRecordsByAssetQueryResponse {\n result!: DataRecord[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetDataRecordsByAssetQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(DataRecord.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetDataRecordsByAssetQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetDataRecordsByAssetQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetDataRecordsByAssetQueryResponse {\n result: DataRecord[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport enum AgeGroup {\n LessThan30 = \"LessThan30\",\n Between30_50 = \"Between30_50\",\n Over50 = \"Over50\",\n}\n\nexport enum ContractType {\n Permanent = \"Permanent\",\n Temporary = \"Temporary\",\n Contractor = \"Contractor\",\n}\n\nexport enum DataProfileType {\n EmployeeCommuting = \"EmployeeCommuting\",\n EmployeeGenderDiversityAndEquality = \"EmployeeGenderDiversityAndEquality\",\n}\n\nexport enum DataRecordType {\n VesselConsumption = \"VesselConsumption\",\n VesselSpills = \"VesselSpills\",\n VesselDurationInProtectedAreas = \"VesselDurationInProtectedAreas\",\n VesselWaste = \"VesselWaste\",\n VesselEmissions = \"VesselEmissions\",\n VesselPowerFromShore = \"VesselPowerFromShore\",\n VehicleConsumption = \"VehicleConsumption\",\n OfficeElectricity = \"OfficeElectricity\",\n OrganizationCorruptionRisk = \"OrganizationCorruptionRisk\",\n OrganizationFines = \"OrganizationFines\",\n OrganizationWhistleblowing = \"OrganizationWhistleblowing\",\n OrganizationLobbyPoliticalContribution = \"OrganizationLobbyPoliticalContribution\",\n OrganizationBusinessAirTravel = \"OrganizationBusinessAirTravel\",\n OrganizationBusinessTravelHotelNights = \"OrganizationBusinessTravelHotelNights\",\n Waste = \"Waste\",\n EmployeeCommuting = \"EmployeeCommuting\",\n DownstreamLeasedAsset = \"DownstreamLeasedAsset\",\n ElectricityConsumption = \"ElectricityConsumption\",\n EmployeeGenderAgeDistribution = \"EmployeeGenderAgeDistribution\",\n EmployeeGenderEmployment = \"EmployeeGenderEmployment\",\n EmployeeGenderPositionAndSalary = \"EmployeeGenderPositionAndSalary\",\n EmployeeGenderLocation = \"EmployeeGenderLocation\",\n EmployeeNewHiresAndTurnovers = \"EmployeeNewHiresAndTurnovers\",\n EmployeeSickLeaves = \"EmployeeSickLeaves\",\n EmployeeParentalLeaves = \"EmployeeParentalLeaves\",\n EmployeeIncidents = \"EmployeeIncidents\",\n EmployeeGenderDiversityAndEquality = \"EmployeeGenderDiversityAndEquality\",\n IndicatorValue = \"IndicatorValue\",\n EmployeeWorkRelatedInjuries = \"EmployeeWorkRelatedInjuries\",\n EmployeeMarineCasualty = \"EmployeeMarineCasualty\",\n PurchasedFish = \"PurchasedFish\",\n CatchedFish = \"CatchedFish\",\n}\n\nexport enum EmploymentEvent {\n NewHire = \"NewHire\",\n Turnover = \"Turnover\",\n}\n\nexport enum EmploymentType {\n PermanentFullTime = \"PermanentFullTime\",\n PermanentPartTime = \"PermanentPartTime\",\n Contract = \"Contract\",\n FullTime = \"FullTime\",\n PartTime = \"PartTime\",\n}\n\nexport enum FacilityType {\n Office = \"Office\",\n Factory_ProductionFacility_Workshop = \"Factory_ProductionFacility_Workshop\",\n RetailSpace = \"RetailSpace\",\n Warehouse_Storage = \"Warehouse_Storage\",\n Accommodation_Hotel = \"Accommodation_Hotel\",\n AquacultureFarm = \"AquacultureFarm\",\n AgricultureFarm = \"AgricultureFarm\",\n EducationalInstitution = \"EducationalInstitution\",\n TransportationHub = \"TransportationHub\",\n FoodAndBeverageFacility = \"FoodAndBeverageFacility\",\n RealEstate = \"RealEstate\",\n Other = \"Other\",\n}\n\nexport enum Gender {\n Woman = \"Woman\",\n Man = \"Man\",\n}\n\nexport enum Location {\n Onshore = \"Onshore\",\n Offshore = \"Offshore\",\n}\n\nexport enum MarineCasualtyType {\n VerySeriousMarineCasualty = \"VerySeriousMarineCasualty\",\n MarineCasualty = \"MarineCasualty\",\n SeriousCasualtyWithVessel = \"SeriousCasualtyWithVessel\",\n OtherVesselAccidents = \"OtherVesselAccidents\",\n PollutionOrRiskOfPollution = \"PollutionOrRiskOfPollution\",\n OccupationalAccident = \"OccupationalAccident\",\n}\n\nexport enum ParentalLeaveMode {\n EntitledTo = \"EntitledTo\",\n ParentLeave = \"ParentLeave\",\n}\n\nexport enum PositionLevel {\n PositionLevel1 = \"PositionLevel1\",\n PositionLevel2 = \"PositionLevel2\",\n PositionLevel3 = \"PositionLevel3\",\n PositionLevel4 = \"PositionLevel4\",\n PositionLevel5 = \"PositionLevel5\",\n PositionLevel6 = \"PositionLevel6\",\n}\n\nexport enum PowerSource {\n Fuel = \"Fuel\",\n Electric = \"Electric\",\n PlugInHybrid = \"PlugInHybrid\",\n Hydrogen = \"Hydrogen\",\n}\n\nexport enum ScrubbersLoopSystem {\n Open = \"Open\",\n Closed = \"Closed\",\n}\n\nexport enum SupplierStatus {\n Active = \"Active\",\n Deactivated = \"Deactivated\",\n Terminated = \"Terminated\",\n}\n\nexport enum VehicleCraftMachineryType {\n Car = \"Car\",\n Truck = \"Truck\",\n Forklift = \"Forklift\",\n SmallCrafts = \"SmallCrafts\",\n Cranes = \"Cranes\",\n Other = \"Other\",\n}\n\nexport enum VesselType {\n Offshore = \"Offshore\",\n PassengerCruise = \"PassengerCruise\",\n Fishery = \"Fishery\",\n Cargo = \"Cargo\",\n}\n\nexport class DataProfile implements IDataProfile {\n readonly eType!: EntityType;\n organizationId!: string;\n timePeriod!: TimePeriod;\n description!: string;\n inputType!: InputType;\n id!: string;\n pk?: string | undefined;\n\n protected _discriminator: string;\n\n constructor(data?: IDataProfile) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.timePeriod = new TimePeriod();\n }\n this._discriminator = \"DataProfile\";\n }\n\n init(_data?: any) {\n if (_data) {\n (this).eType = _data[\"eType\"];\n this.organizationId = _data[\"organizationId\"];\n this.timePeriod = _data[\"timePeriod\"] ? TimePeriod.fromJS(_data[\"timePeriod\"]) : new TimePeriod();\n this.description = _data[\"description\"];\n this.inputType = _data[\"inputType\"];\n this.id = _data[\"id\"];\n this.pk = _data[\"pk\"];\n }\n }\n\n static fromJS(data: any): DataProfile {\n data = typeof data === 'object' ? data : {};\n if (data[\"type\"] === \"EmployeeCommuting\") {\n let result = new EmployeeCommutingDataProfile();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeGenderDiversityAndEquality\") {\n let result = new EmployeeGenderDiversityAndEqualityDataProfile();\n result.init(data);\n return result;\n }\n let result = new DataProfile();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this._discriminator;\n data[\"eType\"] = this.eType;\n data[\"organizationId\"] = this.organizationId;\n data[\"timePeriod\"] = this.timePeriod ? this.timePeriod.toJSON() : undefined;\n data[\"description\"] = this.description;\n data[\"inputType\"] = this.inputType;\n data[\"id\"] = this.id;\n data[\"pk\"] = this.pk;\n return data;\n }\n}\n\nexport interface IDataProfile {\n eType: EntityType;\n organizationId: string;\n timePeriod: TimePeriod;\n description: string;\n inputType: InputType;\n id: string;\n pk?: string | undefined;\n}\n\nexport class EmployeeCommutingDataProfile extends DataProfile implements IEmployeeCommutingDataProfile {\n readonly type!: DataProfileType;\n totalEmployees!: number;\n totalHomeOfficeDays!: number;\n totalCommutingDays!: number;\n\n constructor(data?: IEmployeeCommutingDataProfile) {\n super(data);\n this._discriminator = \"EmployeeCommuting\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.totalEmployees = _data[\"totalEmployees\"];\n this.totalHomeOfficeDays = _data[\"totalHomeOfficeDays\"];\n this.totalCommutingDays = _data[\"totalCommutingDays\"];\n }\n }\n\n static fromJS(data: any): EmployeeCommutingDataProfile {\n data = typeof data === 'object' ? data : {};\n let result = new EmployeeCommutingDataProfile();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"totalEmployees\"] = this.totalEmployees;\n data[\"totalHomeOfficeDays\"] = this.totalHomeOfficeDays;\n data[\"totalCommutingDays\"] = this.totalCommutingDays;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IEmployeeCommutingDataProfile extends IDataProfile {\n type: DataProfileType;\n totalEmployees: number;\n totalHomeOfficeDays: number;\n totalCommutingDays: number;\n}\n\nexport class EmployeeGenderDiversityAndEqualityDataProfile extends DataProfile implements IEmployeeGenderDiversityAndEqualityDataProfile {\n readonly type!: DataProfileType;\n organizationAssetId!: string;\n\n constructor(data?: IEmployeeGenderDiversityAndEqualityDataProfile) {\n super(data);\n this._discriminator = \"EmployeeGenderDiversityAndEquality\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.organizationAssetId = _data[\"organizationAssetId\"];\n }\n }\n\n static fromJS(data: any): EmployeeGenderDiversityAndEqualityDataProfile {\n data = typeof data === 'object' ? data : {};\n let result = new EmployeeGenderDiversityAndEqualityDataProfile();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"organizationAssetId\"] = this.organizationAssetId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IEmployeeGenderDiversityAndEqualityDataProfile extends IDataProfile {\n type: DataProfileType;\n organizationAssetId: string;\n}\n\nexport class DataRecord implements IDataRecord {\n readonly eType!: EntityType;\n readonly category!: DataRecordCategory;\n organizationId!: string;\n assetId!: string;\n assetName?: string | undefined;\n assetType!: AssetType;\n inputType!: InputType;\n dataSetId?: string | undefined;\n startDate!: Date;\n endDate!: Date;\n id!: string;\n pk?: string | undefined;\n\n protected _discriminator: string;\n\n constructor(data?: IDataRecord) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n this._discriminator = \"DataRecord\";\n }\n\n init(_data?: any) {\n if (_data) {\n (this).eType = _data[\"eType\"];\n (this).category = _data[\"category\"];\n this.organizationId = _data[\"organizationId\"];\n this.assetId = _data[\"assetId\"];\n this.assetName = _data[\"assetName\"];\n this.assetType = _data[\"assetType\"];\n this.inputType = _data[\"inputType\"];\n this.dataSetId = _data[\"dataSetId\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.id = _data[\"id\"];\n this.pk = _data[\"pk\"];\n }\n }\n\n static fromJS(data: any): DataRecord {\n data = typeof data === 'object' ? data : {};\n if (data[\"type\"] === \"CatchedFish\") {\n let result = new CatchedFishDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"DownstreamLeasedAsset\") {\n let result = new DownstreamLeasedAssetDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"ElectricityConsumption\") {\n let result = new ElectricityConsumptionDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeCommuting\") {\n let result = new EmployeeCommutingDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeGenderDiversityAndEquality\") {\n let result = new EmployeeGenderDiversityAndEqualityDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeMarineCasualty\") {\n let result = new EmployeeMarineCasualtyDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeNewHiresAndTurnovers\") {\n let result = new EmployeeNewHiresAndTurnoversDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeParentalLeaves\") {\n let result = new EmployeeParentalLeavesDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeSickLeaves\") {\n let result = new EmployeeSickLeavesDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeWorkRelatedInjuries\") {\n let result = new EmployeeWorkRelatedInjuriesDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationBusinessAirTravel\") {\n let result = new OrganizationBusinessAirTravelDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationBusinessTravelHotelNights\") {\n let result = new OrganizationBusinessTravelHotelNightsDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationCorruptionRisk\") {\n let result = new OrganizationCorruptionRiskDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationFines\") {\n let result = new OrganizationFinesDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationLobbyPoliticalContribution\") {\n let result = new OrganizationLobbyPoliticalContributionDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationWhistleblowing\") {\n let result = new OrganizationWhistleblowingDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"PurchasedFish\") {\n let result = new PurchasedFishDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VehicleConsumption\") {\n let result = new VehicleConsumptionDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VesselConsumption\") {\n let result = new VesselConsumptionDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VesselDurationInProtectedAreas\") {\n let result = new VesselDurationInProtectedAreasDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VesselEmissions\") {\n let result = new VesselEmissionsDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VesselSpills\") {\n let result = new VesselSpillsDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Waste\") {\n let result = new WasteDataRecord();\n result.init(data);\n return result;\n }\n let result = new DataRecord();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this._discriminator;\n data[\"eType\"] = this.eType;\n data[\"category\"] = this.category;\n data[\"organizationId\"] = this.organizationId;\n data[\"assetId\"] = this.assetId;\n data[\"assetName\"] = this.assetName;\n data[\"assetType\"] = this.assetType;\n data[\"inputType\"] = this.inputType;\n data[\"dataSetId\"] = this.dataSetId;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"id\"] = this.id;\n data[\"pk\"] = this.pk;\n return data;\n }\n}\n\nexport interface IDataRecord {\n eType: EntityType;\n category: DataRecordCategory;\n organizationId: string;\n assetId: string;\n assetName?: string | undefined;\n assetType: AssetType;\n inputType: InputType;\n dataSetId?: string | undefined;\n startDate: Date;\n endDate: Date;\n id: string;\n pk?: string | undefined;\n}\n\nexport class CatchedFishDataRecord extends DataRecord implements ICatchedFishDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n species!: FishSpecies;\n readonly speciesName?: string | undefined;\n weight_kg?: number | undefined;\n\n constructor(data?: ICatchedFishDataRecord) {\n super(data);\n this._discriminator = \"CatchedFish\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.species = _data[\"species\"];\n (this).speciesName = _data[\"speciesName\"];\n this.weight_kg = _data[\"weight_kg\"];\n }\n }\n\n static fromJS(data: any): CatchedFishDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new CatchedFishDataRecord();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"species\"] = this.species;\n data[\"speciesName\"] = this.speciesName;\n data[\"weight_kg\"] = this.weight_kg;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICatchedFishDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n species: FishSpecies;\n speciesName?: string | undefined;\n weight_kg?: number | undefined;\n}\n\nexport class DownstreamLeasedAssetDataRecord extends DataRecord implements IDownstreamLeasedAssetDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n clientAssetId!: string;\n\n constructor(data?: IDownstreamLeasedAssetDataRecord) {\n super(data);\n this._discriminator = \"DownstreamLeasedAsset\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.clientAssetId = _data[\"clientAssetId\"];\n }\n }\n\n static fromJS(data: any): DownstreamLeasedAssetDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new DownstreamLeasedAssetDataRecord();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"clientAssetId\"] = this.clientAssetId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IDownstreamLeasedAssetDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n clientAssetId: string;\n}\n\nexport class ElectricityConsumptionDataRecord extends DataRecord implements IElectricityConsumptionDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n countryCode!: CountryCodes;\n electricity_kwh!: number;\n\n constructor(data?: IElectricityConsumptionDataRecord) {\n super(data);\n this._discriminator = \"ElectricityConsumption\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.countryCode = _data[\"countryCode\"];\n this.electricity_kwh = _data[\"electricity_kwh\"];\n }\n }\n\n static fromJS(data: any): ElectricityConsumptionDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new ElectricityConsumptionDataRecord();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"countryCode\"] = this.countryCode;\n data[\"electricity_kwh\"] = this.electricity_kwh;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IElectricityConsumptionDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n countryCode: CountryCodes;\n electricity_kwh: number;\n}\n\nexport class EmployeeCommutingDataRecord extends DataRecord implements IEmployeeCommutingDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n dataProfileId!: string;\n transport!: EmployeeCommutingTransport;\n readonly transportName?: string | undefined;\n mode?: EmployeeCommutingMode | undefined;\n readonly modeName?: string | undefined;\n employees!: number;\n days!: number;\n distance_km!: number;\n cO2Measured_kg?: number | undefined;\n\n constructor(data?: IEmployeeCommutingDataRecord) {\n super(data);\n this._discriminator = \"EmployeeCommuting\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.dataProfileId = _data[\"dataProfileId\"];\n this.transport = _data[\"transport\"];\n (this).transportName = _data[\"transportName\"];\n this.mode = _data[\"mode\"];\n (this).modeName = _data[\"modeName\"];\n this.employees = _data[\"employees\"];\n this.days = _data[\"days\"];\n this.distance_km = _data[\"distance_km\"];\n this.cO2Measured_kg = _data[\"cO2Measured_kg\"];\n }\n }\n\n static fromJS(data: any): EmployeeCommutingDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new EmployeeCommutingDataRecord();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"dataProfileId\"] = this.dataProfileId;\n data[\"transport\"] = this.transport;\n data[\"transportName\"] = this.transportName;\n data[\"mode\"] = this.mode;\n data[\"modeName\"] = this.modeName;\n data[\"employees\"] = this.employees;\n data[\"days\"] = this.days;\n data[\"distance_km\"] = this.distance_km;\n data[\"cO2Measured_kg\"] = this.cO2Measured_kg;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IEmployeeCommutingDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n dataProfileId: string;\n transport: EmployeeCommutingTransport;\n transportName?: string | undefined;\n mode?: EmployeeCommutingMode | undefined;\n modeName?: string | undefined;\n employees: number;\n days: number;\n distance_km: number;\n cO2Measured_kg?: number | undefined;\n}\n\nexport class EmployeeGenderDiversityAndEqualityDataRecord extends DataRecord implements IEmployeeGenderDiversityAndEqualityDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n dataProfileId!: string;\n employee!: string;\n name_lowercase!: string;\n yearOfBirth!: number;\n gender!: Gender;\n readonly genderName?: string | undefined;\n contract?: ContractType | undefined;\n readonly contractName?: string | undefined;\n employment?: EmploymentType | undefined;\n positionLevel!: PositionLevel;\n location?: Location | undefined;\n readonly locationName?: string | undefined;\n regionId?: string | undefined;\n regionName?: string | undefined;\n salary?: number | undefined;\n\n constructor(data?: IEmployeeGenderDiversityAndEqualityDataRecord) {\n super(data);\n this._discriminator = \"EmployeeGenderDiversityAndEquality\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.dataProfileId = _data[\"dataProfileId\"];\n this.employee = _data[\"employee\"];\n this.name_lowercase = _data[\"name_lowercase\"];\n this.yearOfBirth = _data[\"yearOfBirth\"];\n this.gender = _data[\"gender\"];\n (this).genderName = _data[\"genderName\"];\n this.contract = _data[\"contract\"];\n (this).contractName = _data[\"contractName\"];\n this.employment = _data[\"employment\"];\n this.positionLevel = _data[\"positionLevel\"];\n this.location = _data[\"location\"];\n (this).locationName = _data[\"locationName\"];\n this.regionId = _data[\"regionId\"];\n this.regionName = _data[\"regionName\"];\n this.salary = _data[\"salary\"];\n }\n }\n\n static fromJS(data: any): EmployeeGenderDiversityAndEqualityDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new EmployeeGenderDiversityAndEqualityDataRecord();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"dataProfileId\"] = this.dataProfileId;\n data[\"employee\"] = this.employee;\n data[\"name_lowercase\"] = this.name_lowercase;\n data[\"yearOfBirth\"] = this.yearOfBirth;\n data[\"gender\"] = this.gender;\n data[\"genderName\"] = this.genderName;\n data[\"contract\"] = this.contract;\n data[\"contractName\"] = this.contractName;\n data[\"employment\"] = this.employment;\n data[\"positionLevel\"] = this.positionLevel;\n data[\"location\"] = this.location;\n data[\"locationName\"] = this.locationName;\n data[\"regionId\"] = this.regionId;\n data[\"regionName\"] = this.regionName;\n data[\"salary\"] = this.salary;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IEmployeeGenderDiversityAndEqualityDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n dataProfileId: string;\n employee: string;\n name_lowercase: string;\n yearOfBirth: number;\n gender: Gender;\n genderName?: string | undefined;\n contract?: ContractType | undefined;\n contractName?: string | undefined;\n employment?: EmploymentType | undefined;\n positionLevel: PositionLevel;\n location?: Location | undefined;\n locationName?: string | undefined;\n regionId?: string | undefined;\n regionName?: string | undefined;\n salary?: number | undefined;\n}\n\nexport class EmployeeMarineCasualtyDataRecord extends DataRecord implements IEmployeeMarineCasualtyDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n marineCasualtyType!: MarineCasualtyType;\n readonly marineCasualtyTypeName?: string | undefined;\n incidents!: number;\n\n constructor(data?: IEmployeeMarineCasualtyDataRecord) {\n super(data);\n this._discriminator = \"EmployeeMarineCasualty\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.marineCasualtyType = _data[\"marineCasualtyType\"];\n (this).marineCasualtyTypeName = _data[\"marineCasualtyTypeName\"];\n this.incidents = _data[\"incidents\"];\n }\n }\n\n static fromJS(data: any): EmployeeMarineCasualtyDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new EmployeeMarineCasualtyDataRecord();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"marineCasualtyType\"] = this.marineCasualtyType;\n data[\"marineCasualtyTypeName\"] = this.marineCasualtyTypeName;\n data[\"incidents\"] = this.incidents;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IEmployeeMarineCasualtyDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n marineCasualtyType: MarineCasualtyType;\n marineCasualtyTypeName?: string | undefined;\n incidents: number;\n}\n\nexport class EmployeeNewHiresAndTurnoversDataRecord extends DataRecord implements IEmployeeNewHiresAndTurnoversDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n employmentEvent!: EmploymentEvent;\n gender!: Gender;\n readonly genderName?: string | undefined;\n ageGroup!: AgeGroup;\n positionLevel!: PositionLevel;\n regionId!: string;\n regionName?: string | undefined;\n\n constructor(data?: IEmployeeNewHiresAndTurnoversDataRecord) {\n super(data);\n this._discriminator = \"EmployeeNewHiresAndTurnovers\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.employmentEvent = _data[\"employmentEvent\"];\n this.gender = _data[\"gender\"];\n (this).genderName = _data[\"genderName\"];\n this.ageGroup = _data[\"ageGroup\"];\n this.positionLevel = _data[\"positionLevel\"];\n this.regionId = _data[\"regionId\"];\n this.regionName = _data[\"regionName\"];\n }\n }\n\n static fromJS(data: any): EmployeeNewHiresAndTurnoversDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new EmployeeNewHiresAndTurnoversDataRecord();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"employmentEvent\"] = this.employmentEvent;\n data[\"gender\"] = this.gender;\n data[\"genderName\"] = this.genderName;\n data[\"ageGroup\"] = this.ageGroup;\n data[\"positionLevel\"] = this.positionLevel;\n data[\"regionId\"] = this.regionId;\n data[\"regionName\"] = this.regionName;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IEmployeeNewHiresAndTurnoversDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n employmentEvent: EmploymentEvent;\n gender: Gender;\n genderName?: string | undefined;\n ageGroup: AgeGroup;\n positionLevel: PositionLevel;\n regionId: string;\n regionName?: string | undefined;\n}\n\nexport class EmployeeParentalLeavesDataRecord extends DataRecord implements IEmployeeParentalLeavesDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n mode!: ParentalLeaveMode;\n gender!: Gender;\n readonly genderName?: string | undefined;\n regionId!: string;\n regionName?: string | undefined;\n\n constructor(data?: IEmployeeParentalLeavesDataRecord) {\n super(data);\n this._discriminator = \"EmployeeParentalLeaves\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.mode = _data[\"mode\"];\n this.gender = _data[\"gender\"];\n (this).genderName = _data[\"genderName\"];\n this.regionId = _data[\"regionId\"];\n this.regionName = _data[\"regionName\"];\n }\n }\n\n static fromJS(data: any): EmployeeParentalLeavesDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new EmployeeParentalLeavesDataRecord();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"mode\"] = this.mode;\n data[\"gender\"] = this.gender;\n data[\"genderName\"] = this.genderName;\n data[\"regionId\"] = this.regionId;\n data[\"regionName\"] = this.regionName;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IEmployeeParentalLeavesDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n mode: ParentalLeaveMode;\n gender: Gender;\n genderName?: string | undefined;\n regionId: string;\n regionName?: string | undefined;\n}\n\nexport class EmployeeSickLeavesDataRecord extends DataRecord implements IEmployeeSickLeavesDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n regionId!: string;\n regionName?: string | undefined;\n women!: number;\n men!: number;\n workingDays!: number;\n\n constructor(data?: IEmployeeSickLeavesDataRecord) {\n super(data);\n this._discriminator = \"EmployeeSickLeaves\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.regionId = _data[\"regionId\"];\n this.regionName = _data[\"regionName\"];\n this.women = _data[\"women\"];\n this.men = _data[\"men\"];\n this.workingDays = _data[\"workingDays\"];\n }\n }\n\n static fromJS(data: any): EmployeeSickLeavesDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new EmployeeSickLeavesDataRecord();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"regionId\"] = this.regionId;\n data[\"regionName\"] = this.regionName;\n data[\"women\"] = this.women;\n data[\"men\"] = this.men;\n data[\"workingDays\"] = this.workingDays;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IEmployeeSickLeavesDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n regionId: string;\n regionName?: string | undefined;\n women: number;\n men: number;\n workingDays: number;\n}\n\nexport class EmployeeWorkRelatedInjuriesDataRecord extends DataRecord implements IEmployeeWorkRelatedInjuriesDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n recordableInjuries!: number;\n fatalities!: number;\n highConsequenceInjuries!: number;\n illnessHealth!: number;\n lostTimeInjuries!: number;\n daysLost!: number;\n exposureHours!: number;\n\n constructor(data?: IEmployeeWorkRelatedInjuriesDataRecord) {\n super(data);\n this._discriminator = \"EmployeeWorkRelatedInjuries\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.recordableInjuries = _data[\"recordableInjuries\"];\n this.fatalities = _data[\"fatalities\"];\n this.highConsequenceInjuries = _data[\"highConsequenceInjuries\"];\n this.illnessHealth = _data[\"illnessHealth\"];\n this.lostTimeInjuries = _data[\"lostTimeInjuries\"];\n this.daysLost = _data[\"daysLost\"];\n this.exposureHours = _data[\"exposureHours\"];\n }\n }\n\n static fromJS(data: any): EmployeeWorkRelatedInjuriesDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new EmployeeWorkRelatedInjuriesDataRecord();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"recordableInjuries\"] = this.recordableInjuries;\n data[\"fatalities\"] = this.fatalities;\n data[\"highConsequenceInjuries\"] = this.highConsequenceInjuries;\n data[\"illnessHealth\"] = this.illnessHealth;\n data[\"lostTimeInjuries\"] = this.lostTimeInjuries;\n data[\"daysLost\"] = this.daysLost;\n data[\"exposureHours\"] = this.exposureHours;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IEmployeeWorkRelatedInjuriesDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n recordableInjuries: number;\n fatalities: number;\n highConsequenceInjuries: number;\n illnessHealth: number;\n lostTimeInjuries: number;\n daysLost: number;\n exposureHours: number;\n}\n\nexport class OrganizationBusinessAirTravelDataRecord extends DataRecord implements IOrganizationBusinessAirTravelDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n consumptionValueType!: ConsumptionValueType;\n readonly consumptionValueTypeName?: string | undefined;\n distanceType?: DistanceType | undefined;\n readonly distanceTypeName?: string | undefined;\n numberOfFlights!: number;\n consumptionValue!: number;\n cO2Measured_kg?: number | undefined;\n\n constructor(data?: IOrganizationBusinessAirTravelDataRecord) {\n super(data);\n this._discriminator = \"OrganizationBusinessAirTravel\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.consumptionValueType = _data[\"consumptionValueType\"];\n (this).consumptionValueTypeName = _data[\"consumptionValueTypeName\"];\n this.distanceType = _data[\"distanceType\"];\n (this).distanceTypeName = _data[\"distanceTypeName\"];\n this.numberOfFlights = _data[\"numberOfFlights\"];\n this.consumptionValue = _data[\"consumptionValue\"];\n this.cO2Measured_kg = _data[\"cO2Measured_kg\"];\n }\n }\n\n static fromJS(data: any): OrganizationBusinessAirTravelDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new OrganizationBusinessAirTravelDataRecord();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"consumptionValueType\"] = this.consumptionValueType;\n data[\"consumptionValueTypeName\"] = this.consumptionValueTypeName;\n data[\"distanceType\"] = this.distanceType;\n data[\"distanceTypeName\"] = this.distanceTypeName;\n data[\"numberOfFlights\"] = this.numberOfFlights;\n data[\"consumptionValue\"] = this.consumptionValue;\n data[\"cO2Measured_kg\"] = this.cO2Measured_kg;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IOrganizationBusinessAirTravelDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n consumptionValueType: ConsumptionValueType;\n consumptionValueTypeName?: string | undefined;\n distanceType?: DistanceType | undefined;\n distanceTypeName?: string | undefined;\n numberOfFlights: number;\n consumptionValue: number;\n cO2Measured_kg?: number | undefined;\n}\n\nexport class OrganizationBusinessTravelHotelNightsDataRecord extends DataRecord implements IOrganizationBusinessTravelHotelNightsDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n numberOfNights!: number;\n countryCode!: CountryCodes;\n\n constructor(data?: IOrganizationBusinessTravelHotelNightsDataRecord) {\n super(data);\n this._discriminator = \"OrganizationBusinessTravelHotelNights\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.numberOfNights = _data[\"numberOfNights\"];\n this.countryCode = _data[\"countryCode\"];\n }\n }\n\n static fromJS(data: any): OrganizationBusinessTravelHotelNightsDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new OrganizationBusinessTravelHotelNightsDataRecord();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"numberOfNights\"] = this.numberOfNights;\n data[\"countryCode\"] = this.countryCode;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IOrganizationBusinessTravelHotelNightsDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n numberOfNights: number;\n countryCode: CountryCodes;\n}\n\nexport class OrganizationCorruptionRiskDataRecord extends DataRecord implements IOrganizationCorruptionRiskDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n callsAtPort!: number;\n netRevenue!: number;\n currencyCode!: CurrencyCodes;\n facilitation!: number;\n\n constructor(data?: IOrganizationCorruptionRiskDataRecord) {\n super(data);\n this._discriminator = \"OrganizationCorruptionRisk\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.callsAtPort = _data[\"callsAtPort\"];\n this.netRevenue = _data[\"netRevenue\"];\n this.currencyCode = _data[\"currencyCode\"];\n this.facilitation = _data[\"facilitation\"];\n }\n }\n\n static fromJS(data: any): OrganizationCorruptionRiskDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new OrganizationCorruptionRiskDataRecord();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"callsAtPort\"] = this.callsAtPort;\n data[\"netRevenue\"] = this.netRevenue;\n data[\"currencyCode\"] = this.currencyCode;\n data[\"facilitation\"] = this.facilitation;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IOrganizationCorruptionRiskDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n callsAtPort: number;\n netRevenue: number;\n currencyCode: CurrencyCodes;\n facilitation: number;\n}\n\nexport class OrganizationFinesDataRecord extends DataRecord implements IOrganizationFinesDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n monetaryValue!: number;\n currencyCode!: CurrencyCodes;\n nonMonetarySanctions!: number;\n\n constructor(data?: IOrganizationFinesDataRecord) {\n super(data);\n this._discriminator = \"OrganizationFines\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.monetaryValue = _data[\"monetaryValue\"];\n this.currencyCode = _data[\"currencyCode\"];\n this.nonMonetarySanctions = _data[\"nonMonetarySanctions\"];\n }\n }\n\n static fromJS(data: any): OrganizationFinesDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new OrganizationFinesDataRecord();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"monetaryValue\"] = this.monetaryValue;\n data[\"currencyCode\"] = this.currencyCode;\n data[\"nonMonetarySanctions\"] = this.nonMonetarySanctions;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IOrganizationFinesDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n monetaryValue: number;\n currencyCode: CurrencyCodes;\n nonMonetarySanctions: number;\n}\n\nexport class OrganizationLobbyPoliticalContributionDataRecord extends DataRecord implements IOrganizationLobbyPoliticalContributionDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n monetaryValue!: number;\n currencyCode!: CurrencyCodes;\n beneficiary!: string;\n countryCode!: CountryCodes;\n\n constructor(data?: IOrganizationLobbyPoliticalContributionDataRecord) {\n super(data);\n this._discriminator = \"OrganizationLobbyPoliticalContribution\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.monetaryValue = _data[\"monetaryValue\"];\n this.currencyCode = _data[\"currencyCode\"];\n this.beneficiary = _data[\"beneficiary\"];\n this.countryCode = _data[\"countryCode\"];\n }\n }\n\n static fromJS(data: any): OrganizationLobbyPoliticalContributionDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new OrganizationLobbyPoliticalContributionDataRecord();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"monetaryValue\"] = this.monetaryValue;\n data[\"currencyCode\"] = this.currencyCode;\n data[\"beneficiary\"] = this.beneficiary;\n data[\"countryCode\"] = this.countryCode;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IOrganizationLobbyPoliticalContributionDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n monetaryValue: number;\n currencyCode: CurrencyCodes;\n beneficiary: string;\n countryCode: CountryCodes;\n}\n\nexport class OrganizationWhistleblowingDataRecord extends DataRecord implements IOrganizationWhistleblowingDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n incidents!: number;\n\n constructor(data?: IOrganizationWhistleblowingDataRecord) {\n super(data);\n this._discriminator = \"OrganizationWhistleblowing\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.incidents = _data[\"incidents\"];\n }\n }\n\n static fromJS(data: any): OrganizationWhistleblowingDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new OrganizationWhistleblowingDataRecord();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"incidents\"] = this.incidents;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IOrganizationWhistleblowingDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n incidents: number;\n}\n\nexport class PurchasedFishDataRecord extends DataRecord implements IPurchasedFishDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n species!: FishSpecies;\n readonly speciesName?: string | undefined;\n weight_kg?: number | undefined;\n\n constructor(data?: IPurchasedFishDataRecord) {\n super(data);\n this._discriminator = \"PurchasedFish\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.species = _data[\"species\"];\n (this).speciesName = _data[\"speciesName\"];\n this.weight_kg = _data[\"weight_kg\"];\n }\n }\n\n static fromJS(data: any): PurchasedFishDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new PurchasedFishDataRecord();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"species\"] = this.species;\n data[\"speciesName\"] = this.speciesName;\n data[\"weight_kg\"] = this.weight_kg;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IPurchasedFishDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n species: FishSpecies;\n speciesName?: string | undefined;\n weight_kg?: number | undefined;\n}\n\nexport class VehicleConsumptionDataRecord extends DataRecord implements IVehicleConsumptionDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n diesel_l!: number;\n petrol_l!: number;\n hydrogen_kg!: number;\n naturalGas!: number;\n naturalGas_Unit!: string;\n liquidPetroleumGas!: number;\n liquidPetroleumGas_Unit!: string;\n distance_km!: number;\n\n constructor(data?: IVehicleConsumptionDataRecord) {\n super(data);\n this._discriminator = \"VehicleConsumption\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.diesel_l = _data[\"diesel_l\"];\n this.petrol_l = _data[\"petrol_l\"];\n this.hydrogen_kg = _data[\"hydrogen_kg\"];\n this.naturalGas = _data[\"naturalGas\"];\n this.naturalGas_Unit = _data[\"naturalGas_Unit\"];\n this.liquidPetroleumGas = _data[\"liquidPetroleumGas\"];\n this.liquidPetroleumGas_Unit = _data[\"liquidPetroleumGas_Unit\"];\n this.distance_km = _data[\"distance_km\"];\n }\n }\n\n static fromJS(data: any): VehicleConsumptionDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new VehicleConsumptionDataRecord();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"diesel_l\"] = this.diesel_l;\n data[\"petrol_l\"] = this.petrol_l;\n data[\"hydrogen_kg\"] = this.hydrogen_kg;\n data[\"naturalGas\"] = this.naturalGas;\n data[\"naturalGas_Unit\"] = this.naturalGas_Unit;\n data[\"liquidPetroleumGas\"] = this.liquidPetroleumGas;\n data[\"liquidPetroleumGas_Unit\"] = this.liquidPetroleumGas_Unit;\n data[\"distance_km\"] = this.distance_km;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IVehicleConsumptionDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n diesel_l: number;\n petrol_l: number;\n hydrogen_kg: number;\n naturalGas: number;\n naturalGas_Unit: string;\n liquidPetroleumGas: number;\n liquidPetroleumGas_Unit: string;\n distance_km: number;\n}\n\nexport class VesselConsumptionDataRecord extends DataRecord implements IVesselConsumptionDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n distanceSailed_nm?: number | undefined;\n inOperation_hrs?: number | undefined;\n mgo?: number | undefined;\n mgO_Unit!: string;\n hfo?: number | undefined;\n hfO_Unit!: string;\n lfo?: number | undefined;\n lfO_Unit!: string;\n urea_l?: number | undefined;\n lng?: number | undefined;\n lnG_Unit!: string;\n hvO100?: number | undefined;\n hvO100_Unit!: string;\n mgoB30?: number | undefined;\n mgoB30_Unit!: string;\n\n constructor(data?: IVesselConsumptionDataRecord) {\n super(data);\n this._discriminator = \"VesselConsumption\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.distanceSailed_nm = _data[\"distanceSailed_nm\"];\n this.inOperation_hrs = _data[\"inOperation_hrs\"];\n this.mgo = _data[\"mgo\"];\n this.mgO_Unit = _data[\"mgO_Unit\"];\n this.hfo = _data[\"hfo\"];\n this.hfO_Unit = _data[\"hfO_Unit\"];\n this.lfo = _data[\"lfo\"];\n this.lfO_Unit = _data[\"lfO_Unit\"];\n this.urea_l = _data[\"urea_l\"];\n this.lng = _data[\"lng\"];\n this.lnG_Unit = _data[\"lnG_Unit\"];\n this.hvO100 = _data[\"hvO100\"];\n this.hvO100_Unit = _data[\"hvO100_Unit\"];\n this.mgoB30 = _data[\"mgoB30\"];\n this.mgoB30_Unit = _data[\"mgoB30_Unit\"];\n }\n }\n\n static fromJS(data: any): VesselConsumptionDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new VesselConsumptionDataRecord();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"distanceSailed_nm\"] = this.distanceSailed_nm;\n data[\"inOperation_hrs\"] = this.inOperation_hrs;\n data[\"mgo\"] = this.mgo;\n data[\"mgO_Unit\"] = this.mgO_Unit;\n data[\"hfo\"] = this.hfo;\n data[\"hfO_Unit\"] = this.hfO_Unit;\n data[\"lfo\"] = this.lfo;\n data[\"lfO_Unit\"] = this.lfO_Unit;\n data[\"urea_l\"] = this.urea_l;\n data[\"lng\"] = this.lng;\n data[\"lnG_Unit\"] = this.lnG_Unit;\n data[\"hvO100\"] = this.hvO100;\n data[\"hvO100_Unit\"] = this.hvO100_Unit;\n data[\"mgoB30\"] = this.mgoB30;\n data[\"mgoB30_Unit\"] = this.mgoB30_Unit;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IVesselConsumptionDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n distanceSailed_nm?: number | undefined;\n inOperation_hrs?: number | undefined;\n mgo?: number | undefined;\n mgO_Unit: string;\n hfo?: number | undefined;\n hfO_Unit: string;\n lfo?: number | undefined;\n lfO_Unit: string;\n urea_l?: number | undefined;\n lng?: number | undefined;\n lnG_Unit: string;\n hvO100?: number | undefined;\n hvO100_Unit: string;\n mgoB30?: number | undefined;\n mgoB30_Unit: string;\n}\n\nexport class VesselDurationInProtectedAreasDataRecord extends DataRecord implements IVesselDurationInProtectedAreasDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n days!: number;\n\n constructor(data?: IVesselDurationInProtectedAreasDataRecord) {\n super(data);\n this._discriminator = \"VesselDurationInProtectedAreas\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.days = _data[\"days\"];\n }\n }\n\n static fromJS(data: any): VesselDurationInProtectedAreasDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new VesselDurationInProtectedAreasDataRecord();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"days\"] = this.days;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IVesselDurationInProtectedAreasDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n days: number;\n}\n\nexport class VesselEmissionsDataRecord extends DataRecord implements IVesselEmissionsDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n powerFromShore_kwh?: number | undefined;\n powerFromShoreCountryCode?: CountryCodes | undefined;\n mgO_m3?: number | undefined;\n lnG_m3?: number | undefined;\n nox_t?: number | undefined;\n cO2_t?: number | undefined;\n sOx_kg?: number | undefined;\n pM25_kg?: number | undefined;\n cH4_kg?: number | undefined;\n n2O_kg?: number | undefined;\n distanceSailed_nm?: number | undefined;\n inOperation_hrs?: number | undefined;\n\n constructor(data?: IVesselEmissionsDataRecord) {\n super(data);\n this._discriminator = \"VesselEmissions\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.powerFromShore_kwh = _data[\"powerFromShore_kwh\"];\n this.powerFromShoreCountryCode = _data[\"powerFromShoreCountryCode\"];\n this.mgO_m3 = _data[\"mgO_m3\"];\n this.lnG_m3 = _data[\"lnG_m3\"];\n this.nox_t = _data[\"nox_t\"];\n this.cO2_t = _data[\"cO2_t\"];\n this.sOx_kg = _data[\"sOx_kg\"];\n this.pM25_kg = _data[\"pM25_kg\"];\n this.cH4_kg = _data[\"cH4_kg\"];\n this.n2O_kg = _data[\"n2O_kg\"];\n this.distanceSailed_nm = _data[\"distanceSailed_nm\"];\n this.inOperation_hrs = _data[\"inOperation_hrs\"];\n }\n }\n\n static fromJS(data: any): VesselEmissionsDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new VesselEmissionsDataRecord();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"powerFromShore_kwh\"] = this.powerFromShore_kwh;\n data[\"powerFromShoreCountryCode\"] = this.powerFromShoreCountryCode;\n data[\"mgO_m3\"] = this.mgO_m3;\n data[\"lnG_m3\"] = this.lnG_m3;\n data[\"nox_t\"] = this.nox_t;\n data[\"cO2_t\"] = this.cO2_t;\n data[\"sOx_kg\"] = this.sOx_kg;\n data[\"pM25_kg\"] = this.pM25_kg;\n data[\"cH4_kg\"] = this.cH4_kg;\n data[\"n2O_kg\"] = this.n2O_kg;\n data[\"distanceSailed_nm\"] = this.distanceSailed_nm;\n data[\"inOperation_hrs\"] = this.inOperation_hrs;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IVesselEmissionsDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n powerFromShore_kwh?: number | undefined;\n powerFromShoreCountryCode?: CountryCodes | undefined;\n mgO_m3?: number | undefined;\n lnG_m3?: number | undefined;\n nox_t?: number | undefined;\n cO2_t?: number | undefined;\n sOx_kg?: number | undefined;\n pM25_kg?: number | undefined;\n cH4_kg?: number | undefined;\n n2O_kg?: number | undefined;\n distanceSailed_nm?: number | undefined;\n inOperation_hrs?: number | undefined;\n}\n\nexport class VesselSpillsDataRecord extends DataRecord implements IVesselSpillsDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n spillsType!: string;\n isHazardous!: boolean;\n volume_m3!: number;\n\n constructor(data?: IVesselSpillsDataRecord) {\n super(data);\n this._discriminator = \"VesselSpills\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.spillsType = _data[\"spillsType\"];\n this.isHazardous = _data[\"isHazardous\"];\n this.volume_m3 = _data[\"volume_m3\"];\n }\n }\n\n static fromJS(data: any): VesselSpillsDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new VesselSpillsDataRecord();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"spillsType\"] = this.spillsType;\n data[\"isHazardous\"] = this.isHazardous;\n data[\"volume_m3\"] = this.volume_m3;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IVesselSpillsDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n spillsType: string;\n isHazardous: boolean;\n volume_m3: number;\n}\n\nexport class WasteDataRecord extends DataRecord implements IWasteDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n class!: WasteClass;\n subclass?: WasteSubClass | undefined;\n readonly subClassName?: string | undefined;\n isHazardous!: boolean;\n toDisposal!: WasteToDisposal;\n readonly toDisposalName?: string | undefined;\n quantity!: number;\n unit!: string;\n cO2Measured_t?: number | undefined;\n\n constructor(data?: IWasteDataRecord) {\n super(data);\n this._discriminator = \"Waste\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.class = _data[\"class\"];\n this.subclass = _data[\"subclass\"];\n (this).subClassName = _data[\"subClassName\"];\n this.isHazardous = _data[\"isHazardous\"];\n this.toDisposal = _data[\"toDisposal\"];\n (this).toDisposalName = _data[\"toDisposalName\"];\n this.quantity = _data[\"quantity\"];\n this.unit = _data[\"unit\"];\n this.cO2Measured_t = _data[\"cO2Measured_t\"];\n }\n }\n\n static fromJS(data: any): WasteDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new WasteDataRecord();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"class\"] = this.class;\n data[\"subclass\"] = this.subclass;\n data[\"subClassName\"] = this.subClassName;\n data[\"isHazardous\"] = this.isHazardous;\n data[\"toDisposal\"] = this.toDisposal;\n data[\"toDisposalName\"] = this.toDisposalName;\n data[\"quantity\"] = this.quantity;\n data[\"unit\"] = this.unit;\n data[\"cO2Measured_t\"] = this.cO2Measured_t;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IWasteDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n class: WasteClass;\n subclass?: WasteSubClass | undefined;\n subClassName?: string | undefined;\n isHazardous: boolean;\n toDisposal: WasteToDisposal;\n toDisposalName?: string | undefined;\n quantity: number;\n unit: string;\n cO2Measured_t?: number | undefined;\n}\n\nexport class CreateIndicatorDataCommandResponse implements ICreateIndicatorDataCommandResponse {\n result!: CreateIndicatorDataVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: ICreateIndicatorDataCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new CreateIndicatorDataVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? CreateIndicatorDataVm.fromJS(_data[\"result\"]) : new CreateIndicatorDataVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CreateIndicatorDataCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CreateIndicatorDataCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICreateIndicatorDataCommandResponse {\n result: CreateIndicatorDataVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CreateIndicatorDataVm implements ICreateIndicatorDataVm {\n id!: string;\n\n constructor(data?: ICreateIndicatorDataVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CreateIndicatorDataVm {\n data = typeof data === 'object' ? data : {};\n let result = new CreateIndicatorDataVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICreateIndicatorDataVm {\n id: string;\n}\n\nexport class CreateMultipleIndicatorDataCommandParams implements ICreateMultipleIndicatorDataCommandParams {\n indicatorId!: string;\n indicatorDataList!: CreateMultipleIndicatorDataRecord[];\n\n constructor(data?: ICreateMultipleIndicatorDataCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.indicatorDataList = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.indicatorId = _data[\"indicatorId\"];\n if (Array.isArray(_data[\"indicatorDataList\"])) {\n this.indicatorDataList = [] as any;\n for (let item of _data[\"indicatorDataList\"])\n this.indicatorDataList!.push(CreateMultipleIndicatorDataRecord.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): CreateMultipleIndicatorDataCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateMultipleIndicatorDataCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"indicatorId\"] = this.indicatorId;\n if (Array.isArray(this.indicatorDataList)) {\n data[\"indicatorDataList\"] = [];\n for (let item of this.indicatorDataList)\n data[\"indicatorDataList\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ICreateMultipleIndicatorDataCommandParams {\n indicatorId: string;\n indicatorDataList: CreateMultipleIndicatorDataRecord[];\n}\n\nexport class CreateMultipleIndicatorDataRecord implements ICreateMultipleIndicatorDataRecord {\n assetId!: string;\n timePeriod!: TimePeriod;\n description!: string;\n valueType!: IndicatorValueType;\n numericValue?: number | undefined;\n tableValue?: IndicatorTableValue | undefined;\n inputType?: InputType | undefined;\n\n constructor(data?: ICreateMultipleIndicatorDataRecord) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.timePeriod = new TimePeriod();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.assetId = _data[\"assetId\"];\n this.timePeriod = _data[\"timePeriod\"] ? TimePeriod.fromJS(_data[\"timePeriod\"]) : new TimePeriod();\n this.description = _data[\"description\"];\n this.valueType = _data[\"valueType\"];\n this.numericValue = _data[\"numericValue\"];\n this.tableValue = _data[\"tableValue\"] ? IndicatorTableValue.fromJS(_data[\"tableValue\"]) : undefined;\n this.inputType = _data[\"inputType\"];\n }\n }\n\n static fromJS(data: any): CreateMultipleIndicatorDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new CreateMultipleIndicatorDataRecord();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"assetId\"] = this.assetId;\n data[\"timePeriod\"] = this.timePeriod ? this.timePeriod.toJSON() : undefined;\n data[\"description\"] = this.description;\n data[\"valueType\"] = this.valueType;\n data[\"numericValue\"] = this.numericValue;\n data[\"tableValue\"] = this.tableValue ? this.tableValue.toJSON() : undefined;\n data[\"inputType\"] = this.inputType;\n return data;\n }\n}\n\nexport interface ICreateMultipleIndicatorDataRecord {\n assetId: string;\n timePeriod: TimePeriod;\n description: string;\n valueType: IndicatorValueType;\n numericValue?: number | undefined;\n tableValue?: IndicatorTableValue | undefined;\n inputType?: InputType | undefined;\n}\n\nexport class DeleteIndicatorDataByFilter implements IDeleteIndicatorDataByFilter {\n indicatorId!: string;\n inputType?: InputType | undefined;\n dateFrom?: Date | undefined;\n dateTo?: Date | undefined;\n orderBy?: string | undefined;\n assetTypes?: AssetType[] | undefined;\n assetIds?: string[] | undefined;\n\n constructor(data?: IDeleteIndicatorDataByFilter) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.indicatorId = _data[\"indicatorId\"];\n this.inputType = _data[\"inputType\"];\n this.dateFrom = _data[\"dateFrom\"] ? new Date(_data[\"dateFrom\"].toString()) : undefined;\n this.dateTo = _data[\"dateTo\"] ? new Date(_data[\"dateTo\"].toString()) : undefined;\n this.orderBy = _data[\"orderBy\"];\n if (Array.isArray(_data[\"assetTypes\"])) {\n this.assetTypes = [] as any;\n for (let item of _data[\"assetTypes\"])\n this.assetTypes!.push(item);\n }\n if (Array.isArray(_data[\"assetIds\"])) {\n this.assetIds = [] as any;\n for (let item of _data[\"assetIds\"])\n this.assetIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DeleteIndicatorDataByFilter {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteIndicatorDataByFilter();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"indicatorId\"] = this.indicatorId;\n data[\"inputType\"] = this.inputType;\n data[\"dateFrom\"] = this.dateFrom ? this.dateFrom.toISOString() : undefined;\n data[\"dateTo\"] = this.dateTo ? this.dateTo.toISOString() : undefined;\n data[\"orderBy\"] = this.orderBy;\n if (Array.isArray(this.assetTypes)) {\n data[\"assetTypes\"] = [];\n for (let item of this.assetTypes)\n data[\"assetTypes\"].push(item);\n }\n if (Array.isArray(this.assetIds)) {\n data[\"assetIds\"] = [];\n for (let item of this.assetIds)\n data[\"assetIds\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDeleteIndicatorDataByFilter {\n indicatorId: string;\n inputType?: InputType | undefined;\n dateFrom?: Date | undefined;\n dateTo?: Date | undefined;\n orderBy?: string | undefined;\n assetTypes?: AssetType[] | undefined;\n assetIds?: string[] | undefined;\n}\n\nexport class DeleteIndicatorDataVm implements IDeleteIndicatorDataVm {\n amountOfDeletedItems!: number;\n amountOfItemsLeft!: number;\n\n constructor(data?: IDeleteIndicatorDataVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.amountOfDeletedItems = _data[\"amountOfDeletedItems\"];\n this.amountOfItemsLeft = _data[\"amountOfItemsLeft\"];\n }\n }\n\n static fromJS(data: any): DeleteIndicatorDataVm {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteIndicatorDataVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"amountOfDeletedItems\"] = this.amountOfDeletedItems;\n data[\"amountOfItemsLeft\"] = this.amountOfItemsLeft;\n return data;\n }\n}\n\nexport interface IDeleteIndicatorDataVm {\n amountOfDeletedItems: number;\n amountOfItemsLeft: number;\n}\n\nexport class DeleteMultipleIndicatorDataCommandResponse implements IDeleteMultipleIndicatorDataCommandResponse {\n result!: DeleteIndicatorDataVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IDeleteMultipleIndicatorDataCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new DeleteIndicatorDataVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? DeleteIndicatorDataVm.fromJS(_data[\"result\"]) : new DeleteIndicatorDataVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DeleteMultipleIndicatorDataCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteMultipleIndicatorDataCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDeleteMultipleIndicatorDataCommandResponse {\n result: DeleteIndicatorDataVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class IndicatorTableCellValue implements IIndicatorTableCellValue {\n columnId!: string;\n value?: number | undefined;\n unit?: string | undefined;\n dataRecordValues?: ValueTuple_2OfGuidAndNullable_1OfDouble[] | undefined;\n\n constructor(data?: IIndicatorTableCellValue) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.columnId = _data[\"columnId\"];\n this.value = _data[\"value\"];\n this.unit = _data[\"unit\"];\n if (Array.isArray(_data[\"dataRecordValues\"])) {\n this.dataRecordValues = [] as any;\n for (let item of _data[\"dataRecordValues\"])\n this.dataRecordValues!.push(ValueTuple_2OfGuidAndNullable_1OfDouble.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): IndicatorTableCellValue {\n data = typeof data === 'object' ? data : {};\n let result = new IndicatorTableCellValue();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"columnId\"] = this.columnId;\n data[\"value\"] = this.value;\n data[\"unit\"] = this.unit;\n if (Array.isArray(this.dataRecordValues)) {\n data[\"dataRecordValues\"] = [];\n for (let item of this.dataRecordValues)\n data[\"dataRecordValues\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IIndicatorTableCellValue {\n columnId: string;\n value?: number | undefined;\n unit?: string | undefined;\n dataRecordValues?: ValueTuple_2OfGuidAndNullable_1OfDouble[] | undefined;\n}\n\nexport class IndicatorTableValue implements IIndicatorTableValue {\n rows!: IndicatorTableValueRow[];\n\n constructor(data?: IIndicatorTableValue) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.rows = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"rows\"])) {\n this.rows = [] as any;\n for (let item of _data[\"rows\"])\n this.rows!.push(IndicatorTableValueRow.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): IndicatorTableValue {\n data = typeof data === 'object' ? data : {};\n let result = new IndicatorTableValue();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.rows)) {\n data[\"rows\"] = [];\n for (let item of this.rows)\n data[\"rows\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IIndicatorTableValue {\n rows: IndicatorTableValueRow[];\n}\n\nexport class IndicatorTableValueRow implements IIndicatorTableValueRow {\n rowId!: string;\n cells!: IndicatorTableCellValue[];\n\n constructor(data?: IIndicatorTableValueRow) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.cells = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.rowId = _data[\"rowId\"];\n if (Array.isArray(_data[\"cells\"])) {\n this.cells = [] as any;\n for (let item of _data[\"cells\"])\n this.cells!.push(IndicatorTableCellValue.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): IndicatorTableValueRow {\n data = typeof data === 'object' ? data : {};\n let result = new IndicatorTableValueRow();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"rowId\"] = this.rowId;\n if (Array.isArray(this.cells)) {\n data[\"cells\"] = [];\n for (let item of this.cells)\n data[\"cells\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IIndicatorTableValueRow {\n rowId: string;\n cells: IndicatorTableCellValue[];\n}\n\nexport enum IndicatorValueType {\n Numeric = \"Numeric\",\n Table = \"Table\",\n Narrative = \"Narrative\",\n}\n\nexport class Result implements IResult {\n organizationId!: string;\n message!: string;\n\n constructor(data?: IResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.organizationId = _data[\"organizationId\"];\n this.message = _data[\"message\"];\n }\n }\n\n static fromJS(data: any): Result {\n data = typeof data === 'object' ? data : {};\n let result = new Result();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"organizationId\"] = this.organizationId;\n data[\"message\"] = this.message;\n return data;\n }\n}\n\nexport interface IResult {\n organizationId: string;\n message: string;\n}\n\nexport class GetOrganizationListQueryResponse implements IGetOrganizationListQueryResponse {\n result!: OrganizationListItemVm[];\n currentContextOrganizationId!: string;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetOrganizationListQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(OrganizationListItemVm.fromJS(item));\n }\n this.currentContextOrganizationId = _data[\"currentContextOrganizationId\"];\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetOrganizationListQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetOrganizationListQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"currentContextOrganizationId\"] = this.currentContextOrganizationId;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetOrganizationListQueryResponse {\n result: OrganizationListItemVm[];\n currentContextOrganizationId: string;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class OrganizationListItemVm implements IOrganizationListItemVm {\n name!: string;\n organizationId!: string;\n\n constructor(data?: IOrganizationListItemVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.organizationId = _data[\"organizationId\"];\n }\n }\n\n static fromJS(data: any): OrganizationListItemVm {\n data = typeof data === 'object' ? data : {};\n let result = new OrganizationListItemVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"organizationId\"] = this.organizationId;\n return data;\n }\n}\n\nexport interface IOrganizationListItemVm {\n name: string;\n organizationId: string;\n}\n\nexport enum AssetType {\n Vessel = \"Vessel\",\n VehicleCraftMachinery = \"VehicleCraftMachinery\",\n Facility = \"Facility\",\n Organization = \"Organization\",\n Client = \"Client\",\n Supplier = \"Supplier\",\n}\n\nexport enum ConsumptionValueType {\n Fuel = \"Fuel\",\n Distance = \"Distance\",\n}\n\nexport enum CountryCodes {\n AF = \"AF\",\n AX = \"AX\",\n AL = \"AL\",\n DZ = \"DZ\",\n AS = \"AS\",\n AD = \"AD\",\n AO = \"AO\",\n AI = \"AI\",\n AQ = \"AQ\",\n AG = \"AG\",\n AR = \"AR\",\n AM = \"AM\",\n AW = \"AW\",\n AU = \"AU\",\n AT = \"AT\",\n AZ = \"AZ\",\n BS = \"BS\",\n BH = \"BH\",\n BD = \"BD\",\n BB = \"BB\",\n BY = \"BY\",\n BE = \"BE\",\n BZ = \"BZ\",\n BJ = \"BJ\",\n BM = \"BM\",\n BT = \"BT\",\n BO = \"BO\",\n BQ = \"BQ\",\n BA = \"BA\",\n BW = \"BW\",\n BV = \"BV\",\n BR = \"BR\",\n IO = \"IO\",\n BN = \"BN\",\n BG = \"BG\",\n BF = \"BF\",\n BI = \"BI\",\n CV = \"CV\",\n KH = \"KH\",\n CM = \"CM\",\n CA = \"CA\",\n KY = \"KY\",\n CF = \"CF\",\n TD = \"TD\",\n CL = \"CL\",\n CN = \"CN\",\n CX = \"CX\",\n CC = \"CC\",\n CO = \"CO\",\n KM = \"KM\",\n CG = \"CG\",\n CD = \"CD\",\n CK = \"CK\",\n CR = \"CR\",\n CI = \"CI\",\n HR = \"HR\",\n CU = \"CU\",\n CW = \"CW\",\n CY = \"CY\",\n CZ = \"CZ\",\n DK = \"DK\",\n DJ = \"DJ\",\n DM = \"DM\",\n DO = \"DO\",\n EC = \"EC\",\n EG = \"EG\",\n SV = \"SV\",\n GQ = \"GQ\",\n ER = \"ER\",\n EE = \"EE\",\n ET = \"ET\",\n FK = \"FK\",\n FO = \"FO\",\n FJ = \"FJ\",\n FI = \"FI\",\n FR = \"FR\",\n GF = \"GF\",\n PF = \"PF\",\n TF = \"TF\",\n GA = \"GA\",\n GM = \"GM\",\n GE = \"GE\",\n DE = \"DE\",\n GH = \"GH\",\n GI = \"GI\",\n GR = \"GR\",\n GL = \"GL\",\n GD = \"GD\",\n GP = \"GP\",\n GU = \"GU\",\n GT = \"GT\",\n GG = \"GG\",\n GN = \"GN\",\n GW = \"GW\",\n GY = \"GY\",\n HT = \"HT\",\n HM = \"HM\",\n VA = \"VA\",\n HN = \"HN\",\n HK = \"HK\",\n HU = \"HU\",\n IS = \"IS\",\n IN = \"IN\",\n ID = \"ID\",\n IR = \"IR\",\n IQ = \"IQ\",\n IE = \"IE\",\n IM = \"IM\",\n IL = \"IL\",\n IT = \"IT\",\n JM = \"JM\",\n JP = \"JP\",\n JE = \"JE\",\n JO = \"JO\",\n KZ = \"KZ\",\n KE = \"KE\",\n KI = \"KI\",\n KP = \"KP\",\n KR = \"KR\",\n KW = \"KW\",\n KG = \"KG\",\n LA = \"LA\",\n LV = \"LV\",\n LB = \"LB\",\n LS = \"LS\",\n LR = \"LR\",\n LY = \"LY\",\n LI = \"LI\",\n LT = \"LT\",\n LU = \"LU\",\n MO = \"MO\",\n MK = \"MK\",\n MG = \"MG\",\n MW = \"MW\",\n MY = \"MY\",\n MV = \"MV\",\n ML = \"ML\",\n MT = \"MT\",\n MH = \"MH\",\n MQ = \"MQ\",\n MR = \"MR\",\n MU = \"MU\",\n YT = \"YT\",\n MX = \"MX\",\n FM = \"FM\",\n MD = \"MD\",\n MC = \"MC\",\n MN = \"MN\",\n ME = \"ME\",\n MS = \"MS\",\n MA = \"MA\",\n MZ = \"MZ\",\n MM = \"MM\",\n NA = \"NA\",\n NR = \"NR\",\n NP = \"NP\",\n NL = \"NL\",\n NC = \"NC\",\n NZ = \"NZ\",\n NI = \"NI\",\n NE = \"NE\",\n NG = \"NG\",\n NU = \"NU\",\n NF = \"NF\",\n MP = \"MP\",\n NO = \"NO\",\n OM = \"OM\",\n PK = \"PK\",\n PW = \"PW\",\n PS = \"PS\",\n PA = \"PA\",\n PG = \"PG\",\n PY = \"PY\",\n PE = \"PE\",\n PH = \"PH\",\n PN = \"PN\",\n PL = \"PL\",\n PT = \"PT\",\n PR = \"PR\",\n QA = \"QA\",\n RE = \"RE\",\n RO = \"RO\",\n RU = \"RU\",\n RW = \"RW\",\n BL = \"BL\",\n SH = \"SH\",\n KN = \"KN\",\n LC = \"LC\",\n MF = \"MF\",\n PM = \"PM\",\n VC = \"VC\",\n WS = \"WS\",\n SM = \"SM\",\n ST = \"ST\",\n SA = \"SA\",\n SN = \"SN\",\n RS = \"RS\",\n SC = \"SC\",\n SL = \"SL\",\n SG = \"SG\",\n SX = \"SX\",\n SK = \"SK\",\n SI = \"SI\",\n SB = \"SB\",\n SO = \"SO\",\n ZA = \"ZA\",\n GS = \"GS\",\n SS = \"SS\",\n ES = \"ES\",\n LK = \"LK\",\n SD = \"SD\",\n SR = \"SR\",\n SJ = \"SJ\",\n SZ = \"SZ\",\n SE = \"SE\",\n CH = \"CH\",\n SY = \"SY\",\n TW = \"TW\",\n TJ = \"TJ\",\n TZ = \"TZ\",\n TH = \"TH\",\n TL = \"TL\",\n TG = \"TG\",\n TK = \"TK\",\n TO = \"TO\",\n TT = \"TT\",\n TN = \"TN\",\n TR = \"TR\",\n TM = \"TM\",\n TC = \"TC\",\n TV = \"TV\",\n UG = \"UG\",\n UA = \"UA\",\n AE = \"AE\",\n GB = \"GB\",\n US = \"US\",\n UM = \"UM\",\n UY = \"UY\",\n UZ = \"UZ\",\n VU = \"VU\",\n VE = \"VE\",\n VN = \"VN\",\n VG = \"VG\",\n VI = \"VI\",\n WF = \"WF\",\n EH = \"EH\",\n YE = \"YE\",\n ZM = \"ZM\",\n ZW = \"ZW\",\n}\n\nexport enum CurrencyCodes {\n ALL = \"ALL\",\n DZD = \"DZD\",\n ARS = \"ARS\",\n AUD = \"AUD\",\n BSD = \"BSD\",\n BHD = \"BHD\",\n BDT = \"BDT\",\n AMD = \"AMD\",\n BBD = \"BBD\",\n BMD = \"BMD\",\n BTN = \"BTN\",\n BOB = \"BOB\",\n BWP = \"BWP\",\n BZD = \"BZD\",\n SBD = \"SBD\",\n BND = \"BND\",\n MMK = \"MMK\",\n BIF = \"BIF\",\n KHR = \"KHR\",\n CAD = \"CAD\",\n CVE = \"CVE\",\n KYD = \"KYD\",\n LKR = \"LKR\",\n CLP = \"CLP\",\n CNY = \"CNY\",\n COP = \"COP\",\n KMF = \"KMF\",\n CRC = \"CRC\",\n HRK = \"HRK\",\n CUP = \"CUP\",\n CZK = \"CZK\",\n DKK = \"DKK\",\n DOP = \"DOP\",\n SVC = \"SVC\",\n ETB = \"ETB\",\n ERN = \"ERN\",\n FKP = \"FKP\",\n FJD = \"FJD\",\n DJF = \"DJF\",\n GMD = \"GMD\",\n GIP = \"GIP\",\n GTQ = \"GTQ\",\n GNF = \"GNF\",\n GYD = \"GYD\",\n HTG = \"HTG\",\n HNL = \"HNL\",\n HKD = \"HKD\",\n HUF = \"HUF\",\n ISK = \"ISK\",\n INR = \"INR\",\n IDR = \"IDR\",\n IRR = \"IRR\",\n IQD = \"IQD\",\n ILS = \"ILS\",\n JMD = \"JMD\",\n JPY = \"JPY\",\n KZT = \"KZT\",\n JOD = \"JOD\",\n KES = \"KES\",\n KPW = \"KPW\",\n KRW = \"KRW\",\n KWD = \"KWD\",\n KGS = \"KGS\",\n LAK = \"LAK\",\n LBP = \"LBP\",\n LSL = \"LSL\",\n LRD = \"LRD\",\n LYD = \"LYD\",\n MOP = \"MOP\",\n MWK = \"MWK\",\n MYR = \"MYR\",\n MVR = \"MVR\",\n MUR = \"MUR\",\n MXN = \"MXN\",\n MNT = \"MNT\",\n MDL = \"MDL\",\n MAD = \"MAD\",\n OMR = \"OMR\",\n NAD = \"NAD\",\n NPR = \"NPR\",\n ANG = \"ANG\",\n AWG = \"AWG\",\n VUV = \"VUV\",\n NZD = \"NZD\",\n NIO = \"NIO\",\n NGN = \"NGN\",\n NOK = \"NOK\",\n PKR = \"PKR\",\n PAB = \"PAB\",\n PGK = \"PGK\",\n PYG = \"PYG\",\n PEN = \"PEN\",\n PHP = \"PHP\",\n QAR = \"QAR\",\n RUB = \"RUB\",\n RWF = \"RWF\",\n SHP = \"SHP\",\n SAR = \"SAR\",\n SCR = \"SCR\",\n SLL = \"SLL\",\n SGD = \"SGD\",\n VND = \"VND\",\n SOS = \"SOS\",\n ZAR = \"ZAR\",\n SSP = \"SSP\",\n SZL = \"SZL\",\n SEK = \"SEK\",\n CHF = \"CHF\",\n SYP = \"SYP\",\n THB = \"THB\",\n TOP = \"TOP\",\n TTD = \"TTD\",\n AED = \"AED\",\n TND = \"TND\",\n UGX = \"UGX\",\n MKD = \"MKD\",\n EGP = \"EGP\",\n GBP = \"GBP\",\n TZS = \"TZS\",\n USD = \"USD\",\n UYU = \"UYU\",\n UZS = \"UZS\",\n WST = \"WST\",\n YER = \"YER\",\n TWD = \"TWD\",\n SLE = \"SLE\",\n VED = \"VED\",\n UYW = \"UYW\",\n VES = \"VES\",\n MRU = \"MRU\",\n STN = \"STN\",\n CUC = \"CUC\",\n ZWL = \"ZWL\",\n BYN = \"BYN\",\n TMT = \"TMT\",\n GHS = \"GHS\",\n SDG = \"SDG\",\n UYI = \"UYI\",\n RSD = \"RSD\",\n MZN = \"MZN\",\n AZN = \"AZN\",\n RON = \"RON\",\n CHE = \"CHE\",\n CHW = \"CHW\",\n TRY = \"TRY\",\n XAF = \"XAF\",\n XCD = \"XCD\",\n XOF = \"XOF\",\n XPF = \"XPF\",\n XBA = \"XBA\",\n XBB = \"XBB\",\n XBC = \"XBC\",\n XBD = \"XBD\",\n XAU = \"XAU\",\n XDR = \"XDR\",\n XAG = \"XAG\",\n XPT = \"XPT\",\n XTS = \"XTS\",\n XPD = \"XPD\",\n XUA = \"XUA\",\n ZMW = \"ZMW\",\n SRD = \"SRD\",\n MGA = \"MGA\",\n COU = \"COU\",\n AFN = \"AFN\",\n TJS = \"TJS\",\n AOA = \"AOA\",\n BGN = \"BGN\",\n CDF = \"CDF\",\n BAM = \"BAM\",\n EUR = \"EUR\",\n MXV = \"MXV\",\n UAH = \"UAH\",\n GEL = \"GEL\",\n BOV = \"BOV\",\n PLN = \"PLN\",\n BRL = \"BRL\",\n CLF = \"CLF\",\n XSU = \"XSU\",\n USN = \"USN\",\n XXX = \"XXX\",\n}\n\nexport enum DataRecordCategory {\n DirectEmissionFuelCombustion = \"DirectEmissionFuelCombustion\",\n BiodiversitySpillsToEnvironment = \"BiodiversitySpillsToEnvironment\",\n BiodiversityProtectedAreas = \"BiodiversityProtectedAreas\",\n IndirectEmissionsElectricity = \"IndirectEmissionsElectricity\",\n IndirectEmissionsBusinessTravel = \"IndirectEmissionsBusinessTravel\",\n IndirectEmissionsWaste = \"IndirectEmissionsWaste\",\n IndirectEmissionsEmployeeCommuting = \"IndirectEmissionsEmployeeCommuting\",\n IndirectEmissionsTransportAndDistribution = \"IndirectEmissionsTransportAndDistribution\",\n IndirectEmissionsLeasedAssets = \"IndirectEmissionsLeasedAssets\",\n IndirectEmissionsPurchasedGoodsAndServices = \"IndirectEmissionsPurchasedGoodsAndServices\",\n IndirectEmissionsCapitalGoods = \"IndirectEmissionsCapitalGoods\",\n IndirectEmissionsFuelAndEnergyRelatedActivities = \"IndirectEmissionsFuelAndEnergyRelatedActivities\",\n EmbeddedEmissionsLeasedAssets = \"EmbeddedEmissionsLeasedAssets\",\n EmbeddedEmissionsTransportationAndDistribution = \"EmbeddedEmissionsTransportationAndDistribution\",\n EmbeddedEmissionsProcessingOfSoldProducts = \"EmbeddedEmissionsProcessingOfSoldProducts\",\n EmbeddedEmissionsUseOfSoldProducts = \"EmbeddedEmissionsUseOfSoldProducts\",\n EmbeddedEmissionsEndOfLifeTreatment = \"EmbeddedEmissionsEndOfLifeTreatment\",\n EmbeddedEmissionsFranchises = \"EmbeddedEmissionsFranchises\",\n EmbeddedEmissionsInvestments = \"EmbeddedEmissionsInvestments\",\n EmployeesNewHiresAndTurnovers = \"EmployeesNewHiresAndTurnovers\",\n BusinessEthicsCorruptionRisk = \"BusinessEthicsCorruptionRisk\",\n BusinessEthicsFines = \"BusinessEthicsFines\",\n BusinessEthicsLobbyPoliticalContribution = \"BusinessEthicsLobbyPoliticalContribution\",\n BusinessEthicsWhistleblowing = \"BusinessEthicsWhistleblowing\",\n EmployeesLeavesAndInjuries = \"EmployeesLeavesAndInjuries\",\n EmployeesGenderEqualityAndDiversity = \"EmployeesGenderEqualityAndDiversity\",\n IndicatorData = \"IndicatorData\",\n EmployeesParentalLeave = \"EmployeesParentalLeave\",\n EmployeesSickLeave = \"EmployeesSickLeave\",\n EmployessWorkRelatedInjuries = \"EmployessWorkRelatedInjuries\",\n EmployessMarineCasualties = \"EmployessMarineCasualties\",\n PurchasedFish = \"PurchasedFish\",\n CatchedFish = \"CatchedFish\",\n}\n\nexport enum DistanceType {\n Short = \"Short\",\n Medium = \"Medium\",\n Long = \"Long\",\n}\n\nexport enum EmployeeCommutingMode {\n Fuel = \"Fuel\",\n Electric = \"Electric\",\n NotElectric = \"NotElectric\",\n TrolleyBus = \"TrolleyBus\",\n PlugInHybrid = \"PlugInHybrid\",\n Passenger = \"Passenger\",\n Car = \"Car\",\n}\n\nexport enum EmployeeCommutingTransport {\n Bus = \"Bus\",\n Subway_Tram_Underground = \"Subway_Tram_Underground\",\n Train = \"Train\",\n Car = \"Car\",\n Motorbike = \"Motorbike\",\n Ferry = \"Ferry\",\n Bicycle = \"Bicycle\",\n ElectricScooter = \"ElectricScooter\",\n Foot = \"Foot\",\n}\n\nexport enum EntityType {\n IndicatorDefinition = \"IndicatorDefinition\",\n Indicator = \"Indicator\",\n AccessToken = \"AccessToken\",\n IndicatorData = \"IndicatorData\",\n CalculatedData = \"CalculatedData\",\n DataCategory = \"DataCategory\",\n DataProfile = \"DataProfile\",\n DataRecord = \"DataRecord\",\n IndicatorRawDataSource = \"IndicatorRawDataSource\",\n AssetMonthCalculatedData = \"AssetMonthCalculatedData\",\n IndicatorYearlyCalculatedData = \"IndicatorYearlyCalculatedData\",\n}\n\nexport enum FishSpecies {\n Cod = \"Cod\",\n Saithe = \"Saithe\",\n Haddock = \"Haddock\",\n PacificCod = \"PacificCod\",\n Ling = \"Ling\",\n Tusk = \"Tusk\",\n Snowcrab = \"Snowcrab\",\n GreenlandHalibut = \"GreenlandHalibut\",\n Redfish = \"Redfish\",\n Halibut = \"Halibut\",\n Angler = \"Angler\",\n Pollack = \"Pollack\",\n Whiting = \"Whiting\",\n Flounder = \"Flounder\",\n Wolffish = \"Wolffish\",\n Skate = \"Skate\",\n Dab = \"Dab\",\n Hake = \"Hake\",\n}\n\nexport enum InputType {\n Manual = \"Manual\",\n ImportedFrom3rdParty = \"ImportedFrom3rdParty\",\n ImportedFromExcel = \"ImportedFromExcel\",\n}\n\nexport enum RiskCategory {\n Unknown = \"Unknown\",\n VeryHighRisk = \"VeryHighRisk\",\n HighRisk = \"HighRisk\",\n MediumRisk = \"MediumRisk\",\n LowRisk = \"LowRisk\",\n NoRisk = \"NoRisk\",\n}\n\nexport enum SectorType {\n OilAndGas = \"OilAndGas\",\n Coal = \"Coal\",\n AgricultureAquacultureAndFishing = \"AgricultureAquacultureAndFishing\",\n Mining = \"Mining\",\n FoodAndBeverages = \"FoodAndBeverages\",\n TextilesAndApparel = \"TextilesAndApparel\",\n Banking = \"Banking\",\n Insurance = \"Insurance\",\n CapitalMarkets = \"CapitalMarkets\",\n Utilities = \"Utilities\",\n RenewableEnergy = \"RenewableEnergy\",\n Forestry = \"Forestry\",\n MetalProcessing = \"MetalProcessing\",\n ConstructionMaterials = \"ConstructionMaterials\",\n AerospaceAndDefense = \"AerospaceAndDefense\",\n Automotive = \"Automotive\",\n Construction = \"Construction\",\n Chemicals = \"Chemicals\",\n MachineryAndEquipment = \"MachineryAndEquipment\",\n Pharmaceuticals = \"Pharmaceuticals\",\n Electronics = \"Electronics\",\n MediaAndCommunication = \"MediaAndCommunication\",\n Software = \"Software\",\n RealEstate = \"RealEstate\",\n TransportationInfrastructure = \"TransportationInfrastructure\",\n Shipping = \"Shipping\",\n Trucking = \"Trucking\",\n Airlines = \"Airlines\",\n TradingDistributionAndLogistics = \"TradingDistributionAndLogistics\",\n Packaging = \"Packaging\",\n Hotels = \"Hotels\",\n EducationalServices = \"EducationalServices\",\n HouseholdDurables = \"HouseholdDurables\",\n ManagedHealthCare = \"ManagedHealthCare\",\n MedicalEquipmentAndServices = \"MedicalEquipmentAndServices\",\n Retail = \"Retail\",\n SecurityServicesAndCorrectionalFacilities = \"SecurityServicesAndCorrectionalFacilities\",\n Restaurants = \"Restaurants\",\n CommercialServices = \"CommercialServices\",\n NonProfitOrganizations = \"NonProfitOrganizations\",\n}\n\nexport class TimePeriod implements ITimePeriod {\n type!: TimePeriodType;\n year?: number | undefined;\n period?: number | undefined;\n customStart?: Date | undefined;\n customEnd?: Date | undefined;\n\n constructor(data?: ITimePeriod) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.type = _data[\"type\"];\n this.year = _data[\"year\"];\n this.period = _data[\"period\"];\n this.customStart = _data[\"customStart\"] ? new Date(_data[\"customStart\"].toString()) : undefined;\n this.customEnd = _data[\"customEnd\"] ? new Date(_data[\"customEnd\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): TimePeriod {\n data = typeof data === 'object' ? data : {};\n let result = new TimePeriod();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"year\"] = this.year;\n data[\"period\"] = this.period;\n data[\"customStart\"] = this.customStart ? formatDate(this.customStart) : undefined;\n data[\"customEnd\"] = this.customEnd ? formatDate(this.customEnd) : undefined;\n return data;\n }\n}\n\nexport interface ITimePeriod {\n type: TimePeriodType;\n year?: number | undefined;\n period?: number | undefined;\n customStart?: Date | undefined;\n customEnd?: Date | undefined;\n}\n\nexport enum TimePeriodType {\n Annual = \"Annual\",\n Quarterly = \"Quarterly\",\n Monthly = \"Monthly\",\n Custom = \"Custom\",\n}\n\nexport enum WasteClass {\n A_Plastics = \"A_Plastics\",\n B_FoodWastes = \"B_FoodWastes\",\n C_DomesticWastes = \"C_DomesticWastes\",\n D_CookingOil = \"D_CookingOil\",\n E_IncineratorAshes = \"E_IncineratorAshes\",\n F_OperationalWastes = \"F_OperationalWastes\",\n G_AnimalCarcass = \"G_AnimalCarcass\",\n H_FishingGear = \"H_FishingGear\",\n I_ElectronicWaste = \"I_ElectronicWaste\",\n J_CargoResidues_NonHarmful = \"J_CargoResidues_NonHarmful\",\n K_CargoResidues_Harmful = \"K_CargoResidues_Harmful\",\n}\n\nexport enum WasteSubClass {\n Mixed = \"Mixed\",\n Paper = \"Paper\",\n Glass = \"Glass\",\n Metal = \"Metal\",\n Wood = \"Wood\",\n Textile = \"Textile\",\n MedicalWaste = \"MedicalWaste\",\n WastePaint = \"WastePaint\",\n ContaminatedMuds_Paint_Rust = \"ContaminatedMuds_Paint_Rust\",\n AbsorbentsContaminatedByHazardiousMaterials = \"AbsorbentsContaminatedByHazardiousMaterials\",\n Neon_Bulbs = \"Neon_Bulbs\",\n}\n\nexport enum WasteToDisposal {\n Other = \"Other\",\n Recycled = \"Recycled\",\n Composted = \"Composted\",\n Incinerated = \"Incinerated\",\n Landfilled = \"Landfilled\",\n Mixed = \"Mixed\",\n DisposedToSea = \"DisposedToSea\",\n Density = \"Density\",\n}\n\nexport class ValueTuple_2OfGuidAndNullable_1OfDouble implements IValueTuple_2OfGuidAndNullable_1OfDouble {\n item1!: string;\n item2?: number | undefined;\n\n constructor(data?: IValueTuple_2OfGuidAndNullable_1OfDouble) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.item1 = _data[\"item1\"];\n this.item2 = _data[\"item2\"];\n }\n }\n\n static fromJS(data: any): ValueTuple_2OfGuidAndNullable_1OfDouble {\n data = typeof data === 'object' ? data : {};\n let result = new ValueTuple_2OfGuidAndNullable_1OfDouble();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"item1\"] = this.item1;\n data[\"item2\"] = this.item2;\n return data;\n }\n}\n\nexport interface IValueTuple_2OfGuidAndNullable_1OfDouble {\n item1: string;\n item2?: number | undefined;\n}\n\nfunction formatDate(d: Date) {\n return d.getFullYear() + '-' + \n (d.getMonth() < 9 ? ('0' + (d.getMonth()+1)) : (d.getMonth()+1)) + '-' +\n (d.getDate() < 10 ? ('0' + d.getDate()) : d.getDate());\n}\n\nexport class ApiException extends Error {\n message: string;\n status: number;\n response: string;\n headers: { [key: string]: any; };\n result: any;\n\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\n super();\n\n this.message = message;\n this.status = status;\n this.response = response;\n this.headers = headers;\n this.result = result;\n }\n\n protected isApiException = true;\n\n static isApiException(obj: any): obj is ApiException {\n return obj.isApiException === true;\n }\n}\n\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable {\n if (result !== null && result !== undefined)\n return _observableThrow(result);\n else\n return _observableThrow(new ApiException(message, status, response, headers, null));\n}\n\nfunction blobToText(blob: any): Observable {\n return new Observable((observer: any) => {\n if (!blob) {\n observer.next(\"\");\n observer.complete();\n } else {\n let reader = new FileReader();\n reader.onload = event => {\n observer.next((event.target as any).result);\n observer.complete();\n };\n reader.readAsText(blob);\n }\n });\n}","//----------------------\n// \n// Generated using the NSwag toolchain v14.1.0.0 (NJsonSchema v11.0.2.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)\n// \n//----------------------\n\n/* tslint:disable */\n/* eslint-disable */\n// ReSharper disable InconsistentNaming\n\nimport { mergeMap as _observableMergeMap, catchError as _observableCatch } from 'rxjs/operators';\nimport { Observable, throwError as _observableThrow, of as _observableOf } from 'rxjs';\nimport { Injectable, Inject, Optional, InjectionToken } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\n\nexport const API_BASE_URL = new InjectionToken('API_BASE_URL');\n\nexport interface IAccessTokenClient {\n /**\n * @return Success\n */\n createAccessToken(body: CreateAccessTokenCommandParams): Observable;\n /**\n * @return Success\n */\n deleteAccessToken(body: DeleteAccessTokenCommandParams): Observable;\n /**\n * @return Success\n */\n getAllAccessTokens(): Observable;\n /**\n * @return Success\n */\n getAccessTokensBy(type: AccessTokenTypes, scopeId: string): Observable;\n /**\n * @return Success\n */\n validateToken(token: string): Observable;\n}\n\n@Injectable()\nexport class AccessTokenClient implements IAccessTokenClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n /**\n * @return Success\n */\n createAccessToken(body: CreateAccessTokenCommandParams): Observable {\n let url_ = this.baseUrl + \"/access-token\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateAccessToken(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateAccessToken(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateAccessToken(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CreateAccessTokenCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n deleteAccessToken(body: DeleteAccessTokenCommandParams): Observable {\n let url_ = this.baseUrl + \"/access-token\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteAccessToken(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteAccessToken(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteAccessToken(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DeleteAccessTokenCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getAllAccessTokens(): Observable {\n let url_ = this.baseUrl + \"/access-token\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllAccessTokens(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllAccessTokens(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllAccessTokens(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetAllAccessTokensQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getAccessTokensBy(type: AccessTokenTypes, scopeId: string): Observable {\n let url_ = this.baseUrl + \"/access-token/by?\";\n if (type === undefined || type === null)\n throw new Error(\"The parameter 'type' must be defined and cannot be null.\");\n else\n url_ += \"type=\" + encodeURIComponent(\"\" + type) + \"&\";\n if (scopeId === undefined || scopeId === null)\n throw new Error(\"The parameter 'scopeId' must be defined and cannot be null.\");\n else\n url_ += \"scopeId=\" + encodeURIComponent(\"\" + scopeId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAccessTokensBy(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAccessTokensBy(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAccessTokensBy(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetAccessTokensByQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n validateToken(token: string): Observable {\n let url_ = this.baseUrl + \"/access-token/validate-token?\";\n if (token === undefined || token === null)\n throw new Error(\"The parameter 'token' must be defined and cannot be null.\");\n else\n url_ += \"token=\" + encodeURIComponent(\"\" + token) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processValidateToken(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processValidateToken(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processValidateToken(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetValidateTokenQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\nexport interface IAppClient {\n /**\n * @return Success\n */\n getUserInfoVm(): Observable;\n /**\n * @return Success\n */\n initializeAuthenticatgedUser(): Observable;\n /**\n * @return Success\n */\n setUserCurrentContextOrganizationId(organizationId: string): Observable;\n /**\n * @return Success\n */\n logFrontendError(message: string): Observable;\n /**\n * @return Success\n */\n getImage(blobName: string): Observable;\n /**\n * @param file (optional) \n * @return Success\n */\n uploadImage(file: FileParameter | undefined): Observable;\n /**\n * @return Success\n */\n removeImage(blobName: string): Observable;\n}\n\n@Injectable()\nexport class AppClient implements IAppClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n /**\n * @return Success\n */\n getUserInfoVm(): Observable {\n let url_ = this.baseUrl + \"/app/user-info\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetUserInfoVm(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetUserInfoVm(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetUserInfoVm(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetUserInfoQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n initializeAuthenticatgedUser(): Observable {\n let url_ = this.baseUrl + \"/app/initialize-user\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processInitializeAuthenticatgedUser(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processInitializeAuthenticatgedUser(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processInitializeAuthenticatgedUser(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = InitializeUserCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n setUserCurrentContextOrganizationId(organizationId: string): Observable {\n let url_ = this.baseUrl + \"/app/set-user-current-context-organization-id?\";\n if (organizationId === undefined || organizationId === null)\n throw new Error(\"The parameter 'organizationId' must be defined and cannot be null.\");\n else\n url_ += \"organizationId=\" + encodeURIComponent(\"\" + organizationId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSetUserCurrentContextOrganizationId(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSetUserCurrentContextOrganizationId(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSetUserCurrentContextOrganizationId(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = SetUserCurrentContextOrganizationIdCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n logFrontendError(message: string): Observable {\n let url_ = this.baseUrl + \"/app/log-frontend-error?\";\n if (message === undefined || message === null)\n throw new Error(\"The parameter 'message' must be defined and cannot be null.\");\n else\n url_ += \"message=\" + encodeURIComponent(\"\" + message) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processLogFrontendError(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processLogFrontendError(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processLogFrontendError(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getImage(blobName: string): Observable {\n let url_ = this.baseUrl + \"/app/image/{blobName}\";\n if (blobName === undefined || blobName === null)\n throw new Error(\"The parameter 'blobName' must be defined.\");\n url_ = url_.replace(\"{blobName}\", encodeURIComponent(\"\" + blobName));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetImage(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetImage(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetImage(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param file (optional) \n * @return Success\n */\n uploadImage(file: FileParameter | undefined): Observable {\n let url_ = this.baseUrl + \"/app/image\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (file === null || file === undefined)\n throw new Error(\"The parameter 'file' cannot be null.\");\n else\n content_.append(\"file\", file.data, file.fileName ? file.fileName : \"file\");\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUploadImage(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUploadImage(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUploadImage(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UploadImageVm.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n removeImage(blobName: string): Observable {\n let url_ = this.baseUrl + \"/app/image?\";\n if (blobName === undefined || blobName === null)\n throw new Error(\"The parameter 'blobName' must be defined and cannot be null.\");\n else\n url_ += \"blobName=\" + encodeURIComponent(\"\" + blobName) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processRemoveImage(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processRemoveImage(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processRemoveImage(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\nexport interface IAssetClient {\n /**\n * @return Success\n */\n createAsset(body: CreateAssetCommandParams): Observable;\n /**\n * @return Success\n */\n updateAsset(body: UpdateAssetCommandParams): Observable;\n /**\n * @param subOrganizationId (optional) \n * @return Success\n */\n getAssetsByOrganizationAndType(subOrganizationId: string | undefined, assetType: AssetType): Observable;\n /**\n * @return Success\n */\n updateAssetBaseProperties(body: UpdateAssetBasePropertiesCommandParams): Observable;\n /**\n * @return Success\n */\n deleteAsset(id: string): Observable;\n /**\n * @param assetType (optional) \n * @param name (optional) \n * @param countryCodes (optional) \n * @param searchOrgIds (optional) \n * @param vesselTypes (optional) \n * @param vehicleTypes (optional) \n * @param powerSources (optional) \n * @param facilityTypes (optional) \n * @param sectors (optional) \n * @param socialRisks (optional) \n * @param environmentRisks (optional) \n * @return Success\n */\n deleteAssetsByFilter(assetType: AssetType | undefined, name: string | undefined, countryCodes: CountryCodes[] | undefined, searchOrgIds: string[] | undefined, vesselTypes: VesselType[] | undefined, vehicleTypes: VehicleCraftMachineryType[] | undefined, powerSources: PowerSource[] | undefined, facilityTypes: FacilityType[] | undefined, sectors: SectorType[] | undefined, socialRisks: RiskCategory[] | undefined, environmentRisks: RiskCategory[] | undefined): Observable;\n /**\n * @return Success\n */\n deleteAssetVersion(body: DeleteAssetVersionCommandParams): Observable;\n /**\n * @return Success\n */\n getAllAssets(): Observable;\n /**\n * @param subOrganizationId (optional) \n * @return Success\n */\n getAssetTypesByOrganization(subOrganizationId: string | undefined): Observable;\n /**\n * @return Success\n */\n getAssetById(assetId: string, versionId: string): Observable;\n /**\n * @return Success\n */\n getAssetVersionsById(assetId: string): Observable;\n /**\n * @return Success\n */\n getOrganizationAssetList(): Observable;\n /**\n * @return Success\n */\n getAssetsByOrganizationAndAvailableForLeasing(): Observable;\n /**\n * @return Success\n */\n getAssetList(): Observable;\n /**\n * @param assetType (optional) \n * @param name (optional) \n * @param countryCodes (optional) \n * @param searchOrgIds (optional) \n * @param vesselTypes (optional) \n * @param vehicleTypes (optional) \n * @param powerSources (optional) \n * @param facilityTypes (optional) \n * @param sectors (optional) \n * @param socialRisks (optional) \n * @param environmentRisks (optional) \n * @param orderBy (optional) \n * @param pageNumber (optional) \n * @param pageSize (optional) \n * @return Success\n */\n searchAssetByOrganizationAndType(assetType: AssetType | undefined, name: string | undefined, countryCodes: CountryCodes[] | undefined, searchOrgIds: string[] | undefined, vesselTypes: VesselType[] | undefined, vehicleTypes: VehicleCraftMachineryType[] | undefined, powerSources: PowerSource[] | undefined, facilityTypes: FacilityType[] | undefined, sectors: SectorType[] | undefined, socialRisks: RiskCategory[] | undefined, environmentRisks: RiskCategory[] | undefined, orderBy: string | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\n}\n\n@Injectable()\nexport class AssetClient implements IAssetClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n /**\n * @return Success\n */\n createAsset(body: CreateAssetCommandParams): Observable {\n let url_ = this.baseUrl + \"/asset\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateAsset(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateAsset(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateAsset(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CreateAssetCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n updateAsset(body: UpdateAssetCommandParams): Observable {\n let url_ = this.baseUrl + \"/asset\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateAsset(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateAsset(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateAsset(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UpdateAssetCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param subOrganizationId (optional) \n * @return Success\n */\n getAssetsByOrganizationAndType(subOrganizationId: string | undefined, assetType: AssetType): Observable {\n let url_ = this.baseUrl + \"/asset?\";\n if (subOrganizationId === null)\n throw new Error(\"The parameter 'subOrganizationId' cannot be null.\");\n else if (subOrganizationId !== undefined)\n url_ += \"subOrganizationId=\" + encodeURIComponent(\"\" + subOrganizationId) + \"&\";\n if (assetType === undefined || assetType === null)\n throw new Error(\"The parameter 'assetType' must be defined and cannot be null.\");\n else\n url_ += \"assetType=\" + encodeURIComponent(\"\" + assetType) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAssetsByOrganizationAndType(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAssetsByOrganizationAndType(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAssetsByOrganizationAndType(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetAssetsByOrganizationAndTypeQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n updateAssetBaseProperties(body: UpdateAssetBasePropertiesCommandParams): Observable {\n let url_ = this.baseUrl + \"/asset/base-properties\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateAssetBaseProperties(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateAssetBaseProperties(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateAssetBaseProperties(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UpdateAssetBasePropertiesCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n deleteAsset(id: string): Observable {\n let url_ = this.baseUrl + \"/asset/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteAsset(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteAsset(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteAsset(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DeleteAssetCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param assetType (optional) \n * @param name (optional) \n * @param countryCodes (optional) \n * @param searchOrgIds (optional) \n * @param vesselTypes (optional) \n * @param vehicleTypes (optional) \n * @param powerSources (optional) \n * @param facilityTypes (optional) \n * @param sectors (optional) \n * @param socialRisks (optional) \n * @param environmentRisks (optional) \n * @return Success\n */\n deleteAssetsByFilter(assetType: AssetType | undefined, name: string | undefined, countryCodes: CountryCodes[] | undefined, searchOrgIds: string[] | undefined, vesselTypes: VesselType[] | undefined, vehicleTypes: VehicleCraftMachineryType[] | undefined, powerSources: PowerSource[] | undefined, facilityTypes: FacilityType[] | undefined, sectors: SectorType[] | undefined, socialRisks: RiskCategory[] | undefined, environmentRisks: RiskCategory[] | undefined): Observable {\n let url_ = this.baseUrl + \"/asset/delete-by-filter?\";\n if (assetType === null)\n throw new Error(\"The parameter 'assetType' cannot be null.\");\n else if (assetType !== undefined)\n url_ += \"AssetType=\" + encodeURIComponent(\"\" + assetType) + \"&\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (countryCodes === null)\n throw new Error(\"The parameter 'countryCodes' cannot be null.\");\n else if (countryCodes !== undefined)\n countryCodes && countryCodes.forEach(item => { url_ += \"CountryCodes=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (searchOrgIds === null)\n throw new Error(\"The parameter 'searchOrgIds' cannot be null.\");\n else if (searchOrgIds !== undefined)\n searchOrgIds && searchOrgIds.forEach(item => { url_ += \"SearchOrgIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (vesselTypes === null)\n throw new Error(\"The parameter 'vesselTypes' cannot be null.\");\n else if (vesselTypes !== undefined)\n vesselTypes && vesselTypes.forEach(item => { url_ += \"VesselTypes=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (vehicleTypes === null)\n throw new Error(\"The parameter 'vehicleTypes' cannot be null.\");\n else if (vehicleTypes !== undefined)\n vehicleTypes && vehicleTypes.forEach(item => { url_ += \"VehicleTypes=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (powerSources === null)\n throw new Error(\"The parameter 'powerSources' cannot be null.\");\n else if (powerSources !== undefined)\n powerSources && powerSources.forEach(item => { url_ += \"PowerSources=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (facilityTypes === null)\n throw new Error(\"The parameter 'facilityTypes' cannot be null.\");\n else if (facilityTypes !== undefined)\n facilityTypes && facilityTypes.forEach(item => { url_ += \"FacilityTypes=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (sectors === null)\n throw new Error(\"The parameter 'sectors' cannot be null.\");\n else if (sectors !== undefined)\n sectors && sectors.forEach(item => { url_ += \"Sectors=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (socialRisks === null)\n throw new Error(\"The parameter 'socialRisks' cannot be null.\");\n else if (socialRisks !== undefined)\n socialRisks && socialRisks.forEach(item => { url_ += \"SocialRisks=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (environmentRisks === null)\n throw new Error(\"The parameter 'environmentRisks' cannot be null.\");\n else if (environmentRisks !== undefined)\n environmentRisks && environmentRisks.forEach(item => { url_ += \"EnvironmentRisks=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteAssetsByFilter(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteAssetsByFilter(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteAssetsByFilter(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DeleteAssetsByFilterCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n deleteAssetVersion(body: DeleteAssetVersionCommandParams): Observable {\n let url_ = this.baseUrl + \"/asset/delete-version\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteAssetVersion(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteAssetVersion(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteAssetVersion(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DeleteAssetVersionCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getAllAssets(): Observable {\n let url_ = this.baseUrl + \"/asset/all\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllAssets(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllAssets(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllAssets(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetAllAssetsQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param subOrganizationId (optional) \n * @return Success\n */\n getAssetTypesByOrganization(subOrganizationId: string | undefined): Observable {\n let url_ = this.baseUrl + \"/asset/types?\";\n if (subOrganizationId === null)\n throw new Error(\"The parameter 'subOrganizationId' cannot be null.\");\n else if (subOrganizationId !== undefined)\n url_ += \"subOrganizationId=\" + encodeURIComponent(\"\" + subOrganizationId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAssetTypesByOrganization(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAssetTypesByOrganization(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAssetTypesByOrganization(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetAssetTypesByOrganizationQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getAssetById(assetId: string, versionId: string): Observable {\n let url_ = this.baseUrl + \"/asset/by-id?\";\n if (assetId === undefined || assetId === null)\n throw new Error(\"The parameter 'assetId' must be defined and cannot be null.\");\n else\n url_ += \"assetId=\" + encodeURIComponent(\"\" + assetId) + \"&\";\n if (versionId === undefined || versionId === null)\n throw new Error(\"The parameter 'versionId' must be defined and cannot be null.\");\n else\n url_ += \"versionId=\" + encodeURIComponent(\"\" + versionId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAssetById(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAssetById(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAssetById(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetAssetByIdQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getAssetVersionsById(assetId: string): Observable {\n let url_ = this.baseUrl + \"/asset/versions/{assetId}\";\n if (assetId === undefined || assetId === null)\n throw new Error(\"The parameter 'assetId' must be defined.\");\n url_ = url_.replace(\"{assetId}\", encodeURIComponent(\"\" + assetId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAssetVersionsById(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAssetVersionsById(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAssetVersionsById(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetAssetVersionsByIdQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getOrganizationAssetList(): Observable {\n let url_ = this.baseUrl + \"/asset/organization-asset-list\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetOrganizationAssetList(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetOrganizationAssetList(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetOrganizationAssetList(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetOrganizationAssetListQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getAssetsByOrganizationAndAvailableForLeasing(): Observable {\n let url_ = this.baseUrl + \"/asset/available-for-leasing\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAssetsByOrganizationAndAvailableForLeasing(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAssetsByOrganizationAndAvailableForLeasing(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAssetsByOrganizationAndAvailableForLeasing(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetAssetsByOrganizationAndAvailableForLeasingQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getAssetList(): Observable {\n let url_ = this.baseUrl + \"/asset/list\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAssetList(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAssetList(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAssetList(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetAssetListQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param assetType (optional) \n * @param name (optional) \n * @param countryCodes (optional) \n * @param searchOrgIds (optional) \n * @param vesselTypes (optional) \n * @param vehicleTypes (optional) \n * @param powerSources (optional) \n * @param facilityTypes (optional) \n * @param sectors (optional) \n * @param socialRisks (optional) \n * @param environmentRisks (optional) \n * @param orderBy (optional) \n * @param pageNumber (optional) \n * @param pageSize (optional) \n * @return Success\n */\n searchAssetByOrganizationAndType(assetType: AssetType | undefined, name: string | undefined, countryCodes: CountryCodes[] | undefined, searchOrgIds: string[] | undefined, vesselTypes: VesselType[] | undefined, vehicleTypes: VehicleCraftMachineryType[] | undefined, powerSources: PowerSource[] | undefined, facilityTypes: FacilityType[] | undefined, sectors: SectorType[] | undefined, socialRisks: RiskCategory[] | undefined, environmentRisks: RiskCategory[] | undefined, orderBy: string | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\n let url_ = this.baseUrl + \"/asset/search-asset?\";\n if (assetType === null)\n throw new Error(\"The parameter 'assetType' cannot be null.\");\n else if (assetType !== undefined)\n url_ += \"AssetType=\" + encodeURIComponent(\"\" + assetType) + \"&\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (countryCodes === null)\n throw new Error(\"The parameter 'countryCodes' cannot be null.\");\n else if (countryCodes !== undefined)\n countryCodes && countryCodes.forEach(item => { url_ += \"CountryCodes=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (searchOrgIds === null)\n throw new Error(\"The parameter 'searchOrgIds' cannot be null.\");\n else if (searchOrgIds !== undefined)\n searchOrgIds && searchOrgIds.forEach(item => { url_ += \"SearchOrgIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (vesselTypes === null)\n throw new Error(\"The parameter 'vesselTypes' cannot be null.\");\n else if (vesselTypes !== undefined)\n vesselTypes && vesselTypes.forEach(item => { url_ += \"VesselTypes=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (vehicleTypes === null)\n throw new Error(\"The parameter 'vehicleTypes' cannot be null.\");\n else if (vehicleTypes !== undefined)\n vehicleTypes && vehicleTypes.forEach(item => { url_ += \"VehicleTypes=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (powerSources === null)\n throw new Error(\"The parameter 'powerSources' cannot be null.\");\n else if (powerSources !== undefined)\n powerSources && powerSources.forEach(item => { url_ += \"PowerSources=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (facilityTypes === null)\n throw new Error(\"The parameter 'facilityTypes' cannot be null.\");\n else if (facilityTypes !== undefined)\n facilityTypes && facilityTypes.forEach(item => { url_ += \"FacilityTypes=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (sectors === null)\n throw new Error(\"The parameter 'sectors' cannot be null.\");\n else if (sectors !== undefined)\n sectors && sectors.forEach(item => { url_ += \"Sectors=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (socialRisks === null)\n throw new Error(\"The parameter 'socialRisks' cannot be null.\");\n else if (socialRisks !== undefined)\n socialRisks && socialRisks.forEach(item => { url_ += \"SocialRisks=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (environmentRisks === null)\n throw new Error(\"The parameter 'environmentRisks' cannot be null.\");\n else if (environmentRisks !== undefined)\n environmentRisks && environmentRisks.forEach(item => { url_ += \"EnvironmentRisks=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (orderBy === null)\n throw new Error(\"The parameter 'orderBy' cannot be null.\");\n else if (orderBy !== undefined)\n url_ += \"OrderBy=\" + encodeURIComponent(\"\" + orderBy) + \"&\";\n if (pageNumber === null)\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\n else if (pageNumber !== undefined)\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\n if (pageSize === null)\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\n else if (pageSize !== undefined)\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSearchAssetByOrganizationAndType(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSearchAssetByOrganizationAndType(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSearchAssetByOrganizationAndType(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = SearchAssetByOrganizationAndTypeQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\nexport interface ICalcFactorClient {\n /**\n * @return Success\n */\n updateCalcFactor(body: UpdateCalcFactorCommandParams): Observable;\n /**\n * @return Success\n */\n getCalcFactorsByType(factorType: CalcFactorType): Observable;\n /**\n * @return Success\n */\n updateOrganizationCalcFactor(body: UpdateCalcFactorCommandParams): Observable;\n /**\n * @return Success\n */\n getOrganizationCalcFactorsByType(factorType: CalcFactorType): Observable;\n /**\n * @return Success\n */\n getCalcFactorById(factorId: string, versionId: string): Observable;\n /**\n * @return Success\n */\n getOrganizationCalcFactorById(factorId: string, versionId: string): Observable;\n /**\n * @return Success\n */\n getCalcFactorVersionsById(factorId: string): Observable;\n /**\n * @return Success\n */\n getOrganizationCalcFactorVersionsById(factorId: string): Observable;\n /**\n * @return Success\n */\n deleteCalcFactorVersion(body: DeleteCalcFactorVersionCommandParams): Observable;\n /**\n * @return Success\n */\n deleteOrganizationCalcFactorVersion(body: DeleteCalcFactorVersionCommandParams): Observable;\n}\n\n@Injectable()\nexport class CalcFactorClient implements ICalcFactorClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n /**\n * @return Success\n */\n updateCalcFactor(body: UpdateCalcFactorCommandParams): Observable {\n let url_ = this.baseUrl + \"/calc-factor\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateCalcFactor(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateCalcFactor(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateCalcFactor(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UpdateCalcFactorCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getCalcFactorsByType(factorType: CalcFactorType): Observable {\n let url_ = this.baseUrl + \"/calc-factor?\";\n if (factorType === undefined || factorType === null)\n throw new Error(\"The parameter 'factorType' must be defined and cannot be null.\");\n else\n url_ += \"factorType=\" + encodeURIComponent(\"\" + factorType) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetCalcFactorsByType(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetCalcFactorsByType(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetCalcFactorsByType(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetCalcFactorsByTypeQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n updateOrganizationCalcFactor(body: UpdateCalcFactorCommandParams): Observable {\n let url_ = this.baseUrl + \"/calc-factor/organization\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateOrganizationCalcFactor(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateOrganizationCalcFactor(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateOrganizationCalcFactor(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UpdateCalcFactorCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getOrganizationCalcFactorsByType(factorType: CalcFactorType): Observable {\n let url_ = this.baseUrl + \"/calc-factor/organization?\";\n if (factorType === undefined || factorType === null)\n throw new Error(\"The parameter 'factorType' must be defined and cannot be null.\");\n else\n url_ += \"factorType=\" + encodeURIComponent(\"\" + factorType) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetOrganizationCalcFactorsByType(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetOrganizationCalcFactorsByType(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetOrganizationCalcFactorsByType(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetCalcFactorsByTypeQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getCalcFactorById(factorId: string, versionId: string): Observable {\n let url_ = this.baseUrl + \"/calc-factor/by-id?\";\n if (factorId === undefined || factorId === null)\n throw new Error(\"The parameter 'factorId' must be defined and cannot be null.\");\n else\n url_ += \"factorId=\" + encodeURIComponent(\"\" + factorId) + \"&\";\n if (versionId === undefined || versionId === null)\n throw new Error(\"The parameter 'versionId' must be defined and cannot be null.\");\n else\n url_ += \"versionId=\" + encodeURIComponent(\"\" + versionId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetCalcFactorById(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetCalcFactorById(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetCalcFactorById(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetCalcFactorByIdQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getOrganizationCalcFactorById(factorId: string, versionId: string): Observable {\n let url_ = this.baseUrl + \"/calc-factor/organization-by-id?\";\n if (factorId === undefined || factorId === null)\n throw new Error(\"The parameter 'factorId' must be defined and cannot be null.\");\n else\n url_ += \"factorId=\" + encodeURIComponent(\"\" + factorId) + \"&\";\n if (versionId === undefined || versionId === null)\n throw new Error(\"The parameter 'versionId' must be defined and cannot be null.\");\n else\n url_ += \"versionId=\" + encodeURIComponent(\"\" + versionId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetOrganizationCalcFactorById(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetOrganizationCalcFactorById(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetOrganizationCalcFactorById(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetCalcFactorByIdQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getCalcFactorVersionsById(factorId: string): Observable {\n let url_ = this.baseUrl + \"/calc-factor/versions/{factorId}\";\n if (factorId === undefined || factorId === null)\n throw new Error(\"The parameter 'factorId' must be defined.\");\n url_ = url_.replace(\"{factorId}\", encodeURIComponent(\"\" + factorId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetCalcFactorVersionsById(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetCalcFactorVersionsById(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetCalcFactorVersionsById(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetCalcFactorVersionsByIdQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getOrganizationCalcFactorVersionsById(factorId: string): Observable {\n let url_ = this.baseUrl + \"/calc-factor/organization-versions/{factorId}\";\n if (factorId === undefined || factorId === null)\n throw new Error(\"The parameter 'factorId' must be defined.\");\n url_ = url_.replace(\"{factorId}\", encodeURIComponent(\"\" + factorId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetOrganizationCalcFactorVersionsById(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetOrganizationCalcFactorVersionsById(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetOrganizationCalcFactorVersionsById(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetCalcFactorVersionsByIdQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n deleteCalcFactorVersion(body: DeleteCalcFactorVersionCommandParams): Observable {\n let url_ = this.baseUrl + \"/calc-factor/versions\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteCalcFactorVersion(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteCalcFactorVersion(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteCalcFactorVersion(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DeleteCalcFactorVersionCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n deleteOrganizationCalcFactorVersion(body: DeleteCalcFactorVersionCommandParams): Observable {\n let url_ = this.baseUrl + \"/calc-factor/organization-versions\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteOrganizationCalcFactorVersion(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteOrganizationCalcFactorVersion(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteOrganizationCalcFactorVersion(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DeleteCalcFactorVersionCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\nexport interface ICalculatedDataClient {\n /**\n * @param fromYear (optional) \n * @param toYear (optional) \n * @param subOrganizationId (optional) \n * @param annualAccountingYearStartMonth (optional) \n * @return Success\n */\n getCalcDataByIndicator(indicatorId: string, fromYear: number | undefined, toYear: number | undefined, subOrganizationId: string | undefined, includeNestedSubOrganizations: boolean, resultPeriodType: TimePeriodType, annualAccountingYearStartMonth: number | undefined): Observable;\n /**\n * @return Success\n */\n calculateIndicatorYearlyCalculatedData(body: CalculateIndicatorYearlyCalculatedDataCommandParams): Observable;\n /**\n * @param subOrganizationId (optional) \n * @param period (optional) \n * @return Success\n */\n getCalcDataSubstrateData(indicatorId: string, subOrganizationId: string | undefined, includeNestedSubOrganizations: boolean, timePeriodType: TimePeriodType, year: number, period: number | undefined): Observable;\n}\n\n@Injectable()\nexport class CalculatedDataClient implements ICalculatedDataClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n /**\n * @param fromYear (optional) \n * @param toYear (optional) \n * @param subOrganizationId (optional) \n * @param annualAccountingYearStartMonth (optional) \n * @return Success\n */\n getCalcDataByIndicator(indicatorId: string, fromYear: number | undefined, toYear: number | undefined, subOrganizationId: string | undefined, includeNestedSubOrganizations: boolean, resultPeriodType: TimePeriodType, annualAccountingYearStartMonth: number | undefined): Observable {\n let url_ = this.baseUrl + \"/calculated-data/by-indicator?\";\n if (indicatorId === undefined || indicatorId === null)\n throw new Error(\"The parameter 'indicatorId' must be defined and cannot be null.\");\n else\n url_ += \"indicatorId=\" + encodeURIComponent(\"\" + indicatorId) + \"&\";\n if (fromYear === null)\n throw new Error(\"The parameter 'fromYear' cannot be null.\");\n else if (fromYear !== undefined)\n url_ += \"fromYear=\" + encodeURIComponent(\"\" + fromYear) + \"&\";\n if (toYear === null)\n throw new Error(\"The parameter 'toYear' cannot be null.\");\n else if (toYear !== undefined)\n url_ += \"toYear=\" + encodeURIComponent(\"\" + toYear) + \"&\";\n if (subOrganizationId === null)\n throw new Error(\"The parameter 'subOrganizationId' cannot be null.\");\n else if (subOrganizationId !== undefined)\n url_ += \"subOrganizationId=\" + encodeURIComponent(\"\" + subOrganizationId) + \"&\";\n if (includeNestedSubOrganizations === undefined || includeNestedSubOrganizations === null)\n throw new Error(\"The parameter 'includeNestedSubOrganizations' must be defined and cannot be null.\");\n else\n url_ += \"includeNestedSubOrganizations=\" + encodeURIComponent(\"\" + includeNestedSubOrganizations) + \"&\";\n if (resultPeriodType === undefined || resultPeriodType === null)\n throw new Error(\"The parameter 'resultPeriodType' must be defined and cannot be null.\");\n else\n url_ += \"resultPeriodType=\" + encodeURIComponent(\"\" + resultPeriodType) + \"&\";\n if (annualAccountingYearStartMonth === null)\n throw new Error(\"The parameter 'annualAccountingYearStartMonth' cannot be null.\");\n else if (annualAccountingYearStartMonth !== undefined)\n url_ += \"annualAccountingYearStartMonth=\" + encodeURIComponent(\"\" + annualAccountingYearStartMonth) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetCalcDataByIndicator(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetCalcDataByIndicator(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetCalcDataByIndicator(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetCalcDataByIndicatorQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n calculateIndicatorYearlyCalculatedData(body: CalculateIndicatorYearlyCalculatedDataCommandParams): Observable {\n let url_ = this.baseUrl + \"/calculated-data/calculate\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCalculateIndicatorYearlyCalculatedData(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCalculateIndicatorYearlyCalculatedData(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCalculateIndicatorYearlyCalculatedData(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CalculateIndicatorYearlyCalculatedDataCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param subOrganizationId (optional) \n * @param period (optional) \n * @return Success\n */\n getCalcDataSubstrateData(indicatorId: string, subOrganizationId: string | undefined, includeNestedSubOrganizations: boolean, timePeriodType: TimePeriodType, year: number, period: number | undefined): Observable {\n let url_ = this.baseUrl + \"/calculated-data/substrate-data?\";\n if (indicatorId === undefined || indicatorId === null)\n throw new Error(\"The parameter 'indicatorId' must be defined and cannot be null.\");\n else\n url_ += \"indicatorId=\" + encodeURIComponent(\"\" + indicatorId) + \"&\";\n if (subOrganizationId === null)\n throw new Error(\"The parameter 'subOrganizationId' cannot be null.\");\n else if (subOrganizationId !== undefined)\n url_ += \"subOrganizationId=\" + encodeURIComponent(\"\" + subOrganizationId) + \"&\";\n if (includeNestedSubOrganizations === undefined || includeNestedSubOrganizations === null)\n throw new Error(\"The parameter 'includeNestedSubOrganizations' must be defined and cannot be null.\");\n else\n url_ += \"includeNestedSubOrganizations=\" + encodeURIComponent(\"\" + includeNestedSubOrganizations) + \"&\";\n if (timePeriodType === undefined || timePeriodType === null)\n throw new Error(\"The parameter 'timePeriodType' must be defined and cannot be null.\");\n else\n url_ += \"timePeriodType=\" + encodeURIComponent(\"\" + timePeriodType) + \"&\";\n if (year === undefined || year === null)\n throw new Error(\"The parameter 'year' must be defined and cannot be null.\");\n else\n url_ += \"year=\" + encodeURIComponent(\"\" + year) + \"&\";\n if (period === null)\n throw new Error(\"The parameter 'period' cannot be null.\");\n else if (period !== undefined)\n url_ += \"period=\" + encodeURIComponent(\"\" + period) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetCalcDataSubstrateData(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetCalcDataSubstrateData(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetCalcDataSubstrateData(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetCalcDataSubstrateDataQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\nexport interface IChatAIClient {\n /**\n * @param question (optional) \n * @return Success\n */\n ask(question: string | undefined): Observable;\n}\n\n@Injectable()\nexport class ChatAIClient implements IChatAIClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n /**\n * @param question (optional) \n * @return Success\n */\n ask(question: string | undefined): Observable {\n let url_ = this.baseUrl + \"/chat-ai/ask?\";\n if (question === null)\n throw new Error(\"The parameter 'question' cannot be null.\");\n else if (question !== undefined)\n url_ += \"question=\" + encodeURIComponent(\"\" + question) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAsk(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAsk(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processAsk(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = AnswerDto.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\nexport interface ICountryClient {\n /**\n * @return Success\n */\n getAllCountries(): Observable;\n}\n\n@Injectable()\nexport class CountryClient implements ICountryClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n /**\n * @return Success\n */\n getAllCountries(): Observable {\n let url_ = this.baseUrl + \"/country/all\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllCountries(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllCountries(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllCountries(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetAllCountriesQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\nexport interface ICurrencyClient {\n /**\n * @return Success\n */\n getAllCurrencies(): Observable;\n}\n\n@Injectable()\nexport class CurrencyClient implements ICurrencyClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n /**\n * @return Success\n */\n getAllCurrencies(): Observable {\n let url_ = this.baseUrl + \"/currency/all\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllCurrencies(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllCurrencies(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllCurrencies(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetAllCurrenciesQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\nexport interface IDataCategoryClient {\n /**\n * @return Success\n */\n updateDataCategory(body: UpdateDataCategoryCommandParams): Observable;\n /**\n * @return Success\n */\n getAllNamesDataCategories(): Observable;\n /**\n * @param orderBy (optional) \n * @return Success\n */\n getListDataCategories(orderBy: string | undefined): Observable;\n /**\n * @return Success\n */\n getDataCategoryByDataRecordCategory(dataRecordCategory: DataRecordCategory): Observable;\n}\n\n@Injectable()\nexport class DataCategoryClient implements IDataCategoryClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n /**\n * @return Success\n */\n updateDataCategory(body: UpdateDataCategoryCommandParams): Observable {\n let url_ = this.baseUrl + \"/data-category\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateDataCategory(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateDataCategory(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateDataCategory(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UpdateDataCategoryCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getAllNamesDataCategories(): Observable {\n let url_ = this.baseUrl + \"/data-category/all-names\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllNamesDataCategories(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllNamesDataCategories(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllNamesDataCategories(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetAllNamesDataCategoriesQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param orderBy (optional) \n * @return Success\n */\n getListDataCategories(orderBy: string | undefined): Observable {\n let url_ = this.baseUrl + \"/data-category/list?\";\n if (orderBy === null)\n throw new Error(\"The parameter 'orderBy' cannot be null.\");\n else if (orderBy !== undefined)\n url_ += \"OrderBy=\" + encodeURIComponent(\"\" + orderBy) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetListDataCategories(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetListDataCategories(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetListDataCategories(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetListDataCategoriesQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getDataCategoryByDataRecordCategory(dataRecordCategory: DataRecordCategory): Observable {\n let url_ = this.baseUrl + \"/data-category/by-data-record-category/{dataRecordCategory}\";\n if (dataRecordCategory === undefined || dataRecordCategory === null)\n throw new Error(\"The parameter 'dataRecordCategory' must be defined.\");\n url_ = url_.replace(\"{dataRecordCategory}\", encodeURIComponent(\"\" + dataRecordCategory));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetDataCategoryByDataRecordCategory(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetDataCategoryByDataRecordCategory(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetDataCategoryByDataRecordCategory(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetDataCategoryByDataRecordCategoryQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\nexport interface IDataProfileClient {\n /**\n * @return Success\n */\n createDataProfile(body: CreateDataProfileCommandParams): Observable;\n /**\n * @return Success\n */\n updateDataProfile(body: UpdateDataProfileCommandParams): Observable;\n /**\n * @return Success\n */\n deleteDataProfile(id: string): Observable;\n /**\n * @return Success\n */\n getDataProfilesByType(dataRecordType: DataProfileType): Observable;\n /**\n * @return Success\n */\n getAllDataProfiles(): Observable;\n}\n\n@Injectable()\nexport class DataProfileClient implements IDataProfileClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n /**\n * @return Success\n */\n createDataProfile(body: CreateDataProfileCommandParams): Observable {\n let url_ = this.baseUrl + \"/dataprofile\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateDataProfile(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateDataProfile(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateDataProfile(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CreateDataProfileCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n updateDataProfile(body: UpdateDataProfileCommandParams): Observable {\n let url_ = this.baseUrl + \"/dataprofile\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateDataProfile(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateDataProfile(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateDataProfile(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UpdateDataProfileCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n deleteDataProfile(id: string): Observable {\n let url_ = this.baseUrl + \"/dataprofile/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteDataProfile(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteDataProfile(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteDataProfile(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DeleteDataProfileCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getDataProfilesByType(dataRecordType: DataProfileType): Observable {\n let url_ = this.baseUrl + \"/dataprofile/by-type?\";\n if (dataRecordType === undefined || dataRecordType === null)\n throw new Error(\"The parameter 'dataRecordType' must be defined and cannot be null.\");\n else\n url_ += \"dataRecordType=\" + encodeURIComponent(\"\" + dataRecordType) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetDataProfilesByType(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetDataProfilesByType(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetDataProfilesByType(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetDataProfilesByTypeQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getAllDataProfiles(): Observable {\n let url_ = this.baseUrl + \"/dataprofile/all\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllDataProfiles(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllDataProfiles(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllDataProfiles(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetAllDataProfilesQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\nexport interface IDataRecordClient {\n /**\n * @return Success\n */\n createDataRecord(body: CreateDataRecordCommandParams): Observable;\n /**\n * @return Success\n */\n updateDataRecord(body: UpdateDataRecordCommandParams): Observable;\n /**\n * @param inputType (optional) \n * @param type (optional) \n * @param category (optional) \n * @param dataProfileId (optional) \n * @param assetIds (optional) \n * @param assetTypes (optional) \n * @param orderBy (optional) \n * @param dateFrom (optional) \n * @param dateTo (optional) \n * @return Success\n */\n deleteDataRecordsBy(inputType: InputType | undefined, type: DataRecordType | undefined, category: DataRecordCategory | undefined, dataProfileId: string | undefined, assetIds: string[] | undefined, assetTypes: AssetType[] | undefined, orderBy: string | undefined, dateFrom: Date | undefined, dateTo: Date | undefined): Observable;\n /**\n * @return Success\n */\n createMultipleDataRecord(body: CreateMultipleDataRecordCommandParams): Observable;\n /**\n * @return Success\n */\n deleteDataRecord(id: string): Observable;\n /**\n * @return Success\n */\n getDataRecordsByAssetAndType(assetId: string, dataRecordType: DataRecordType): Observable;\n /**\n * @return Success\n */\n getDataRecordsByType(dataRecordType: DataRecordType): Observable;\n /**\n * @return Success\n */\n getDataRecordsByCategory(dataRecordCategory: DataRecordCategory): Observable;\n /**\n * @return Success\n */\n getDataRecordsByDataProfile(dataProfileId: string): Observable;\n /**\n * @return Success\n */\n getAllDataRecords(): Observable;\n /**\n * @return Success\n */\n getAssetRecordsOverview(assetId: string): Observable;\n /**\n * @param inputType (optional) \n * @param type (optional) \n * @param category (optional) \n * @param dataProfileId (optional) \n * @param assetIds (optional) \n * @param assetTypes (optional) \n * @param species (optional) \n * @param orderBy (optional) \n * @param dateFrom (optional) \n * @param dateTo (optional) \n * @param pageNumber (optional) \n * @param pageSize (optional) \n * @return Success\n */\n getBy(inputType: InputType | undefined, type: DataRecordType | undefined, category: DataRecordCategory | undefined, dataProfileId: string | undefined, assetIds: string[] | undefined, assetTypes: AssetType[] | undefined, species: FishSpecies | undefined, orderBy: string | undefined, dateFrom: Date | undefined, dateTo: Date | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\n /**\n * @param inputType (optional) \n * @param type (optional) \n * @param category (optional) \n * @param dataProfileId (optional) \n * @param assetIds (optional) \n * @param assetTypes (optional) \n * @param dateFrom (optional) \n * @param dateTo (optional) \n * @return Success\n */\n countBy(inputType: InputType | undefined, type: DataRecordType | undefined, category: DataRecordCategory | undefined, dataProfileId: string | undefined, assetIds: string[] | undefined, assetTypes: AssetType[] | undefined, dateFrom: Date | undefined, dateTo: Date | undefined): Observable;\n}\n\n@Injectable()\nexport class DataRecordClient implements IDataRecordClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n /**\n * @return Success\n */\n createDataRecord(body: CreateDataRecordCommandParams): Observable {\n let url_ = this.baseUrl + \"/datarecord\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateDataRecord(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateDataRecord(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateDataRecord(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CreateDataRecordCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n updateDataRecord(body: UpdateDataRecordCommandParams): Observable {\n let url_ = this.baseUrl + \"/datarecord\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateDataRecord(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateDataRecord(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateDataRecord(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UpdateDataRecordCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param inputType (optional) \n * @param type (optional) \n * @param category (optional) \n * @param dataProfileId (optional) \n * @param assetIds (optional) \n * @param assetTypes (optional) \n * @param orderBy (optional) \n * @param dateFrom (optional) \n * @param dateTo (optional) \n * @return Success\n */\n deleteDataRecordsBy(inputType: InputType | undefined, type: DataRecordType | undefined, category: DataRecordCategory | undefined, dataProfileId: string | undefined, assetIds: string[] | undefined, assetTypes: AssetType[] | undefined, orderBy: string | undefined, dateFrom: Date | undefined, dateTo: Date | undefined): Observable {\n let url_ = this.baseUrl + \"/datarecord?\";\n if (inputType === null)\n throw new Error(\"The parameter 'inputType' cannot be null.\");\n else if (inputType !== undefined)\n url_ += \"InputType=\" + encodeURIComponent(\"\" + inputType) + \"&\";\n if (type === null)\n throw new Error(\"The parameter 'type' cannot be null.\");\n else if (type !== undefined)\n url_ += \"Type=\" + encodeURIComponent(\"\" + type) + \"&\";\n if (category === null)\n throw new Error(\"The parameter 'category' cannot be null.\");\n else if (category !== undefined)\n url_ += \"Category=\" + encodeURIComponent(\"\" + category) + \"&\";\n if (dataProfileId === null)\n throw new Error(\"The parameter 'dataProfileId' cannot be null.\");\n else if (dataProfileId !== undefined)\n url_ += \"DataProfileId=\" + encodeURIComponent(\"\" + dataProfileId) + \"&\";\n if (assetIds === null)\n throw new Error(\"The parameter 'assetIds' cannot be null.\");\n else if (assetIds !== undefined)\n assetIds && assetIds.forEach(item => { url_ += \"AssetIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (assetTypes === null)\n throw new Error(\"The parameter 'assetTypes' cannot be null.\");\n else if (assetTypes !== undefined)\n assetTypes && assetTypes.forEach(item => { url_ += \"AssetTypes=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (orderBy === null)\n throw new Error(\"The parameter 'orderBy' cannot be null.\");\n else if (orderBy !== undefined)\n url_ += \"OrderBy=\" + encodeURIComponent(\"\" + orderBy) + \"&\";\n if (dateFrom === null)\n throw new Error(\"The parameter 'dateFrom' cannot be null.\");\n else if (dateFrom !== undefined)\n url_ += \"DateFrom=\" + encodeURIComponent(dateFrom ? \"\" + dateFrom.toISOString() : \"\") + \"&\";\n if (dateTo === null)\n throw new Error(\"The parameter 'dateTo' cannot be null.\");\n else if (dateTo !== undefined)\n url_ += \"DateTo=\" + encodeURIComponent(dateTo ? \"\" + dateTo.toISOString() : \"\") + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteDataRecordsBy(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteDataRecordsBy(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteDataRecordsBy(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DeleteDataRecordsByCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n createMultipleDataRecord(body: CreateMultipleDataRecordCommandParams): Observable {\n let url_ = this.baseUrl + \"/datarecord/multiple\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateMultipleDataRecord(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateMultipleDataRecord(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateMultipleDataRecord(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CreateMultipleDataRecordCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n deleteDataRecord(id: string): Observable {\n let url_ = this.baseUrl + \"/datarecord/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteDataRecord(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteDataRecord(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteDataRecord(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DeleteDataRecordCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getDataRecordsByAssetAndType(assetId: string, dataRecordType: DataRecordType): Observable {\n let url_ = this.baseUrl + \"/datarecord/by-asset/{assetId}?\";\n if (assetId === undefined || assetId === null)\n throw new Error(\"The parameter 'assetId' must be defined.\");\n url_ = url_.replace(\"{assetId}\", encodeURIComponent(\"\" + assetId));\n if (dataRecordType === undefined || dataRecordType === null)\n throw new Error(\"The parameter 'dataRecordType' must be defined and cannot be null.\");\n else\n url_ += \"dataRecordType=\" + encodeURIComponent(\"\" + dataRecordType) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetDataRecordsByAssetAndType(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetDataRecordsByAssetAndType(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetDataRecordsByAssetAndType(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetDataRecordsByAssetQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getDataRecordsByType(dataRecordType: DataRecordType): Observable {\n let url_ = this.baseUrl + \"/datarecord/by-type?\";\n if (dataRecordType === undefined || dataRecordType === null)\n throw new Error(\"The parameter 'dataRecordType' must be defined and cannot be null.\");\n else\n url_ += \"dataRecordType=\" + encodeURIComponent(\"\" + dataRecordType) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetDataRecordsByType(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetDataRecordsByType(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetDataRecordsByType(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetDataRecordsByTypeQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getDataRecordsByCategory(dataRecordCategory: DataRecordCategory): Observable {\n let url_ = this.baseUrl + \"/datarecord/by-category?\";\n if (dataRecordCategory === undefined || dataRecordCategory === null)\n throw new Error(\"The parameter 'dataRecordCategory' must be defined and cannot be null.\");\n else\n url_ += \"dataRecordCategory=\" + encodeURIComponent(\"\" + dataRecordCategory) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetDataRecordsByCategory(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetDataRecordsByCategory(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetDataRecordsByCategory(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetDataRecordsByCategoryQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getDataRecordsByDataProfile(dataProfileId: string): Observable {\n let url_ = this.baseUrl + \"/datarecord/by-dataprofile?\";\n if (dataProfileId === undefined || dataProfileId === null)\n throw new Error(\"The parameter 'dataProfileId' must be defined and cannot be null.\");\n else\n url_ += \"dataProfileId=\" + encodeURIComponent(\"\" + dataProfileId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetDataRecordsByDataProfile(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetDataRecordsByDataProfile(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetDataRecordsByDataProfile(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetDataRecordsByDataProfileQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getAllDataRecords(): Observable {\n let url_ = this.baseUrl + \"/datarecord/all\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllDataRecords(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllDataRecords(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllDataRecords(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetAllDataRecordsQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getAssetRecordsOverview(assetId: string): Observable {\n let url_ = this.baseUrl + \"/datarecord/asset-records-overview?\";\n if (assetId === undefined || assetId === null)\n throw new Error(\"The parameter 'assetId' must be defined and cannot be null.\");\n else\n url_ += \"assetId=\" + encodeURIComponent(\"\" + assetId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAssetRecordsOverview(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAssetRecordsOverview(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAssetRecordsOverview(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetAssetDataRecordsOverviewQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param inputType (optional) \n * @param type (optional) \n * @param category (optional) \n * @param dataProfileId (optional) \n * @param assetIds (optional) \n * @param assetTypes (optional) \n * @param species (optional) \n * @param orderBy (optional) \n * @param dateFrom (optional) \n * @param dateTo (optional) \n * @param pageNumber (optional) \n * @param pageSize (optional) \n * @return Success\n */\n getBy(inputType: InputType | undefined, type: DataRecordType | undefined, category: DataRecordCategory | undefined, dataProfileId: string | undefined, assetIds: string[] | undefined, assetTypes: AssetType[] | undefined, species: FishSpecies | undefined, orderBy: string | undefined, dateFrom: Date | undefined, dateTo: Date | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\n let url_ = this.baseUrl + \"/datarecord/by?\";\n if (inputType === null)\n throw new Error(\"The parameter 'inputType' cannot be null.\");\n else if (inputType !== undefined)\n url_ += \"InputType=\" + encodeURIComponent(\"\" + inputType) + \"&\";\n if (type === null)\n throw new Error(\"The parameter 'type' cannot be null.\");\n else if (type !== undefined)\n url_ += \"Type=\" + encodeURIComponent(\"\" + type) + \"&\";\n if (category === null)\n throw new Error(\"The parameter 'category' cannot be null.\");\n else if (category !== undefined)\n url_ += \"Category=\" + encodeURIComponent(\"\" + category) + \"&\";\n if (dataProfileId === null)\n throw new Error(\"The parameter 'dataProfileId' cannot be null.\");\n else if (dataProfileId !== undefined)\n url_ += \"DataProfileId=\" + encodeURIComponent(\"\" + dataProfileId) + \"&\";\n if (assetIds === null)\n throw new Error(\"The parameter 'assetIds' cannot be null.\");\n else if (assetIds !== undefined)\n assetIds && assetIds.forEach(item => { url_ += \"AssetIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (assetTypes === null)\n throw new Error(\"The parameter 'assetTypes' cannot be null.\");\n else if (assetTypes !== undefined)\n assetTypes && assetTypes.forEach(item => { url_ += \"AssetTypes=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (species === null)\n throw new Error(\"The parameter 'species' cannot be null.\");\n else if (species !== undefined)\n url_ += \"Species=\" + encodeURIComponent(\"\" + species) + \"&\";\n if (orderBy === null)\n throw new Error(\"The parameter 'orderBy' cannot be null.\");\n else if (orderBy !== undefined)\n url_ += \"OrderBy=\" + encodeURIComponent(\"\" + orderBy) + \"&\";\n if (dateFrom === null)\n throw new Error(\"The parameter 'dateFrom' cannot be null.\");\n else if (dateFrom !== undefined)\n url_ += \"DateFrom=\" + encodeURIComponent(dateFrom ? \"\" + dateFrom.toISOString() : \"\") + \"&\";\n if (dateTo === null)\n throw new Error(\"The parameter 'dateTo' cannot be null.\");\n else if (dateTo !== undefined)\n url_ += \"DateTo=\" + encodeURIComponent(dateTo ? \"\" + dateTo.toISOString() : \"\") + \"&\";\n if (pageNumber === null)\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\n else if (pageNumber !== undefined)\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\n if (pageSize === null)\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\n else if (pageSize !== undefined)\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetBy(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetBy(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetBy(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetDataRecordsByQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param inputType (optional) \n * @param type (optional) \n * @param category (optional) \n * @param dataProfileId (optional) \n * @param assetIds (optional) \n * @param assetTypes (optional) \n * @param dateFrom (optional) \n * @param dateTo (optional) \n * @return Success\n */\n countBy(inputType: InputType | undefined, type: DataRecordType | undefined, category: DataRecordCategory | undefined, dataProfileId: string | undefined, assetIds: string[] | undefined, assetTypes: AssetType[] | undefined, dateFrom: Date | undefined, dateTo: Date | undefined): Observable {\n let url_ = this.baseUrl + \"/datarecord/count-by?\";\n if (inputType === null)\n throw new Error(\"The parameter 'inputType' cannot be null.\");\n else if (inputType !== undefined)\n url_ += \"InputType=\" + encodeURIComponent(\"\" + inputType) + \"&\";\n if (type === null)\n throw new Error(\"The parameter 'type' cannot be null.\");\n else if (type !== undefined)\n url_ += \"Type=\" + encodeURIComponent(\"\" + type) + \"&\";\n if (category === null)\n throw new Error(\"The parameter 'category' cannot be null.\");\n else if (category !== undefined)\n url_ += \"Category=\" + encodeURIComponent(\"\" + category) + \"&\";\n if (dataProfileId === null)\n throw new Error(\"The parameter 'dataProfileId' cannot be null.\");\n else if (dataProfileId !== undefined)\n url_ += \"DataProfileId=\" + encodeURIComponent(\"\" + dataProfileId) + \"&\";\n if (assetIds === null)\n throw new Error(\"The parameter 'assetIds' cannot be null.\");\n else if (assetIds !== undefined)\n assetIds && assetIds.forEach(item => { url_ += \"AssetIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (assetTypes === null)\n throw new Error(\"The parameter 'assetTypes' cannot be null.\");\n else if (assetTypes !== undefined)\n assetTypes && assetTypes.forEach(item => { url_ += \"AssetTypes=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (dateFrom === null)\n throw new Error(\"The parameter 'dateFrom' cannot be null.\");\n else if (dateFrom !== undefined)\n url_ += \"DateFrom=\" + encodeURIComponent(dateFrom ? \"\" + dateFrom.toISOString() : \"\") + \"&\";\n if (dateTo === null)\n throw new Error(\"The parameter 'dateTo' cannot be null.\");\n else if (dateTo !== undefined)\n url_ += \"DateTo=\" + encodeURIComponent(dateTo ? \"\" + dateTo.toISOString() : \"\") + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCountBy(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCountBy(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCountBy(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetDataRecordsCountByQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\nexport interface IDevClient {\n /**\n * @return Success\n */\n checkDataRecordsIntegrity(): Observable;\n /**\n * @return Success\n */\n deleteUnrelatedDataRecords(): Observable;\n /**\n * @return Success\n */\n fixImproperDateInDataProfileDataRecords(): Observable;\n}\n\n@Injectable()\nexport class DevClient implements IDevClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n /**\n * @return Success\n */\n checkDataRecordsIntegrity(): Observable {\n let url_ = this.baseUrl + \"/dev/check-data-records-integrity\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCheckDataRecordsIntegrity(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCheckDataRecordsIntegrity(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCheckDataRecordsIntegrity(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CheckDataRecordsIntegrityCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n deleteUnrelatedDataRecords(): Observable {\n let url_ = this.baseUrl + \"/dev/delete-unrelated-data-records\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteUnrelatedDataRecords(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteUnrelatedDataRecords(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteUnrelatedDataRecords(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DeleteUnrelatedDataRecordsCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n fixImproperDateInDataProfileDataRecords(): Observable {\n let url_ = this.baseUrl + \"/dev/fix-improper-date-in-data-profile-data-records\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processFixImproperDateInDataProfileDataRecords(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processFixImproperDateInDataProfileDataRecords(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processFixImproperDateInDataProfileDataRecords(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = FixImproperDateInDataProfileDataRecordsCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\nexport interface IIndicatorClient {\n /**\n * @return Success\n */\n createIndicator(body: CreateIndicatorCommandParams): Observable;\n /**\n * @return Success\n */\n updateIndicator(body: UpdateIndicatorCommandParams): Observable;\n /**\n * @return Success\n */\n calculateIndicator(body: CalculateIndicatorCommandParams): Observable;\n /**\n * @return Success\n */\n deleteIndicator(id: string): Observable;\n /**\n * @param name (optional) \n * @param category (optional) \n * @param orderBy (optional) \n * @param pageNumber (optional) \n * @param pageSize (optional) \n * @return Success\n */\n getAllIndicators(name: string | undefined, category: IndicatorCategory[] | undefined, orderBy: string | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\n /**\n * @return Success\n */\n getAllNamesIndicators(): Observable;\n /**\n * @return Success\n */\n getIndicatorById(indicatorId: string): Observable;\n /**\n * @return Success\n */\n updateIndicatorTarget(body: UpdateIndicatorTargetCommandParams): Observable;\n /**\n * @param suborganizationId (optional) \n * @return Success\n */\n getTargetValues(indicatorId: string, suborganizationId: string | undefined): Observable;\n}\n\n@Injectable()\nexport class IndicatorClient implements IIndicatorClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n /**\n * @return Success\n */\n createIndicator(body: CreateIndicatorCommandParams): Observable {\n let url_ = this.baseUrl + \"/indicator\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateIndicator(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateIndicator(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateIndicator(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CreateIndicatorCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n updateIndicator(body: UpdateIndicatorCommandParams): Observable {\n let url_ = this.baseUrl + \"/indicator\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateIndicator(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateIndicator(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateIndicator(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UpdateIndicatorCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n calculateIndicator(body: CalculateIndicatorCommandParams): Observable {\n let url_ = this.baseUrl + \"/indicator/calculate\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCalculateIndicator(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCalculateIndicator(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCalculateIndicator(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CalculateIndicatorCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n deleteIndicator(id: string): Observable {\n let url_ = this.baseUrl + \"/indicator/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteIndicator(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteIndicator(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteIndicator(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DeleteIndicatorCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @param category (optional) \n * @param orderBy (optional) \n * @param pageNumber (optional) \n * @param pageSize (optional) \n * @return Success\n */\n getAllIndicators(name: string | undefined, category: IndicatorCategory[] | undefined, orderBy: string | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\n let url_ = this.baseUrl + \"/indicator/all?\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (category === null)\n throw new Error(\"The parameter 'category' cannot be null.\");\n else if (category !== undefined)\n category && category.forEach(item => { url_ += \"category=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (orderBy === null)\n throw new Error(\"The parameter 'orderBy' cannot be null.\");\n else if (orderBy !== undefined)\n url_ += \"orderBy=\" + encodeURIComponent(\"\" + orderBy) + \"&\";\n if (pageNumber === null)\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\n else if (pageNumber !== undefined)\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\n if (pageSize === null)\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\n else if (pageSize !== undefined)\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllIndicators(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllIndicators(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllIndicators(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetAllIndicatorsQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getAllNamesIndicators(): Observable {\n let url_ = this.baseUrl + \"/indicator/all-names\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllNamesIndicators(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllNamesIndicators(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllNamesIndicators(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetAllNamesIndicatorsQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getIndicatorById(indicatorId: string): Observable {\n let url_ = this.baseUrl + \"/indicator/by-id/{indicatorId}\";\n if (indicatorId === undefined || indicatorId === null)\n throw new Error(\"The parameter 'indicatorId' must be defined.\");\n url_ = url_.replace(\"{indicatorId}\", encodeURIComponent(\"\" + indicatorId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetIndicatorById(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetIndicatorById(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetIndicatorById(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetByIdIndicatorQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n updateIndicatorTarget(body: UpdateIndicatorTargetCommandParams): Observable {\n let url_ = this.baseUrl + \"/indicator/target\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateIndicatorTarget(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateIndicatorTarget(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateIndicatorTarget(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UpdateIndicatorTargetCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param suborganizationId (optional) \n * @return Success\n */\n getTargetValues(indicatorId: string, suborganizationId: string | undefined): Observable {\n let url_ = this.baseUrl + \"/indicator/target/{indicatorId}?\";\n if (indicatorId === undefined || indicatorId === null)\n throw new Error(\"The parameter 'indicatorId' must be defined.\");\n url_ = url_.replace(\"{indicatorId}\", encodeURIComponent(\"\" + indicatorId));\n if (suborganizationId === null)\n throw new Error(\"The parameter 'suborganizationId' cannot be null.\");\n else if (suborganizationId !== undefined)\n url_ += \"suborganizationId=\" + encodeURIComponent(\"\" + suborganizationId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetTargetValues(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetTargetValues(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetTargetValues(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetTargetValuesQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\nexport interface IIndicatorDataClient {\n /**\n * @return Success\n */\n createIndicatorData(body: CreateIndicatorDataCommandParams): Observable;\n /**\n * @return Success\n */\n updateIndicatorData(body: UpdateIndicatorDataCommandParams): Observable;\n /**\n * @return Success\n */\n deleteIndicatorData(id: string): Observable;\n /**\n * @param indicatorId (optional) \n * @param inputType (optional) \n * @param dateFrom (optional) \n * @param dateTo (optional) \n * @param orderBy (optional) \n * @param assetTypes (optional) \n * @param assetIds (optional) \n * @return Success\n */\n deleteIndicatorDataByFilter(indicatorId: string | undefined, inputType: InputType | undefined, dateFrom: Date | undefined, dateTo: Date | undefined, orderBy: string | undefined, assetTypes: AssetType[] | undefined, assetIds: string[] | undefined): Observable;\n /**\n * @return Success\n */\n getIndicatorDataById(indicatorDataId: string): Observable;\n /**\n * @return Success\n */\n calculateIndicatorData(body: CalculateIndicatorDataCommandParams): Observable;\n /**\n * @param dateFrom (optional) \n * @param dateTo (optional) \n * @param assetIds (optional) \n * @param assetTypes (optional) \n * @param inputType (optional) \n * @param orderBy (optional) \n * @param pageNumber (optional) \n * @param pageSize (optional) \n * @return Success\n */\n getIndicatorDataBy(indicatorId: string, dateFrom: Date | undefined, dateTo: Date | undefined, assetIds: string[] | undefined, assetTypes: AssetType[] | undefined, inputType: InputType | undefined, orderBy: string | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\n}\n\n@Injectable()\nexport class IndicatorDataClient implements IIndicatorDataClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n /**\n * @return Success\n */\n createIndicatorData(body: CreateIndicatorDataCommandParams): Observable {\n let url_ = this.baseUrl + \"/indicator-data\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateIndicatorData(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateIndicatorData(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateIndicatorData(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CreateIndicatorDataCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n updateIndicatorData(body: UpdateIndicatorDataCommandParams): Observable {\n let url_ = this.baseUrl + \"/indicator-data\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateIndicatorData(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateIndicatorData(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateIndicatorData(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UpdateIndicatorDataCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n deleteIndicatorData(id: string): Observable {\n let url_ = this.baseUrl + \"/indicator-data/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteIndicatorData(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteIndicatorData(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteIndicatorData(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DeleteIndicatorDataCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param indicatorId (optional) \n * @param inputType (optional) \n * @param dateFrom (optional) \n * @param dateTo (optional) \n * @param orderBy (optional) \n * @param assetTypes (optional) \n * @param assetIds (optional) \n * @return Success\n */\n deleteIndicatorDataByFilter(indicatorId: string | undefined, inputType: InputType | undefined, dateFrom: Date | undefined, dateTo: Date | undefined, orderBy: string | undefined, assetTypes: AssetType[] | undefined, assetIds: string[] | undefined): Observable {\n let url_ = this.baseUrl + \"/indicator-data/delete-by-filter?\";\n if (indicatorId === null)\n throw new Error(\"The parameter 'indicatorId' cannot be null.\");\n else if (indicatorId !== undefined)\n url_ += \"IndicatorId=\" + encodeURIComponent(\"\" + indicatorId) + \"&\";\n if (inputType === null)\n throw new Error(\"The parameter 'inputType' cannot be null.\");\n else if (inputType !== undefined)\n url_ += \"InputType=\" + encodeURIComponent(\"\" + inputType) + \"&\";\n if (dateFrom === null)\n throw new Error(\"The parameter 'dateFrom' cannot be null.\");\n else if (dateFrom !== undefined)\n url_ += \"DateFrom=\" + encodeURIComponent(dateFrom ? \"\" + dateFrom.toISOString() : \"\") + \"&\";\n if (dateTo === null)\n throw new Error(\"The parameter 'dateTo' cannot be null.\");\n else if (dateTo !== undefined)\n url_ += \"DateTo=\" + encodeURIComponent(dateTo ? \"\" + dateTo.toISOString() : \"\") + \"&\";\n if (orderBy === null)\n throw new Error(\"The parameter 'orderBy' cannot be null.\");\n else if (orderBy !== undefined)\n url_ += \"OrderBy=\" + encodeURIComponent(\"\" + orderBy) + \"&\";\n if (assetTypes === null)\n throw new Error(\"The parameter 'assetTypes' cannot be null.\");\n else if (assetTypes !== undefined)\n assetTypes && assetTypes.forEach(item => { url_ += \"AssetTypes=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (assetIds === null)\n throw new Error(\"The parameter 'assetIds' cannot be null.\");\n else if (assetIds !== undefined)\n assetIds && assetIds.forEach(item => { url_ += \"AssetIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteIndicatorDataByFilter(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteIndicatorDataByFilter(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteIndicatorDataByFilter(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DeleteIndicatorDataByCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getIndicatorDataById(indicatorDataId: string): Observable {\n let url_ = this.baseUrl + \"/indicator-data/by-id/{indicatorDataId}\";\n if (indicatorDataId === undefined || indicatorDataId === null)\n throw new Error(\"The parameter 'indicatorDataId' must be defined.\");\n url_ = url_.replace(\"{indicatorDataId}\", encodeURIComponent(\"\" + indicatorDataId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetIndicatorDataById(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetIndicatorDataById(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetIndicatorDataById(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetByIdIndicatorDataQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n calculateIndicatorData(body: CalculateIndicatorDataCommandParams): Observable {\n let url_ = this.baseUrl + \"/indicator-data/calculate\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCalculateIndicatorData(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCalculateIndicatorData(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCalculateIndicatorData(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CalculateIndicatorDataCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param dateFrom (optional) \n * @param dateTo (optional) \n * @param assetIds (optional) \n * @param assetTypes (optional) \n * @param inputType (optional) \n * @param orderBy (optional) \n * @param pageNumber (optional) \n * @param pageSize (optional) \n * @return Success\n */\n getIndicatorDataBy(indicatorId: string, dateFrom: Date | undefined, dateTo: Date | undefined, assetIds: string[] | undefined, assetTypes: AssetType[] | undefined, inputType: InputType | undefined, orderBy: string | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\n let url_ = this.baseUrl + \"/indicator-data/by/{indicatorId}?\";\n if (indicatorId === undefined || indicatorId === null)\n throw new Error(\"The parameter 'indicatorId' must be defined.\");\n url_ = url_.replace(\"{indicatorId}\", encodeURIComponent(\"\" + indicatorId));\n if (dateFrom === null)\n throw new Error(\"The parameter 'dateFrom' cannot be null.\");\n else if (dateFrom !== undefined)\n url_ += \"DateFrom=\" + encodeURIComponent(dateFrom ? \"\" + dateFrom.toISOString() : \"\") + \"&\";\n if (dateTo === null)\n throw new Error(\"The parameter 'dateTo' cannot be null.\");\n else if (dateTo !== undefined)\n url_ += \"DateTo=\" + encodeURIComponent(dateTo ? \"\" + dateTo.toISOString() : \"\") + \"&\";\n if (assetIds === null)\n throw new Error(\"The parameter 'assetIds' cannot be null.\");\n else if (assetIds !== undefined)\n assetIds && assetIds.forEach(item => { url_ += \"AssetIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (assetTypes === null)\n throw new Error(\"The parameter 'assetTypes' cannot be null.\");\n else if (assetTypes !== undefined)\n assetTypes && assetTypes.forEach(item => { url_ += \"AssetTypes=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (inputType === null)\n throw new Error(\"The parameter 'inputType' cannot be null.\");\n else if (inputType !== undefined)\n url_ += \"InputType=\" + encodeURIComponent(\"\" + inputType) + \"&\";\n if (orderBy === null)\n throw new Error(\"The parameter 'orderBy' cannot be null.\");\n else if (orderBy !== undefined)\n url_ += \"OrderBy=\" + encodeURIComponent(\"\" + orderBy) + \"&\";\n if (pageNumber === null)\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\n else if (pageNumber !== undefined)\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\n if (pageSize === null)\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\n else if (pageSize !== undefined)\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetIndicatorDataBy(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetIndicatorDataBy(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetIndicatorDataBy(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetIndicatorDataByQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\nexport interface IIndicatorDataSourceClient {\n /**\n * @return Success\n */\n getAllIndicatorDataSources(): Observable;\n /**\n * @return Success\n */\n getRawDataSourcesCompatibleWithIndicatorDefinition(indicatorDefinitionId: string): Observable;\n /**\n * @return Success\n */\n getIndicatorDefinitionAsDataSourcesCompatibleWithIndicatorDefinition(indicatorDefinitionId: string): Observable;\n}\n\n@Injectable()\nexport class IndicatorDataSourceClient implements IIndicatorDataSourceClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n /**\n * @return Success\n */\n getAllIndicatorDataSources(): Observable {\n let url_ = this.baseUrl + \"/indicator-data-source/all\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllIndicatorDataSources(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllIndicatorDataSources(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllIndicatorDataSources(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetAllIndicatorDataSourcesQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getRawDataSourcesCompatibleWithIndicatorDefinition(indicatorDefinitionId: string): Observable {\n let url_ = this.baseUrl + \"/indicator-data-source/compatible-raw-data-sources/{indicatorDefinitionId}\";\n if (indicatorDefinitionId === undefined || indicatorDefinitionId === null)\n throw new Error(\"The parameter 'indicatorDefinitionId' must be defined.\");\n url_ = url_.replace(\"{indicatorDefinitionId}\", encodeURIComponent(\"\" + indicatorDefinitionId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetRawDataSourcesCompatibleWithIndicatorDefinition(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetRawDataSourcesCompatibleWithIndicatorDefinition(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetRawDataSourcesCompatibleWithIndicatorDefinition(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetRawDataSourcesCompatibleWithIndicatorDefinitionQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getIndicatorDefinitionAsDataSourcesCompatibleWithIndicatorDefinition(indicatorDefinitionId: string): Observable {\n let url_ = this.baseUrl + \"/indicator-data-source/compatible-indicator-definition-as-data-sources/{indicatorDefinitionId}\";\n if (indicatorDefinitionId === undefined || indicatorDefinitionId === null)\n throw new Error(\"The parameter 'indicatorDefinitionId' must be defined.\");\n url_ = url_.replace(\"{indicatorDefinitionId}\", encodeURIComponent(\"\" + indicatorDefinitionId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetIndicatorDefinitionAsDataSourcesCompatibleWithIndicatorDefinition(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetIndicatorDefinitionAsDataSourcesCompatibleWithIndicatorDefinition(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetIndicatorDefinitionAsDataSourcesCompatibleWithIndicatorDefinition(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetIndicatorDefinitionAsDataSourcesCompatibleWithIndicatorDefinitionQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\nexport interface IIndicatorDefinitionClient {\n /**\n * @return Success\n */\n createIndicatorDefinition(body: CreateIndicatorDefinitionCommandParams): Observable;\n /**\n * @return Success\n */\n updateIndicatorDefinition(body: UpdateIndicatorDefinitionCommandParams): Observable;\n /**\n * @return Success\n */\n deleteIndicatorDefinition(id: string, body: DeleteIndicatorDefinitionCommandParams): Observable;\n /**\n * @param name (optional) \n * @param category (optional) \n * @param accessibility (optional) \n * @param orderBy (optional) \n * @param pageNumber (optional) \n * @param pageSize (optional) \n * @return Success\n */\n getAllIndicatorDefinitions(onlyOrganizationIndicatorDefinitions: boolean, name: string | undefined, category: IndicatorCategory[] | undefined, accessibility: IndicatorDefinitionAccessibility[] | undefined, orderBy: string | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\n /**\n * @param name (optional) \n * @param category (optional) \n * @param accessibility (optional) \n * @param orderBy (optional) \n * @param pageNumber (optional) \n * @param pageSize (optional) \n * @return Success\n */\n getAllNamesIndicatorDefinitions(onlyOrganizationIndicatorDefinitions: boolean, name: string | undefined, category: IndicatorCategory[] | undefined, accessibility: IndicatorDefinitionAccessibility[] | undefined, orderBy: string | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\n /**\n * @return Success\n */\n getIndicatorDefinitionById(indicatorDefinitionId: string): Observable;\n /**\n * @return Success\n */\n getDynamicRows(dynamicRowsDataSource: DynamicRowsDataSource): Observable;\n}\n\n@Injectable()\nexport class IndicatorDefinitionClient implements IIndicatorDefinitionClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n /**\n * @return Success\n */\n createIndicatorDefinition(body: CreateIndicatorDefinitionCommandParams): Observable {\n let url_ = this.baseUrl + \"/indicator-definition\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateIndicatorDefinition(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateIndicatorDefinition(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateIndicatorDefinition(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CreateIndicatorDefinitionCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n updateIndicatorDefinition(body: UpdateIndicatorDefinitionCommandParams): Observable {\n let url_ = this.baseUrl + \"/indicator-definition\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateIndicatorDefinition(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateIndicatorDefinition(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateIndicatorDefinition(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UpdateIndicatorDefinitionCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n deleteIndicatorDefinition(id: string, body: DeleteIndicatorDefinitionCommandParams): Observable {\n let url_ = this.baseUrl + \"/indicator-definition/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteIndicatorDefinition(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteIndicatorDefinition(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteIndicatorDefinition(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DeleteIndicatorDefinitionCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @param category (optional) \n * @param accessibility (optional) \n * @param orderBy (optional) \n * @param pageNumber (optional) \n * @param pageSize (optional) \n * @return Success\n */\n getAllIndicatorDefinitions(onlyOrganizationIndicatorDefinitions: boolean, name: string | undefined, category: IndicatorCategory[] | undefined, accessibility: IndicatorDefinitionAccessibility[] | undefined, orderBy: string | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\n let url_ = this.baseUrl + \"/indicator-definition/all?\";\n if (onlyOrganizationIndicatorDefinitions === undefined || onlyOrganizationIndicatorDefinitions === null)\n throw new Error(\"The parameter 'onlyOrganizationIndicatorDefinitions' must be defined and cannot be null.\");\n else\n url_ += \"onlyOrganizationIndicatorDefinitions=\" + encodeURIComponent(\"\" + onlyOrganizationIndicatorDefinitions) + \"&\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (category === null)\n throw new Error(\"The parameter 'category' cannot be null.\");\n else if (category !== undefined)\n category && category.forEach(item => { url_ += \"category=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (accessibility === null)\n throw new Error(\"The parameter 'accessibility' cannot be null.\");\n else if (accessibility !== undefined)\n accessibility && accessibility.forEach(item => { url_ += \"accessibility=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (orderBy === null)\n throw new Error(\"The parameter 'orderBy' cannot be null.\");\n else if (orderBy !== undefined)\n url_ += \"orderBy=\" + encodeURIComponent(\"\" + orderBy) + \"&\";\n if (pageNumber === null)\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\n else if (pageNumber !== undefined)\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\n if (pageSize === null)\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\n else if (pageSize !== undefined)\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllIndicatorDefinitions(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllIndicatorDefinitions(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllIndicatorDefinitions(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetAllIndicatorDefinitionsQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param name (optional) \n * @param category (optional) \n * @param accessibility (optional) \n * @param orderBy (optional) \n * @param pageNumber (optional) \n * @param pageSize (optional) \n * @return Success\n */\n getAllNamesIndicatorDefinitions(onlyOrganizationIndicatorDefinitions: boolean, name: string | undefined, category: IndicatorCategory[] | undefined, accessibility: IndicatorDefinitionAccessibility[] | undefined, orderBy: string | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\n let url_ = this.baseUrl + \"/indicator-definition/all-names?\";\n if (onlyOrganizationIndicatorDefinitions === undefined || onlyOrganizationIndicatorDefinitions === null)\n throw new Error(\"The parameter 'onlyOrganizationIndicatorDefinitions' must be defined and cannot be null.\");\n else\n url_ += \"onlyOrganizationIndicatorDefinitions=\" + encodeURIComponent(\"\" + onlyOrganizationIndicatorDefinitions) + \"&\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (category === null)\n throw new Error(\"The parameter 'category' cannot be null.\");\n else if (category !== undefined)\n category && category.forEach(item => { url_ += \"category=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (accessibility === null)\n throw new Error(\"The parameter 'accessibility' cannot be null.\");\n else if (accessibility !== undefined)\n accessibility && accessibility.forEach(item => { url_ += \"accessibility=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (orderBy === null)\n throw new Error(\"The parameter 'orderBy' cannot be null.\");\n else if (orderBy !== undefined)\n url_ += \"orderBy=\" + encodeURIComponent(\"\" + orderBy) + \"&\";\n if (pageNumber === null)\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\n else if (pageNumber !== undefined)\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\n if (pageSize === null)\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\n else if (pageSize !== undefined)\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllNamesIndicatorDefinitions(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllNamesIndicatorDefinitions(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllNamesIndicatorDefinitions(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetAllNamesIndicatorDefinitionsQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getIndicatorDefinitionById(indicatorDefinitionId: string): Observable {\n let url_ = this.baseUrl + \"/indicator-definition/by-id/{indicatorDefinitionId}\";\n if (indicatorDefinitionId === undefined || indicatorDefinitionId === null)\n throw new Error(\"The parameter 'indicatorDefinitionId' must be defined.\");\n url_ = url_.replace(\"{indicatorDefinitionId}\", encodeURIComponent(\"\" + indicatorDefinitionId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetIndicatorDefinitionById(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetIndicatorDefinitionById(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetIndicatorDefinitionById(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetByIdIndicatorDefinitionQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getDynamicRows(dynamicRowsDataSource: DynamicRowsDataSource): Observable {\n let url_ = this.baseUrl + \"/indicator-definition/dynamic-rows/{dynamicRowsDataSource}\";\n if (dynamicRowsDataSource === undefined || dynamicRowsDataSource === null)\n throw new Error(\"The parameter 'dynamicRowsDataSource' must be defined.\");\n url_ = url_.replace(\"{dynamicRowsDataSource}\", encodeURIComponent(\"\" + dynamicRowsDataSource));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetDynamicRows(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetDynamicRows(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetDynamicRows(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetDynamicRowsQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\nexport interface IOrganizationClient {\n /**\n * @return Success\n */\n createOrganization(body: CreateOrganizationCommandParams): Observable;\n /**\n * @return Success\n */\n updateOrganization(body: UpdateOrganizationCommandParams): Observable;\n /**\n * @return Success\n */\n deleteOrganization(body: DeleteOrganizationCommandParams): Observable;\n /**\n * @param organizationId (optional) \n * @param name (optional) \n * @param countryCodes (optional) \n * @param orderBy (optional) \n * @param pageNumber (optional) \n * @param pageSize (optional) \n * @return Success\n */\n getOrganizationsAndSuborganizationsFilteredBy(organizationId: string | undefined, name: string | undefined, countryCodes: CountryCodes[] | undefined, orderBy: string | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\n /**\n * @return Success\n */\n getOrganizationById(id: string): Observable;\n /**\n * @return Success\n */\n getOrgWithSuborgFlattenedList(id: string): Observable;\n /**\n * @return Success\n */\n getOrganizationList(): Observable;\n /**\n * @return Success\n */\n createSubOrganization(body: CreateSubOrganizationCommandParams): Observable;\n /**\n * @return Success\n */\n deleteSubOrganization(body: DeleteSubOrganizationCommandParams): Observable;\n /**\n * @return Success\n */\n updateSubOrganization(body: UpdateSubOrganizationCommandParams): Observable;\n}\n\n@Injectable()\nexport class OrganizationClient implements IOrganizationClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n /**\n * @return Success\n */\n createOrganization(body: CreateOrganizationCommandParams): Observable {\n let url_ = this.baseUrl + \"/organization\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateOrganization(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateOrganization(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateOrganization(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CreateOrganizationCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n updateOrganization(body: UpdateOrganizationCommandParams): Observable {\n let url_ = this.baseUrl + \"/organization\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateOrganization(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateOrganization(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateOrganization(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UpdateOrganizationCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n deleteOrganization(body: DeleteOrganizationCommandParams): Observable {\n let url_ = this.baseUrl + \"/organization\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteOrganization(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteOrganization(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteOrganization(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DeleteOrganizationCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param organizationId (optional) \n * @param name (optional) \n * @param countryCodes (optional) \n * @param orderBy (optional) \n * @param pageNumber (optional) \n * @param pageSize (optional) \n * @return Success\n */\n getOrganizationsAndSuborganizationsFilteredBy(organizationId: string | undefined, name: string | undefined, countryCodes: CountryCodes[] | undefined, orderBy: string | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\n let url_ = this.baseUrl + \"/organization?\";\n if (organizationId === null)\n throw new Error(\"The parameter 'organizationId' cannot be null.\");\n else if (organizationId !== undefined)\n url_ += \"OrganizationId=\" + encodeURIComponent(\"\" + organizationId) + \"&\";\n if (name === null)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else if (name !== undefined)\n url_ += \"Name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (countryCodes === null)\n throw new Error(\"The parameter 'countryCodes' cannot be null.\");\n else if (countryCodes !== undefined)\n countryCodes && countryCodes.forEach(item => { url_ += \"CountryCodes=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (orderBy === null)\n throw new Error(\"The parameter 'orderBy' cannot be null.\");\n else if (orderBy !== undefined)\n url_ += \"OrderBy=\" + encodeURIComponent(\"\" + orderBy) + \"&\";\n if (pageNumber === null)\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\n else if (pageNumber !== undefined)\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\n if (pageSize === null)\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\n else if (pageSize !== undefined)\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetOrganizationsAndSuborganizationsFilteredBy(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetOrganizationsAndSuborganizationsFilteredBy(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetOrganizationsAndSuborganizationsFilteredBy(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetOrganizationsAndSuborganizationsFilteredByQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getOrganizationById(id: string): Observable {\n let url_ = this.baseUrl + \"/organization/by-id/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetOrganizationById(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetOrganizationById(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetOrganizationById(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetByIdQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getOrgWithSuborgFlattenedList(id: string): Observable {\n let url_ = this.baseUrl + \"/organization/flattened-list/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetOrgWithSuborgFlattenedList(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetOrgWithSuborgFlattenedList(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetOrgWithSuborgFlattenedList(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetOrgWithSuborgFlattenedListQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getOrganizationList(): Observable {\n let url_ = this.baseUrl + \"/organization/organization-list\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetOrganizationList(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetOrganizationList(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetOrganizationList(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetOrganizationListQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n createSubOrganization(body: CreateSubOrganizationCommandParams): Observable {\n let url_ = this.baseUrl + \"/organization/sub-organization\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateSubOrganization(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateSubOrganization(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateSubOrganization(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CreateSubOrganizationCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n deleteSubOrganization(body: DeleteSubOrganizationCommandParams): Observable {\n let url_ = this.baseUrl + \"/organization/sub-organization\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteSubOrganization(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteSubOrganization(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteSubOrganization(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DeleteSubOrganizationCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n updateSubOrganization(body: UpdateSubOrganizationCommandParams): Observable {\n let url_ = this.baseUrl + \"/organization/sub-organization\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateSubOrganization(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateSubOrganization(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateSubOrganization(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UpdateSubOrganizationCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\nexport interface IRegionClient {\n /**\n * @return Success\n */\n createRegion(body: CreateRegionCommandParams): Observable;\n /**\n * @return Success\n */\n updateRegion(body: UpdateRegionCommandParams): Observable;\n /**\n * @return Success\n */\n deleteRegion(id: string): Observable;\n /**\n * @return Success\n */\n getAllNamesRegions(): Observable;\n /**\n * @param orderBy (optional) \n * @return Success\n */\n getListRegions(orderBy: string | undefined): Observable;\n}\n\n@Injectable()\nexport class RegionClient implements IRegionClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n /**\n * @return Success\n */\n createRegion(body: CreateRegionCommandParams): Observable {\n let url_ = this.baseUrl + \"/region\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateRegion(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateRegion(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateRegion(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CreateRegionCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n updateRegion(body: UpdateRegionCommandParams): Observable {\n let url_ = this.baseUrl + \"/region\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateRegion(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateRegion(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateRegion(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UpdateRegionCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n deleteRegion(id: string): Observable {\n let url_ = this.baseUrl + \"/region/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteRegion(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteRegion(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteRegion(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DeleteRegionCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getAllNamesRegions(): Observable {\n let url_ = this.baseUrl + \"/region/all-names\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllNamesRegions(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllNamesRegions(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllNamesRegions(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetAllNamesRegionsQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param orderBy (optional) \n * @return Success\n */\n getListRegions(orderBy: string | undefined): Observable {\n let url_ = this.baseUrl + \"/region/list?\";\n if (orderBy === null)\n throw new Error(\"The parameter 'orderBy' cannot be null.\");\n else if (orderBy !== undefined)\n url_ += \"OrderBy=\" + encodeURIComponent(\"\" + orderBy) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetListRegions(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetListRegions(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetListRegions(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetListRegionsQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\nexport interface IReportClient {\n /**\n * @return Success\n */\n createReport(body: CreateReportCommandParams): Observable;\n /**\n * @return Success\n */\n updateReport(body: UpdateReportCommandParams): Observable;\n /**\n * @return Success\n */\n createBaseOnTemplate(body: CreateReportBasedOnTemplateCommandParams): Observable;\n /**\n * @return Success\n */\n getAllReports(): Observable;\n /**\n * @return Success\n */\n getReportById(reportId: string): Observable;\n /**\n * @return Success\n */\n getCompleteReportById(reportId: string): Observable;\n /**\n * @return Success\n */\n getCompleteTokenAuthReportById(reportId: string, token: string): Observable;\n /**\n * @return Success\n */\n deleteReport(id: string): Observable;\n /**\n * @return Success\n */\n duplicateReport(sourceReportId: string): Observable;\n /**\n * @param body (optional) \n * @return Success\n */\n changeTopicDeactivated(body: ChangeTopicDeactivatedCommandParams | undefined): Observable;\n /**\n * @return Success\n */\n addMainSubject(reportId: string, name: string): Observable;\n /**\n * @return Success\n */\n updateMainSubject(reportId: string, mainLevelId: string, name: string): Observable;\n /**\n * @return Success\n */\n deleteMainSubject(body: DeleteMainSubjectCommandParams): Observable;\n /**\n * @return Success\n */\n moveMainSubject(body: MoveMainSubjectCommandParams): Observable;\n /**\n * @return Success\n */\n addTopic(reportId: string, mainLevelId: string, name: string): Observable;\n /**\n * @return Success\n */\n editTopic(reportId: string, mainLevelId: string, topicId: string, name: string): Observable;\n /**\n * @return Success\n */\n deleteTopic(body: DeleteTopicCommandParams): Observable;\n /**\n * @return Success\n */\n moveTopic(body: MoveTopicCommandParams): Observable;\n /**\n * @return Success\n */\n getCoverPhoto(blobName: string): Observable;\n}\n\n@Injectable()\nexport class ReportClient implements IReportClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n /**\n * @return Success\n */\n createReport(body: CreateReportCommandParams): Observable {\n let url_ = this.baseUrl + \"/report\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateReport(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateReport(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateReport(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CreateReportCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n updateReport(body: UpdateReportCommandParams): Observable {\n let url_ = this.baseUrl + \"/report\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateReport(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateReport(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateReport(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UpdateReportCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n createBaseOnTemplate(body: CreateReportBasedOnTemplateCommandParams): Observable {\n let url_ = this.baseUrl + \"/report/create-base-on-template\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateBaseOnTemplate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateBaseOnTemplate(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateBaseOnTemplate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CreateReportBasedOnTemplateCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getAllReports(): Observable {\n let url_ = this.baseUrl + \"/report/all\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllReports(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllReports(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllReports(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetReportsQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getReportById(reportId: string): Observable {\n let url_ = this.baseUrl + \"/report/by-id/{reportId}\";\n if (reportId === undefined || reportId === null)\n throw new Error(\"The parameter 'reportId' must be defined.\");\n url_ = url_.replace(\"{reportId}\", encodeURIComponent(\"\" + reportId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetReportById(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetReportById(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetReportById(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetReportByIdQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getCompleteReportById(reportId: string): Observable {\n let url_ = this.baseUrl + \"/report/complete/by-id/{reportId}\";\n if (reportId === undefined || reportId === null)\n throw new Error(\"The parameter 'reportId' must be defined.\");\n url_ = url_.replace(\"{reportId}\", encodeURIComponent(\"\" + reportId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetCompleteReportById(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetCompleteReportById(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetCompleteReportById(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetCompleteReportDataVm.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getCompleteTokenAuthReportById(reportId: string, token: string): Observable {\n let url_ = this.baseUrl + \"/report/complete/token-auth/by-id/{reportId}?\";\n if (reportId === undefined || reportId === null)\n throw new Error(\"The parameter 'reportId' must be defined.\");\n url_ = url_.replace(\"{reportId}\", encodeURIComponent(\"\" + reportId));\n if (token === undefined || token === null)\n throw new Error(\"The parameter 'token' must be defined and cannot be null.\");\n else\n url_ += \"token=\" + encodeURIComponent(\"\" + token) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetCompleteTokenAuthReportById(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetCompleteTokenAuthReportById(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetCompleteTokenAuthReportById(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetCompleteReportDataVm.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n deleteReport(id: string): Observable {\n let url_ = this.baseUrl + \"/report/delete/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteReport(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteReport(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteReport(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DeleteReportCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n duplicateReport(sourceReportId: string): Observable {\n let url_ = this.baseUrl + \"/report/duplicate/{sourceReportId}\";\n if (sourceReportId === undefined || sourceReportId === null)\n throw new Error(\"The parameter 'sourceReportId' must be defined.\");\n url_ = url_.replace(\"{sourceReportId}\", encodeURIComponent(\"\" + sourceReportId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDuplicateReport(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDuplicateReport(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDuplicateReport(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DuplicateReportCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param body (optional) \n * @return Success\n */\n changeTopicDeactivated(body: ChangeTopicDeactivatedCommandParams | undefined): Observable {\n let url_ = this.baseUrl + \"/report/change-topic-deactivated\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processChangeTopicDeactivated(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processChangeTopicDeactivated(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processChangeTopicDeactivated(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ChangeTopicDeactivatedCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n addMainSubject(reportId: string, name: string): Observable {\n let url_ = this.baseUrl + \"/report/main-subject?\";\n if (reportId === undefined || reportId === null)\n throw new Error(\"The parameter 'reportId' must be defined and cannot be null.\");\n else\n url_ += \"reportId=\" + encodeURIComponent(\"\" + reportId) + \"&\";\n if (name === undefined || name === null)\n throw new Error(\"The parameter 'name' must be defined and cannot be null.\");\n else\n url_ += \"name=\" + encodeURIComponent(\"\" + name) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAddMainSubject(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAddMainSubject(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processAddMainSubject(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ReportMainLevel.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n updateMainSubject(reportId: string, mainLevelId: string, name: string): Observable {\n let url_ = this.baseUrl + \"/report/main-subject?\";\n if (reportId === undefined || reportId === null)\n throw new Error(\"The parameter 'reportId' must be defined and cannot be null.\");\n else\n url_ += \"reportId=\" + encodeURIComponent(\"\" + reportId) + \"&\";\n if (mainLevelId === undefined || mainLevelId === null)\n throw new Error(\"The parameter 'mainLevelId' must be defined and cannot be null.\");\n else\n url_ += \"mainLevelId=\" + encodeURIComponent(\"\" + mainLevelId) + \"&\";\n if (name === undefined || name === null)\n throw new Error(\"The parameter 'name' must be defined and cannot be null.\");\n else\n url_ += \"name=\" + encodeURIComponent(\"\" + name) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateMainSubject(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateMainSubject(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateMainSubject(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n deleteMainSubject(body: DeleteMainSubjectCommandParams): Observable {\n let url_ = this.baseUrl + \"/report/main-subject\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteMainSubject(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteMainSubject(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteMainSubject(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DeleteMainSubjectCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n moveMainSubject(body: MoveMainSubjectCommandParams): Observable {\n let url_ = this.baseUrl + \"/report/main-subject/move\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processMoveMainSubject(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processMoveMainSubject(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processMoveMainSubject(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = MoveMainSubjectCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n addTopic(reportId: string, mainLevelId: string, name: string): Observable {\n let url_ = this.baseUrl + \"/report/topic?\";\n if (reportId === undefined || reportId === null)\n throw new Error(\"The parameter 'reportId' must be defined and cannot be null.\");\n else\n url_ += \"reportId=\" + encodeURIComponent(\"\" + reportId) + \"&\";\n if (mainLevelId === undefined || mainLevelId === null)\n throw new Error(\"The parameter 'mainLevelId' must be defined and cannot be null.\");\n else\n url_ += \"mainLevelId=\" + encodeURIComponent(\"\" + mainLevelId) + \"&\";\n if (name === undefined || name === null)\n throw new Error(\"The parameter 'name' must be defined and cannot be null.\");\n else\n url_ += \"name=\" + encodeURIComponent(\"\" + name) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAddTopic(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAddTopic(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processAddTopic(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ReportTopic.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n editTopic(reportId: string, mainLevelId: string, topicId: string, name: string): Observable {\n let url_ = this.baseUrl + \"/report/topic?\";\n if (reportId === undefined || reportId === null)\n throw new Error(\"The parameter 'reportId' must be defined and cannot be null.\");\n else\n url_ += \"reportId=\" + encodeURIComponent(\"\" + reportId) + \"&\";\n if (mainLevelId === undefined || mainLevelId === null)\n throw new Error(\"The parameter 'mainLevelId' must be defined and cannot be null.\");\n else\n url_ += \"mainLevelId=\" + encodeURIComponent(\"\" + mainLevelId) + \"&\";\n if (topicId === undefined || topicId === null)\n throw new Error(\"The parameter 'topicId' must be defined and cannot be null.\");\n else\n url_ += \"topicId=\" + encodeURIComponent(\"\" + topicId) + \"&\";\n if (name === undefined || name === null)\n throw new Error(\"The parameter 'name' must be defined and cannot be null.\");\n else\n url_ += \"name=\" + encodeURIComponent(\"\" + name) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processEditTopic(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processEditTopic(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processEditTopic(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n deleteTopic(body: DeleteTopicCommandParams): Observable {\n let url_ = this.baseUrl + \"/report/topic\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteTopic(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteTopic(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteTopic(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DeleteTopicCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n moveTopic(body: MoveTopicCommandParams): Observable {\n let url_ = this.baseUrl + \"/report/topic/move\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processMoveTopic(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processMoveTopic(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processMoveTopic(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = MoveTopicCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getCoverPhoto(blobName: string): Observable {\n let url_ = this.baseUrl + \"/report/cover-photo/{blobName}\";\n if (blobName === undefined || blobName === null)\n throw new Error(\"The parameter 'blobName' must be defined.\");\n url_ = url_.replace(\"{blobName}\", encodeURIComponent(\"\" + blobName));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetCoverPhoto(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetCoverPhoto(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetCoverPhoto(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return _observableOf(null as any);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\nexport interface ISectorClient {\n /**\n * @return Success\n */\n getAllSectors(): Observable;\n}\n\n@Injectable()\nexport class SectorClient implements ISectorClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n /**\n * @return Success\n */\n getAllSectors(): Observable {\n let url_ = this.baseUrl + \"/sector/all\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllSectors(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllSectors(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllSectors(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetAllSectorsQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\nexport interface ISupportTopicClient {\n /**\n * @return Success\n */\n getAllSupportTopics(): Observable;\n}\n\n@Injectable()\nexport class SupportTopicClient implements ISupportTopicClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n /**\n * @return Success\n */\n getAllSupportTopics(): Observable {\n let url_ = this.baseUrl + \"/support-topic/all\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllSupportTopics(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllSupportTopics(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllSupportTopics(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetAllSupportTopicsQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\nexport interface ISupportTopicItemClient {\n /**\n * @return Success\n */\n getSupportTopicItemsByTopic(supportTopicId: string): Observable;\n /**\n * @return Success\n */\n getSupportTopicItem(supportTopicItemId: string): Observable;\n /**\n * @return Success\n */\n createSupportTopicItem(body: CreateSupportTopicItemCommandParams): Observable;\n /**\n * @return Success\n */\n updateSupportTopicItem(body: UpdateSupportTopicItemCommandParams): Observable;\n /**\n * @return Success\n */\n deleteSupportTopicItem(body: DeleteSupportTopicItemCommandParams): Observable;\n /**\n * @return Success\n */\n moveSupportTopicItem(body: MoveSupportTopicItemCommandParams): Observable;\n /**\n * @return Success\n */\n getSupportTopicItemComponents(supportTopicItemId: string): Observable;\n /**\n * @return Success\n */\n createSupportComponent(body: CreateSupportComponentCommandParams): Observable;\n /**\n * @return Success\n */\n updateSupportComponent(body: UpdateSupportComponentCommandParams): Observable;\n /**\n * @return Success\n */\n deleteSupportComponent(body: DeleteSupportComponentCommandParams): Observable;\n /**\n * @return Success\n */\n moveSupportComponent(body: MoveSupportComponentCommandParams): Observable;\n}\n\n@Injectable()\nexport class SupportTopicItemClient implements ISupportTopicItemClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n /**\n * @return Success\n */\n getSupportTopicItemsByTopic(supportTopicId: string): Observable {\n let url_ = this.baseUrl + \"/support-topic-item/by-topic?\";\n if (supportTopicId === undefined || supportTopicId === null)\n throw new Error(\"The parameter 'supportTopicId' must be defined and cannot be null.\");\n else\n url_ += \"supportTopicId=\" + encodeURIComponent(\"\" + supportTopicId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetSupportTopicItemsByTopic(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetSupportTopicItemsByTopic(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetSupportTopicItemsByTopic(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetSupportTopicItemsByTopicQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getSupportTopicItem(supportTopicItemId: string): Observable {\n let url_ = this.baseUrl + \"/support-topic-item?\";\n if (supportTopicItemId === undefined || supportTopicItemId === null)\n throw new Error(\"The parameter 'supportTopicItemId' must be defined and cannot be null.\");\n else\n url_ += \"supportTopicItemId=\" + encodeURIComponent(\"\" + supportTopicItemId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetSupportTopicItem(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetSupportTopicItem(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetSupportTopicItem(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = SupportTopicItem.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n createSupportTopicItem(body: CreateSupportTopicItemCommandParams): Observable {\n let url_ = this.baseUrl + \"/support-topic-item\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateSupportTopicItem(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateSupportTopicItem(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateSupportTopicItem(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CreateSupportTopicItemCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n updateSupportTopicItem(body: UpdateSupportTopicItemCommandParams): Observable {\n let url_ = this.baseUrl + \"/support-topic-item\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateSupportTopicItem(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateSupportTopicItem(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateSupportTopicItem(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UpdateSupportTopicItemCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n deleteSupportTopicItem(body: DeleteSupportTopicItemCommandParams): Observable {\n let url_ = this.baseUrl + \"/support-topic-item\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteSupportTopicItem(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteSupportTopicItem(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteSupportTopicItem(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DeleteSupportTopicItemCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n moveSupportTopicItem(body: MoveSupportTopicItemCommandParams): Observable {\n let url_ = this.baseUrl + \"/support-topic-item/move\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processMoveSupportTopicItem(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processMoveSupportTopicItem(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processMoveSupportTopicItem(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = MoveSupportTopicItemCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getSupportTopicItemComponents(supportTopicItemId: string): Observable {\n let url_ = this.baseUrl + \"/support-topic-item/component?\";\n if (supportTopicItemId === undefined || supportTopicItemId === null)\n throw new Error(\"The parameter 'supportTopicItemId' must be defined and cannot be null.\");\n else\n url_ += \"supportTopicItemId=\" + encodeURIComponent(\"\" + supportTopicItemId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetSupportTopicItemComponents(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetSupportTopicItemComponents(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetSupportTopicItemComponents(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(Component.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n createSupportComponent(body: CreateSupportComponentCommandParams): Observable {\n let url_ = this.baseUrl + \"/support-topic-item/component\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateSupportComponent(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateSupportComponent(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateSupportComponent(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CreateSupportComponentCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n updateSupportComponent(body: UpdateSupportComponentCommandParams): Observable {\n let url_ = this.baseUrl + \"/support-topic-item/component\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateSupportComponent(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateSupportComponent(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateSupportComponent(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UpdateSupportComponentCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n deleteSupportComponent(body: DeleteSupportComponentCommandParams): Observable {\n let url_ = this.baseUrl + \"/support-topic-item/component\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteSupportComponent(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteSupportComponent(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteSupportComponent(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DeleteSupportComponentCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n moveSupportComponent(body: MoveSupportComponentCommandParams): Observable {\n let url_ = this.baseUrl + \"/support-topic-item/component/move\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processMoveSupportComponent(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processMoveSupportComponent(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processMoveSupportComponent(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = MoveSupportComponentCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\nexport interface ITemplateClient {\n /**\n * @param reportId (optional) \n * @param global (optional) \n * @param coverPhoto (optional) \n * @return Success\n */\n saveReportAsTemplate(name: string, shortDescription: string, description: string, reportId: string | undefined, global: boolean | undefined, coverPhoto: FileParameter | undefined): Observable;\n /**\n * @return Success\n */\n getTemplate(templateId: string): Observable;\n /**\n * @param global (optional) \n * @param coverPhoto (optional) \n * @return Success\n */\n updateTemplate(templateId: string, name: string, shortDescription: string, description: string, global: boolean | undefined, coverPhoto: FileParameter | undefined): Observable;\n /**\n * @param templateId (optional) \n * @return Success\n */\n removeTemplate(templateId: string | undefined): Observable;\n /**\n * @param includeGlobal (optional) \n * @return Success\n */\n getAllTemplates(includeGlobal: boolean | undefined): Observable;\n /**\n * @return Success\n */\n canCreateAsGlobalTemplate(sourceReportId: string): Observable;\n}\n\n@Injectable()\nexport class TemplateClient implements ITemplateClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n /**\n * @param reportId (optional) \n * @param global (optional) \n * @param coverPhoto (optional) \n * @return Success\n */\n saveReportAsTemplate(name: string, shortDescription: string, description: string, reportId: string | undefined, global: boolean | undefined, coverPhoto: FileParameter | undefined): Observable {\n let url_ = this.baseUrl + \"/template/save-report-as-template?\";\n if (name === undefined || name === null)\n throw new Error(\"The parameter 'name' must be defined and cannot be null.\");\n else\n url_ += \"name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (shortDescription === undefined || shortDescription === null)\n throw new Error(\"The parameter 'shortDescription' must be defined and cannot be null.\");\n else\n url_ += \"shortDescription=\" + encodeURIComponent(\"\" + shortDescription) + \"&\";\n if (description === undefined || description === null)\n throw new Error(\"The parameter 'description' must be defined and cannot be null.\");\n else\n url_ += \"description=\" + encodeURIComponent(\"\" + description) + \"&\";\n if (reportId === null)\n throw new Error(\"The parameter 'reportId' cannot be null.\");\n else if (reportId !== undefined)\n url_ += \"reportId=\" + encodeURIComponent(\"\" + reportId) + \"&\";\n if (global === null)\n throw new Error(\"The parameter 'global' cannot be null.\");\n else if (global !== undefined)\n url_ += \"global=\" + encodeURIComponent(\"\" + global) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (coverPhoto === null || coverPhoto === undefined)\n throw new Error(\"The parameter 'coverPhoto' cannot be null.\");\n else\n content_.append(\"coverPhoto\", coverPhoto.data, coverPhoto.fileName ? coverPhoto.fileName : \"coverPhoto\");\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSaveReportAsTemplate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSaveReportAsTemplate(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSaveReportAsTemplate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ReportTemplate.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getTemplate(templateId: string): Observable {\n let url_ = this.baseUrl + \"/template/{templateId}\";\n if (templateId === undefined || templateId === null)\n throw new Error(\"The parameter 'templateId' must be defined.\");\n url_ = url_.replace(\"{templateId}\", encodeURIComponent(\"\" + templateId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetTemplate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetTemplate(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetTemplate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ReportTemplate.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param global (optional) \n * @param coverPhoto (optional) \n * @return Success\n */\n updateTemplate(templateId: string, name: string, shortDescription: string, description: string, global: boolean | undefined, coverPhoto: FileParameter | undefined): Observable {\n let url_ = this.baseUrl + \"/template?\";\n if (templateId === undefined || templateId === null)\n throw new Error(\"The parameter 'templateId' must be defined and cannot be null.\");\n else\n url_ += \"templateId=\" + encodeURIComponent(\"\" + templateId) + \"&\";\n if (name === undefined || name === null)\n throw new Error(\"The parameter 'name' must be defined and cannot be null.\");\n else\n url_ += \"name=\" + encodeURIComponent(\"\" + name) + \"&\";\n if (shortDescription === undefined || shortDescription === null)\n throw new Error(\"The parameter 'shortDescription' must be defined and cannot be null.\");\n else\n url_ += \"shortDescription=\" + encodeURIComponent(\"\" + shortDescription) + \"&\";\n if (description === undefined || description === null)\n throw new Error(\"The parameter 'description' must be defined and cannot be null.\");\n else\n url_ += \"description=\" + encodeURIComponent(\"\" + description) + \"&\";\n if (global === null)\n throw new Error(\"The parameter 'global' cannot be null.\");\n else if (global !== undefined)\n url_ += \"global=\" + encodeURIComponent(\"\" + global) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (coverPhoto === null || coverPhoto === undefined)\n throw new Error(\"The parameter 'coverPhoto' cannot be null.\");\n else\n content_.append(\"coverPhoto\", coverPhoto.data, coverPhoto.fileName ? coverPhoto.fileName : \"coverPhoto\");\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateTemplate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateTemplate(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateTemplate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ReportTemplate.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param templateId (optional) \n * @return Success\n */\n removeTemplate(templateId: string | undefined): Observable {\n let url_ = this.baseUrl + \"/template?\";\n if (templateId === null)\n throw new Error(\"The parameter 'templateId' cannot be null.\");\n else if (templateId !== undefined)\n url_ += \"templateId=\" + encodeURIComponent(\"\" + templateId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processRemoveTemplate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processRemoveTemplate(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processRemoveTemplate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = ReportTemplate.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param includeGlobal (optional) \n * @return Success\n */\n getAllTemplates(includeGlobal: boolean | undefined): Observable {\n let url_ = this.baseUrl + \"/template/all-templates?\";\n if (includeGlobal === null)\n throw new Error(\"The parameter 'includeGlobal' cannot be null.\");\n else if (includeGlobal !== undefined)\n url_ += \"includeGlobal=\" + encodeURIComponent(\"\" + includeGlobal) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllTemplates(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllTemplates(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllTemplates(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetTemplatesQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n canCreateAsGlobalTemplate(sourceReportId: string): Observable {\n let url_ = this.baseUrl + \"/template/can-create-as-global-template?\";\n if (sourceReportId === undefined || sourceReportId === null)\n throw new Error(\"The parameter 'sourceReportId' must be defined and cannot be null.\");\n else\n url_ += \"sourceReportId=\" + encodeURIComponent(\"\" + sourceReportId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCanCreateAsGlobalTemplate(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCanCreateAsGlobalTemplate(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCanCreateAsGlobalTemplate(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CanCreateAsGlobalTemplateQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\nexport interface ITopicItemClient {\n /**\n * @return Success\n */\n createTopicItem(body: CreateTopicItemCommandParams): Observable;\n /**\n * @return Success\n */\n updateTopicItem(body: UpdateTopicItemCommandParams): Observable;\n /**\n * @param topicItemId (optional) \n * @return Success\n */\n getTopicItem(topicItemId: string | undefined): Observable;\n /**\n * @return Success\n */\n removeTopicItem(body: DeleteTopicItemCommandParams): Observable;\n /**\n * @return Success\n */\n refreshTopicItemNewIndicatorValues(topicItemId: string): Observable;\n /**\n * @param reportId (optional) \n * @return Success\n */\n getReportAllTopicItems(reportId: string | undefined): Observable;\n /**\n * @param reportId (optional) \n * @param mainLevelId (optional) \n * @param topicId (optional) \n * @return Success\n */\n getTopicTopicItems(reportId: string | undefined, mainLevelId: string | undefined, topicId: string | undefined): Observable;\n /**\n * @return Success\n */\n getYourTopicItemsYouAreResponsibleFor(): Observable;\n /**\n * @return Success\n */\n moveTopicItem(body: MoveTopicItemCommandParams): Observable;\n /**\n * @return Success\n */\n updateStatus(body: UpdateTopicItemStatusCommandParams): Observable;\n /**\n * @return Success\n */\n updateResponsiblePerson(body: UpdateTopicItemResponsiblePersonCommandParams): Observable;\n /**\n * @return Success\n */\n updateVisibility(body: UpdateTopicItemVisibilityCommandParams): Observable;\n /**\n * @return Success\n */\n addComponent(body: CreateComponentCommandParams): Observable;\n /**\n * @return Success\n */\n updateComponent(body: UpdateComponentCommandParams): Observable;\n /**\n * @return Success\n */\n getTopicItemComponents(topicItemId: string, reportId: string): Observable;\n /**\n * @return Success\n */\n removeComponent(body: DeleteComponentCommandParams): Observable;\n /**\n * @return Success\n */\n moveComponent(body: MoveComponentCommandParams): Observable;\n /**\n * @return Success\n */\n addIndicatorToComponent(body: AddIndicatorToComponentCommandParams): Observable;\n /**\n * @return Success\n */\n removeIndicatorFromComponent(body: RemoveIndicatorFromComponentCommandParams): Observable;\n /**\n * @return Success\n */\n removeIndicatorComponent(body: RemoveIndicatorComponentCommandParams): Observable;\n}\n\n@Injectable()\nexport class TopicItemClient implements ITopicItemClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n /**\n * @return Success\n */\n createTopicItem(body: CreateTopicItemCommandParams): Observable {\n let url_ = this.baseUrl + \"/topicitem\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateTopicItem(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateTopicItem(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateTopicItem(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CreateTopicItemCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n updateTopicItem(body: UpdateTopicItemCommandParams): Observable {\n let url_ = this.baseUrl + \"/topicitem\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateTopicItem(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateTopicItem(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateTopicItem(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UpdateTopicItemCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param topicItemId (optional) \n * @return Success\n */\n getTopicItem(topicItemId: string | undefined): Observable {\n let url_ = this.baseUrl + \"/topicitem?\";\n if (topicItemId === null)\n throw new Error(\"The parameter 'topicItemId' cannot be null.\");\n else if (topicItemId !== undefined)\n url_ += \"topicItemId=\" + encodeURIComponent(\"\" + topicItemId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetTopicItem(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetTopicItem(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetTopicItem(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = TopicItemVm.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n removeTopicItem(body: DeleteTopicItemCommandParams): Observable {\n let url_ = this.baseUrl + \"/topicitem\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processRemoveTopicItem(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processRemoveTopicItem(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processRemoveTopicItem(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DeleteTopicItemCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n refreshTopicItemNewIndicatorValues(topicItemId: string): Observable {\n let url_ = this.baseUrl + \"/topicitem/refresh-data-values/{topicItemId}\";\n if (topicItemId === undefined || topicItemId === null)\n throw new Error(\"The parameter 'topicItemId' must be defined.\");\n url_ = url_.replace(\"{topicItemId}\", encodeURIComponent(\"\" + topicItemId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processRefreshTopicItemNewIndicatorValues(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processRefreshTopicItemNewIndicatorValues(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processRefreshTopicItemNewIndicatorValues(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = RefreshTopicItemNewIndicatorValuesCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param reportId (optional) \n * @return Success\n */\n getReportAllTopicItems(reportId: string | undefined): Observable {\n let url_ = this.baseUrl + \"/topicitem/all?\";\n if (reportId === null)\n throw new Error(\"The parameter 'reportId' cannot be null.\");\n else if (reportId !== undefined)\n url_ += \"reportId=\" + encodeURIComponent(\"\" + reportId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetReportAllTopicItems(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetReportAllTopicItems(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetReportAllTopicItems(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReportAllTopicItemVm.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param reportId (optional) \n * @param mainLevelId (optional) \n * @param topicId (optional) \n * @return Success\n */\n getTopicTopicItems(reportId: string | undefined, mainLevelId: string | undefined, topicId: string | undefined): Observable {\n let url_ = this.baseUrl + \"/topicitem/by-topic?\";\n if (reportId === null)\n throw new Error(\"The parameter 'reportId' cannot be null.\");\n else if (reportId !== undefined)\n url_ += \"reportId=\" + encodeURIComponent(\"\" + reportId) + \"&\";\n if (mainLevelId === null)\n throw new Error(\"The parameter 'mainLevelId' cannot be null.\");\n else if (mainLevelId !== undefined)\n url_ += \"mainLevelId=\" + encodeURIComponent(\"\" + mainLevelId) + \"&\";\n if (topicId === null)\n throw new Error(\"The parameter 'topicId' cannot be null.\");\n else if (topicId !== undefined)\n url_ += \"topicId=\" + encodeURIComponent(\"\" + topicId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetTopicTopicItems(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetTopicTopicItems(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetTopicTopicItems(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ReportTopicItemVm.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getYourTopicItemsYouAreResponsibleFor(): Observable {\n let url_ = this.baseUrl + \"/topicitem/by-responsible-person\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetYourTopicItemsYouAreResponsibleFor(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetYourTopicItemsYouAreResponsibleFor(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetYourTopicItemsYouAreResponsibleFor(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetResponsiblePersonTopicItemsQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n moveTopicItem(body: MoveTopicItemCommandParams): Observable {\n let url_ = this.baseUrl + \"/topicitem/move\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processMoveTopicItem(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processMoveTopicItem(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processMoveTopicItem(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = MoveTopicItemCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n updateStatus(body: UpdateTopicItemStatusCommandParams): Observable {\n let url_ = this.baseUrl + \"/topicitem/status\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateStatus(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateStatus(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateStatus(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UpdateTopicItemStatusCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n updateResponsiblePerson(body: UpdateTopicItemResponsiblePersonCommandParams): Observable {\n let url_ = this.baseUrl + \"/topicitem/responsible-person\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateResponsiblePerson(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateResponsiblePerson(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateResponsiblePerson(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UpdateTopicItemResponsiblePersonCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n updateVisibility(body: UpdateTopicItemVisibilityCommandParams): Observable {\n let url_ = this.baseUrl + \"/topicitem/visibility\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateVisibility(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateVisibility(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateVisibility(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UpdateTopicItemVisibilityCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n addComponent(body: CreateComponentCommandParams): Observable {\n let url_ = this.baseUrl + \"/topicitem/component\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAddComponent(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAddComponent(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processAddComponent(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CreateComponentCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n updateComponent(body: UpdateComponentCommandParams): Observable {\n let url_ = this.baseUrl + \"/topicitem/component\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateComponent(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateComponent(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateComponent(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UpdateComponentCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getTopicItemComponents(topicItemId: string, reportId: string): Observable {\n let url_ = this.baseUrl + \"/topicitem/component?\";\n if (topicItemId === undefined || topicItemId === null)\n throw new Error(\"The parameter 'topicItemId' must be defined and cannot be null.\");\n else\n url_ += \"topicItemId=\" + encodeURIComponent(\"\" + topicItemId) + \"&\";\n if (reportId === undefined || reportId === null)\n throw new Error(\"The parameter 'reportId' must be defined and cannot be null.\");\n else\n url_ += \"reportId=\" + encodeURIComponent(\"\" + reportId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetTopicItemComponents(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetTopicItemComponents(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetTopicItemComponents(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(GetTopicItemsComponentsVm.fromJS(item));\n }\n else {\n result200 = null;\n }\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n removeComponent(body: DeleteComponentCommandParams): Observable {\n let url_ = this.baseUrl + \"/topicitem/component\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processRemoveComponent(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processRemoveComponent(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processRemoveComponent(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DeleteComponentCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n moveComponent(body: MoveComponentCommandParams): Observable {\n let url_ = this.baseUrl + \"/topicitem/component/move\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processMoveComponent(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processMoveComponent(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processMoveComponent(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = MoveComponentCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n addIndicatorToComponent(body: AddIndicatorToComponentCommandParams): Observable {\n let url_ = this.baseUrl + \"/topicitem/add-indicator-to-component\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processAddIndicatorToComponent(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processAddIndicatorToComponent(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processAddIndicatorToComponent(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = AddIndicatorToComponentCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n removeIndicatorFromComponent(body: RemoveIndicatorFromComponentCommandParams): Observable {\n let url_ = this.baseUrl + \"/topicitem/remove-indicator-from-component\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processRemoveIndicatorFromComponent(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processRemoveIndicatorFromComponent(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processRemoveIndicatorFromComponent(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = RemoveIndicatorFromComponentCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n removeIndicatorComponent(body: RemoveIndicatorComponentCommandParams): Observable {\n let url_ = this.baseUrl + \"/topicitem/remove-indicator-component\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processRemoveIndicatorComponent(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processRemoveIndicatorComponent(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processRemoveIndicatorComponent(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = RemoveIndicatorComponentCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\nexport interface IUnitClient {\n /**\n * @return Success\n */\n createUnit(body: CreateUnitCommandParams): Observable;\n /**\n * @return Success\n */\n updateUnit(body: UpdateUnitCommandParams): Observable;\n /**\n * @return Success\n */\n deleteUnit(body: string): Observable;\n /**\n * @param orderBy (optional) \n * @return Success\n */\n getAllUnits(orderBy: string | undefined): Observable;\n /**\n * @return Success\n */\n getUnitByKey(key: string): Observable;\n}\n\n@Injectable()\nexport class UnitClient implements IUnitClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n /**\n * @return Success\n */\n createUnit(body: CreateUnitCommandParams): Observable {\n let url_ = this.baseUrl + \"/unit\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateUnit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateUnit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateUnit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CreateUnitCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n updateUnit(body: UpdateUnitCommandParams): Observable {\n let url_ = this.baseUrl + \"/unit\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateUnit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateUnit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateUnit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UpdateUnitCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n deleteUnit(body: string): Observable {\n let url_ = this.baseUrl + \"/unit\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteUnit(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteUnit(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteUnit(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DeleteUnitCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param orderBy (optional) \n * @return Success\n */\n getAllUnits(orderBy: string | undefined): Observable {\n let url_ = this.baseUrl + \"/unit/all?\";\n if (orderBy === null)\n throw new Error(\"The parameter 'orderBy' cannot be null.\");\n else if (orderBy !== undefined)\n url_ += \"OrderBy=\" + encodeURIComponent(\"\" + orderBy) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetAllUnits(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetAllUnits(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetAllUnits(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetAllUnitsQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getUnitByKey(key: string): Observable {\n let url_ = this.baseUrl + \"/unit/by-key/{key}\";\n if (key === undefined || key === null)\n throw new Error(\"The parameter 'key' must be defined.\");\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetUnitByKey(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetUnitByKey(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetUnitByKey(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetUnitByKeyQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\nexport interface IUserClient {\n /**\n * @return Success\n */\n createUser(body: CreateUserCommandParams): Observable;\n /**\n * @return Success\n */\n updateUser(body: UpdateUserCommandParams): Observable;\n /**\n * @return Success\n */\n deleteUser(body: DeleteUserCommandParams): Observable;\n /**\n * @param organizationId (optional) \n * @param nameOrEmail (optional) \n * @param userRole (optional) \n * @param orderBy (optional) \n * @param pageNumber (optional) \n * @param pageSize (optional) \n * @return Success\n */\n getUsersFilteredBy(organizationId: string | undefined, nameOrEmail: string | undefined, userRole: UserRole[] | undefined, orderBy: string | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable;\n /**\n * @return Success\n */\n setOnboardedUser(): Observable;\n /**\n * @return Success\n */\n updateUserProfile(body: UpdateUserProfileCommandParams): Observable;\n /**\n * @return Success\n */\n getOrganizationUsers(organizationId: string): Observable;\n /**\n * @return Success\n */\n getUserById(id: string): Observable;\n /**\n * @return Success\n */\n checkUserExistsForEmail(email: string): Observable;\n}\n\n@Injectable()\nexport class UserClient implements IUserClient {\n private http: HttpClient;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\n this.http = http;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n /**\n * @return Success\n */\n createUser(body: CreateUserCommandParams): Observable {\n let url_ = this.baseUrl + \"/user\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCreateUser(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCreateUser(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCreateUser(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CreateUserCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n updateUser(body: UpdateUserCommandParams): Observable {\n let url_ = this.baseUrl + \"/user\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateUser(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateUser(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateUser(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UpdateUserCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n deleteUser(body: DeleteUserCommandParams): Observable {\n let url_ = this.baseUrl + \"/user\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processDeleteUser(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processDeleteUser(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processDeleteUser(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = DeleteUserCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @param organizationId (optional) \n * @param nameOrEmail (optional) \n * @param userRole (optional) \n * @param orderBy (optional) \n * @param pageNumber (optional) \n * @param pageSize (optional) \n * @return Success\n */\n getUsersFilteredBy(organizationId: string | undefined, nameOrEmail: string | undefined, userRole: UserRole[] | undefined, orderBy: string | undefined, pageNumber: number | undefined, pageSize: number | undefined): Observable {\n let url_ = this.baseUrl + \"/user?\";\n if (organizationId === null)\n throw new Error(\"The parameter 'organizationId' cannot be null.\");\n else if (organizationId !== undefined)\n url_ += \"OrganizationId=\" + encodeURIComponent(\"\" + organizationId) + \"&\";\n if (nameOrEmail === null)\n throw new Error(\"The parameter 'nameOrEmail' cannot be null.\");\n else if (nameOrEmail !== undefined)\n url_ += \"NameOrEmail=\" + encodeURIComponent(\"\" + nameOrEmail) + \"&\";\n if (userRole === null)\n throw new Error(\"The parameter 'userRole' cannot be null.\");\n else if (userRole !== undefined)\n userRole && userRole.forEach(item => { url_ += \"UserRole=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (orderBy === null)\n throw new Error(\"The parameter 'orderBy' cannot be null.\");\n else if (orderBy !== undefined)\n url_ += \"OrderBy=\" + encodeURIComponent(\"\" + orderBy) + \"&\";\n if (pageNumber === null)\n throw new Error(\"The parameter 'pageNumber' cannot be null.\");\n else if (pageNumber !== undefined)\n url_ += \"PageNumber=\" + encodeURIComponent(\"\" + pageNumber) + \"&\";\n if (pageSize === null)\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\n else if (pageSize !== undefined)\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetUsersFilteredBy(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetUsersFilteredBy(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetUsersFilteredBy(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetUsersFilteredByQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n setOnboardedUser(): Observable {\n let url_ = this.baseUrl + \"/user/onboarded\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"patch\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processSetOnboardedUser(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processSetOnboardedUser(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processSetOnboardedUser(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UpdateUserOnboardedCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n updateUserProfile(body: UpdateUserProfileCommandParams): Observable {\n let url_ = this.baseUrl + \"/user/profile\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_ : any = {\n body: content_,\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json-patch+json\",\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processUpdateUserProfile(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processUpdateUserProfile(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processUpdateUserProfile(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = UpdateUserProfileCommandResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getOrganizationUsers(organizationId: string): Observable {\n let url_ = this.baseUrl + \"/user/by-organization-id/{organizationId}\";\n if (organizationId === undefined || organizationId === null)\n throw new Error(\"The parameter 'organizationId' must be defined.\");\n url_ = url_.replace(\"{organizationId}\", encodeURIComponent(\"\" + organizationId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetOrganizationUsers(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetOrganizationUsers(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetOrganizationUsers(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetOrganizationUsersQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n getUserById(id: string): Observable {\n let url_ = this.baseUrl + \"/user/by-id/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processGetUserById(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processGetUserById(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processGetUserById(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = GetUserByIdQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n\n /**\n * @return Success\n */\n checkUserExistsForEmail(email: string): Observable {\n let url_ = this.baseUrl + \"/user/check-user-exists/{email}\";\n if (email === undefined || email === null)\n throw new Error(\"The parameter 'email' must be defined.\");\n url_ = url_.replace(\"{email}\", encodeURIComponent(\"\" + email));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ : any = {\n observe: \"response\",\n responseType: \"blob\",\n headers: new HttpHeaders({\n \"Accept\": \"text/plain\"\n })\n };\n\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\n return this.processCheckUserExistsForEmail(response_);\n })).pipe(_observableCatch((response_: any) => {\n if (response_ instanceof HttpResponseBase) {\n try {\n return this.processCheckUserExistsForEmail(response_ as any);\n } catch (e) {\n return _observableThrow(e) as any as Observable;\n }\n } else\n return _observableThrow(response_) as any as Observable;\n }));\n }\n\n protected processCheckUserExistsForEmail(response: HttpResponseBase): Observable {\n const status = response.status;\n const responseBlob =\n response instanceof HttpResponse ? response.body :\n (response as any).error instanceof Blob ? (response as any).error : undefined;\n\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\n if (status === 200) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n let result200: any = null;\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\n result200 = CheckUserExistsForEmailQueryResponse.fromJS(resultData200);\n return _observableOf(result200);\n }));\n } else if (status === 401) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Unauthorized\", status, _responseText, _headers);\n }));\n } else if (status === 403) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"Forbidden\", status, _responseText, _headers);\n }));\n } else if (status !== 200 && status !== 204) {\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }));\n }\n return _observableOf(null as any);\n }\n}\n\nexport class CreateAssetCommandResponse implements ICreateAssetCommandResponse {\n result?: CreateAssetVm | undefined;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: ICreateAssetCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? CreateAssetVm.fromJS(_data[\"result\"]) : undefined;\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CreateAssetCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CreateAssetCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICreateAssetCommandResponse {\n result?: CreateAssetVm | undefined;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CreateAssetVm implements ICreateAssetVm {\n id!: string;\n\n constructor(data?: ICreateAssetVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CreateAssetVm {\n data = typeof data === 'object' ? data : {};\n let result = new CreateAssetVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICreateAssetVm {\n id: string;\n}\n\nexport class CreateAssetCommandParams implements ICreateAssetCommandParams {\n organizationId!: string;\n subOrganizationId?: string | undefined;\n name!: string;\n versionValidFrom!: Date;\n\n protected _discriminator: string;\n\n constructor(data?: ICreateAssetCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n this._discriminator = \"CreateAssetCommandParams\";\n }\n\n init(_data?: any) {\n if (_data) {\n this.organizationId = _data[\"organizationId\"];\n this.subOrganizationId = _data[\"subOrganizationId\"];\n this.name = _data[\"name\"];\n this.versionValidFrom = _data[\"versionValidFrom\"] ? new Date(_data[\"versionValidFrom\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): CreateAssetCommandParams {\n data = typeof data === 'object' ? data : {};\n if (data[\"type\"] === \"Client\") {\n let result = new CreateClientAssetCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Facility\") {\n let result = new CreateFacilityAssetCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Supplier\") {\n let result = new CreateSupplierAssetCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VehicleCraftMachinery\") {\n let result = new CreateVehicleCraftMachineryAssetCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Vessel\") {\n let result = new CreateVesselAssetCommandParams();\n result.init(data);\n return result;\n }\n let result = new CreateAssetCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this._discriminator;\n data[\"organizationId\"] = this.organizationId;\n data[\"subOrganizationId\"] = this.subOrganizationId;\n data[\"name\"] = this.name;\n data[\"versionValidFrom\"] = this.versionValidFrom ? formatDate(this.versionValidFrom) : undefined;\n return data;\n }\n}\n\nexport interface ICreateAssetCommandParams {\n organizationId: string;\n subOrganizationId?: string | undefined;\n name: string;\n versionValidFrom: Date;\n}\n\nexport class CreateClientAssetCommandParams extends CreateAssetCommandParams implements ICreateClientAssetCommandParams {\n readonly type!: AssetType;\n countryCode!: CountryCodes;\n address?: string | undefined;\n contactPerson?: string | undefined;\n email?: string | undefined;\n\n constructor(data?: ICreateClientAssetCommandParams) {\n super(data);\n this._discriminator = \"Client\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.countryCode = _data[\"countryCode\"];\n this.address = _data[\"address\"];\n this.contactPerson = _data[\"contactPerson\"];\n this.email = _data[\"email\"];\n }\n }\n\n static override fromJS(data: any): CreateClientAssetCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateClientAssetCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"countryCode\"] = this.countryCode;\n data[\"address\"] = this.address;\n data[\"contactPerson\"] = this.contactPerson;\n data[\"email\"] = this.email;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateClientAssetCommandParams extends ICreateAssetCommandParams {\n type: AssetType;\n countryCode: CountryCodes;\n address?: string | undefined;\n contactPerson?: string | undefined;\n email?: string | undefined;\n}\n\nexport class CreateFacilityAssetCommandParams extends CreateAssetCommandParams implements ICreateFacilityAssetCommandParams {\n readonly type!: AssetType;\n subType!: FacilityType;\n address?: string | undefined;\n countryCode!: CountryCodes;\n sqm_m2?: number | undefined;\n\n constructor(data?: ICreateFacilityAssetCommandParams) {\n super(data);\n this._discriminator = \"Facility\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.subType = _data[\"subType\"];\n this.address = _data[\"address\"];\n this.countryCode = _data[\"countryCode\"];\n this.sqm_m2 = _data[\"sqm_m2\"];\n }\n }\n\n static override fromJS(data: any): CreateFacilityAssetCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateFacilityAssetCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"subType\"] = this.subType;\n data[\"address\"] = this.address;\n data[\"countryCode\"] = this.countryCode;\n data[\"sqm_m2\"] = this.sqm_m2;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateFacilityAssetCommandParams extends ICreateAssetCommandParams {\n type: AssetType;\n subType: FacilityType;\n address?: string | undefined;\n countryCode: CountryCodes;\n sqm_m2?: number | undefined;\n}\n\nexport class CreateSupplierAssetCommandParams extends CreateAssetCommandParams implements ICreateSupplierAssetCommandParams {\n readonly type!: AssetType;\n countryCode!: CountryCodes;\n sector!: SectorType;\n status!: SupplierStatus;\n orgID?: string | undefined;\n address?: string | undefined;\n postalNumber?: string | undefined;\n city?: string | undefined;\n contactPerson?: string | undefined;\n email?: string | undefined;\n phone?: string | undefined;\n\n constructor(data?: ICreateSupplierAssetCommandParams) {\n super(data);\n this._discriminator = \"Supplier\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.countryCode = _data[\"countryCode\"];\n this.sector = _data[\"sector\"];\n this.status = _data[\"status\"];\n this.orgID = _data[\"orgID\"];\n this.address = _data[\"address\"];\n this.postalNumber = _data[\"postalNumber\"];\n this.city = _data[\"city\"];\n this.contactPerson = _data[\"contactPerson\"];\n this.email = _data[\"email\"];\n this.phone = _data[\"phone\"];\n }\n }\n\n static override fromJS(data: any): CreateSupplierAssetCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateSupplierAssetCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"countryCode\"] = this.countryCode;\n data[\"sector\"] = this.sector;\n data[\"status\"] = this.status;\n data[\"orgID\"] = this.orgID;\n data[\"address\"] = this.address;\n data[\"postalNumber\"] = this.postalNumber;\n data[\"city\"] = this.city;\n data[\"contactPerson\"] = this.contactPerson;\n data[\"email\"] = this.email;\n data[\"phone\"] = this.phone;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateSupplierAssetCommandParams extends ICreateAssetCommandParams {\n type: AssetType;\n countryCode: CountryCodes;\n sector: SectorType;\n status: SupplierStatus;\n orgID?: string | undefined;\n address?: string | undefined;\n postalNumber?: string | undefined;\n city?: string | undefined;\n contactPerson?: string | undefined;\n email?: string | undefined;\n phone?: string | undefined;\n}\n\nexport class CreateVehicleCraftMachineryAssetCommandParams extends CreateAssetCommandParams implements ICreateVehicleCraftMachineryAssetCommandParams {\n readonly type!: AssetType;\n subType!: VehicleCraftMachineryType;\n registrationNumber?: string | undefined;\n modelYear?: number | undefined;\n powerSource!: PowerSource;\n cO2?: number | undefined;\n nOx?: number | undefined;\n\n constructor(data?: ICreateVehicleCraftMachineryAssetCommandParams) {\n super(data);\n this._discriminator = \"VehicleCraftMachinery\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.subType = _data[\"subType\"];\n this.registrationNumber = _data[\"registrationNumber\"];\n this.modelYear = _data[\"modelYear\"];\n this.powerSource = _data[\"powerSource\"];\n this.cO2 = _data[\"cO2\"];\n this.nOx = _data[\"nOx\"];\n }\n }\n\n static override fromJS(data: any): CreateVehicleCraftMachineryAssetCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateVehicleCraftMachineryAssetCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"subType\"] = this.subType;\n data[\"registrationNumber\"] = this.registrationNumber;\n data[\"modelYear\"] = this.modelYear;\n data[\"powerSource\"] = this.powerSource;\n data[\"cO2\"] = this.cO2;\n data[\"nOx\"] = this.nOx;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateVehicleCraftMachineryAssetCommandParams extends ICreateAssetCommandParams {\n type: AssetType;\n subType: VehicleCraftMachineryType;\n registrationNumber?: string | undefined;\n modelYear?: number | undefined;\n powerSource: PowerSource;\n cO2?: number | undefined;\n nOx?: number | undefined;\n}\n\nexport class CreateVesselAssetCommandParams extends CreateAssetCommandParams implements ICreateVesselAssetCommandParams {\n readonly type!: AssetType;\n imOnumber?: number | undefined;\n vesselType!: VesselType;\n installedPower!: number;\n scrubbersInstalled?: boolean | undefined;\n scrubbersLoopSystem?: ScrubbersLoopSystem | undefined;\n toBeRecycledYear?: number | undefined;\n roRoVessel?: boolean | undefined;\n deadWeightTonnage?: number | undefined;\n grossTonnage?: number | undefined;\n\n constructor(data?: ICreateVesselAssetCommandParams) {\n super(data);\n this._discriminator = \"Vessel\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.imOnumber = _data[\"imOnumber\"];\n this.vesselType = _data[\"vesselType\"];\n this.installedPower = _data[\"installedPower\"];\n this.scrubbersInstalled = _data[\"scrubbersInstalled\"];\n this.scrubbersLoopSystem = _data[\"scrubbersLoopSystem\"];\n this.toBeRecycledYear = _data[\"toBeRecycledYear\"];\n this.roRoVessel = _data[\"roRoVessel\"];\n this.deadWeightTonnage = _data[\"deadWeightTonnage\"];\n this.grossTonnage = _data[\"grossTonnage\"];\n }\n }\n\n static override fromJS(data: any): CreateVesselAssetCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateVesselAssetCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"imOnumber\"] = this.imOnumber;\n data[\"vesselType\"] = this.vesselType;\n data[\"installedPower\"] = this.installedPower;\n data[\"scrubbersInstalled\"] = this.scrubbersInstalled;\n data[\"scrubbersLoopSystem\"] = this.scrubbersLoopSystem;\n data[\"toBeRecycledYear\"] = this.toBeRecycledYear;\n data[\"roRoVessel\"] = this.roRoVessel;\n data[\"deadWeightTonnage\"] = this.deadWeightTonnage;\n data[\"grossTonnage\"] = this.grossTonnage;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateVesselAssetCommandParams extends ICreateAssetCommandParams {\n type: AssetType;\n imOnumber?: number | undefined;\n vesselType: VesselType;\n installedPower: number;\n scrubbersInstalled?: boolean | undefined;\n scrubbersLoopSystem?: ScrubbersLoopSystem | undefined;\n toBeRecycledYear?: number | undefined;\n roRoVessel?: boolean | undefined;\n deadWeightTonnage?: number | undefined;\n grossTonnage?: number | undefined;\n}\n\nexport class DeleteAssetCommandResponse implements IDeleteAssetCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IDeleteAssetCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DeleteAssetCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteAssetCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDeleteAssetCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class DeleteAssetVersionCommandParams implements IDeleteAssetVersionCommandParams {\n assetId!: string;\n versionId!: string;\n\n constructor(data?: IDeleteAssetVersionCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.assetId = _data[\"assetId\"];\n this.versionId = _data[\"versionId\"];\n }\n }\n\n static fromJS(data: any): DeleteAssetVersionCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteAssetVersionCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"assetId\"] = this.assetId;\n data[\"versionId\"] = this.versionId;\n return data;\n }\n}\n\nexport interface IDeleteAssetVersionCommandParams {\n assetId: string;\n versionId: string;\n}\n\nexport class DeleteAssetVersionCommandResponse implements IDeleteAssetVersionCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IDeleteAssetVersionCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DeleteAssetVersionCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteAssetVersionCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDeleteAssetVersionCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class DeleteAssetsByFilterCommandResponse implements IDeleteAssetsByFilterCommandResponse {\n result!: DeleteAssetsByFilterVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IDeleteAssetsByFilterCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new DeleteAssetsByFilterVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? DeleteAssetsByFilterVm.fromJS(_data[\"result\"]) : new DeleteAssetsByFilterVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DeleteAssetsByFilterCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteAssetsByFilterCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDeleteAssetsByFilterCommandResponse {\n result: DeleteAssetsByFilterVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class DeleteAssetsByFilterVm implements IDeleteAssetsByFilterVm {\n amountOfDeletedItems!: number;\n amountOfItemsLeft!: number;\n\n constructor(data?: IDeleteAssetsByFilterVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.amountOfDeletedItems = _data[\"amountOfDeletedItems\"];\n this.amountOfItemsLeft = _data[\"amountOfItemsLeft\"];\n }\n }\n\n static fromJS(data: any): DeleteAssetsByFilterVm {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteAssetsByFilterVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"amountOfDeletedItems\"] = this.amountOfDeletedItems;\n data[\"amountOfItemsLeft\"] = this.amountOfItemsLeft;\n return data;\n }\n}\n\nexport interface IDeleteAssetsByFilterVm {\n amountOfDeletedItems: number;\n amountOfItemsLeft: number;\n}\n\nexport class UpdateAssetCommandParams implements IUpdateAssetCommandParams {\n id!: string;\n subOrganizationId?: string | undefined;\n name!: string;\n versionId!: string;\n versionValidFrom!: Date;\n\n protected _discriminator: string;\n\n constructor(data?: IUpdateAssetCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n this._discriminator = \"UpdateAssetCommandParams\";\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.subOrganizationId = _data[\"subOrganizationId\"];\n this.name = _data[\"name\"];\n this.versionId = _data[\"versionId\"];\n this.versionValidFrom = _data[\"versionValidFrom\"] ? new Date(_data[\"versionValidFrom\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): UpdateAssetCommandParams {\n data = typeof data === 'object' ? data : {};\n if (data[\"type\"] === \"Client\") {\n let result = new UpdateClientAssetCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Facility\") {\n let result = new UpdateFacilityAssetCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Supplier\") {\n let result = new UpdateSupplierAssetCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VehicleCraftMachinery\") {\n let result = new UpdateVehicleCraftMachineryAssetCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Vessel\") {\n let result = new UpdateVesselAssetCommandParams();\n result.init(data);\n return result;\n }\n let result = new UpdateAssetCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this._discriminator;\n data[\"id\"] = this.id;\n data[\"subOrganizationId\"] = this.subOrganizationId;\n data[\"name\"] = this.name;\n data[\"versionId\"] = this.versionId;\n data[\"versionValidFrom\"] = this.versionValidFrom ? formatDate(this.versionValidFrom) : undefined;\n return data;\n }\n}\n\nexport interface IUpdateAssetCommandParams {\n id: string;\n subOrganizationId?: string | undefined;\n name: string;\n versionId: string;\n versionValidFrom: Date;\n}\n\nexport class UpdateClientAssetCommandParams extends UpdateAssetCommandParams implements IUpdateClientAssetCommandParams {\n readonly type!: AssetType;\n countryCode!: CountryCodes;\n address?: string | undefined;\n contactPerson?: string | undefined;\n email?: string | undefined;\n\n constructor(data?: IUpdateClientAssetCommandParams) {\n super(data);\n this._discriminator = \"Client\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.countryCode = _data[\"countryCode\"];\n this.address = _data[\"address\"];\n this.contactPerson = _data[\"contactPerson\"];\n this.email = _data[\"email\"];\n }\n }\n\n static override fromJS(data: any): UpdateClientAssetCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateClientAssetCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"countryCode\"] = this.countryCode;\n data[\"address\"] = this.address;\n data[\"contactPerson\"] = this.contactPerson;\n data[\"email\"] = this.email;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateClientAssetCommandParams extends IUpdateAssetCommandParams {\n type: AssetType;\n countryCode: CountryCodes;\n address?: string | undefined;\n contactPerson?: string | undefined;\n email?: string | undefined;\n}\n\nexport class UpdateFacilityAssetCommandParams extends UpdateAssetCommandParams implements IUpdateFacilityAssetCommandParams {\n readonly type!: AssetType;\n subType!: FacilityType;\n address?: string | undefined;\n countryCode!: CountryCodes;\n sqm_m2?: number | undefined;\n\n constructor(data?: IUpdateFacilityAssetCommandParams) {\n super(data);\n this._discriminator = \"Facility\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.subType = _data[\"subType\"];\n this.address = _data[\"address\"];\n this.countryCode = _data[\"countryCode\"];\n this.sqm_m2 = _data[\"sqm_m2\"];\n }\n }\n\n static override fromJS(data: any): UpdateFacilityAssetCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateFacilityAssetCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"subType\"] = this.subType;\n data[\"address\"] = this.address;\n data[\"countryCode\"] = this.countryCode;\n data[\"sqm_m2\"] = this.sqm_m2;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateFacilityAssetCommandParams extends IUpdateAssetCommandParams {\n type: AssetType;\n subType: FacilityType;\n address?: string | undefined;\n countryCode: CountryCodes;\n sqm_m2?: number | undefined;\n}\n\nexport class UpdateSupplierAssetCommandParams extends UpdateAssetCommandParams implements IUpdateSupplierAssetCommandParams {\n readonly type!: AssetType;\n countryCode!: CountryCodes;\n sector!: SectorType;\n status!: SupplierStatus;\n orgID?: string | undefined;\n address?: string | undefined;\n postalNumber?: string | undefined;\n city?: string | undefined;\n contactPerson?: string | undefined;\n email?: string | undefined;\n phone?: string | undefined;\n\n constructor(data?: IUpdateSupplierAssetCommandParams) {\n super(data);\n this._discriminator = \"Supplier\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.countryCode = _data[\"countryCode\"];\n this.sector = _data[\"sector\"];\n this.status = _data[\"status\"];\n this.orgID = _data[\"orgID\"];\n this.address = _data[\"address\"];\n this.postalNumber = _data[\"postalNumber\"];\n this.city = _data[\"city\"];\n this.contactPerson = _data[\"contactPerson\"];\n this.email = _data[\"email\"];\n this.phone = _data[\"phone\"];\n }\n }\n\n static override fromJS(data: any): UpdateSupplierAssetCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateSupplierAssetCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"countryCode\"] = this.countryCode;\n data[\"sector\"] = this.sector;\n data[\"status\"] = this.status;\n data[\"orgID\"] = this.orgID;\n data[\"address\"] = this.address;\n data[\"postalNumber\"] = this.postalNumber;\n data[\"city\"] = this.city;\n data[\"contactPerson\"] = this.contactPerson;\n data[\"email\"] = this.email;\n data[\"phone\"] = this.phone;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateSupplierAssetCommandParams extends IUpdateAssetCommandParams {\n type: AssetType;\n countryCode: CountryCodes;\n sector: SectorType;\n status: SupplierStatus;\n orgID?: string | undefined;\n address?: string | undefined;\n postalNumber?: string | undefined;\n city?: string | undefined;\n contactPerson?: string | undefined;\n email?: string | undefined;\n phone?: string | undefined;\n}\n\nexport class UpdateVehicleCraftMachineryAssetCommandParams extends UpdateAssetCommandParams implements IUpdateVehicleCraftMachineryAssetCommandParams {\n readonly type!: AssetType;\n subType!: VehicleCraftMachineryType;\n registrationNumber?: string | undefined;\n modelYear?: number | undefined;\n powerSource!: PowerSource;\n cO2?: number | undefined;\n nOx?: number | undefined;\n\n constructor(data?: IUpdateVehicleCraftMachineryAssetCommandParams) {\n super(data);\n this._discriminator = \"VehicleCraftMachinery\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.subType = _data[\"subType\"];\n this.registrationNumber = _data[\"registrationNumber\"];\n this.modelYear = _data[\"modelYear\"];\n this.powerSource = _data[\"powerSource\"];\n this.cO2 = _data[\"cO2\"];\n this.nOx = _data[\"nOx\"];\n }\n }\n\n static override fromJS(data: any): UpdateVehicleCraftMachineryAssetCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateVehicleCraftMachineryAssetCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"subType\"] = this.subType;\n data[\"registrationNumber\"] = this.registrationNumber;\n data[\"modelYear\"] = this.modelYear;\n data[\"powerSource\"] = this.powerSource;\n data[\"cO2\"] = this.cO2;\n data[\"nOx\"] = this.nOx;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateVehicleCraftMachineryAssetCommandParams extends IUpdateAssetCommandParams {\n type: AssetType;\n subType: VehicleCraftMachineryType;\n registrationNumber?: string | undefined;\n modelYear?: number | undefined;\n powerSource: PowerSource;\n cO2?: number | undefined;\n nOx?: number | undefined;\n}\n\nexport class UpdateVesselAssetCommandParams extends UpdateAssetCommandParams implements IUpdateVesselAssetCommandParams {\n readonly type!: AssetType;\n imOnumber?: number | undefined;\n vesselType!: VesselType;\n installedPower!: number;\n scrubbersInstalled?: boolean | undefined;\n scrubbersLoopSystem?: ScrubbersLoopSystem | undefined;\n toBeRecycledYear?: number | undefined;\n roRoVessel?: boolean | undefined;\n deadWeightTonnage?: number | undefined;\n grossTonnage?: number | undefined;\n\n constructor(data?: IUpdateVesselAssetCommandParams) {\n super(data);\n this._discriminator = \"Vessel\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.imOnumber = _data[\"imOnumber\"];\n this.vesselType = _data[\"vesselType\"];\n this.installedPower = _data[\"installedPower\"];\n this.scrubbersInstalled = _data[\"scrubbersInstalled\"];\n this.scrubbersLoopSystem = _data[\"scrubbersLoopSystem\"];\n this.toBeRecycledYear = _data[\"toBeRecycledYear\"];\n this.roRoVessel = _data[\"roRoVessel\"];\n this.deadWeightTonnage = _data[\"deadWeightTonnage\"];\n this.grossTonnage = _data[\"grossTonnage\"];\n }\n }\n\n static override fromJS(data: any): UpdateVesselAssetCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateVesselAssetCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"imOnumber\"] = this.imOnumber;\n data[\"vesselType\"] = this.vesselType;\n data[\"installedPower\"] = this.installedPower;\n data[\"scrubbersInstalled\"] = this.scrubbersInstalled;\n data[\"scrubbersLoopSystem\"] = this.scrubbersLoopSystem;\n data[\"toBeRecycledYear\"] = this.toBeRecycledYear;\n data[\"roRoVessel\"] = this.roRoVessel;\n data[\"deadWeightTonnage\"] = this.deadWeightTonnage;\n data[\"grossTonnage\"] = this.grossTonnage;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateVesselAssetCommandParams extends IUpdateAssetCommandParams {\n type: AssetType;\n imOnumber?: number | undefined;\n vesselType: VesselType;\n installedPower: number;\n scrubbersInstalled?: boolean | undefined;\n scrubbersLoopSystem?: ScrubbersLoopSystem | undefined;\n toBeRecycledYear?: number | undefined;\n roRoVessel?: boolean | undefined;\n deadWeightTonnage?: number | undefined;\n grossTonnage?: number | undefined;\n}\n\nexport class UpdateAssetCommandResponse implements IUpdateAssetCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IUpdateAssetCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): UpdateAssetCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateAssetCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IUpdateAssetCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class UpdateAssetBasePropertiesCommandParams implements IUpdateAssetBasePropertiesCommandParams {\n id!: string;\n subOrganizationId?: string | undefined;\n name!: string;\n\n protected _discriminator: string;\n\n constructor(data?: IUpdateAssetBasePropertiesCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n this._discriminator = \"UpdateAssetBasePropertiesCommandParams\";\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.subOrganizationId = _data[\"subOrganizationId\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): UpdateAssetBasePropertiesCommandParams {\n data = typeof data === 'object' ? data : {};\n if (data[\"type\"] === \"Client\") {\n let result = new UpdateClientAssetBasePropertiesCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Facility\") {\n let result = new UpdateFacilityAssetBasePropertiesCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Supplier\") {\n let result = new UpdateSupplierAssetBasePropertiesCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VehicleCraftMachinery\") {\n let result = new UpdateVehicleCraftMachineryAssetBasePropertiesCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Vessel\") {\n let result = new UpdateVesselAssetBasePropertiesCommandParams();\n result.init(data);\n return result;\n }\n let result = new UpdateAssetBasePropertiesCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this._discriminator;\n data[\"id\"] = this.id;\n data[\"subOrganizationId\"] = this.subOrganizationId;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface IUpdateAssetBasePropertiesCommandParams {\n id: string;\n subOrganizationId?: string | undefined;\n name: string;\n}\n\nexport class UpdateClientAssetBasePropertiesCommandParams extends UpdateAssetBasePropertiesCommandParams implements IUpdateClientAssetBasePropertiesCommandParams {\n readonly type!: AssetType;\n countryCode!: CountryCodes;\n\n constructor(data?: IUpdateClientAssetBasePropertiesCommandParams) {\n super(data);\n this._discriminator = \"Client\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.countryCode = _data[\"countryCode\"];\n }\n }\n\n static override fromJS(data: any): UpdateClientAssetBasePropertiesCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateClientAssetBasePropertiesCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"countryCode\"] = this.countryCode;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateClientAssetBasePropertiesCommandParams extends IUpdateAssetBasePropertiesCommandParams {\n type: AssetType;\n countryCode: CountryCodes;\n}\n\nexport class UpdateFacilityAssetBasePropertiesCommandParams extends UpdateAssetBasePropertiesCommandParams implements IUpdateFacilityAssetBasePropertiesCommandParams {\n readonly type!: AssetType;\n subType!: FacilityType;\n countryCode!: CountryCodes;\n\n constructor(data?: IUpdateFacilityAssetBasePropertiesCommandParams) {\n super(data);\n this._discriminator = \"Facility\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.subType = _data[\"subType\"];\n this.countryCode = _data[\"countryCode\"];\n }\n }\n\n static override fromJS(data: any): UpdateFacilityAssetBasePropertiesCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateFacilityAssetBasePropertiesCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"subType\"] = this.subType;\n data[\"countryCode\"] = this.countryCode;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateFacilityAssetBasePropertiesCommandParams extends IUpdateAssetBasePropertiesCommandParams {\n type: AssetType;\n subType: FacilityType;\n countryCode: CountryCodes;\n}\n\nexport class UpdateSupplierAssetBasePropertiesCommandParams extends UpdateAssetBasePropertiesCommandParams implements IUpdateSupplierAssetBasePropertiesCommandParams {\n readonly type!: AssetType;\n countryCode!: CountryCodes;\n sector!: SectorType;\n orgID?: string | undefined;\n\n constructor(data?: IUpdateSupplierAssetBasePropertiesCommandParams) {\n super(data);\n this._discriminator = \"Supplier\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.countryCode = _data[\"countryCode\"];\n this.sector = _data[\"sector\"];\n this.orgID = _data[\"orgID\"];\n }\n }\n\n static override fromJS(data: any): UpdateSupplierAssetBasePropertiesCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateSupplierAssetBasePropertiesCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"countryCode\"] = this.countryCode;\n data[\"sector\"] = this.sector;\n data[\"orgID\"] = this.orgID;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateSupplierAssetBasePropertiesCommandParams extends IUpdateAssetBasePropertiesCommandParams {\n type: AssetType;\n countryCode: CountryCodes;\n sector: SectorType;\n orgID?: string | undefined;\n}\n\nexport class UpdateVehicleCraftMachineryAssetBasePropertiesCommandParams extends UpdateAssetBasePropertiesCommandParams implements IUpdateVehicleCraftMachineryAssetBasePropertiesCommandParams {\n readonly type!: AssetType;\n subType!: VehicleCraftMachineryType;\n powerSource!: PowerSource;\n\n constructor(data?: IUpdateVehicleCraftMachineryAssetBasePropertiesCommandParams) {\n super(data);\n this._discriminator = \"VehicleCraftMachinery\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.subType = _data[\"subType\"];\n this.powerSource = _data[\"powerSource\"];\n }\n }\n\n static override fromJS(data: any): UpdateVehicleCraftMachineryAssetBasePropertiesCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateVehicleCraftMachineryAssetBasePropertiesCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"subType\"] = this.subType;\n data[\"powerSource\"] = this.powerSource;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateVehicleCraftMachineryAssetBasePropertiesCommandParams extends IUpdateAssetBasePropertiesCommandParams {\n type: AssetType;\n subType: VehicleCraftMachineryType;\n powerSource: PowerSource;\n}\n\nexport class UpdateVesselAssetBasePropertiesCommandParams extends UpdateAssetBasePropertiesCommandParams implements IUpdateVesselAssetBasePropertiesCommandParams {\n readonly type!: AssetType;\n imOnumber?: number | undefined;\n vesselType!: VesselType;\n\n constructor(data?: IUpdateVesselAssetBasePropertiesCommandParams) {\n super(data);\n this._discriminator = \"Vessel\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.imOnumber = _data[\"imOnumber\"];\n this.vesselType = _data[\"vesselType\"];\n }\n }\n\n static override fromJS(data: any): UpdateVesselAssetBasePropertiesCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateVesselAssetBasePropertiesCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"imOnumber\"] = this.imOnumber;\n data[\"vesselType\"] = this.vesselType;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateVesselAssetBasePropertiesCommandParams extends IUpdateAssetBasePropertiesCommandParams {\n type: AssetType;\n imOnumber?: number | undefined;\n vesselType: VesselType;\n}\n\nexport class UpdateAssetBasePropertiesCommandResponse implements IUpdateAssetBasePropertiesCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IUpdateAssetBasePropertiesCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): UpdateAssetBasePropertiesCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateAssetBasePropertiesCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IUpdateAssetBasePropertiesCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetAllAssetsQueryResponse implements IGetAllAssetsQueryResponse {\n result!: Asset[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetAllAssetsQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(Asset.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetAllAssetsQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetAllAssetsQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetAllAssetsQueryResponse {\n result: Asset[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetAssetByIdQueryResponse implements IGetAssetByIdQueryResponse {\n result!: Asset;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetAssetByIdQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new Asset();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? Asset.fromJS(_data[\"result\"]) : new Asset();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetAssetByIdQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetAssetByIdQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetAssetByIdQueryResponse {\n result: Asset;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetAssetListQueryResponse implements IGetAssetListQueryResponse {\n result!: GetAssetListVm[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetAssetListQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(GetAssetListVm.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetAssetListQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetAssetListQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetAssetListQueryResponse {\n result: GetAssetListVm[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetAssetListVm implements IGetAssetListVm {\n id!: string;\n name!: string;\n assetType!: AssetType;\n\n constructor(data?: IGetAssetListVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.assetType = _data[\"assetType\"];\n }\n }\n\n static fromJS(data: any): GetAssetListVm {\n data = typeof data === 'object' ? data : {};\n let result = new GetAssetListVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"assetType\"] = this.assetType;\n return data;\n }\n}\n\nexport interface IGetAssetListVm {\n id: string;\n name: string;\n assetType: AssetType;\n}\n\nexport class AssetTypeVm implements IAssetTypeVm {\n assetType!: AssetType;\n assetCount!: number;\n\n constructor(data?: IAssetTypeVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.assetType = _data[\"assetType\"];\n this.assetCount = _data[\"assetCount\"];\n }\n }\n\n static fromJS(data: any): AssetTypeVm {\n data = typeof data === 'object' ? data : {};\n let result = new AssetTypeVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"assetType\"] = this.assetType;\n data[\"assetCount\"] = this.assetCount;\n return data;\n }\n}\n\nexport interface IAssetTypeVm {\n assetType: AssetType;\n assetCount: number;\n}\n\nexport class GetAssetTypesByOrganizationQueryResponse implements IGetAssetTypesByOrganizationQueryResponse {\n result!: AssetTypeVm[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetAssetTypesByOrganizationQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(AssetTypeVm.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetAssetTypesByOrganizationQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetAssetTypesByOrganizationQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetAssetTypesByOrganizationQueryResponse {\n result: AssetTypeVm[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class AssetVersionVm implements IAssetVersionVm {\n versionId!: string;\n versionValidFrom!: Date;\n dateModified!: Date;\n userId!: string;\n userName!: string;\n\n constructor(data?: IAssetVersionVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.versionId = _data[\"versionId\"];\n this.versionValidFrom = _data[\"versionValidFrom\"] ? new Date(_data[\"versionValidFrom\"].toString()) : undefined;\n this.dateModified = _data[\"dateModified\"] ? new Date(_data[\"dateModified\"].toString()) : undefined;\n this.userId = _data[\"userId\"];\n this.userName = _data[\"userName\"];\n }\n }\n\n static fromJS(data: any): AssetVersionVm {\n data = typeof data === 'object' ? data : {};\n let result = new AssetVersionVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"versionId\"] = this.versionId;\n data[\"versionValidFrom\"] = this.versionValidFrom ? formatDate(this.versionValidFrom) : undefined;\n data[\"dateModified\"] = this.dateModified ? this.dateModified.toISOString() : undefined;\n data[\"userId\"] = this.userId;\n data[\"userName\"] = this.userName;\n return data;\n }\n}\n\nexport interface IAssetVersionVm {\n versionId: string;\n versionValidFrom: Date;\n dateModified: Date;\n userId: string;\n userName: string;\n}\n\nexport class GetAssetVersionsByIdQueryResponse implements IGetAssetVersionsByIdQueryResponse {\n result?: AssetVersionVm[] | undefined;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetAssetVersionsByIdQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(AssetVersionVm.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetAssetVersionsByIdQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetAssetVersionsByIdQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetAssetVersionsByIdQueryResponse {\n result?: AssetVersionVm[] | undefined;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class AssetAvailableForLeasing implements IAssetAvailableForLeasing {\n id!: string;\n name!: string;\n assetType!: AssetType;\n\n constructor(data?: IAssetAvailableForLeasing) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.assetType = _data[\"assetType\"];\n }\n }\n\n static fromJS(data: any): AssetAvailableForLeasing {\n data = typeof data === 'object' ? data : {};\n let result = new AssetAvailableForLeasing();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"assetType\"] = this.assetType;\n return data;\n }\n}\n\nexport interface IAssetAvailableForLeasing {\n id: string;\n name: string;\n assetType: AssetType;\n}\n\nexport class GetAssetsByOrganizationAndAvailableForLeasingQueryResponse implements IGetAssetsByOrganizationAndAvailableForLeasingQueryResponse {\n result!: AssetAvailableForLeasing[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetAssetsByOrganizationAndAvailableForLeasingQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(AssetAvailableForLeasing.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetAssetsByOrganizationAndAvailableForLeasingQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetAssetsByOrganizationAndAvailableForLeasingQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetAssetsByOrganizationAndAvailableForLeasingQueryResponse {\n result: AssetAvailableForLeasing[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetAssetsByOrganizationAndTypeQueryResponse implements IGetAssetsByOrganizationAndTypeQueryResponse {\n result!: AssetVm[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetAssetsByOrganizationAndTypeQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(AssetVm.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetAssetsByOrganizationAndTypeQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetAssetsByOrganizationAndTypeQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetAssetsByOrganizationAndTypeQueryResponse {\n result: AssetVm[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class AssetVm implements IAssetVm {\n id!: string;\n name!: string;\n organizationId!: string;\n subOrganizationId?: string | undefined;\n orgOrSuborgName!: string;\n versionValidFrom!: Date;\n\n protected _discriminator: string;\n\n constructor(data?: IAssetVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n this._discriminator = \"AssetVm\";\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.organizationId = _data[\"organizationId\"];\n this.subOrganizationId = _data[\"subOrganizationId\"];\n this.orgOrSuborgName = _data[\"orgOrSuborgName\"];\n this.versionValidFrom = _data[\"versionValidFrom\"] ? new Date(_data[\"versionValidFrom\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): AssetVm {\n data = typeof data === 'object' ? data : {};\n if (data[\"type\"] === \"Client\") {\n let result = new ClientAssetVm();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Facility\") {\n let result = new FacilityAssetVm();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Organization\") {\n let result = new OrganizationAssetVm();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Supplier\") {\n let result = new SupplierAssetVm();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VehicleCraftMachinery\") {\n let result = new VehicleCraftMachineryAssetVm();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Vessel\") {\n let result = new VesselAssetVm();\n result.init(data);\n return result;\n }\n let result = new AssetVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this._discriminator;\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"organizationId\"] = this.organizationId;\n data[\"subOrganizationId\"] = this.subOrganizationId;\n data[\"orgOrSuborgName\"] = this.orgOrSuborgName;\n data[\"versionValidFrom\"] = this.versionValidFrom ? formatDate(this.versionValidFrom) : undefined;\n return data;\n }\n}\n\nexport interface IAssetVm {\n id: string;\n name: string;\n organizationId: string;\n subOrganizationId?: string | undefined;\n orgOrSuborgName: string;\n versionValidFrom: Date;\n}\n\nexport class ClientAssetVm extends AssetVm implements IClientAssetVm {\n countryCode!: CountryCodes;\n countryName!: string;\n\n constructor(data?: IClientAssetVm) {\n super(data);\n this._discriminator = \"Client\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.countryCode = _data[\"countryCode\"];\n this.countryName = _data[\"countryName\"];\n }\n }\n\n static override fromJS(data: any): ClientAssetVm {\n data = typeof data === 'object' ? data : {};\n let result = new ClientAssetVm();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"countryCode\"] = this.countryCode;\n data[\"countryName\"] = this.countryName;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IClientAssetVm extends IAssetVm {\n countryCode: CountryCodes;\n countryName: string;\n}\n\nexport class FacilityAssetVm extends AssetVm implements IFacilityAssetVm {\n subType!: FacilityType;\n countryCode!: CountryCodes;\n countryName!: string;\n\n constructor(data?: IFacilityAssetVm) {\n super(data);\n this._discriminator = \"Facility\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.subType = _data[\"subType\"];\n this.countryCode = _data[\"countryCode\"];\n this.countryName = _data[\"countryName\"];\n }\n }\n\n static override fromJS(data: any): FacilityAssetVm {\n data = typeof data === 'object' ? data : {};\n let result = new FacilityAssetVm();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"subType\"] = this.subType;\n data[\"countryCode\"] = this.countryCode;\n data[\"countryName\"] = this.countryName;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IFacilityAssetVm extends IAssetVm {\n subType: FacilityType;\n countryCode: CountryCodes;\n countryName: string;\n}\n\nexport class OrganizationAssetVm extends AssetVm implements IOrganizationAssetVm {\n countryCode!: CountryCodes;\n countryName!: string;\n currencyCode!: CurrencyCodes;\n\n constructor(data?: IOrganizationAssetVm) {\n super(data);\n this._discriminator = \"Organization\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.countryCode = _data[\"countryCode\"];\n this.countryName = _data[\"countryName\"];\n this.currencyCode = _data[\"currencyCode\"];\n }\n }\n\n static override fromJS(data: any): OrganizationAssetVm {\n data = typeof data === 'object' ? data : {};\n let result = new OrganizationAssetVm();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"countryCode\"] = this.countryCode;\n data[\"countryName\"] = this.countryName;\n data[\"currencyCode\"] = this.currencyCode;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IOrganizationAssetVm extends IAssetVm {\n countryCode: CountryCodes;\n countryName: string;\n currencyCode: CurrencyCodes;\n}\n\nexport class SupplierAssetVm extends AssetVm implements ISupplierAssetVm {\n orgID?: string | undefined;\n countryCode!: CountryCodes;\n sectorType!: SectorType;\n countryName!: string;\n environmentalRisk!: RiskCategory;\n socialRisk!: RiskCategory;\n\n constructor(data?: ISupplierAssetVm) {\n super(data);\n this._discriminator = \"Supplier\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.orgID = _data[\"orgID\"];\n this.countryCode = _data[\"countryCode\"];\n this.sectorType = _data[\"sectorType\"];\n this.countryName = _data[\"countryName\"];\n this.environmentalRisk = _data[\"environmentalRisk\"];\n this.socialRisk = _data[\"socialRisk\"];\n }\n }\n\n static override fromJS(data: any): SupplierAssetVm {\n data = typeof data === 'object' ? data : {};\n let result = new SupplierAssetVm();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"orgID\"] = this.orgID;\n data[\"countryCode\"] = this.countryCode;\n data[\"sectorType\"] = this.sectorType;\n data[\"countryName\"] = this.countryName;\n data[\"environmentalRisk\"] = this.environmentalRisk;\n data[\"socialRisk\"] = this.socialRisk;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ISupplierAssetVm extends IAssetVm {\n orgID?: string | undefined;\n countryCode: CountryCodes;\n sectorType: SectorType;\n countryName: string;\n environmentalRisk: RiskCategory;\n socialRisk: RiskCategory;\n}\n\nexport class VehicleCraftMachineryAssetVm extends AssetVm implements IVehicleCraftMachineryAssetVm {\n subType!: VehicleCraftMachineryType;\n powerSource!: PowerSource;\n\n constructor(data?: IVehicleCraftMachineryAssetVm) {\n super(data);\n this._discriminator = \"VehicleCraftMachinery\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.subType = _data[\"subType\"];\n this.powerSource = _data[\"powerSource\"];\n }\n }\n\n static override fromJS(data: any): VehicleCraftMachineryAssetVm {\n data = typeof data === 'object' ? data : {};\n let result = new VehicleCraftMachineryAssetVm();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"subType\"] = this.subType;\n data[\"powerSource\"] = this.powerSource;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IVehicleCraftMachineryAssetVm extends IAssetVm {\n subType: VehicleCraftMachineryType;\n powerSource: PowerSource;\n}\n\nexport class VesselAssetVm extends AssetVm implements IVesselAssetVm {\n imOnumber?: number | undefined;\n vesselType!: VesselType;\n\n constructor(data?: IVesselAssetVm) {\n super(data);\n this._discriminator = \"Vessel\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.imOnumber = _data[\"imOnumber\"];\n this.vesselType = _data[\"vesselType\"];\n }\n }\n\n static override fromJS(data: any): VesselAssetVm {\n data = typeof data === 'object' ? data : {};\n let result = new VesselAssetVm();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"imOnumber\"] = this.imOnumber;\n data[\"vesselType\"] = this.vesselType;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IVesselAssetVm extends IAssetVm {\n imOnumber?: number | undefined;\n vesselType: VesselType;\n}\n\nexport class GetOrganizationAssetListQueryResponse implements IGetOrganizationAssetListQueryResponse {\n result!: OrganizationAssetListItemVm[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetOrganizationAssetListQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(OrganizationAssetListItemVm.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetOrganizationAssetListQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetOrganizationAssetListQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetOrganizationAssetListQueryResponse {\n result: OrganizationAssetListItemVm[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class OrganizationAssetListItemVm implements IOrganizationAssetListItemVm {\n id!: string;\n name!: string;\n\n constructor(data?: IOrganizationAssetListItemVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): OrganizationAssetListItemVm {\n data = typeof data === 'object' ? data : {};\n let result = new OrganizationAssetListItemVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface IOrganizationAssetListItemVm {\n id: string;\n name: string;\n}\n\nexport class SearchAssetByOrganizationAndTypeQueryResponse implements ISearchAssetByOrganizationAndTypeQueryResponse {\n result!: PagedCollection_1OfAssetVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: ISearchAssetByOrganizationAndTypeQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new PagedCollection_1OfAssetVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? PagedCollection_1OfAssetVm.fromJS(_data[\"result\"]) : new PagedCollection_1OfAssetVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): SearchAssetByOrganizationAndTypeQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new SearchAssetByOrganizationAndTypeQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ISearchAssetByOrganizationAndTypeQueryResponse {\n result: PagedCollection_1OfAssetVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CreateDataProfileCommandResponse implements ICreateDataProfileCommandResponse {\n result!: CreateDataProfileVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: ICreateDataProfileCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new CreateDataProfileVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? CreateDataProfileVm.fromJS(_data[\"result\"]) : new CreateDataProfileVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CreateDataProfileCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CreateDataProfileCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICreateDataProfileCommandResponse {\n result: CreateDataProfileVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CreateDataProfileVm implements ICreateDataProfileVm {\n id!: string;\n\n constructor(data?: ICreateDataProfileVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CreateDataProfileVm {\n data = typeof data === 'object' ? data : {};\n let result = new CreateDataProfileVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICreateDataProfileVm {\n id: string;\n}\n\nexport class CreateDataProfileCommandParams implements ICreateDataProfileCommandParams {\n description!: string;\n timePeriodType!: TimePeriodType;\n year?: number | undefined;\n period?: number | undefined;\n customStart?: Date | undefined;\n customEnd?: Date | undefined;\n inputType!: InputType;\n\n protected _discriminator: string;\n\n constructor(data?: ICreateDataProfileCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n this._discriminator = \"CreateDataProfileCommandParams\";\n }\n\n init(_data?: any) {\n if (_data) {\n this.description = _data[\"description\"];\n this.timePeriodType = _data[\"timePeriodType\"];\n this.year = _data[\"year\"];\n this.period = _data[\"period\"];\n this.customStart = _data[\"customStart\"] ? new Date(_data[\"customStart\"].toString()) : undefined;\n this.customEnd = _data[\"customEnd\"] ? new Date(_data[\"customEnd\"].toString()) : undefined;\n this.inputType = _data[\"inputType\"];\n }\n }\n\n static fromJS(data: any): CreateDataProfileCommandParams {\n data = typeof data === 'object' ? data : {};\n if (data[\"type\"] === \"EmployeeCommuting\") {\n let result = new CreateEmployeeCommutingDataProfileCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeGenderDiversityAndEquality\") {\n let result = new CreateEmployeeGenderDiversityAndEqualityDataProfileCommandParams();\n result.init(data);\n return result;\n }\n let result = new CreateDataProfileCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this._discriminator;\n data[\"description\"] = this.description;\n data[\"timePeriodType\"] = this.timePeriodType;\n data[\"year\"] = this.year;\n data[\"period\"] = this.period;\n data[\"customStart\"] = this.customStart ? formatDate(this.customStart) : undefined;\n data[\"customEnd\"] = this.customEnd ? formatDate(this.customEnd) : undefined;\n data[\"inputType\"] = this.inputType;\n return data;\n }\n}\n\nexport interface ICreateDataProfileCommandParams {\n description: string;\n timePeriodType: TimePeriodType;\n year?: number | undefined;\n period?: number | undefined;\n customStart?: Date | undefined;\n customEnd?: Date | undefined;\n inputType: InputType;\n}\n\nexport class CreateEmployeeCommutingDataProfileCommandParams extends CreateDataProfileCommandParams implements ICreateEmployeeCommutingDataProfileCommandParams {\n readonly type!: DataProfileType;\n totalEmployees!: number;\n totalHomeOfficeDays!: number;\n totalCommutingDays!: number;\n\n constructor(data?: ICreateEmployeeCommutingDataProfileCommandParams) {\n super(data);\n this._discriminator = \"EmployeeCommuting\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.totalEmployees = _data[\"totalEmployees\"];\n this.totalHomeOfficeDays = _data[\"totalHomeOfficeDays\"];\n this.totalCommutingDays = _data[\"totalCommutingDays\"];\n }\n }\n\n static override fromJS(data: any): CreateEmployeeCommutingDataProfileCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateEmployeeCommutingDataProfileCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"totalEmployees\"] = this.totalEmployees;\n data[\"totalHomeOfficeDays\"] = this.totalHomeOfficeDays;\n data[\"totalCommutingDays\"] = this.totalCommutingDays;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateEmployeeCommutingDataProfileCommandParams extends ICreateDataProfileCommandParams {\n type: DataProfileType;\n totalEmployees: number;\n totalHomeOfficeDays: number;\n totalCommutingDays: number;\n}\n\nexport class CreateEmployeeGenderDiversityAndEqualityDataProfileCommandParams extends CreateDataProfileCommandParams implements ICreateEmployeeGenderDiversityAndEqualityDataProfileCommandParams {\n readonly type!: DataProfileType;\n organizationAssetId!: string;\n\n constructor(data?: ICreateEmployeeGenderDiversityAndEqualityDataProfileCommandParams) {\n super(data);\n this._discriminator = \"EmployeeGenderDiversityAndEquality\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.organizationAssetId = _data[\"organizationAssetId\"];\n }\n }\n\n static override fromJS(data: any): CreateEmployeeGenderDiversityAndEqualityDataProfileCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateEmployeeGenderDiversityAndEqualityDataProfileCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"organizationAssetId\"] = this.organizationAssetId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateEmployeeGenderDiversityAndEqualityDataProfileCommandParams extends ICreateDataProfileCommandParams {\n type: DataProfileType;\n organizationAssetId: string;\n}\n\nexport class DeleteDataProfileCommandResponse implements IDeleteDataProfileCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IDeleteDataProfileCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DeleteDataProfileCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteDataProfileCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDeleteDataProfileCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class UpdateDataProfileCommandParams implements IUpdateDataProfileCommandParams {\n id!: string;\n description!: string;\n timePeriodType!: TimePeriodType;\n year?: number | undefined;\n period?: number | undefined;\n customStart?: Date | undefined;\n customEnd?: Date | undefined;\n inputType!: InputType;\n\n protected _discriminator: string;\n\n constructor(data?: IUpdateDataProfileCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n this._discriminator = \"UpdateDataProfileCommandParams\";\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.description = _data[\"description\"];\n this.timePeriodType = _data[\"timePeriodType\"];\n this.year = _data[\"year\"];\n this.period = _data[\"period\"];\n this.customStart = _data[\"customStart\"] ? new Date(_data[\"customStart\"].toString()) : undefined;\n this.customEnd = _data[\"customEnd\"] ? new Date(_data[\"customEnd\"].toString()) : undefined;\n this.inputType = _data[\"inputType\"];\n }\n }\n\n static fromJS(data: any): UpdateDataProfileCommandParams {\n data = typeof data === 'object' ? data : {};\n if (data[\"type\"] === \"EmployeeCommuting\") {\n let result = new UpdateEmployeeCommutingDataProfileCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeGenderDiversityAndEquality\") {\n let result = new UpdateEmployeeGenderDiversityAndEqualityDataProfileCommandParams();\n result.init(data);\n return result;\n }\n let result = new UpdateDataProfileCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this._discriminator;\n data[\"id\"] = this.id;\n data[\"description\"] = this.description;\n data[\"timePeriodType\"] = this.timePeriodType;\n data[\"year\"] = this.year;\n data[\"period\"] = this.period;\n data[\"customStart\"] = this.customStart ? formatDate(this.customStart) : undefined;\n data[\"customEnd\"] = this.customEnd ? formatDate(this.customEnd) : undefined;\n data[\"inputType\"] = this.inputType;\n return data;\n }\n}\n\nexport interface IUpdateDataProfileCommandParams {\n id: string;\n description: string;\n timePeriodType: TimePeriodType;\n year?: number | undefined;\n period?: number | undefined;\n customStart?: Date | undefined;\n customEnd?: Date | undefined;\n inputType: InputType;\n}\n\nexport class UpdateEmployeeCommutingDataProfileCommandParams extends UpdateDataProfileCommandParams implements IUpdateEmployeeCommutingDataProfileCommandParams {\n readonly type!: DataProfileType;\n totalEmployees!: number;\n totalHomeOfficeDays!: number;\n totalCommutingDays!: number;\n\n constructor(data?: IUpdateEmployeeCommutingDataProfileCommandParams) {\n super(data);\n this._discriminator = \"EmployeeCommuting\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.totalEmployees = _data[\"totalEmployees\"];\n this.totalHomeOfficeDays = _data[\"totalHomeOfficeDays\"];\n this.totalCommutingDays = _data[\"totalCommutingDays\"];\n }\n }\n\n static override fromJS(data: any): UpdateEmployeeCommutingDataProfileCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateEmployeeCommutingDataProfileCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"totalEmployees\"] = this.totalEmployees;\n data[\"totalHomeOfficeDays\"] = this.totalHomeOfficeDays;\n data[\"totalCommutingDays\"] = this.totalCommutingDays;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateEmployeeCommutingDataProfileCommandParams extends IUpdateDataProfileCommandParams {\n type: DataProfileType;\n totalEmployees: number;\n totalHomeOfficeDays: number;\n totalCommutingDays: number;\n}\n\nexport class UpdateEmployeeGenderDiversityAndEqualityDataProfileCommandParams extends UpdateDataProfileCommandParams implements IUpdateEmployeeGenderDiversityAndEqualityDataProfileCommandParams {\n readonly type!: DataProfileType;\n organizationAssetId!: string;\n\n constructor(data?: IUpdateEmployeeGenderDiversityAndEqualityDataProfileCommandParams) {\n super(data);\n this._discriminator = \"EmployeeGenderDiversityAndEquality\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.organizationAssetId = _data[\"organizationAssetId\"];\n }\n }\n\n static override fromJS(data: any): UpdateEmployeeGenderDiversityAndEqualityDataProfileCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateEmployeeGenderDiversityAndEqualityDataProfileCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"organizationAssetId\"] = this.organizationAssetId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateEmployeeGenderDiversityAndEqualityDataProfileCommandParams extends IUpdateDataProfileCommandParams {\n type: DataProfileType;\n organizationAssetId: string;\n}\n\nexport class UpdateDataProfileCommandResponse implements IUpdateDataProfileCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IUpdateDataProfileCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): UpdateDataProfileCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateDataProfileCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IUpdateDataProfileCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetAllDataProfilesQueryResponse implements IGetAllDataProfilesQueryResponse {\n result!: DataProfile[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetAllDataProfilesQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(DataProfile.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetAllDataProfilesQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetAllDataProfilesQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetAllDataProfilesQueryResponse {\n result: DataProfile[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetDataProfilesByTypeQueryResponse implements IGetDataProfilesByTypeQueryResponse {\n result!: DataProfile[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetDataProfilesByTypeQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(DataProfile.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetDataProfilesByTypeQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetDataProfilesByTypeQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetDataProfilesByTypeQueryResponse {\n result: DataProfile[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CheckDataRecordsIntegrityCommandResponse implements ICheckDataRecordsIntegrityCommandResponse {\n allDataRecords!: number;\n allAssets!: number;\n allDataProfiles!: number;\n dataRecordsWithoutAsset!: number;\n dataRecordsWithoutAssetIds!: string[];\n dataRecordsWithoutDataProfile!: number;\n dataRecordsWithoutDataProfileIds!: string[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: ICheckDataRecordsIntegrityCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.dataRecordsWithoutAssetIds = [];\n this.dataRecordsWithoutDataProfileIds = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.allDataRecords = _data[\"allDataRecords\"];\n this.allAssets = _data[\"allAssets\"];\n this.allDataProfiles = _data[\"allDataProfiles\"];\n this.dataRecordsWithoutAsset = _data[\"dataRecordsWithoutAsset\"];\n if (Array.isArray(_data[\"dataRecordsWithoutAssetIds\"])) {\n this.dataRecordsWithoutAssetIds = [] as any;\n for (let item of _data[\"dataRecordsWithoutAssetIds\"])\n this.dataRecordsWithoutAssetIds!.push(item);\n }\n this.dataRecordsWithoutDataProfile = _data[\"dataRecordsWithoutDataProfile\"];\n if (Array.isArray(_data[\"dataRecordsWithoutDataProfileIds\"])) {\n this.dataRecordsWithoutDataProfileIds = [] as any;\n for (let item of _data[\"dataRecordsWithoutDataProfileIds\"])\n this.dataRecordsWithoutDataProfileIds!.push(item);\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CheckDataRecordsIntegrityCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CheckDataRecordsIntegrityCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"allDataRecords\"] = this.allDataRecords;\n data[\"allAssets\"] = this.allAssets;\n data[\"allDataProfiles\"] = this.allDataProfiles;\n data[\"dataRecordsWithoutAsset\"] = this.dataRecordsWithoutAsset;\n if (Array.isArray(this.dataRecordsWithoutAssetIds)) {\n data[\"dataRecordsWithoutAssetIds\"] = [];\n for (let item of this.dataRecordsWithoutAssetIds)\n data[\"dataRecordsWithoutAssetIds\"].push(item);\n }\n data[\"dataRecordsWithoutDataProfile\"] = this.dataRecordsWithoutDataProfile;\n if (Array.isArray(this.dataRecordsWithoutDataProfileIds)) {\n data[\"dataRecordsWithoutDataProfileIds\"] = [];\n for (let item of this.dataRecordsWithoutDataProfileIds)\n data[\"dataRecordsWithoutDataProfileIds\"].push(item);\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICheckDataRecordsIntegrityCommandResponse {\n allDataRecords: number;\n allAssets: number;\n allDataProfiles: number;\n dataRecordsWithoutAsset: number;\n dataRecordsWithoutAssetIds: string[];\n dataRecordsWithoutDataProfile: number;\n dataRecordsWithoutDataProfileIds: string[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CreateDataRecordCommandResponse implements ICreateDataRecordCommandResponse {\n result?: CreateDataRecordVm | undefined;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: ICreateDataRecordCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? CreateDataRecordVm.fromJS(_data[\"result\"]) : undefined;\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CreateDataRecordCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CreateDataRecordCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICreateDataRecordCommandResponse {\n result?: CreateDataRecordVm | undefined;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CreateDataRecordVm implements ICreateDataRecordVm {\n id!: string;\n\n constructor(data?: ICreateDataRecordVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CreateDataRecordVm {\n data = typeof data === 'object' ? data : {};\n let result = new CreateDataRecordVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICreateDataRecordVm {\n id: string;\n}\n\nexport class CreateDataRecordCommandParams implements ICreateDataRecordCommandParams {\n assetId!: string;\n inputType!: InputType;\n dataSetId?: string | undefined;\n\n protected _discriminator: string;\n\n constructor(data?: ICreateDataRecordCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n this._discriminator = \"CreateDataRecordCommandParams\";\n }\n\n init(_data?: any) {\n if (_data) {\n this.assetId = _data[\"assetId\"];\n this.inputType = _data[\"inputType\"];\n this.dataSetId = _data[\"dataSetId\"];\n }\n }\n\n static fromJS(data: any): CreateDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n if (data[\"type\"] === \"CatchedFish\") {\n let result = new CreateCatchedFishDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"DownstreamLeasedAsset\") {\n let result = new CreateDownstreamLeasedAssetDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"ElectricityConsumption\") {\n let result = new CreateElectricityConsumptionDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeCommuting\") {\n let result = new CreateEmployeeCommutingDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeGenderDiversityAndEquality\") {\n let result = new CreateEmployeeGenderDiversityAndEqualityDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeMarineCasualty\") {\n let result = new CreateEmployeeMarineCasualtyDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeNewHiresAndTurnovers\") {\n let result = new CreateEmployeeNewHiresAndTurnoversDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeParentalLeaves\") {\n let result = new CreateEmployeeParentalLeavesDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeSickLeaves\") {\n let result = new CreateEmployeeSickLeavesDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeWorkRelatedInjuries\") {\n let result = new CreateEmployeeWorkRelatedInjuriesDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationBusinessAirTravel\") {\n let result = new CreateOrganizationBusinessAirTravelDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationBusinessTravelHotelNights\") {\n let result = new CreateOrganizationBusinessTravelHotelNightsDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationCorruptionRisk\") {\n let result = new CreateOrganizationCorruptionRiskDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationFines\") {\n let result = new CreateOrganizationFinesDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationLobbyPoliticalContribution\") {\n let result = new CreateOrganizationLobbyPoliticalContributionDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationWhistleblowing\") {\n let result = new CreateOrganizationWhistleblowingDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"PurchasedFish\") {\n let result = new CreatePurchasedFishDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VehicleConsumption\") {\n let result = new CreateVehicleConsumptionDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VesselConsumption\") {\n let result = new CreateVesselConsumptionDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VesselDurationInProtectedAreas\") {\n let result = new CreateVesselDurationInProtectedAreasDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VesselEmissions\") {\n let result = new CreateVesselEmissionsDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VesselSpills\") {\n let result = new CreateVesselSpillsDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Waste\") {\n let result = new CreateWasteDataRecordCommandParams();\n result.init(data);\n return result;\n }\n let result = new CreateDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this._discriminator;\n data[\"assetId\"] = this.assetId;\n data[\"inputType\"] = this.inputType;\n data[\"dataSetId\"] = this.dataSetId;\n return data;\n }\n}\n\nexport interface ICreateDataRecordCommandParams {\n assetId: string;\n inputType: InputType;\n dataSetId?: string | undefined;\n}\n\nexport class CreateCatchedFishDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateCatchedFishDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n species!: FishSpecies;\n readonly fishSpeciesName?: string | undefined;\n weight_kg?: number | undefined;\n\n constructor(data?: ICreateCatchedFishDataRecordCommandParams) {\n super(data);\n this._discriminator = \"CatchedFish\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.species = _data[\"species\"];\n (this).fishSpeciesName = _data[\"fishSpeciesName\"];\n this.weight_kg = _data[\"weight_kg\"];\n }\n }\n\n static override fromJS(data: any): CreateCatchedFishDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateCatchedFishDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"species\"] = this.species;\n data[\"fishSpeciesName\"] = this.fishSpeciesName;\n data[\"weight_kg\"] = this.weight_kg;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateCatchedFishDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n species: FishSpecies;\n fishSpeciesName?: string | undefined;\n weight_kg?: number | undefined;\n}\n\nexport class CreateDownstreamLeasedAssetDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateDownstreamLeasedAssetDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n clientAssetId!: string;\n\n constructor(data?: ICreateDownstreamLeasedAssetDataRecordCommandParams) {\n super(data);\n this._discriminator = \"DownstreamLeasedAsset\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.clientAssetId = _data[\"clientAssetId\"];\n }\n }\n\n static override fromJS(data: any): CreateDownstreamLeasedAssetDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateDownstreamLeasedAssetDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"clientAssetId\"] = this.clientAssetId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateDownstreamLeasedAssetDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n clientAssetId: string;\n}\n\nexport class CreateElectricityConsumptionDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateElectricityConsumptionDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n countryCode!: CountryCodes;\n electricity_kwh!: number;\n\n constructor(data?: ICreateElectricityConsumptionDataRecordCommandParams) {\n super(data);\n this._discriminator = \"ElectricityConsumption\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.countryCode = _data[\"countryCode\"];\n this.electricity_kwh = _data[\"electricity_kwh\"];\n }\n }\n\n static override fromJS(data: any): CreateElectricityConsumptionDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateElectricityConsumptionDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"countryCode\"] = this.countryCode;\n data[\"electricity_kwh\"] = this.electricity_kwh;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateElectricityConsumptionDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n countryCode: CountryCodes;\n electricity_kwh: number;\n}\n\nexport class CreateEmployeeCommutingDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateEmployeeCommutingDataRecordCommandParams {\n readonly type!: DataRecordType;\n dataProfileId!: string;\n transport!: EmployeeCommutingTransport;\n mode?: EmployeeCommutingMode | undefined;\n employees!: number;\n days!: number;\n distance_km!: number;\n cO2Measured_kg?: number | undefined;\n\n constructor(data?: ICreateEmployeeCommutingDataRecordCommandParams) {\n super(data);\n this._discriminator = \"EmployeeCommuting\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.dataProfileId = _data[\"dataProfileId\"];\n this.transport = _data[\"transport\"];\n this.mode = _data[\"mode\"];\n this.employees = _data[\"employees\"];\n this.days = _data[\"days\"];\n this.distance_km = _data[\"distance_km\"];\n this.cO2Measured_kg = _data[\"cO2Measured_kg\"];\n }\n }\n\n static override fromJS(data: any): CreateEmployeeCommutingDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateEmployeeCommutingDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"dataProfileId\"] = this.dataProfileId;\n data[\"transport\"] = this.transport;\n data[\"mode\"] = this.mode;\n data[\"employees\"] = this.employees;\n data[\"days\"] = this.days;\n data[\"distance_km\"] = this.distance_km;\n data[\"cO2Measured_kg\"] = this.cO2Measured_kg;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateEmployeeCommutingDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n dataProfileId: string;\n transport: EmployeeCommutingTransport;\n mode?: EmployeeCommutingMode | undefined;\n employees: number;\n days: number;\n distance_km: number;\n cO2Measured_kg?: number | undefined;\n}\n\nexport class CreateEmployeeGenderDiversityAndEqualityDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateEmployeeGenderDiversityAndEqualityDataRecordCommandParams {\n readonly type!: DataRecordType;\n dataProfileId!: string;\n employee!: string;\n yearOfBirth!: number;\n gender!: Gender;\n contract?: ContractType | undefined;\n employment?: EmploymentType | undefined;\n positionLevel!: PositionLevel;\n location?: Location | undefined;\n regionId?: string | undefined;\n salary?: number | undefined;\n\n constructor(data?: ICreateEmployeeGenderDiversityAndEqualityDataRecordCommandParams) {\n super(data);\n this._discriminator = \"EmployeeGenderDiversityAndEquality\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.dataProfileId = _data[\"dataProfileId\"];\n this.employee = _data[\"employee\"];\n this.yearOfBirth = _data[\"yearOfBirth\"];\n this.gender = _data[\"gender\"];\n this.contract = _data[\"contract\"];\n this.employment = _data[\"employment\"];\n this.positionLevel = _data[\"positionLevel\"];\n this.location = _data[\"location\"];\n this.regionId = _data[\"regionId\"];\n this.salary = _data[\"salary\"];\n }\n }\n\n static override fromJS(data: any): CreateEmployeeGenderDiversityAndEqualityDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateEmployeeGenderDiversityAndEqualityDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"dataProfileId\"] = this.dataProfileId;\n data[\"employee\"] = this.employee;\n data[\"yearOfBirth\"] = this.yearOfBirth;\n data[\"gender\"] = this.gender;\n data[\"contract\"] = this.contract;\n data[\"employment\"] = this.employment;\n data[\"positionLevel\"] = this.positionLevel;\n data[\"location\"] = this.location;\n data[\"regionId\"] = this.regionId;\n data[\"salary\"] = this.salary;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateEmployeeGenderDiversityAndEqualityDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n dataProfileId: string;\n employee: string;\n yearOfBirth: number;\n gender: Gender;\n contract?: ContractType | undefined;\n employment?: EmploymentType | undefined;\n positionLevel: PositionLevel;\n location?: Location | undefined;\n regionId?: string | undefined;\n salary?: number | undefined;\n}\n\nexport class CreateEmployeeMarineCasualtyDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateEmployeeMarineCasualtyDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n marineCasualtyType!: MarineCasualtyType;\n incidents!: number;\n\n constructor(data?: ICreateEmployeeMarineCasualtyDataRecordCommandParams) {\n super(data);\n this._discriminator = \"EmployeeMarineCasualty\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.marineCasualtyType = _data[\"marineCasualtyType\"];\n this.incidents = _data[\"incidents\"];\n }\n }\n\n static override fromJS(data: any): CreateEmployeeMarineCasualtyDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateEmployeeMarineCasualtyDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"marineCasualtyType\"] = this.marineCasualtyType;\n data[\"incidents\"] = this.incidents;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateEmployeeMarineCasualtyDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n marineCasualtyType: MarineCasualtyType;\n incidents: number;\n}\n\nexport class CreateEmployeeNewHiresAndTurnoversDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateEmployeeNewHiresAndTurnoversDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n employmentEvent!: EmploymentEvent;\n gender!: Gender;\n ageGroup!: AgeGroup;\n positionLevel!: PositionLevel;\n regionId!: string;\n\n constructor(data?: ICreateEmployeeNewHiresAndTurnoversDataRecordCommandParams) {\n super(data);\n this._discriminator = \"EmployeeNewHiresAndTurnovers\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.employmentEvent = _data[\"employmentEvent\"];\n this.gender = _data[\"gender\"];\n this.ageGroup = _data[\"ageGroup\"];\n this.positionLevel = _data[\"positionLevel\"];\n this.regionId = _data[\"regionId\"];\n }\n }\n\n static override fromJS(data: any): CreateEmployeeNewHiresAndTurnoversDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateEmployeeNewHiresAndTurnoversDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"employmentEvent\"] = this.employmentEvent;\n data[\"gender\"] = this.gender;\n data[\"ageGroup\"] = this.ageGroup;\n data[\"positionLevel\"] = this.positionLevel;\n data[\"regionId\"] = this.regionId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateEmployeeNewHiresAndTurnoversDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n employmentEvent: EmploymentEvent;\n gender: Gender;\n ageGroup: AgeGroup;\n positionLevel: PositionLevel;\n regionId: string;\n}\n\nexport class CreateEmployeeParentalLeavesDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateEmployeeParentalLeavesDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n mode!: ParentalLeaveMode;\n gender!: Gender;\n regionId!: string;\n\n constructor(data?: ICreateEmployeeParentalLeavesDataRecordCommandParams) {\n super(data);\n this._discriminator = \"EmployeeParentalLeaves\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.mode = _data[\"mode\"];\n this.gender = _data[\"gender\"];\n this.regionId = _data[\"regionId\"];\n }\n }\n\n static override fromJS(data: any): CreateEmployeeParentalLeavesDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateEmployeeParentalLeavesDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"mode\"] = this.mode;\n data[\"gender\"] = this.gender;\n data[\"regionId\"] = this.regionId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateEmployeeParentalLeavesDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n mode: ParentalLeaveMode;\n gender: Gender;\n regionId: string;\n}\n\nexport class CreateEmployeeSickLeavesDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateEmployeeSickLeavesDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n regionId!: string;\n women!: number;\n men!: number;\n workingDays!: number;\n\n constructor(data?: ICreateEmployeeSickLeavesDataRecordCommandParams) {\n super(data);\n this._discriminator = \"EmployeeSickLeaves\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.regionId = _data[\"regionId\"];\n this.women = _data[\"women\"];\n this.men = _data[\"men\"];\n this.workingDays = _data[\"workingDays\"];\n }\n }\n\n static override fromJS(data: any): CreateEmployeeSickLeavesDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateEmployeeSickLeavesDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"regionId\"] = this.regionId;\n data[\"women\"] = this.women;\n data[\"men\"] = this.men;\n data[\"workingDays\"] = this.workingDays;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateEmployeeSickLeavesDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n regionId: string;\n women: number;\n men: number;\n workingDays: number;\n}\n\nexport class CreateEmployeeWorkRelatedInjuriesDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateEmployeeWorkRelatedInjuriesDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n recordableInjuries!: number;\n fatalities!: number;\n highConsequenceInjuries!: number;\n illnessHealth!: number;\n lostTimeInjuries!: number;\n daysLost!: number;\n exposureHours!: number;\n\n constructor(data?: ICreateEmployeeWorkRelatedInjuriesDataRecordCommandParams) {\n super(data);\n this._discriminator = \"EmployeeWorkRelatedInjuries\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.recordableInjuries = _data[\"recordableInjuries\"];\n this.fatalities = _data[\"fatalities\"];\n this.highConsequenceInjuries = _data[\"highConsequenceInjuries\"];\n this.illnessHealth = _data[\"illnessHealth\"];\n this.lostTimeInjuries = _data[\"lostTimeInjuries\"];\n this.daysLost = _data[\"daysLost\"];\n this.exposureHours = _data[\"exposureHours\"];\n }\n }\n\n static override fromJS(data: any): CreateEmployeeWorkRelatedInjuriesDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateEmployeeWorkRelatedInjuriesDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"recordableInjuries\"] = this.recordableInjuries;\n data[\"fatalities\"] = this.fatalities;\n data[\"highConsequenceInjuries\"] = this.highConsequenceInjuries;\n data[\"illnessHealth\"] = this.illnessHealth;\n data[\"lostTimeInjuries\"] = this.lostTimeInjuries;\n data[\"daysLost\"] = this.daysLost;\n data[\"exposureHours\"] = this.exposureHours;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateEmployeeWorkRelatedInjuriesDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n recordableInjuries: number;\n fatalities: number;\n highConsequenceInjuries: number;\n illnessHealth: number;\n lostTimeInjuries: number;\n daysLost: number;\n exposureHours: number;\n}\n\nexport class CreateOrganizationBusinessAirTravelDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateOrganizationBusinessAirTravelDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n consumptionValueType!: ConsumptionValueType;\n distanceType?: DistanceType | undefined;\n numberOfFlights!: number;\n consumptionValue!: number;\n cO2Measured_kg?: number | undefined;\n\n constructor(data?: ICreateOrganizationBusinessAirTravelDataRecordCommandParams) {\n super(data);\n this._discriminator = \"OrganizationBusinessAirTravel\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.consumptionValueType = _data[\"consumptionValueType\"];\n this.distanceType = _data[\"distanceType\"];\n this.numberOfFlights = _data[\"numberOfFlights\"];\n this.consumptionValue = _data[\"consumptionValue\"];\n this.cO2Measured_kg = _data[\"cO2Measured_kg\"];\n }\n }\n\n static override fromJS(data: any): CreateOrganizationBusinessAirTravelDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrganizationBusinessAirTravelDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"consumptionValueType\"] = this.consumptionValueType;\n data[\"distanceType\"] = this.distanceType;\n data[\"numberOfFlights\"] = this.numberOfFlights;\n data[\"consumptionValue\"] = this.consumptionValue;\n data[\"cO2Measured_kg\"] = this.cO2Measured_kg;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateOrganizationBusinessAirTravelDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n consumptionValueType: ConsumptionValueType;\n distanceType?: DistanceType | undefined;\n numberOfFlights: number;\n consumptionValue: number;\n cO2Measured_kg?: number | undefined;\n}\n\nexport class CreateOrganizationBusinessTravelHotelNightsDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateOrganizationBusinessTravelHotelNightsDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n numberOfNights!: number;\n countryCode!: CountryCodes;\n\n constructor(data?: ICreateOrganizationBusinessTravelHotelNightsDataRecordCommandParams) {\n super(data);\n this._discriminator = \"OrganizationBusinessTravelHotelNights\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.numberOfNights = _data[\"numberOfNights\"];\n this.countryCode = _data[\"countryCode\"];\n }\n }\n\n static override fromJS(data: any): CreateOrganizationBusinessTravelHotelNightsDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrganizationBusinessTravelHotelNightsDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"numberOfNights\"] = this.numberOfNights;\n data[\"countryCode\"] = this.countryCode;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateOrganizationBusinessTravelHotelNightsDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n numberOfNights: number;\n countryCode: CountryCodes;\n}\n\nexport class CreateOrganizationCorruptionRiskDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateOrganizationCorruptionRiskDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n callsAtPort!: number;\n netRevenue!: number;\n currencyCode!: CurrencyCodes;\n facilitation!: number;\n\n constructor(data?: ICreateOrganizationCorruptionRiskDataRecordCommandParams) {\n super(data);\n this._discriminator = \"OrganizationCorruptionRisk\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.callsAtPort = _data[\"callsAtPort\"];\n this.netRevenue = _data[\"netRevenue\"];\n this.currencyCode = _data[\"currencyCode\"];\n this.facilitation = _data[\"facilitation\"];\n }\n }\n\n static override fromJS(data: any): CreateOrganizationCorruptionRiskDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrganizationCorruptionRiskDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"callsAtPort\"] = this.callsAtPort;\n data[\"netRevenue\"] = this.netRevenue;\n data[\"currencyCode\"] = this.currencyCode;\n data[\"facilitation\"] = this.facilitation;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateOrganizationCorruptionRiskDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n callsAtPort: number;\n netRevenue: number;\n currencyCode: CurrencyCodes;\n facilitation: number;\n}\n\nexport class CreateOrganizationFinesDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateOrganizationFinesDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n monetaryValue!: number;\n currencyCode!: CurrencyCodes;\n nonMonetarySanctions!: number;\n\n constructor(data?: ICreateOrganizationFinesDataRecordCommandParams) {\n super(data);\n this._discriminator = \"OrganizationFines\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.monetaryValue = _data[\"monetaryValue\"];\n this.currencyCode = _data[\"currencyCode\"];\n this.nonMonetarySanctions = _data[\"nonMonetarySanctions\"];\n }\n }\n\n static override fromJS(data: any): CreateOrganizationFinesDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrganizationFinesDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"monetaryValue\"] = this.monetaryValue;\n data[\"currencyCode\"] = this.currencyCode;\n data[\"nonMonetarySanctions\"] = this.nonMonetarySanctions;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateOrganizationFinesDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n monetaryValue: number;\n currencyCode: CurrencyCodes;\n nonMonetarySanctions: number;\n}\n\nexport class CreateOrganizationLobbyPoliticalContributionDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateOrganizationLobbyPoliticalContributionDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n monetaryValue!: number;\n currencyCode!: CurrencyCodes;\n beneficiary!: string;\n countryCode!: CountryCodes;\n\n constructor(data?: ICreateOrganizationLobbyPoliticalContributionDataRecordCommandParams) {\n super(data);\n this._discriminator = \"OrganizationLobbyPoliticalContribution\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.monetaryValue = _data[\"monetaryValue\"];\n this.currencyCode = _data[\"currencyCode\"];\n this.beneficiary = _data[\"beneficiary\"];\n this.countryCode = _data[\"countryCode\"];\n }\n }\n\n static override fromJS(data: any): CreateOrganizationLobbyPoliticalContributionDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrganizationLobbyPoliticalContributionDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"monetaryValue\"] = this.monetaryValue;\n data[\"currencyCode\"] = this.currencyCode;\n data[\"beneficiary\"] = this.beneficiary;\n data[\"countryCode\"] = this.countryCode;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateOrganizationLobbyPoliticalContributionDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n monetaryValue: number;\n currencyCode: CurrencyCodes;\n beneficiary: string;\n countryCode: CountryCodes;\n}\n\nexport class CreateOrganizationWhistleblowingDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateOrganizationWhistleblowingDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n incidents!: number;\n\n constructor(data?: ICreateOrganizationWhistleblowingDataRecordCommandParams) {\n super(data);\n this._discriminator = \"OrganizationWhistleblowing\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.incidents = _data[\"incidents\"];\n }\n }\n\n static override fromJS(data: any): CreateOrganizationWhistleblowingDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrganizationWhistleblowingDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"incidents\"] = this.incidents;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateOrganizationWhistleblowingDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n incidents: number;\n}\n\nexport class CreatePurchasedFishDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreatePurchasedFishDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n species!: FishSpecies;\n readonly fishSpeciesName?: string | undefined;\n weight_kg?: number | undefined;\n\n constructor(data?: ICreatePurchasedFishDataRecordCommandParams) {\n super(data);\n this._discriminator = \"PurchasedFish\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.species = _data[\"species\"];\n (this).fishSpeciesName = _data[\"fishSpeciesName\"];\n this.weight_kg = _data[\"weight_kg\"];\n }\n }\n\n static override fromJS(data: any): CreatePurchasedFishDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreatePurchasedFishDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"species\"] = this.species;\n data[\"fishSpeciesName\"] = this.fishSpeciesName;\n data[\"weight_kg\"] = this.weight_kg;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreatePurchasedFishDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n species: FishSpecies;\n fishSpeciesName?: string | undefined;\n weight_kg?: number | undefined;\n}\n\nexport class CreateVehicleConsumptionDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateVehicleConsumptionDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n diesel_l!: number;\n petrol_l!: number;\n hydrogen_kg!: number;\n naturalGas!: number;\n naturalGas_Unit!: string;\n liquidPetroleumGas!: number;\n liquidPetroleumGas_Unit!: string;\n distance_km!: number;\n\n constructor(data?: ICreateVehicleConsumptionDataRecordCommandParams) {\n super(data);\n this._discriminator = \"VehicleConsumption\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.diesel_l = _data[\"diesel_l\"];\n this.petrol_l = _data[\"petrol_l\"];\n this.hydrogen_kg = _data[\"hydrogen_kg\"];\n this.naturalGas = _data[\"naturalGas\"];\n this.naturalGas_Unit = _data[\"naturalGas_Unit\"];\n this.liquidPetroleumGas = _data[\"liquidPetroleumGas\"];\n this.liquidPetroleumGas_Unit = _data[\"liquidPetroleumGas_Unit\"];\n this.distance_km = _data[\"distance_km\"];\n }\n }\n\n static override fromJS(data: any): CreateVehicleConsumptionDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateVehicleConsumptionDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"diesel_l\"] = this.diesel_l;\n data[\"petrol_l\"] = this.petrol_l;\n data[\"hydrogen_kg\"] = this.hydrogen_kg;\n data[\"naturalGas\"] = this.naturalGas;\n data[\"naturalGas_Unit\"] = this.naturalGas_Unit;\n data[\"liquidPetroleumGas\"] = this.liquidPetroleumGas;\n data[\"liquidPetroleumGas_Unit\"] = this.liquidPetroleumGas_Unit;\n data[\"distance_km\"] = this.distance_km;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateVehicleConsumptionDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n diesel_l: number;\n petrol_l: number;\n hydrogen_kg: number;\n naturalGas: number;\n naturalGas_Unit: string;\n liquidPetroleumGas: number;\n liquidPetroleumGas_Unit: string;\n distance_km: number;\n}\n\nexport class CreateVesselConsumptionDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateVesselConsumptionDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n distanceSailed_nm?: number | undefined;\n inOperation_hrs?: number | undefined;\n mgo?: number | undefined;\n mgO_Unit!: string;\n hfo?: number | undefined;\n hfO_Unit!: string;\n lfo?: number | undefined;\n lfO_Unit!: string;\n urea_l?: number | undefined;\n lng?: number | undefined;\n lnG_Unit!: string;\n mgoB30?: number | undefined;\n mgoB30_Unit!: string;\n hvO100?: number | undefined;\n hvO100_Unit!: string;\n\n constructor(data?: ICreateVesselConsumptionDataRecordCommandParams) {\n super(data);\n this._discriminator = \"VesselConsumption\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.distanceSailed_nm = _data[\"distanceSailed_nm\"];\n this.inOperation_hrs = _data[\"inOperation_hrs\"];\n this.mgo = _data[\"mgo\"];\n this.mgO_Unit = _data[\"mgO_Unit\"];\n this.hfo = _data[\"hfo\"];\n this.hfO_Unit = _data[\"hfO_Unit\"];\n this.lfo = _data[\"lfo\"];\n this.lfO_Unit = _data[\"lfO_Unit\"];\n this.urea_l = _data[\"urea_l\"];\n this.lng = _data[\"lng\"];\n this.lnG_Unit = _data[\"lnG_Unit\"];\n this.mgoB30 = _data[\"mgoB30\"];\n this.mgoB30_Unit = _data[\"mgoB30_Unit\"];\n this.hvO100 = _data[\"hvO100\"];\n this.hvO100_Unit = _data[\"hvO100_Unit\"];\n }\n }\n\n static override fromJS(data: any): CreateVesselConsumptionDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateVesselConsumptionDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"distanceSailed_nm\"] = this.distanceSailed_nm;\n data[\"inOperation_hrs\"] = this.inOperation_hrs;\n data[\"mgo\"] = this.mgo;\n data[\"mgO_Unit\"] = this.mgO_Unit;\n data[\"hfo\"] = this.hfo;\n data[\"hfO_Unit\"] = this.hfO_Unit;\n data[\"lfo\"] = this.lfo;\n data[\"lfO_Unit\"] = this.lfO_Unit;\n data[\"urea_l\"] = this.urea_l;\n data[\"lng\"] = this.lng;\n data[\"lnG_Unit\"] = this.lnG_Unit;\n data[\"mgoB30\"] = this.mgoB30;\n data[\"mgoB30_Unit\"] = this.mgoB30_Unit;\n data[\"hvO100\"] = this.hvO100;\n data[\"hvO100_Unit\"] = this.hvO100_Unit;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateVesselConsumptionDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n distanceSailed_nm?: number | undefined;\n inOperation_hrs?: number | undefined;\n mgo?: number | undefined;\n mgO_Unit: string;\n hfo?: number | undefined;\n hfO_Unit: string;\n lfo?: number | undefined;\n lfO_Unit: string;\n urea_l?: number | undefined;\n lng?: number | undefined;\n lnG_Unit: string;\n mgoB30?: number | undefined;\n mgoB30_Unit: string;\n hvO100?: number | undefined;\n hvO100_Unit: string;\n}\n\nexport class CreateVesselDurationInProtectedAreasDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateVesselDurationInProtectedAreasDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n days!: number;\n\n constructor(data?: ICreateVesselDurationInProtectedAreasDataRecordCommandParams) {\n super(data);\n this._discriminator = \"VesselDurationInProtectedAreas\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.days = _data[\"days\"];\n }\n }\n\n static override fromJS(data: any): CreateVesselDurationInProtectedAreasDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateVesselDurationInProtectedAreasDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"days\"] = this.days;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateVesselDurationInProtectedAreasDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n days: number;\n}\n\nexport class CreateVesselEmissionsDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateVesselEmissionsDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n mgO_m3?: number | undefined;\n lnG_m3?: number | undefined;\n powerFromShore_kwh?: number | undefined;\n powerFromShoreCountryCode?: CountryCodes | undefined;\n nox_t?: number | undefined;\n cO2_t?: number | undefined;\n sOx_kg?: number | undefined;\n pM25_kg?: number | undefined;\n cH4_kg?: number | undefined;\n n2O_kg?: number | undefined;\n inOperation_hrs?: number | undefined;\n\n constructor(data?: ICreateVesselEmissionsDataRecordCommandParams) {\n super(data);\n this._discriminator = \"VesselEmissions\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.mgO_m3 = _data[\"mgO_m3\"];\n this.lnG_m3 = _data[\"lnG_m3\"];\n this.powerFromShore_kwh = _data[\"powerFromShore_kwh\"];\n this.powerFromShoreCountryCode = _data[\"powerFromShoreCountryCode\"];\n this.nox_t = _data[\"nox_t\"];\n this.cO2_t = _data[\"cO2_t\"];\n this.sOx_kg = _data[\"sOx_kg\"];\n this.pM25_kg = _data[\"pM25_kg\"];\n this.cH4_kg = _data[\"cH4_kg\"];\n this.n2O_kg = _data[\"n2O_kg\"];\n this.inOperation_hrs = _data[\"inOperation_hrs\"];\n }\n }\n\n static override fromJS(data: any): CreateVesselEmissionsDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateVesselEmissionsDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"mgO_m3\"] = this.mgO_m3;\n data[\"lnG_m3\"] = this.lnG_m3;\n data[\"powerFromShore_kwh\"] = this.powerFromShore_kwh;\n data[\"powerFromShoreCountryCode\"] = this.powerFromShoreCountryCode;\n data[\"nox_t\"] = this.nox_t;\n data[\"cO2_t\"] = this.cO2_t;\n data[\"sOx_kg\"] = this.sOx_kg;\n data[\"pM25_kg\"] = this.pM25_kg;\n data[\"cH4_kg\"] = this.cH4_kg;\n data[\"n2O_kg\"] = this.n2O_kg;\n data[\"inOperation_hrs\"] = this.inOperation_hrs;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateVesselEmissionsDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n mgO_m3?: number | undefined;\n lnG_m3?: number | undefined;\n powerFromShore_kwh?: number | undefined;\n powerFromShoreCountryCode?: CountryCodes | undefined;\n nox_t?: number | undefined;\n cO2_t?: number | undefined;\n sOx_kg?: number | undefined;\n pM25_kg?: number | undefined;\n cH4_kg?: number | undefined;\n n2O_kg?: number | undefined;\n inOperation_hrs?: number | undefined;\n}\n\nexport class CreateVesselSpillsDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateVesselSpillsDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n spillsType!: string;\n isHazardous!: boolean;\n volume_m3!: number;\n\n constructor(data?: ICreateVesselSpillsDataRecordCommandParams) {\n super(data);\n this._discriminator = \"VesselSpills\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.spillsType = _data[\"spillsType\"];\n this.isHazardous = _data[\"isHazardous\"];\n this.volume_m3 = _data[\"volume_m3\"];\n }\n }\n\n static override fromJS(data: any): CreateVesselSpillsDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateVesselSpillsDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"spillsType\"] = this.spillsType;\n data[\"isHazardous\"] = this.isHazardous;\n data[\"volume_m3\"] = this.volume_m3;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateVesselSpillsDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n spillsType: string;\n isHazardous: boolean;\n volume_m3: number;\n}\n\nexport class CreateWasteDataRecordCommandParams extends CreateDataRecordCommandParams implements ICreateWasteDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n class!: WasteClass;\n subclass?: WasteSubClass | undefined;\n isHazardous!: boolean;\n toDisposal!: WasteToDisposal;\n quantity!: number;\n unit!: string;\n cO2Measured_t?: number | undefined;\n\n constructor(data?: ICreateWasteDataRecordCommandParams) {\n super(data);\n this._discriminator = \"Waste\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.class = _data[\"class\"];\n this.subclass = _data[\"subclass\"];\n this.isHazardous = _data[\"isHazardous\"];\n this.toDisposal = _data[\"toDisposal\"];\n this.quantity = _data[\"quantity\"];\n this.unit = _data[\"unit\"];\n this.cO2Measured_t = _data[\"cO2Measured_t\"];\n }\n }\n\n static override fromJS(data: any): CreateWasteDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateWasteDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"class\"] = this.class;\n data[\"subclass\"] = this.subclass;\n data[\"isHazardous\"] = this.isHazardous;\n data[\"toDisposal\"] = this.toDisposal;\n data[\"quantity\"] = this.quantity;\n data[\"unit\"] = this.unit;\n data[\"cO2Measured_t\"] = this.cO2Measured_t;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateWasteDataRecordCommandParams extends ICreateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n class: WasteClass;\n subclass?: WasteSubClass | undefined;\n isHazardous: boolean;\n toDisposal: WasteToDisposal;\n quantity: number;\n unit: string;\n cO2Measured_t?: number | undefined;\n}\n\nexport class UpdateDataRecordCommandParams implements IUpdateDataRecordCommandParams {\n id!: string;\n assetId!: string;\n\n protected _discriminator: string;\n\n constructor(data?: IUpdateDataRecordCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n this._discriminator = \"UpdateDataRecordCommandParams\";\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.assetId = _data[\"assetId\"];\n }\n }\n\n static fromJS(data: any): UpdateDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n if (data[\"type\"] === \"DownstreamLeasedAsset\") {\n let result = new UpdateDownstreamLeasedAssetDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"ElectricityConsumption\") {\n let result = new UpdateElectricityConsumptionDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeCommuting\") {\n let result = new UpdateEmployeeCommutingDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeGenderDiversityAndEquality\") {\n let result = new UpdateEmployeeGenderDiversityAndEqualityDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeMarineCasualty\") {\n let result = new UpdateEmployeeMarineCasualtyDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeNewHiresAndTurnovers\") {\n let result = new UpdateEmployeeNewHiresAndTurnoversDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeParentalLeaves\") {\n let result = new UpdateEmployeeParentalLeavesDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeSickLeaves\") {\n let result = new UpdateEmployeeSickLeavesDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeWorkRelatedInjuries\") {\n let result = new UpdateEmployeeWorkRelatedInjuriesDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationBusinessAirTravel\") {\n let result = new UpdateOrganizationBusinessAirTravelDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationBusinessTravelHotelNights\") {\n let result = new UpdateOrganizationBusinessTravelHotelNightsDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationCorruptionRisk\") {\n let result = new UpdateOrganizationCorruptionRiskDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationFines\") {\n let result = new UpdateOrganizationFinesDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationLobbyPoliticalContribution\") {\n let result = new UpdateOrganizationLobbyPoliticalContributionDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationWhistleblowing\") {\n let result = new UpdateOrganizationWhistleblowingDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VehicleConsumption\") {\n let result = new UpdateVehicleConsumptionDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VesselConsumption\") {\n let result = new UpdateVesselConsumptionDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VesselDurationInProtectedAreas\") {\n let result = new UpdateVesselDurationInProtectedAreasDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VesselEmissions\") {\n let result = new UpdateVesselEmissionsDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VesselSpills\") {\n let result = new UpdateVesselSpillsDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Waste\") {\n let result = new UpdateWasteDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"CatchedFish\") {\n let result = new UpdateCatchedFishDataRecordCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"PurchasedFish\") {\n let result = new UpdatePurchasedFishDataRecordCommandParams();\n result.init(data);\n return result;\n }\n let result = new UpdateDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this._discriminator;\n data[\"id\"] = this.id;\n data[\"assetId\"] = this.assetId;\n return data;\n }\n}\n\nexport interface IUpdateDataRecordCommandParams {\n id: string;\n assetId: string;\n}\n\nexport class UpdateCatchedFishDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateCatchedFishDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n species!: FishSpecies;\n readonly fishSpeciesName?: string | undefined;\n weight_kg?: number | undefined;\n\n constructor(data?: IUpdateCatchedFishDataRecordCommandParams) {\n super(data);\n this._discriminator = \"CatchedFish\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.species = _data[\"species\"];\n (this).fishSpeciesName = _data[\"fishSpeciesName\"];\n this.weight_kg = _data[\"weight_kg\"];\n }\n }\n\n static override fromJS(data: any): UpdateCatchedFishDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateCatchedFishDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"species\"] = this.species;\n data[\"fishSpeciesName\"] = this.fishSpeciesName;\n data[\"weight_kg\"] = this.weight_kg;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateCatchedFishDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n species: FishSpecies;\n fishSpeciesName?: string | undefined;\n weight_kg?: number | undefined;\n}\n\nexport class UpdatePurchasedFishDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdatePurchasedFishDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n species!: FishSpecies;\n readonly fishSpeciesName?: string | undefined;\n weight_kg?: number | undefined;\n\n constructor(data?: IUpdatePurchasedFishDataRecordCommandParams) {\n super(data);\n this._discriminator = \"PurchasedFish\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.species = _data[\"species\"];\n (this).fishSpeciesName = _data[\"fishSpeciesName\"];\n this.weight_kg = _data[\"weight_kg\"];\n }\n }\n\n static override fromJS(data: any): UpdatePurchasedFishDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdatePurchasedFishDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"species\"] = this.species;\n data[\"fishSpeciesName\"] = this.fishSpeciesName;\n data[\"weight_kg\"] = this.weight_kg;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdatePurchasedFishDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n species: FishSpecies;\n fishSpeciesName?: string | undefined;\n weight_kg?: number | undefined;\n}\n\nexport class CreateMultipleDataRecordCommandParams implements ICreateMultipleDataRecordCommandParams {\n dataRecords!: CreateDataRecordCommandParams[];\n\n constructor(data?: ICreateMultipleDataRecordCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.dataRecords = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"dataRecords\"])) {\n this.dataRecords = [] as any;\n for (let item of _data[\"dataRecords\"])\n this.dataRecords!.push(CreateDataRecordCommandParams.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): CreateMultipleDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateMultipleDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.dataRecords)) {\n data[\"dataRecords\"] = [];\n for (let item of this.dataRecords)\n data[\"dataRecords\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ICreateMultipleDataRecordCommandParams {\n dataRecords: CreateDataRecordCommandParams[];\n}\n\nexport class CreateMultipleDataRecordCommandResponse implements ICreateMultipleDataRecordCommandResponse {\n result!: CreateMultipleDataRecordResult;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: ICreateMultipleDataRecordCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new CreateMultipleDataRecordResult();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? CreateMultipleDataRecordResult.fromJS(_data[\"result\"]) : new CreateMultipleDataRecordResult();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CreateMultipleDataRecordCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CreateMultipleDataRecordCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICreateMultipleDataRecordCommandResponse {\n result: CreateMultipleDataRecordResult;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CreateMultipleDataRecordResult implements ICreateMultipleDataRecordResult {\n addedDataRecords!: string[];\n failAddingDataRecords!: FailAddingDataRecord[];\n\n constructor(data?: ICreateMultipleDataRecordResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.addedDataRecords = [];\n this.failAddingDataRecords = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"addedDataRecords\"])) {\n this.addedDataRecords = [] as any;\n for (let item of _data[\"addedDataRecords\"])\n this.addedDataRecords!.push(item);\n }\n if (Array.isArray(_data[\"failAddingDataRecords\"])) {\n this.failAddingDataRecords = [] as any;\n for (let item of _data[\"failAddingDataRecords\"])\n this.failAddingDataRecords!.push(FailAddingDataRecord.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): CreateMultipleDataRecordResult {\n data = typeof data === 'object' ? data : {};\n let result = new CreateMultipleDataRecordResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.addedDataRecords)) {\n data[\"addedDataRecords\"] = [];\n for (let item of this.addedDataRecords)\n data[\"addedDataRecords\"].push(item);\n }\n if (Array.isArray(this.failAddingDataRecords)) {\n data[\"failAddingDataRecords\"] = [];\n for (let item of this.failAddingDataRecords)\n data[\"failAddingDataRecords\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ICreateMultipleDataRecordResult {\n addedDataRecords: string[];\n failAddingDataRecords: FailAddingDataRecord[];\n}\n\nexport class FailAddingDataRecord implements IFailAddingDataRecord {\n dataRecord!: DataRecord;\n messages!: string[];\n\n constructor(data?: IFailAddingDataRecord) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.dataRecord = new DataRecord();\n this.messages = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dataRecord = _data[\"dataRecord\"] ? DataRecord.fromJS(_data[\"dataRecord\"]) : new DataRecord();\n if (Array.isArray(_data[\"messages\"])) {\n this.messages = [] as any;\n for (let item of _data[\"messages\"])\n this.messages!.push(item);\n }\n }\n }\n\n static fromJS(data: any): FailAddingDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new FailAddingDataRecord();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dataRecord\"] = this.dataRecord ? this.dataRecord.toJSON() : undefined;\n if (Array.isArray(this.messages)) {\n data[\"messages\"] = [];\n for (let item of this.messages)\n data[\"messages\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IFailAddingDataRecord {\n dataRecord: DataRecord;\n messages: string[];\n}\n\nexport class DeleteDataRecordCommandResponse implements IDeleteDataRecordCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IDeleteDataRecordCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DeleteDataRecordCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteDataRecordCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDeleteDataRecordCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class DeleteDataRecordsByCommandResponse implements IDeleteDataRecordsByCommandResponse {\n result!: DeleteDataRecordsByVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IDeleteDataRecordsByCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new DeleteDataRecordsByVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? DeleteDataRecordsByVm.fromJS(_data[\"result\"]) : new DeleteDataRecordsByVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DeleteDataRecordsByCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteDataRecordsByCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDeleteDataRecordsByCommandResponse {\n result: DeleteDataRecordsByVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class DeleteDataRecordsByVm implements IDeleteDataRecordsByVm {\n amountOfDeletedItems!: number;\n amountOfItemsLeft!: number;\n\n constructor(data?: IDeleteDataRecordsByVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.amountOfDeletedItems = _data[\"amountOfDeletedItems\"];\n this.amountOfItemsLeft = _data[\"amountOfItemsLeft\"];\n }\n }\n\n static fromJS(data: any): DeleteDataRecordsByVm {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteDataRecordsByVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"amountOfDeletedItems\"] = this.amountOfDeletedItems;\n data[\"amountOfItemsLeft\"] = this.amountOfItemsLeft;\n return data;\n }\n}\n\nexport interface IDeleteDataRecordsByVm {\n amountOfDeletedItems: number;\n amountOfItemsLeft: number;\n}\n\nexport class DeleteUnrelatedDataRecordsCommandResponse implements IDeleteUnrelatedDataRecordsCommandResponse {\n recordsDeleted!: number;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IDeleteUnrelatedDataRecordsCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.recordsDeleted = _data[\"recordsDeleted\"];\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DeleteUnrelatedDataRecordsCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteUnrelatedDataRecordsCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"recordsDeleted\"] = this.recordsDeleted;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDeleteUnrelatedDataRecordsCommandResponse {\n recordsDeleted: number;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class FixImproperDateInDataProfileDataRecordsCommandResponse implements IFixImproperDateInDataProfileDataRecordsCommandResponse {\n recordsFixed!: number;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IFixImproperDateInDataProfileDataRecordsCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.recordsFixed = _data[\"recordsFixed\"];\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): FixImproperDateInDataProfileDataRecordsCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new FixImproperDateInDataProfileDataRecordsCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"recordsFixed\"] = this.recordsFixed;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IFixImproperDateInDataProfileDataRecordsCommandResponse {\n recordsFixed: number;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class UpdateDownstreamLeasedAssetDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateDownstreamLeasedAssetDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n clientAssetId!: string;\n\n constructor(data?: IUpdateDownstreamLeasedAssetDataRecordCommandParams) {\n super(data);\n this._discriminator = \"DownstreamLeasedAsset\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.clientAssetId = _data[\"clientAssetId\"];\n }\n }\n\n static override fromJS(data: any): UpdateDownstreamLeasedAssetDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateDownstreamLeasedAssetDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"clientAssetId\"] = this.clientAssetId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateDownstreamLeasedAssetDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n clientAssetId: string;\n}\n\nexport class UpdateElectricityConsumptionDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateElectricityConsumptionDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n countryCode!: CountryCodes;\n electricity_kwh!: number;\n\n constructor(data?: IUpdateElectricityConsumptionDataRecordCommandParams) {\n super(data);\n this._discriminator = \"ElectricityConsumption\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.countryCode = _data[\"countryCode\"];\n this.electricity_kwh = _data[\"electricity_kwh\"];\n }\n }\n\n static override fromJS(data: any): UpdateElectricityConsumptionDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateElectricityConsumptionDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"countryCode\"] = this.countryCode;\n data[\"electricity_kwh\"] = this.electricity_kwh;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateElectricityConsumptionDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n countryCode: CountryCodes;\n electricity_kwh: number;\n}\n\nexport class UpdateEmployeeCommutingDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateEmployeeCommutingDataRecordCommandParams {\n readonly type!: DataRecordType;\n transport!: EmployeeCommutingTransport;\n mode?: EmployeeCommutingMode | undefined;\n employees!: number;\n days!: number;\n distance_km!: number;\n cO2Measured_kg?: number | undefined;\n\n constructor(data?: IUpdateEmployeeCommutingDataRecordCommandParams) {\n super(data);\n this._discriminator = \"EmployeeCommuting\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.transport = _data[\"transport\"];\n this.mode = _data[\"mode\"];\n this.employees = _data[\"employees\"];\n this.days = _data[\"days\"];\n this.distance_km = _data[\"distance_km\"];\n this.cO2Measured_kg = _data[\"cO2Measured_kg\"];\n }\n }\n\n static override fromJS(data: any): UpdateEmployeeCommutingDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateEmployeeCommutingDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"transport\"] = this.transport;\n data[\"mode\"] = this.mode;\n data[\"employees\"] = this.employees;\n data[\"days\"] = this.days;\n data[\"distance_km\"] = this.distance_km;\n data[\"cO2Measured_kg\"] = this.cO2Measured_kg;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateEmployeeCommutingDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n transport: EmployeeCommutingTransport;\n mode?: EmployeeCommutingMode | undefined;\n employees: number;\n days: number;\n distance_km: number;\n cO2Measured_kg?: number | undefined;\n}\n\nexport class UpdateEmployeeGenderDiversityAndEqualityDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateEmployeeGenderDiversityAndEqualityDataRecordCommandParams {\n readonly type!: DataRecordType;\n employee!: string;\n yearOfBirth!: number;\n gender!: Gender;\n contract?: ContractType | undefined;\n employment?: EmploymentType | undefined;\n positionLevel!: PositionLevel;\n location?: Location | undefined;\n regionId?: string | undefined;\n salary?: number | undefined;\n\n constructor(data?: IUpdateEmployeeGenderDiversityAndEqualityDataRecordCommandParams) {\n super(data);\n this._discriminator = \"EmployeeGenderDiversityAndEquality\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.employee = _data[\"employee\"];\n this.yearOfBirth = _data[\"yearOfBirth\"];\n this.gender = _data[\"gender\"];\n this.contract = _data[\"contract\"];\n this.employment = _data[\"employment\"];\n this.positionLevel = _data[\"positionLevel\"];\n this.location = _data[\"location\"];\n this.regionId = _data[\"regionId\"];\n this.salary = _data[\"salary\"];\n }\n }\n\n static override fromJS(data: any): UpdateEmployeeGenderDiversityAndEqualityDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateEmployeeGenderDiversityAndEqualityDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"employee\"] = this.employee;\n data[\"yearOfBirth\"] = this.yearOfBirth;\n data[\"gender\"] = this.gender;\n data[\"contract\"] = this.contract;\n data[\"employment\"] = this.employment;\n data[\"positionLevel\"] = this.positionLevel;\n data[\"location\"] = this.location;\n data[\"regionId\"] = this.regionId;\n data[\"salary\"] = this.salary;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateEmployeeGenderDiversityAndEqualityDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n employee: string;\n yearOfBirth: number;\n gender: Gender;\n contract?: ContractType | undefined;\n employment?: EmploymentType | undefined;\n positionLevel: PositionLevel;\n location?: Location | undefined;\n regionId?: string | undefined;\n salary?: number | undefined;\n}\n\nexport class UpdateEmployeeMarineCasualtyDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateEmployeeMarineCasualtyDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n marineCasualtyType!: MarineCasualtyType;\n incidents!: number;\n\n constructor(data?: IUpdateEmployeeMarineCasualtyDataRecordCommandParams) {\n super(data);\n this._discriminator = \"EmployeeMarineCasualty\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.marineCasualtyType = _data[\"marineCasualtyType\"];\n this.incidents = _data[\"incidents\"];\n }\n }\n\n static override fromJS(data: any): UpdateEmployeeMarineCasualtyDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateEmployeeMarineCasualtyDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"marineCasualtyType\"] = this.marineCasualtyType;\n data[\"incidents\"] = this.incidents;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateEmployeeMarineCasualtyDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n marineCasualtyType: MarineCasualtyType;\n incidents: number;\n}\n\nexport class UpdateEmployeeNewHiresAndTurnoversDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateEmployeeNewHiresAndTurnoversDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n employmentEvent!: EmploymentEvent;\n gender!: Gender;\n ageGroup!: AgeGroup;\n positionLevel!: PositionLevel;\n regionId!: string;\n\n constructor(data?: IUpdateEmployeeNewHiresAndTurnoversDataRecordCommandParams) {\n super(data);\n this._discriminator = \"EmployeeNewHiresAndTurnovers\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.employmentEvent = _data[\"employmentEvent\"];\n this.gender = _data[\"gender\"];\n this.ageGroup = _data[\"ageGroup\"];\n this.positionLevel = _data[\"positionLevel\"];\n this.regionId = _data[\"regionId\"];\n }\n }\n\n static override fromJS(data: any): UpdateEmployeeNewHiresAndTurnoversDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateEmployeeNewHiresAndTurnoversDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"employmentEvent\"] = this.employmentEvent;\n data[\"gender\"] = this.gender;\n data[\"ageGroup\"] = this.ageGroup;\n data[\"positionLevel\"] = this.positionLevel;\n data[\"regionId\"] = this.regionId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateEmployeeNewHiresAndTurnoversDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n employmentEvent: EmploymentEvent;\n gender: Gender;\n ageGroup: AgeGroup;\n positionLevel: PositionLevel;\n regionId: string;\n}\n\nexport class UpdateEmployeeParentalLeavesDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateEmployeeParentalLeavesDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n mode!: ParentalLeaveMode;\n gender!: Gender;\n regionId!: string;\n\n constructor(data?: IUpdateEmployeeParentalLeavesDataRecordCommandParams) {\n super(data);\n this._discriminator = \"EmployeeParentalLeaves\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.mode = _data[\"mode\"];\n this.gender = _data[\"gender\"];\n this.regionId = _data[\"regionId\"];\n }\n }\n\n static override fromJS(data: any): UpdateEmployeeParentalLeavesDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateEmployeeParentalLeavesDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"mode\"] = this.mode;\n data[\"gender\"] = this.gender;\n data[\"regionId\"] = this.regionId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateEmployeeParentalLeavesDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n mode: ParentalLeaveMode;\n gender: Gender;\n regionId: string;\n}\n\nexport class UpdateEmployeeSickLeavesDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateEmployeeSickLeavesDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n regionId!: string;\n women!: number;\n men!: number;\n workingDays!: number;\n\n constructor(data?: IUpdateEmployeeSickLeavesDataRecordCommandParams) {\n super(data);\n this._discriminator = \"EmployeeSickLeaves\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.regionId = _data[\"regionId\"];\n this.women = _data[\"women\"];\n this.men = _data[\"men\"];\n this.workingDays = _data[\"workingDays\"];\n }\n }\n\n static override fromJS(data: any): UpdateEmployeeSickLeavesDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateEmployeeSickLeavesDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"regionId\"] = this.regionId;\n data[\"women\"] = this.women;\n data[\"men\"] = this.men;\n data[\"workingDays\"] = this.workingDays;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateEmployeeSickLeavesDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n regionId: string;\n women: number;\n men: number;\n workingDays: number;\n}\n\nexport class UpdateEmployeeWorkRelatedInjuriesDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateEmployeeWorkRelatedInjuriesDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n recordableInjuries!: number;\n fatalities!: number;\n highConsequenceInjuries!: number;\n illnessHealth!: number;\n lostTimeInjuries!: number;\n daysLost!: number;\n exposureHours!: number;\n\n constructor(data?: IUpdateEmployeeWorkRelatedInjuriesDataRecordCommandParams) {\n super(data);\n this._discriminator = \"EmployeeWorkRelatedInjuries\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.recordableInjuries = _data[\"recordableInjuries\"];\n this.fatalities = _data[\"fatalities\"];\n this.highConsequenceInjuries = _data[\"highConsequenceInjuries\"];\n this.illnessHealth = _data[\"illnessHealth\"];\n this.lostTimeInjuries = _data[\"lostTimeInjuries\"];\n this.daysLost = _data[\"daysLost\"];\n this.exposureHours = _data[\"exposureHours\"];\n }\n }\n\n static override fromJS(data: any): UpdateEmployeeWorkRelatedInjuriesDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateEmployeeWorkRelatedInjuriesDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"recordableInjuries\"] = this.recordableInjuries;\n data[\"fatalities\"] = this.fatalities;\n data[\"highConsequenceInjuries\"] = this.highConsequenceInjuries;\n data[\"illnessHealth\"] = this.illnessHealth;\n data[\"lostTimeInjuries\"] = this.lostTimeInjuries;\n data[\"daysLost\"] = this.daysLost;\n data[\"exposureHours\"] = this.exposureHours;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateEmployeeWorkRelatedInjuriesDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n recordableInjuries: number;\n fatalities: number;\n highConsequenceInjuries: number;\n illnessHealth: number;\n lostTimeInjuries: number;\n daysLost: number;\n exposureHours: number;\n}\n\nexport class UpdateOrganizationBusinessAirTravelDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateOrganizationBusinessAirTravelDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n consumptionValueType!: ConsumptionValueType;\n distanceType?: DistanceType | undefined;\n numberOfFlights!: number;\n consumptionValue!: number;\n cO2Measured_kg?: number | undefined;\n\n constructor(data?: IUpdateOrganizationBusinessAirTravelDataRecordCommandParams) {\n super(data);\n this._discriminator = \"OrganizationBusinessAirTravel\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.consumptionValueType = _data[\"consumptionValueType\"];\n this.distanceType = _data[\"distanceType\"];\n this.numberOfFlights = _data[\"numberOfFlights\"];\n this.consumptionValue = _data[\"consumptionValue\"];\n this.cO2Measured_kg = _data[\"cO2Measured_kg\"];\n }\n }\n\n static override fromJS(data: any): UpdateOrganizationBusinessAirTravelDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateOrganizationBusinessAirTravelDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"consumptionValueType\"] = this.consumptionValueType;\n data[\"distanceType\"] = this.distanceType;\n data[\"numberOfFlights\"] = this.numberOfFlights;\n data[\"consumptionValue\"] = this.consumptionValue;\n data[\"cO2Measured_kg\"] = this.cO2Measured_kg;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateOrganizationBusinessAirTravelDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n consumptionValueType: ConsumptionValueType;\n distanceType?: DistanceType | undefined;\n numberOfFlights: number;\n consumptionValue: number;\n cO2Measured_kg?: number | undefined;\n}\n\nexport class UpdateOrganizationBusinessTravelHotelNightsDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateOrganizationBusinessTravelHotelNightsDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n numberOfNights!: number;\n countryCode!: CountryCodes;\n\n constructor(data?: IUpdateOrganizationBusinessTravelHotelNightsDataRecordCommandParams) {\n super(data);\n this._discriminator = \"OrganizationBusinessTravelHotelNights\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.numberOfNights = _data[\"numberOfNights\"];\n this.countryCode = _data[\"countryCode\"];\n }\n }\n\n static override fromJS(data: any): UpdateOrganizationBusinessTravelHotelNightsDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateOrganizationBusinessTravelHotelNightsDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"numberOfNights\"] = this.numberOfNights;\n data[\"countryCode\"] = this.countryCode;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateOrganizationBusinessTravelHotelNightsDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n numberOfNights: number;\n countryCode: CountryCodes;\n}\n\nexport class UpdateOrganizationCorruptionRiskDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateOrganizationCorruptionRiskDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n callsAtPort!: number;\n netRevenue!: number;\n currencyCode!: CurrencyCodes;\n facilitation!: number;\n\n constructor(data?: IUpdateOrganizationCorruptionRiskDataRecordCommandParams) {\n super(data);\n this._discriminator = \"OrganizationCorruptionRisk\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.callsAtPort = _data[\"callsAtPort\"];\n this.netRevenue = _data[\"netRevenue\"];\n this.currencyCode = _data[\"currencyCode\"];\n this.facilitation = _data[\"facilitation\"];\n }\n }\n\n static override fromJS(data: any): UpdateOrganizationCorruptionRiskDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateOrganizationCorruptionRiskDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"callsAtPort\"] = this.callsAtPort;\n data[\"netRevenue\"] = this.netRevenue;\n data[\"currencyCode\"] = this.currencyCode;\n data[\"facilitation\"] = this.facilitation;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateOrganizationCorruptionRiskDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n callsAtPort: number;\n netRevenue: number;\n currencyCode: CurrencyCodes;\n facilitation: number;\n}\n\nexport class UpdateOrganizationFinesDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateOrganizationFinesDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n monetaryValue!: number;\n currencyCode!: CurrencyCodes;\n nonMonetarySanctions!: number;\n\n constructor(data?: IUpdateOrganizationFinesDataRecordCommandParams) {\n super(data);\n this._discriminator = \"OrganizationFines\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.monetaryValue = _data[\"monetaryValue\"];\n this.currencyCode = _data[\"currencyCode\"];\n this.nonMonetarySanctions = _data[\"nonMonetarySanctions\"];\n }\n }\n\n static override fromJS(data: any): UpdateOrganizationFinesDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateOrganizationFinesDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"monetaryValue\"] = this.monetaryValue;\n data[\"currencyCode\"] = this.currencyCode;\n data[\"nonMonetarySanctions\"] = this.nonMonetarySanctions;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateOrganizationFinesDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n monetaryValue: number;\n currencyCode: CurrencyCodes;\n nonMonetarySanctions: number;\n}\n\nexport class UpdateOrganizationLobbyPoliticalContributionDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateOrganizationLobbyPoliticalContributionDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n monetaryValue!: number;\n currencyCode!: CurrencyCodes;\n beneficiary!: string;\n countryCode!: CountryCodes;\n\n constructor(data?: IUpdateOrganizationLobbyPoliticalContributionDataRecordCommandParams) {\n super(data);\n this._discriminator = \"OrganizationLobbyPoliticalContribution\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.monetaryValue = _data[\"monetaryValue\"];\n this.currencyCode = _data[\"currencyCode\"];\n this.beneficiary = _data[\"beneficiary\"];\n this.countryCode = _data[\"countryCode\"];\n }\n }\n\n static override fromJS(data: any): UpdateOrganizationLobbyPoliticalContributionDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateOrganizationLobbyPoliticalContributionDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"monetaryValue\"] = this.monetaryValue;\n data[\"currencyCode\"] = this.currencyCode;\n data[\"beneficiary\"] = this.beneficiary;\n data[\"countryCode\"] = this.countryCode;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateOrganizationLobbyPoliticalContributionDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n monetaryValue: number;\n currencyCode: CurrencyCodes;\n beneficiary: string;\n countryCode: CountryCodes;\n}\n\nexport class UpdateOrganizationWhistleblowingDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateOrganizationWhistleblowingDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n incidents!: number;\n\n constructor(data?: IUpdateOrganizationWhistleblowingDataRecordCommandParams) {\n super(data);\n this._discriminator = \"OrganizationWhistleblowing\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.incidents = _data[\"incidents\"];\n }\n }\n\n static override fromJS(data: any): UpdateOrganizationWhistleblowingDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateOrganizationWhistleblowingDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"incidents\"] = this.incidents;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateOrganizationWhistleblowingDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n incidents: number;\n}\n\nexport class UpdateVehicleConsumptionDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateVehicleConsumptionDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n diesel_l!: number;\n petrol_l!: number;\n hydrogen_kg!: number;\n naturalGas!: number;\n naturalGas_Unit!: string;\n liquidPetroleumGas!: number;\n liquidPetroleumGas_Unit!: string;\n distance_km!: number;\n\n constructor(data?: IUpdateVehicleConsumptionDataRecordCommandParams) {\n super(data);\n this._discriminator = \"VehicleConsumption\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.diesel_l = _data[\"diesel_l\"];\n this.petrol_l = _data[\"petrol_l\"];\n this.hydrogen_kg = _data[\"hydrogen_kg\"];\n this.naturalGas = _data[\"naturalGas\"];\n this.naturalGas_Unit = _data[\"naturalGas_Unit\"];\n this.liquidPetroleumGas = _data[\"liquidPetroleumGas\"];\n this.liquidPetroleumGas_Unit = _data[\"liquidPetroleumGas_Unit\"];\n this.distance_km = _data[\"distance_km\"];\n }\n }\n\n static override fromJS(data: any): UpdateVehicleConsumptionDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateVehicleConsumptionDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"diesel_l\"] = this.diesel_l;\n data[\"petrol_l\"] = this.petrol_l;\n data[\"hydrogen_kg\"] = this.hydrogen_kg;\n data[\"naturalGas\"] = this.naturalGas;\n data[\"naturalGas_Unit\"] = this.naturalGas_Unit;\n data[\"liquidPetroleumGas\"] = this.liquidPetroleumGas;\n data[\"liquidPetroleumGas_Unit\"] = this.liquidPetroleumGas_Unit;\n data[\"distance_km\"] = this.distance_km;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateVehicleConsumptionDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n diesel_l: number;\n petrol_l: number;\n hydrogen_kg: number;\n naturalGas: number;\n naturalGas_Unit: string;\n liquidPetroleumGas: number;\n liquidPetroleumGas_Unit: string;\n distance_km: number;\n}\n\nexport class UpdateVesselConsumptionDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateVesselConsumptionDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n distanceSailed_nm?: number | undefined;\n inOperation_hrs?: number | undefined;\n mgo?: number | undefined;\n mgO_Unit!: string;\n hfo?: number | undefined;\n hfO_Unit!: string;\n lfo?: number | undefined;\n lfO_Unit!: string;\n urea_l?: number | undefined;\n lng?: number | undefined;\n lnG_Unit!: string;\n mgoB30?: number | undefined;\n mgoB30_Unit!: string;\n hvO100?: number | undefined;\n hvO100_Unit!: string;\n\n constructor(data?: IUpdateVesselConsumptionDataRecordCommandParams) {\n super(data);\n this._discriminator = \"VesselConsumption\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.distanceSailed_nm = _data[\"distanceSailed_nm\"];\n this.inOperation_hrs = _data[\"inOperation_hrs\"];\n this.mgo = _data[\"mgo\"];\n this.mgO_Unit = _data[\"mgO_Unit\"];\n this.hfo = _data[\"hfo\"];\n this.hfO_Unit = _data[\"hfO_Unit\"];\n this.lfo = _data[\"lfo\"];\n this.lfO_Unit = _data[\"lfO_Unit\"];\n this.urea_l = _data[\"urea_l\"];\n this.lng = _data[\"lng\"];\n this.lnG_Unit = _data[\"lnG_Unit\"];\n this.mgoB30 = _data[\"mgoB30\"];\n this.mgoB30_Unit = _data[\"mgoB30_Unit\"];\n this.hvO100 = _data[\"hvO100\"];\n this.hvO100_Unit = _data[\"hvO100_Unit\"];\n }\n }\n\n static override fromJS(data: any): UpdateVesselConsumptionDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateVesselConsumptionDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"distanceSailed_nm\"] = this.distanceSailed_nm;\n data[\"inOperation_hrs\"] = this.inOperation_hrs;\n data[\"mgo\"] = this.mgo;\n data[\"mgO_Unit\"] = this.mgO_Unit;\n data[\"hfo\"] = this.hfo;\n data[\"hfO_Unit\"] = this.hfO_Unit;\n data[\"lfo\"] = this.lfo;\n data[\"lfO_Unit\"] = this.lfO_Unit;\n data[\"urea_l\"] = this.urea_l;\n data[\"lng\"] = this.lng;\n data[\"lnG_Unit\"] = this.lnG_Unit;\n data[\"mgoB30\"] = this.mgoB30;\n data[\"mgoB30_Unit\"] = this.mgoB30_Unit;\n data[\"hvO100\"] = this.hvO100;\n data[\"hvO100_Unit\"] = this.hvO100_Unit;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateVesselConsumptionDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n distanceSailed_nm?: number | undefined;\n inOperation_hrs?: number | undefined;\n mgo?: number | undefined;\n mgO_Unit: string;\n hfo?: number | undefined;\n hfO_Unit: string;\n lfo?: number | undefined;\n lfO_Unit: string;\n urea_l?: number | undefined;\n lng?: number | undefined;\n lnG_Unit: string;\n mgoB30?: number | undefined;\n mgoB30_Unit: string;\n hvO100?: number | undefined;\n hvO100_Unit: string;\n}\n\nexport class UpdateVesselDurationInProtectedAreasDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateVesselDurationInProtectedAreasDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n days!: number;\n\n constructor(data?: IUpdateVesselDurationInProtectedAreasDataRecordCommandParams) {\n super(data);\n this._discriminator = \"VesselDurationInProtectedAreas\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.days = _data[\"days\"];\n }\n }\n\n static override fromJS(data: any): UpdateVesselDurationInProtectedAreasDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateVesselDurationInProtectedAreasDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"days\"] = this.days;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateVesselDurationInProtectedAreasDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n days: number;\n}\n\nexport class UpdateVesselEmissionsDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateVesselEmissionsDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n powerFromShore_kwh?: number | undefined;\n powerFromShoreCountryCode?: CountryCodes | undefined;\n mgO_m3?: number | undefined;\n lnG_m3?: number | undefined;\n nox_t?: number | undefined;\n cO2_t?: number | undefined;\n sOx_kg?: number | undefined;\n pM25_kg?: number | undefined;\n cH4_kg?: number | undefined;\n n2O_kg?: number | undefined;\n inOperation_hrs?: number | undefined;\n\n constructor(data?: IUpdateVesselEmissionsDataRecordCommandParams) {\n super(data);\n this._discriminator = \"VesselEmissions\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.powerFromShore_kwh = _data[\"powerFromShore_kwh\"];\n this.powerFromShoreCountryCode = _data[\"powerFromShoreCountryCode\"];\n this.mgO_m3 = _data[\"mgO_m3\"];\n this.lnG_m3 = _data[\"lnG_m3\"];\n this.nox_t = _data[\"nox_t\"];\n this.cO2_t = _data[\"cO2_t\"];\n this.sOx_kg = _data[\"sOx_kg\"];\n this.pM25_kg = _data[\"pM25_kg\"];\n this.cH4_kg = _data[\"cH4_kg\"];\n this.n2O_kg = _data[\"n2O_kg\"];\n this.inOperation_hrs = _data[\"inOperation_hrs\"];\n }\n }\n\n static override fromJS(data: any): UpdateVesselEmissionsDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateVesselEmissionsDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"powerFromShore_kwh\"] = this.powerFromShore_kwh;\n data[\"powerFromShoreCountryCode\"] = this.powerFromShoreCountryCode;\n data[\"mgO_m3\"] = this.mgO_m3;\n data[\"lnG_m3\"] = this.lnG_m3;\n data[\"nox_t\"] = this.nox_t;\n data[\"cO2_t\"] = this.cO2_t;\n data[\"sOx_kg\"] = this.sOx_kg;\n data[\"pM25_kg\"] = this.pM25_kg;\n data[\"cH4_kg\"] = this.cH4_kg;\n data[\"n2O_kg\"] = this.n2O_kg;\n data[\"inOperation_hrs\"] = this.inOperation_hrs;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateVesselEmissionsDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n powerFromShore_kwh?: number | undefined;\n powerFromShoreCountryCode?: CountryCodes | undefined;\n mgO_m3?: number | undefined;\n lnG_m3?: number | undefined;\n nox_t?: number | undefined;\n cO2_t?: number | undefined;\n sOx_kg?: number | undefined;\n pM25_kg?: number | undefined;\n cH4_kg?: number | undefined;\n n2O_kg?: number | undefined;\n inOperation_hrs?: number | undefined;\n}\n\nexport class UpdateVesselSpillsDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateVesselSpillsDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n spillsType!: string;\n isHazardous!: boolean;\n volume_m3!: number;\n\n constructor(data?: IUpdateVesselSpillsDataRecordCommandParams) {\n super(data);\n this._discriminator = \"VesselSpills\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.spillsType = _data[\"spillsType\"];\n this.isHazardous = _data[\"isHazardous\"];\n this.volume_m3 = _data[\"volume_m3\"];\n }\n }\n\n static override fromJS(data: any): UpdateVesselSpillsDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateVesselSpillsDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"spillsType\"] = this.spillsType;\n data[\"isHazardous\"] = this.isHazardous;\n data[\"volume_m3\"] = this.volume_m3;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateVesselSpillsDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n spillsType: string;\n isHazardous: boolean;\n volume_m3: number;\n}\n\nexport class UpdateWasteDataRecordCommandParams extends UpdateDataRecordCommandParams implements IUpdateWasteDataRecordCommandParams {\n readonly type!: DataRecordType;\n startDate!: Date;\n endDate!: Date;\n class!: WasteClass;\n subclass?: WasteSubClass | undefined;\n isHazardous!: boolean;\n toDisposal!: WasteToDisposal;\n quantity!: number;\n unit!: string;\n cO2Measured_t?: number | undefined;\n\n constructor(data?: IUpdateWasteDataRecordCommandParams) {\n super(data);\n this._discriminator = \"Waste\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.class = _data[\"class\"];\n this.subclass = _data[\"subclass\"];\n this.isHazardous = _data[\"isHazardous\"];\n this.toDisposal = _data[\"toDisposal\"];\n this.quantity = _data[\"quantity\"];\n this.unit = _data[\"unit\"];\n this.cO2Measured_t = _data[\"cO2Measured_t\"];\n }\n }\n\n static override fromJS(data: any): UpdateWasteDataRecordCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateWasteDataRecordCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"class\"] = this.class;\n data[\"subclass\"] = this.subclass;\n data[\"isHazardous\"] = this.isHazardous;\n data[\"toDisposal\"] = this.toDisposal;\n data[\"quantity\"] = this.quantity;\n data[\"unit\"] = this.unit;\n data[\"cO2Measured_t\"] = this.cO2Measured_t;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateWasteDataRecordCommandParams extends IUpdateDataRecordCommandParams {\n type: DataRecordType;\n startDate: Date;\n endDate: Date;\n class: WasteClass;\n subclass?: WasteSubClass | undefined;\n isHazardous: boolean;\n toDisposal: WasteToDisposal;\n quantity: number;\n unit: string;\n cO2Measured_t?: number | undefined;\n}\n\nexport class UpdateDataRecordCommandResponse implements IUpdateDataRecordCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IUpdateDataRecordCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): UpdateDataRecordCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateDataRecordCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IUpdateDataRecordCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetAllDataRecordsQueryResponse implements IGetAllDataRecordsQueryResponse {\n result!: DataRecord[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetAllDataRecordsQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(DataRecord.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetAllDataRecordsQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetAllDataRecordsQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetAllDataRecordsQueryResponse {\n result: DataRecord[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class AssetDataRecordOverviewVm implements IAssetDataRecordOverviewVm {\n category!: DataRecordCategory;\n dataRecordType!: DataRecordType;\n recordCount!: number;\n firstRecordDate!: Date;\n lastRecordDate!: Date;\n\n constructor(data?: IAssetDataRecordOverviewVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.category = _data[\"category\"];\n this.dataRecordType = _data[\"dataRecordType\"];\n this.recordCount = _data[\"recordCount\"];\n this.firstRecordDate = _data[\"firstRecordDate\"] ? new Date(_data[\"firstRecordDate\"].toString()) : undefined;\n this.lastRecordDate = _data[\"lastRecordDate\"] ? new Date(_data[\"lastRecordDate\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): AssetDataRecordOverviewVm {\n data = typeof data === 'object' ? data : {};\n let result = new AssetDataRecordOverviewVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"category\"] = this.category;\n data[\"dataRecordType\"] = this.dataRecordType;\n data[\"recordCount\"] = this.recordCount;\n data[\"firstRecordDate\"] = this.firstRecordDate ? formatDate(this.firstRecordDate) : undefined;\n data[\"lastRecordDate\"] = this.lastRecordDate ? formatDate(this.lastRecordDate) : undefined;\n return data;\n }\n}\n\nexport interface IAssetDataRecordOverviewVm {\n category: DataRecordCategory;\n dataRecordType: DataRecordType;\n recordCount: number;\n firstRecordDate: Date;\n lastRecordDate: Date;\n}\n\nexport class GetAssetDataRecordsOverviewQueryResponse implements IGetAssetDataRecordsOverviewQueryResponse {\n result!: AssetDataRecordOverviewVm[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetAssetDataRecordsOverviewQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(AssetDataRecordOverviewVm.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetAssetDataRecordsOverviewQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetAssetDataRecordsOverviewQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetAssetDataRecordsOverviewQueryResponse {\n result: AssetDataRecordOverviewVm[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetDataRecordsByQueryResponse implements IGetDataRecordsByQueryResponse {\n result!: PagedCollection_1OfDataRecord;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetDataRecordsByQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new PagedCollection_1OfDataRecord();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? PagedCollection_1OfDataRecord.fromJS(_data[\"result\"]) : new PagedCollection_1OfDataRecord();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetDataRecordsByQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetDataRecordsByQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetDataRecordsByQueryResponse {\n result: PagedCollection_1OfDataRecord;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetDataRecordsByAssetQueryResponse implements IGetDataRecordsByAssetQueryResponse {\n result!: DataRecord[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetDataRecordsByAssetQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(DataRecord.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetDataRecordsByAssetQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetDataRecordsByAssetQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetDataRecordsByAssetQueryResponse {\n result: DataRecord[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetDataRecordsByCategoryQueryResponse implements IGetDataRecordsByCategoryQueryResponse {\n result!: DataRecord[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetDataRecordsByCategoryQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(DataRecord.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetDataRecordsByCategoryQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetDataRecordsByCategoryQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetDataRecordsByCategoryQueryResponse {\n result: DataRecord[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetDataRecordsByDataProfileQueryResponse implements IGetDataRecordsByDataProfileQueryResponse {\n result!: DataRecord[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetDataRecordsByDataProfileQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(DataRecord.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetDataRecordsByDataProfileQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetDataRecordsByDataProfileQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetDataRecordsByDataProfileQueryResponse {\n result: DataRecord[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetDataRecordsByTypeQueryResponse implements IGetDataRecordsByTypeQueryResponse {\n result!: DataRecord[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetDataRecordsByTypeQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(DataRecord.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetDataRecordsByTypeQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetDataRecordsByTypeQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetDataRecordsByTypeQueryResponse {\n result: DataRecord[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetDataRecordsCountByQueryResponse implements IGetDataRecordsCountByQueryResponse {\n count!: number;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetDataRecordsCountByQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.count = _data[\"count\"];\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetDataRecordsCountByQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetDataRecordsCountByQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"count\"] = this.count;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetDataRecordsCountByQueryResponse {\n count: number;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class Asset implements IAsset {\n name!: string;\n organizationId!: string;\n subOrganizationId?: string | undefined;\n readonly name_lowercase?: string | undefined;\n orgOrSuborgName?: string | undefined;\n versionValidFrom!: Date;\n versions?: EntityVersion_1OfAsset[] | undefined;\n id!: string;\n pk?: string | undefined;\n\n protected _discriminator: string;\n\n constructor(data?: IAsset) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n this._discriminator = \"Asset\";\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.organizationId = _data[\"organizationId\"];\n this.subOrganizationId = _data[\"subOrganizationId\"];\n (this).name_lowercase = _data[\"name_lowercase\"];\n this.orgOrSuborgName = _data[\"orgOrSuborgName\"];\n this.versionValidFrom = _data[\"versionValidFrom\"] ? new Date(_data[\"versionValidFrom\"].toString()) : undefined;\n if (Array.isArray(_data[\"versions\"])) {\n this.versions = [] as any;\n for (let item of _data[\"versions\"])\n this.versions!.push(EntityVersion_1OfAsset.fromJS(item));\n }\n this.id = _data[\"id\"];\n this.pk = _data[\"pk\"];\n }\n }\n\n static fromJS(data: any): Asset {\n data = typeof data === 'object' ? data : {};\n if (data[\"type\"] === \"Client\") {\n let result = new ClientAsset();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Facility\") {\n let result = new FacilityAsset();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Organization\") {\n let result = new OrganizationAsset();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Supplier\") {\n let result = new SupplierAsset();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VehicleCraftMachinery\") {\n let result = new VehicleCraftMachineryAsset();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Vessel\") {\n let result = new VesselAsset();\n result.init(data);\n return result;\n }\n let result = new Asset();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this._discriminator;\n data[\"name\"] = this.name;\n data[\"organizationId\"] = this.organizationId;\n data[\"subOrganizationId\"] = this.subOrganizationId;\n data[\"name_lowercase\"] = this.name_lowercase;\n data[\"orgOrSuborgName\"] = this.orgOrSuborgName;\n data[\"versionValidFrom\"] = this.versionValidFrom ? formatDate(this.versionValidFrom) : undefined;\n if (Array.isArray(this.versions)) {\n data[\"versions\"] = [];\n for (let item of this.versions)\n data[\"versions\"].push(item.toJSON());\n }\n data[\"id\"] = this.id;\n data[\"pk\"] = this.pk;\n return data;\n }\n}\n\nexport interface IAsset {\n name: string;\n organizationId: string;\n subOrganizationId?: string | undefined;\n name_lowercase?: string | undefined;\n orgOrSuborgName?: string | undefined;\n versionValidFrom: Date;\n versions?: EntityVersion_1OfAsset[] | undefined;\n id: string;\n pk?: string | undefined;\n}\n\nexport class ClientAsset extends Asset implements IClientAsset {\n readonly type!: AssetType;\n countryCode!: CountryCodes;\n address?: string | undefined;\n contactPerson?: string | undefined;\n email?: string | undefined;\n\n constructor(data?: IClientAsset) {\n super(data);\n this._discriminator = \"Client\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.countryCode = _data[\"countryCode\"];\n this.address = _data[\"address\"];\n this.contactPerson = _data[\"contactPerson\"];\n this.email = _data[\"email\"];\n }\n }\n\n static override fromJS(data: any): ClientAsset {\n data = typeof data === 'object' ? data : {};\n let result = new ClientAsset();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"countryCode\"] = this.countryCode;\n data[\"address\"] = this.address;\n data[\"contactPerson\"] = this.contactPerson;\n data[\"email\"] = this.email;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IClientAsset extends IAsset {\n type: AssetType;\n countryCode: CountryCodes;\n address?: string | undefined;\n contactPerson?: string | undefined;\n email?: string | undefined;\n}\n\nexport class FacilityAsset extends Asset implements IFacilityAsset {\n readonly type!: AssetType;\n subType!: FacilityType;\n readonly subTypeName?: string | undefined;\n address?: string | undefined;\n countryCode!: CountryCodes;\n sqm_m2?: number | undefined;\n\n constructor(data?: IFacilityAsset) {\n super(data);\n this._discriminator = \"Facility\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.subType = _data[\"subType\"];\n (this).subTypeName = _data[\"subTypeName\"];\n this.address = _data[\"address\"];\n this.countryCode = _data[\"countryCode\"];\n this.sqm_m2 = _data[\"sqm_m2\"];\n }\n }\n\n static override fromJS(data: any): FacilityAsset {\n data = typeof data === 'object' ? data : {};\n let result = new FacilityAsset();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"subType\"] = this.subType;\n data[\"subTypeName\"] = this.subTypeName;\n data[\"address\"] = this.address;\n data[\"countryCode\"] = this.countryCode;\n data[\"sqm_m2\"] = this.sqm_m2;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IFacilityAsset extends IAsset {\n type: AssetType;\n subType: FacilityType;\n subTypeName?: string | undefined;\n address?: string | undefined;\n countryCode: CountryCodes;\n sqm_m2?: number | undefined;\n}\n\nexport class OrganizationAsset extends Asset implements IOrganizationAsset {\n readonly type!: AssetType;\n parentSubOrganizationId?: string | undefined;\n fullPathName!: string;\n countryCode!: CountryCodes;\n currencyCode!: CurrencyCodes;\n orgID!: string;\n\n constructor(data?: IOrganizationAsset) {\n super(data);\n this._discriminator = \"Organization\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.parentSubOrganizationId = _data[\"parentSubOrganizationId\"];\n this.fullPathName = _data[\"fullPathName\"];\n this.countryCode = _data[\"countryCode\"];\n this.currencyCode = _data[\"currencyCode\"];\n this.orgID = _data[\"orgID\"];\n }\n }\n\n static override fromJS(data: any): OrganizationAsset {\n data = typeof data === 'object' ? data : {};\n let result = new OrganizationAsset();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"parentSubOrganizationId\"] = this.parentSubOrganizationId;\n data[\"fullPathName\"] = this.fullPathName;\n data[\"countryCode\"] = this.countryCode;\n data[\"currencyCode\"] = this.currencyCode;\n data[\"orgID\"] = this.orgID;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IOrganizationAsset extends IAsset {\n type: AssetType;\n parentSubOrganizationId?: string | undefined;\n fullPathName: string;\n countryCode: CountryCodes;\n currencyCode: CurrencyCodes;\n orgID: string;\n}\n\nexport class SupplierAsset extends Asset implements ISupplierAsset {\n readonly type!: AssetType;\n countryCode!: CountryCodes;\n sector!: SectorType;\n readonly sectorName?: string | undefined;\n status!: SupplierStatus;\n orgID?: string | undefined;\n address?: string | undefined;\n postalNumber?: string | undefined;\n city?: string | undefined;\n contactPerson?: string | undefined;\n email?: string | undefined;\n phone?: string | undefined;\n socialRiskAssessment!: SocialRiskAssessment;\n readonly socialRiskName?: string | undefined;\n environmentalRiskAssessment!: EnvironmentalRiskAssessment;\n readonly environmentalRiskName?: string | undefined;\n\n constructor(data?: ISupplierAsset) {\n super(data);\n if (!data) {\n this.socialRiskAssessment = new SocialRiskAssessment();\n this.environmentalRiskAssessment = new EnvironmentalRiskAssessment();\n }\n this._discriminator = \"Supplier\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.countryCode = _data[\"countryCode\"];\n this.sector = _data[\"sector\"];\n (this).sectorName = _data[\"sectorName\"];\n this.status = _data[\"status\"];\n this.orgID = _data[\"orgID\"];\n this.address = _data[\"address\"];\n this.postalNumber = _data[\"postalNumber\"];\n this.city = _data[\"city\"];\n this.contactPerson = _data[\"contactPerson\"];\n this.email = _data[\"email\"];\n this.phone = _data[\"phone\"];\n this.socialRiskAssessment = _data[\"socialRiskAssessment\"] ? SocialRiskAssessment.fromJS(_data[\"socialRiskAssessment\"]) : new SocialRiskAssessment();\n (this).socialRiskName = _data[\"socialRiskName\"];\n this.environmentalRiskAssessment = _data[\"environmentalRiskAssessment\"] ? EnvironmentalRiskAssessment.fromJS(_data[\"environmentalRiskAssessment\"]) : new EnvironmentalRiskAssessment();\n (this).environmentalRiskName = _data[\"environmentalRiskName\"];\n }\n }\n\n static override fromJS(data: any): SupplierAsset {\n data = typeof data === 'object' ? data : {};\n let result = new SupplierAsset();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"countryCode\"] = this.countryCode;\n data[\"sector\"] = this.sector;\n data[\"sectorName\"] = this.sectorName;\n data[\"status\"] = this.status;\n data[\"orgID\"] = this.orgID;\n data[\"address\"] = this.address;\n data[\"postalNumber\"] = this.postalNumber;\n data[\"city\"] = this.city;\n data[\"contactPerson\"] = this.contactPerson;\n data[\"email\"] = this.email;\n data[\"phone\"] = this.phone;\n data[\"socialRiskAssessment\"] = this.socialRiskAssessment ? this.socialRiskAssessment.toJSON() : undefined;\n data[\"socialRiskName\"] = this.socialRiskName;\n data[\"environmentalRiskAssessment\"] = this.environmentalRiskAssessment ? this.environmentalRiskAssessment.toJSON() : undefined;\n data[\"environmentalRiskName\"] = this.environmentalRiskName;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ISupplierAsset extends IAsset {\n type: AssetType;\n countryCode: CountryCodes;\n sector: SectorType;\n sectorName?: string | undefined;\n status: SupplierStatus;\n orgID?: string | undefined;\n address?: string | undefined;\n postalNumber?: string | undefined;\n city?: string | undefined;\n contactPerson?: string | undefined;\n email?: string | undefined;\n phone?: string | undefined;\n socialRiskAssessment: SocialRiskAssessment;\n socialRiskName?: string | undefined;\n environmentalRiskAssessment: EnvironmentalRiskAssessment;\n environmentalRiskName?: string | undefined;\n}\n\nexport class VehicleCraftMachineryAsset extends Asset implements IVehicleCraftMachineryAsset {\n readonly type!: AssetType;\n subType!: VehicleCraftMachineryType;\n readonly subTypeName?: string | undefined;\n registrationNumber?: string | undefined;\n modelYear?: number | undefined;\n powerSource!: PowerSource;\n readonly powerSourceName?: string | undefined;\n cO2?: number | undefined;\n nOx?: number | undefined;\n\n constructor(data?: IVehicleCraftMachineryAsset) {\n super(data);\n this._discriminator = \"VehicleCraftMachinery\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.subType = _data[\"subType\"];\n (this).subTypeName = _data[\"subTypeName\"];\n this.registrationNumber = _data[\"registrationNumber\"];\n this.modelYear = _data[\"modelYear\"];\n this.powerSource = _data[\"powerSource\"];\n (this).powerSourceName = _data[\"powerSourceName\"];\n this.cO2 = _data[\"cO2\"];\n this.nOx = _data[\"nOx\"];\n }\n }\n\n static override fromJS(data: any): VehicleCraftMachineryAsset {\n data = typeof data === 'object' ? data : {};\n let result = new VehicleCraftMachineryAsset();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"subType\"] = this.subType;\n data[\"subTypeName\"] = this.subTypeName;\n data[\"registrationNumber\"] = this.registrationNumber;\n data[\"modelYear\"] = this.modelYear;\n data[\"powerSource\"] = this.powerSource;\n data[\"powerSourceName\"] = this.powerSourceName;\n data[\"cO2\"] = this.cO2;\n data[\"nOx\"] = this.nOx;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IVehicleCraftMachineryAsset extends IAsset {\n type: AssetType;\n subType: VehicleCraftMachineryType;\n subTypeName?: string | undefined;\n registrationNumber?: string | undefined;\n modelYear?: number | undefined;\n powerSource: PowerSource;\n powerSourceName?: string | undefined;\n cO2?: number | undefined;\n nOx?: number | undefined;\n}\n\nexport class VesselAsset extends Asset implements IVesselAsset {\n readonly type!: AssetType;\n imOnumber?: number | undefined;\n vesselType!: VesselType;\n readonly vesselTypeName?: string | undefined;\n installedPower!: number;\n scrubbersInstalled?: boolean | undefined;\n scrubbersLoopSystem?: ScrubbersLoopSystem | undefined;\n toBeRecycledYear?: number | undefined;\n roRoVessel?: boolean | undefined;\n deadWeightTonnage?: number | undefined;\n grossTonnage?: number | undefined;\n\n constructor(data?: IVesselAsset) {\n super(data);\n this._discriminator = \"Vessel\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.imOnumber = _data[\"imOnumber\"];\n this.vesselType = _data[\"vesselType\"];\n (this).vesselTypeName = _data[\"vesselTypeName\"];\n this.installedPower = _data[\"installedPower\"];\n this.scrubbersInstalled = _data[\"scrubbersInstalled\"];\n this.scrubbersLoopSystem = _data[\"scrubbersLoopSystem\"];\n this.toBeRecycledYear = _data[\"toBeRecycledYear\"];\n this.roRoVessel = _data[\"roRoVessel\"];\n this.deadWeightTonnage = _data[\"deadWeightTonnage\"];\n this.grossTonnage = _data[\"grossTonnage\"];\n }\n }\n\n static override fromJS(data: any): VesselAsset {\n data = typeof data === 'object' ? data : {};\n let result = new VesselAsset();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"imOnumber\"] = this.imOnumber;\n data[\"vesselType\"] = this.vesselType;\n data[\"vesselTypeName\"] = this.vesselTypeName;\n data[\"installedPower\"] = this.installedPower;\n data[\"scrubbersInstalled\"] = this.scrubbersInstalled;\n data[\"scrubbersLoopSystem\"] = this.scrubbersLoopSystem;\n data[\"toBeRecycledYear\"] = this.toBeRecycledYear;\n data[\"roRoVessel\"] = this.roRoVessel;\n data[\"deadWeightTonnage\"] = this.deadWeightTonnage;\n data[\"grossTonnage\"] = this.grossTonnage;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IVesselAsset extends IAsset {\n type: AssetType;\n imOnumber?: number | undefined;\n vesselType: VesselType;\n vesselTypeName?: string | undefined;\n installedPower: number;\n scrubbersInstalled?: boolean | undefined;\n scrubbersLoopSystem?: ScrubbersLoopSystem | undefined;\n toBeRecycledYear?: number | undefined;\n roRoVessel?: boolean | undefined;\n deadWeightTonnage?: number | undefined;\n grossTonnage?: number | undefined;\n}\n\nexport enum AgeGroup {\n LessThan30 = \"LessThan30\",\n Between30_50 = \"Between30_50\",\n Over50 = \"Over50\",\n}\n\nexport enum ContractType {\n Permanent = \"Permanent\",\n Temporary = \"Temporary\",\n Contractor = \"Contractor\",\n}\n\nexport enum DataProfileType {\n EmployeeCommuting = \"EmployeeCommuting\",\n EmployeeGenderDiversityAndEquality = \"EmployeeGenderDiversityAndEquality\",\n}\n\nexport enum DataRecordType {\n VesselConsumption = \"VesselConsumption\",\n VesselSpills = \"VesselSpills\",\n VesselDurationInProtectedAreas = \"VesselDurationInProtectedAreas\",\n VesselWaste = \"VesselWaste\",\n VesselEmissions = \"VesselEmissions\",\n VesselPowerFromShore = \"VesselPowerFromShore\",\n VehicleConsumption = \"VehicleConsumption\",\n OfficeElectricity = \"OfficeElectricity\",\n OrganizationCorruptionRisk = \"OrganizationCorruptionRisk\",\n OrganizationFines = \"OrganizationFines\",\n OrganizationWhistleblowing = \"OrganizationWhistleblowing\",\n OrganizationLobbyPoliticalContribution = \"OrganizationLobbyPoliticalContribution\",\n OrganizationBusinessAirTravel = \"OrganizationBusinessAirTravel\",\n OrganizationBusinessTravelHotelNights = \"OrganizationBusinessTravelHotelNights\",\n Waste = \"Waste\",\n EmployeeCommuting = \"EmployeeCommuting\",\n DownstreamLeasedAsset = \"DownstreamLeasedAsset\",\n ElectricityConsumption = \"ElectricityConsumption\",\n EmployeeGenderAgeDistribution = \"EmployeeGenderAgeDistribution\",\n EmployeeGenderEmployment = \"EmployeeGenderEmployment\",\n EmployeeGenderPositionAndSalary = \"EmployeeGenderPositionAndSalary\",\n EmployeeGenderLocation = \"EmployeeGenderLocation\",\n EmployeeNewHiresAndTurnovers = \"EmployeeNewHiresAndTurnovers\",\n EmployeeSickLeaves = \"EmployeeSickLeaves\",\n EmployeeParentalLeaves = \"EmployeeParentalLeaves\",\n EmployeeIncidents = \"EmployeeIncidents\",\n EmployeeGenderDiversityAndEquality = \"EmployeeGenderDiversityAndEquality\",\n IndicatorValue = \"IndicatorValue\",\n EmployeeWorkRelatedInjuries = \"EmployeeWorkRelatedInjuries\",\n EmployeeMarineCasualty = \"EmployeeMarineCasualty\",\n PurchasedFish = \"PurchasedFish\",\n CatchedFish = \"CatchedFish\",\n}\n\nexport enum EmploymentEvent {\n NewHire = \"NewHire\",\n Turnover = \"Turnover\",\n}\n\nexport enum EmploymentType {\n PermanentFullTime = \"PermanentFullTime\",\n PermanentPartTime = \"PermanentPartTime\",\n Contract = \"Contract\",\n FullTime = \"FullTime\",\n PartTime = \"PartTime\",\n}\n\nexport class EnvironmentalRiskAssessment implements IEnvironmentalRiskAssessment {\n score!: number;\n risk!: RiskCategory;\n calculationProblemDescription?: string | undefined;\n\n constructor(data?: IEnvironmentalRiskAssessment) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.score = _data[\"score\"];\n this.risk = _data[\"risk\"];\n this.calculationProblemDescription = _data[\"calculationProblemDescription\"];\n }\n }\n\n static fromJS(data: any): EnvironmentalRiskAssessment {\n data = typeof data === 'object' ? data : {};\n let result = new EnvironmentalRiskAssessment();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"score\"] = this.score;\n data[\"risk\"] = this.risk;\n data[\"calculationProblemDescription\"] = this.calculationProblemDescription;\n return data;\n }\n}\n\nexport interface IEnvironmentalRiskAssessment {\n score: number;\n risk: RiskCategory;\n calculationProblemDescription?: string | undefined;\n}\n\nexport enum FacilityType {\n Office = \"Office\",\n Factory_ProductionFacility_Workshop = \"Factory_ProductionFacility_Workshop\",\n RetailSpace = \"RetailSpace\",\n Warehouse_Storage = \"Warehouse_Storage\",\n Accommodation_Hotel = \"Accommodation_Hotel\",\n AquacultureFarm = \"AquacultureFarm\",\n AgricultureFarm = \"AgricultureFarm\",\n EducationalInstitution = \"EducationalInstitution\",\n TransportationHub = \"TransportationHub\",\n FoodAndBeverageFacility = \"FoodAndBeverageFacility\",\n RealEstate = \"RealEstate\",\n Other = \"Other\",\n}\n\nexport enum Gender {\n Woman = \"Woman\",\n Man = \"Man\",\n}\n\nexport enum Location {\n Onshore = \"Onshore\",\n Offshore = \"Offshore\",\n}\n\nexport enum MarineCasualtyType {\n VerySeriousMarineCasualty = \"VerySeriousMarineCasualty\",\n MarineCasualty = \"MarineCasualty\",\n SeriousCasualtyWithVessel = \"SeriousCasualtyWithVessel\",\n OtherVesselAccidents = \"OtherVesselAccidents\",\n PollutionOrRiskOfPollution = \"PollutionOrRiskOfPollution\",\n OccupationalAccident = \"OccupationalAccident\",\n}\n\nexport enum ParentalLeaveMode {\n EntitledTo = \"EntitledTo\",\n ParentLeave = \"ParentLeave\",\n}\n\nexport enum PositionLevel {\n PositionLevel1 = \"PositionLevel1\",\n PositionLevel2 = \"PositionLevel2\",\n PositionLevel3 = \"PositionLevel3\",\n PositionLevel4 = \"PositionLevel4\",\n PositionLevel5 = \"PositionLevel5\",\n PositionLevel6 = \"PositionLevel6\",\n}\n\nexport enum PowerSource {\n Fuel = \"Fuel\",\n Electric = \"Electric\",\n PlugInHybrid = \"PlugInHybrid\",\n Hydrogen = \"Hydrogen\",\n}\n\nexport enum ScrubbersLoopSystem {\n Open = \"Open\",\n Closed = \"Closed\",\n}\n\nexport class SocialRiskAssessment implements ISocialRiskAssessment {\n score!: number;\n risk!: RiskCategory;\n labourRightsScore!: number;\n labourRightsRisk!: RiskCategory;\n childLabourScore!: number;\n childLabourRisk!: RiskCategory;\n freedomRightsScore!: number;\n freedomRightsRisk!: RiskCategory;\n corruptionRiskScore!: number;\n corruptionRisk!: RiskCategory;\n calculationProblemDescription?: string | undefined;\n\n constructor(data?: ISocialRiskAssessment) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.score = _data[\"score\"];\n this.risk = _data[\"risk\"];\n this.labourRightsScore = _data[\"labourRightsScore\"];\n this.labourRightsRisk = _data[\"labourRightsRisk\"];\n this.childLabourScore = _data[\"childLabourScore\"];\n this.childLabourRisk = _data[\"childLabourRisk\"];\n this.freedomRightsScore = _data[\"freedomRightsScore\"];\n this.freedomRightsRisk = _data[\"freedomRightsRisk\"];\n this.corruptionRiskScore = _data[\"corruptionRiskScore\"];\n this.corruptionRisk = _data[\"corruptionRisk\"];\n this.calculationProblemDescription = _data[\"calculationProblemDescription\"];\n }\n }\n\n static fromJS(data: any): SocialRiskAssessment {\n data = typeof data === 'object' ? data : {};\n let result = new SocialRiskAssessment();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"score\"] = this.score;\n data[\"risk\"] = this.risk;\n data[\"labourRightsScore\"] = this.labourRightsScore;\n data[\"labourRightsRisk\"] = this.labourRightsRisk;\n data[\"childLabourScore\"] = this.childLabourScore;\n data[\"childLabourRisk\"] = this.childLabourRisk;\n data[\"freedomRightsScore\"] = this.freedomRightsScore;\n data[\"freedomRightsRisk\"] = this.freedomRightsRisk;\n data[\"corruptionRiskScore\"] = this.corruptionRiskScore;\n data[\"corruptionRisk\"] = this.corruptionRisk;\n data[\"calculationProblemDescription\"] = this.calculationProblemDescription;\n return data;\n }\n}\n\nexport interface ISocialRiskAssessment {\n score: number;\n risk: RiskCategory;\n labourRightsScore: number;\n labourRightsRisk: RiskCategory;\n childLabourScore: number;\n childLabourRisk: RiskCategory;\n freedomRightsScore: number;\n freedomRightsRisk: RiskCategory;\n corruptionRiskScore: number;\n corruptionRisk: RiskCategory;\n calculationProblemDescription?: string | undefined;\n}\n\nexport enum SupplierStatus {\n Active = \"Active\",\n Deactivated = \"Deactivated\",\n Terminated = \"Terminated\",\n}\n\nexport enum VehicleCraftMachineryType {\n Car = \"Car\",\n Truck = \"Truck\",\n Forklift = \"Forklift\",\n SmallCrafts = \"SmallCrafts\",\n Cranes = \"Cranes\",\n Other = \"Other\",\n}\n\nexport enum VesselType {\n Offshore = \"Offshore\",\n PassengerCruise = \"PassengerCruise\",\n Fishery = \"Fishery\",\n Cargo = \"Cargo\",\n}\n\nexport class DataProfile implements IDataProfile {\n readonly eType!: EntityType;\n organizationId!: string;\n timePeriod!: TimePeriod;\n description!: string;\n inputType!: InputType;\n id!: string;\n pk?: string | undefined;\n\n protected _discriminator: string;\n\n constructor(data?: IDataProfile) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.timePeriod = new TimePeriod();\n }\n this._discriminator = \"DataProfile\";\n }\n\n init(_data?: any) {\n if (_data) {\n (this).eType = _data[\"eType\"];\n this.organizationId = _data[\"organizationId\"];\n this.timePeriod = _data[\"timePeriod\"] ? TimePeriod.fromJS(_data[\"timePeriod\"]) : new TimePeriod();\n this.description = _data[\"description\"];\n this.inputType = _data[\"inputType\"];\n this.id = _data[\"id\"];\n this.pk = _data[\"pk\"];\n }\n }\n\n static fromJS(data: any): DataProfile {\n data = typeof data === 'object' ? data : {};\n if (data[\"type\"] === \"EmployeeCommuting\") {\n let result = new EmployeeCommutingDataProfile();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeGenderDiversityAndEquality\") {\n let result = new EmployeeGenderDiversityAndEqualityDataProfile();\n result.init(data);\n return result;\n }\n let result = new DataProfile();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this._discriminator;\n data[\"eType\"] = this.eType;\n data[\"organizationId\"] = this.organizationId;\n data[\"timePeriod\"] = this.timePeriod ? this.timePeriod.toJSON() : undefined;\n data[\"description\"] = this.description;\n data[\"inputType\"] = this.inputType;\n data[\"id\"] = this.id;\n data[\"pk\"] = this.pk;\n return data;\n }\n}\n\nexport interface IDataProfile {\n eType: EntityType;\n organizationId: string;\n timePeriod: TimePeriod;\n description: string;\n inputType: InputType;\n id: string;\n pk?: string | undefined;\n}\n\nexport class EmployeeCommutingDataProfile extends DataProfile implements IEmployeeCommutingDataProfile {\n readonly type!: DataProfileType;\n totalEmployees!: number;\n totalHomeOfficeDays!: number;\n totalCommutingDays!: number;\n\n constructor(data?: IEmployeeCommutingDataProfile) {\n super(data);\n this._discriminator = \"EmployeeCommuting\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.totalEmployees = _data[\"totalEmployees\"];\n this.totalHomeOfficeDays = _data[\"totalHomeOfficeDays\"];\n this.totalCommutingDays = _data[\"totalCommutingDays\"];\n }\n }\n\n static override fromJS(data: any): EmployeeCommutingDataProfile {\n data = typeof data === 'object' ? data : {};\n let result = new EmployeeCommutingDataProfile();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"totalEmployees\"] = this.totalEmployees;\n data[\"totalHomeOfficeDays\"] = this.totalHomeOfficeDays;\n data[\"totalCommutingDays\"] = this.totalCommutingDays;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IEmployeeCommutingDataProfile extends IDataProfile {\n type: DataProfileType;\n totalEmployees: number;\n totalHomeOfficeDays: number;\n totalCommutingDays: number;\n}\n\nexport class EmployeeGenderDiversityAndEqualityDataProfile extends DataProfile implements IEmployeeGenderDiversityAndEqualityDataProfile {\n readonly type!: DataProfileType;\n organizationAssetId!: string;\n\n constructor(data?: IEmployeeGenderDiversityAndEqualityDataProfile) {\n super(data);\n this._discriminator = \"EmployeeGenderDiversityAndEquality\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.organizationAssetId = _data[\"organizationAssetId\"];\n }\n }\n\n static override fromJS(data: any): EmployeeGenderDiversityAndEqualityDataProfile {\n data = typeof data === 'object' ? data : {};\n let result = new EmployeeGenderDiversityAndEqualityDataProfile();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"organizationAssetId\"] = this.organizationAssetId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IEmployeeGenderDiversityAndEqualityDataProfile extends IDataProfile {\n type: DataProfileType;\n organizationAssetId: string;\n}\n\nexport class DataRecord implements IDataRecord {\n readonly eType!: EntityType;\n readonly category!: DataRecordCategory;\n organizationId!: string;\n assetId!: string;\n assetName?: string | undefined;\n assetType!: AssetType;\n inputType!: InputType;\n dataSetId?: string | undefined;\n startDate!: Date;\n endDate!: Date;\n id!: string;\n pk?: string | undefined;\n\n protected _discriminator: string;\n\n constructor(data?: IDataRecord) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n this._discriminator = \"DataRecord\";\n }\n\n init(_data?: any) {\n if (_data) {\n (this).eType = _data[\"eType\"];\n (this).category = _data[\"category\"];\n this.organizationId = _data[\"organizationId\"];\n this.assetId = _data[\"assetId\"];\n this.assetName = _data[\"assetName\"];\n this.assetType = _data[\"assetType\"];\n this.inputType = _data[\"inputType\"];\n this.dataSetId = _data[\"dataSetId\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.id = _data[\"id\"];\n this.pk = _data[\"pk\"];\n }\n }\n\n static fromJS(data: any): DataRecord {\n data = typeof data === 'object' ? data : {};\n if (data[\"type\"] === \"CatchedFish\") {\n let result = new CatchedFishDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"DownstreamLeasedAsset\") {\n let result = new DownstreamLeasedAssetDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"ElectricityConsumption\") {\n let result = new ElectricityConsumptionDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeCommuting\") {\n let result = new EmployeeCommutingDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeGenderDiversityAndEquality\") {\n let result = new EmployeeGenderDiversityAndEqualityDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeMarineCasualty\") {\n let result = new EmployeeMarineCasualtyDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeNewHiresAndTurnovers\") {\n let result = new EmployeeNewHiresAndTurnoversDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeParentalLeaves\") {\n let result = new EmployeeParentalLeavesDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeSickLeaves\") {\n let result = new EmployeeSickLeavesDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeWorkRelatedInjuries\") {\n let result = new EmployeeWorkRelatedInjuriesDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationBusinessAirTravel\") {\n let result = new OrganizationBusinessAirTravelDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationBusinessTravelHotelNights\") {\n let result = new OrganizationBusinessTravelHotelNightsDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationCorruptionRisk\") {\n let result = new OrganizationCorruptionRiskDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationFines\") {\n let result = new OrganizationFinesDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationLobbyPoliticalContribution\") {\n let result = new OrganizationLobbyPoliticalContributionDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"OrganizationWhistleblowing\") {\n let result = new OrganizationWhistleblowingDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"PurchasedFish\") {\n let result = new PurchasedFishDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VehicleConsumption\") {\n let result = new VehicleConsumptionDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VesselConsumption\") {\n let result = new VesselConsumptionDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VesselDurationInProtectedAreas\") {\n let result = new VesselDurationInProtectedAreasDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VesselEmissions\") {\n let result = new VesselEmissionsDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"VesselSpills\") {\n let result = new VesselSpillsDataRecord();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Waste\") {\n let result = new WasteDataRecord();\n result.init(data);\n return result;\n }\n let result = new DataRecord();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this._discriminator;\n data[\"eType\"] = this.eType;\n data[\"category\"] = this.category;\n data[\"organizationId\"] = this.organizationId;\n data[\"assetId\"] = this.assetId;\n data[\"assetName\"] = this.assetName;\n data[\"assetType\"] = this.assetType;\n data[\"inputType\"] = this.inputType;\n data[\"dataSetId\"] = this.dataSetId;\n data[\"startDate\"] = this.startDate ? formatDate(this.startDate) : undefined;\n data[\"endDate\"] = this.endDate ? formatDate(this.endDate) : undefined;\n data[\"id\"] = this.id;\n data[\"pk\"] = this.pk;\n return data;\n }\n}\n\nexport interface IDataRecord {\n eType: EntityType;\n category: DataRecordCategory;\n organizationId: string;\n assetId: string;\n assetName?: string | undefined;\n assetType: AssetType;\n inputType: InputType;\n dataSetId?: string | undefined;\n startDate: Date;\n endDate: Date;\n id: string;\n pk?: string | undefined;\n}\n\nexport class CatchedFishDataRecord extends DataRecord implements ICatchedFishDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n species!: FishSpecies;\n readonly speciesName?: string | undefined;\n weight_kg?: number | undefined;\n\n constructor(data?: ICatchedFishDataRecord) {\n super(data);\n this._discriminator = \"CatchedFish\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.species = _data[\"species\"];\n (this).speciesName = _data[\"speciesName\"];\n this.weight_kg = _data[\"weight_kg\"];\n }\n }\n\n static override fromJS(data: any): CatchedFishDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new CatchedFishDataRecord();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"species\"] = this.species;\n data[\"speciesName\"] = this.speciesName;\n data[\"weight_kg\"] = this.weight_kg;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICatchedFishDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n species: FishSpecies;\n speciesName?: string | undefined;\n weight_kg?: number | undefined;\n}\n\nexport class DownstreamLeasedAssetDataRecord extends DataRecord implements IDownstreamLeasedAssetDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n clientAssetId!: string;\n\n constructor(data?: IDownstreamLeasedAssetDataRecord) {\n super(data);\n this._discriminator = \"DownstreamLeasedAsset\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.clientAssetId = _data[\"clientAssetId\"];\n }\n }\n\n static override fromJS(data: any): DownstreamLeasedAssetDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new DownstreamLeasedAssetDataRecord();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"clientAssetId\"] = this.clientAssetId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IDownstreamLeasedAssetDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n clientAssetId: string;\n}\n\nexport class ElectricityConsumptionDataRecord extends DataRecord implements IElectricityConsumptionDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n countryCode!: CountryCodes;\n electricity_kwh!: number;\n\n constructor(data?: IElectricityConsumptionDataRecord) {\n super(data);\n this._discriminator = \"ElectricityConsumption\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.countryCode = _data[\"countryCode\"];\n this.electricity_kwh = _data[\"electricity_kwh\"];\n }\n }\n\n static override fromJS(data: any): ElectricityConsumptionDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new ElectricityConsumptionDataRecord();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"countryCode\"] = this.countryCode;\n data[\"electricity_kwh\"] = this.electricity_kwh;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IElectricityConsumptionDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n countryCode: CountryCodes;\n electricity_kwh: number;\n}\n\nexport class EmployeeCommutingDataRecord extends DataRecord implements IEmployeeCommutingDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n dataProfileId!: string;\n transport!: EmployeeCommutingTransport;\n readonly transportName?: string | undefined;\n mode?: EmployeeCommutingMode | undefined;\n readonly modeName?: string | undefined;\n employees!: number;\n days!: number;\n distance_km!: number;\n cO2Measured_kg?: number | undefined;\n\n constructor(data?: IEmployeeCommutingDataRecord) {\n super(data);\n this._discriminator = \"EmployeeCommuting\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.dataProfileId = _data[\"dataProfileId\"];\n this.transport = _data[\"transport\"];\n (this).transportName = _data[\"transportName\"];\n this.mode = _data[\"mode\"];\n (this).modeName = _data[\"modeName\"];\n this.employees = _data[\"employees\"];\n this.days = _data[\"days\"];\n this.distance_km = _data[\"distance_km\"];\n this.cO2Measured_kg = _data[\"cO2Measured_kg\"];\n }\n }\n\n static override fromJS(data: any): EmployeeCommutingDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new EmployeeCommutingDataRecord();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"dataProfileId\"] = this.dataProfileId;\n data[\"transport\"] = this.transport;\n data[\"transportName\"] = this.transportName;\n data[\"mode\"] = this.mode;\n data[\"modeName\"] = this.modeName;\n data[\"employees\"] = this.employees;\n data[\"days\"] = this.days;\n data[\"distance_km\"] = this.distance_km;\n data[\"cO2Measured_kg\"] = this.cO2Measured_kg;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IEmployeeCommutingDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n dataProfileId: string;\n transport: EmployeeCommutingTransport;\n transportName?: string | undefined;\n mode?: EmployeeCommutingMode | undefined;\n modeName?: string | undefined;\n employees: number;\n days: number;\n distance_km: number;\n cO2Measured_kg?: number | undefined;\n}\n\nexport class EmployeeGenderDiversityAndEqualityDataRecord extends DataRecord implements IEmployeeGenderDiversityAndEqualityDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n dataProfileId!: string;\n employee!: string;\n name_lowercase!: string;\n yearOfBirth!: number;\n gender!: Gender;\n readonly genderName?: string | undefined;\n contract?: ContractType | undefined;\n readonly contractName?: string | undefined;\n employment?: EmploymentType | undefined;\n positionLevel!: PositionLevel;\n location?: Location | undefined;\n readonly locationName?: string | undefined;\n regionId?: string | undefined;\n regionName?: string | undefined;\n salary?: number | undefined;\n\n constructor(data?: IEmployeeGenderDiversityAndEqualityDataRecord) {\n super(data);\n this._discriminator = \"EmployeeGenderDiversityAndEquality\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.dataProfileId = _data[\"dataProfileId\"];\n this.employee = _data[\"employee\"];\n this.name_lowercase = _data[\"name_lowercase\"];\n this.yearOfBirth = _data[\"yearOfBirth\"];\n this.gender = _data[\"gender\"];\n (this).genderName = _data[\"genderName\"];\n this.contract = _data[\"contract\"];\n (this).contractName = _data[\"contractName\"];\n this.employment = _data[\"employment\"];\n this.positionLevel = _data[\"positionLevel\"];\n this.location = _data[\"location\"];\n (this).locationName = _data[\"locationName\"];\n this.regionId = _data[\"regionId\"];\n this.regionName = _data[\"regionName\"];\n this.salary = _data[\"salary\"];\n }\n }\n\n static override fromJS(data: any): EmployeeGenderDiversityAndEqualityDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new EmployeeGenderDiversityAndEqualityDataRecord();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"dataProfileId\"] = this.dataProfileId;\n data[\"employee\"] = this.employee;\n data[\"name_lowercase\"] = this.name_lowercase;\n data[\"yearOfBirth\"] = this.yearOfBirth;\n data[\"gender\"] = this.gender;\n data[\"genderName\"] = this.genderName;\n data[\"contract\"] = this.contract;\n data[\"contractName\"] = this.contractName;\n data[\"employment\"] = this.employment;\n data[\"positionLevel\"] = this.positionLevel;\n data[\"location\"] = this.location;\n data[\"locationName\"] = this.locationName;\n data[\"regionId\"] = this.regionId;\n data[\"regionName\"] = this.regionName;\n data[\"salary\"] = this.salary;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IEmployeeGenderDiversityAndEqualityDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n dataProfileId: string;\n employee: string;\n name_lowercase: string;\n yearOfBirth: number;\n gender: Gender;\n genderName?: string | undefined;\n contract?: ContractType | undefined;\n contractName?: string | undefined;\n employment?: EmploymentType | undefined;\n positionLevel: PositionLevel;\n location?: Location | undefined;\n locationName?: string | undefined;\n regionId?: string | undefined;\n regionName?: string | undefined;\n salary?: number | undefined;\n}\n\nexport class EmployeeMarineCasualtyDataRecord extends DataRecord implements IEmployeeMarineCasualtyDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n marineCasualtyType!: MarineCasualtyType;\n readonly marineCasualtyTypeName?: string | undefined;\n incidents!: number;\n\n constructor(data?: IEmployeeMarineCasualtyDataRecord) {\n super(data);\n this._discriminator = \"EmployeeMarineCasualty\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.marineCasualtyType = _data[\"marineCasualtyType\"];\n (this).marineCasualtyTypeName = _data[\"marineCasualtyTypeName\"];\n this.incidents = _data[\"incidents\"];\n }\n }\n\n static override fromJS(data: any): EmployeeMarineCasualtyDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new EmployeeMarineCasualtyDataRecord();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"marineCasualtyType\"] = this.marineCasualtyType;\n data[\"marineCasualtyTypeName\"] = this.marineCasualtyTypeName;\n data[\"incidents\"] = this.incidents;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IEmployeeMarineCasualtyDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n marineCasualtyType: MarineCasualtyType;\n marineCasualtyTypeName?: string | undefined;\n incidents: number;\n}\n\nexport class EmployeeNewHiresAndTurnoversDataRecord extends DataRecord implements IEmployeeNewHiresAndTurnoversDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n employmentEvent!: EmploymentEvent;\n gender!: Gender;\n readonly genderName?: string | undefined;\n ageGroup!: AgeGroup;\n positionLevel!: PositionLevel;\n regionId!: string;\n regionName?: string | undefined;\n\n constructor(data?: IEmployeeNewHiresAndTurnoversDataRecord) {\n super(data);\n this._discriminator = \"EmployeeNewHiresAndTurnovers\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.employmentEvent = _data[\"employmentEvent\"];\n this.gender = _data[\"gender\"];\n (this).genderName = _data[\"genderName\"];\n this.ageGroup = _data[\"ageGroup\"];\n this.positionLevel = _data[\"positionLevel\"];\n this.regionId = _data[\"regionId\"];\n this.regionName = _data[\"regionName\"];\n }\n }\n\n static override fromJS(data: any): EmployeeNewHiresAndTurnoversDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new EmployeeNewHiresAndTurnoversDataRecord();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"employmentEvent\"] = this.employmentEvent;\n data[\"gender\"] = this.gender;\n data[\"genderName\"] = this.genderName;\n data[\"ageGroup\"] = this.ageGroup;\n data[\"positionLevel\"] = this.positionLevel;\n data[\"regionId\"] = this.regionId;\n data[\"regionName\"] = this.regionName;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IEmployeeNewHiresAndTurnoversDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n employmentEvent: EmploymentEvent;\n gender: Gender;\n genderName?: string | undefined;\n ageGroup: AgeGroup;\n positionLevel: PositionLevel;\n regionId: string;\n regionName?: string | undefined;\n}\n\nexport class EmployeeParentalLeavesDataRecord extends DataRecord implements IEmployeeParentalLeavesDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n mode!: ParentalLeaveMode;\n gender!: Gender;\n readonly genderName?: string | undefined;\n regionId!: string;\n regionName?: string | undefined;\n\n constructor(data?: IEmployeeParentalLeavesDataRecord) {\n super(data);\n this._discriminator = \"EmployeeParentalLeaves\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.mode = _data[\"mode\"];\n this.gender = _data[\"gender\"];\n (this).genderName = _data[\"genderName\"];\n this.regionId = _data[\"regionId\"];\n this.regionName = _data[\"regionName\"];\n }\n }\n\n static override fromJS(data: any): EmployeeParentalLeavesDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new EmployeeParentalLeavesDataRecord();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"mode\"] = this.mode;\n data[\"gender\"] = this.gender;\n data[\"genderName\"] = this.genderName;\n data[\"regionId\"] = this.regionId;\n data[\"regionName\"] = this.regionName;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IEmployeeParentalLeavesDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n mode: ParentalLeaveMode;\n gender: Gender;\n genderName?: string | undefined;\n regionId: string;\n regionName?: string | undefined;\n}\n\nexport class EmployeeSickLeavesDataRecord extends DataRecord implements IEmployeeSickLeavesDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n regionId!: string;\n regionName?: string | undefined;\n women!: number;\n men!: number;\n workingDays!: number;\n\n constructor(data?: IEmployeeSickLeavesDataRecord) {\n super(data);\n this._discriminator = \"EmployeeSickLeaves\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.regionId = _data[\"regionId\"];\n this.regionName = _data[\"regionName\"];\n this.women = _data[\"women\"];\n this.men = _data[\"men\"];\n this.workingDays = _data[\"workingDays\"];\n }\n }\n\n static override fromJS(data: any): EmployeeSickLeavesDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new EmployeeSickLeavesDataRecord();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"regionId\"] = this.regionId;\n data[\"regionName\"] = this.regionName;\n data[\"women\"] = this.women;\n data[\"men\"] = this.men;\n data[\"workingDays\"] = this.workingDays;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IEmployeeSickLeavesDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n regionId: string;\n regionName?: string | undefined;\n women: number;\n men: number;\n workingDays: number;\n}\n\nexport class EmployeeWorkRelatedInjuriesDataRecord extends DataRecord implements IEmployeeWorkRelatedInjuriesDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n recordableInjuries!: number;\n fatalities!: number;\n highConsequenceInjuries!: number;\n illnessHealth!: number;\n lostTimeInjuries!: number;\n daysLost!: number;\n exposureHours!: number;\n\n constructor(data?: IEmployeeWorkRelatedInjuriesDataRecord) {\n super(data);\n this._discriminator = \"EmployeeWorkRelatedInjuries\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.recordableInjuries = _data[\"recordableInjuries\"];\n this.fatalities = _data[\"fatalities\"];\n this.highConsequenceInjuries = _data[\"highConsequenceInjuries\"];\n this.illnessHealth = _data[\"illnessHealth\"];\n this.lostTimeInjuries = _data[\"lostTimeInjuries\"];\n this.daysLost = _data[\"daysLost\"];\n this.exposureHours = _data[\"exposureHours\"];\n }\n }\n\n static override fromJS(data: any): EmployeeWorkRelatedInjuriesDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new EmployeeWorkRelatedInjuriesDataRecord();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"recordableInjuries\"] = this.recordableInjuries;\n data[\"fatalities\"] = this.fatalities;\n data[\"highConsequenceInjuries\"] = this.highConsequenceInjuries;\n data[\"illnessHealth\"] = this.illnessHealth;\n data[\"lostTimeInjuries\"] = this.lostTimeInjuries;\n data[\"daysLost\"] = this.daysLost;\n data[\"exposureHours\"] = this.exposureHours;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IEmployeeWorkRelatedInjuriesDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n recordableInjuries: number;\n fatalities: number;\n highConsequenceInjuries: number;\n illnessHealth: number;\n lostTimeInjuries: number;\n daysLost: number;\n exposureHours: number;\n}\n\nexport class OrganizationBusinessAirTravelDataRecord extends DataRecord implements IOrganizationBusinessAirTravelDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n consumptionValueType!: ConsumptionValueType;\n readonly consumptionValueTypeName?: string | undefined;\n distanceType?: DistanceType | undefined;\n readonly distanceTypeName?: string | undefined;\n numberOfFlights!: number;\n consumptionValue!: number;\n cO2Measured_kg?: number | undefined;\n\n constructor(data?: IOrganizationBusinessAirTravelDataRecord) {\n super(data);\n this._discriminator = \"OrganizationBusinessAirTravel\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.consumptionValueType = _data[\"consumptionValueType\"];\n (this).consumptionValueTypeName = _data[\"consumptionValueTypeName\"];\n this.distanceType = _data[\"distanceType\"];\n (this).distanceTypeName = _data[\"distanceTypeName\"];\n this.numberOfFlights = _data[\"numberOfFlights\"];\n this.consumptionValue = _data[\"consumptionValue\"];\n this.cO2Measured_kg = _data[\"cO2Measured_kg\"];\n }\n }\n\n static override fromJS(data: any): OrganizationBusinessAirTravelDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new OrganizationBusinessAirTravelDataRecord();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"consumptionValueType\"] = this.consumptionValueType;\n data[\"consumptionValueTypeName\"] = this.consumptionValueTypeName;\n data[\"distanceType\"] = this.distanceType;\n data[\"distanceTypeName\"] = this.distanceTypeName;\n data[\"numberOfFlights\"] = this.numberOfFlights;\n data[\"consumptionValue\"] = this.consumptionValue;\n data[\"cO2Measured_kg\"] = this.cO2Measured_kg;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IOrganizationBusinessAirTravelDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n consumptionValueType: ConsumptionValueType;\n consumptionValueTypeName?: string | undefined;\n distanceType?: DistanceType | undefined;\n distanceTypeName?: string | undefined;\n numberOfFlights: number;\n consumptionValue: number;\n cO2Measured_kg?: number | undefined;\n}\n\nexport class OrganizationBusinessTravelHotelNightsDataRecord extends DataRecord implements IOrganizationBusinessTravelHotelNightsDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n numberOfNights!: number;\n countryCode!: CountryCodes;\n\n constructor(data?: IOrganizationBusinessTravelHotelNightsDataRecord) {\n super(data);\n this._discriminator = \"OrganizationBusinessTravelHotelNights\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.numberOfNights = _data[\"numberOfNights\"];\n this.countryCode = _data[\"countryCode\"];\n }\n }\n\n static override fromJS(data: any): OrganizationBusinessTravelHotelNightsDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new OrganizationBusinessTravelHotelNightsDataRecord();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"numberOfNights\"] = this.numberOfNights;\n data[\"countryCode\"] = this.countryCode;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IOrganizationBusinessTravelHotelNightsDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n numberOfNights: number;\n countryCode: CountryCodes;\n}\n\nexport class OrganizationCorruptionRiskDataRecord extends DataRecord implements IOrganizationCorruptionRiskDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n callsAtPort!: number;\n netRevenue!: number;\n currencyCode!: CurrencyCodes;\n facilitation!: number;\n\n constructor(data?: IOrganizationCorruptionRiskDataRecord) {\n super(data);\n this._discriminator = \"OrganizationCorruptionRisk\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.callsAtPort = _data[\"callsAtPort\"];\n this.netRevenue = _data[\"netRevenue\"];\n this.currencyCode = _data[\"currencyCode\"];\n this.facilitation = _data[\"facilitation\"];\n }\n }\n\n static override fromJS(data: any): OrganizationCorruptionRiskDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new OrganizationCorruptionRiskDataRecord();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"callsAtPort\"] = this.callsAtPort;\n data[\"netRevenue\"] = this.netRevenue;\n data[\"currencyCode\"] = this.currencyCode;\n data[\"facilitation\"] = this.facilitation;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IOrganizationCorruptionRiskDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n callsAtPort: number;\n netRevenue: number;\n currencyCode: CurrencyCodes;\n facilitation: number;\n}\n\nexport class OrganizationFinesDataRecord extends DataRecord implements IOrganizationFinesDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n monetaryValue!: number;\n currencyCode!: CurrencyCodes;\n nonMonetarySanctions!: number;\n\n constructor(data?: IOrganizationFinesDataRecord) {\n super(data);\n this._discriminator = \"OrganizationFines\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.monetaryValue = _data[\"monetaryValue\"];\n this.currencyCode = _data[\"currencyCode\"];\n this.nonMonetarySanctions = _data[\"nonMonetarySanctions\"];\n }\n }\n\n static override fromJS(data: any): OrganizationFinesDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new OrganizationFinesDataRecord();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"monetaryValue\"] = this.monetaryValue;\n data[\"currencyCode\"] = this.currencyCode;\n data[\"nonMonetarySanctions\"] = this.nonMonetarySanctions;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IOrganizationFinesDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n monetaryValue: number;\n currencyCode: CurrencyCodes;\n nonMonetarySanctions: number;\n}\n\nexport class OrganizationLobbyPoliticalContributionDataRecord extends DataRecord implements IOrganizationLobbyPoliticalContributionDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n monetaryValue!: number;\n currencyCode!: CurrencyCodes;\n beneficiary!: string;\n countryCode!: CountryCodes;\n\n constructor(data?: IOrganizationLobbyPoliticalContributionDataRecord) {\n super(data);\n this._discriminator = \"OrganizationLobbyPoliticalContribution\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.monetaryValue = _data[\"monetaryValue\"];\n this.currencyCode = _data[\"currencyCode\"];\n this.beneficiary = _data[\"beneficiary\"];\n this.countryCode = _data[\"countryCode\"];\n }\n }\n\n static override fromJS(data: any): OrganizationLobbyPoliticalContributionDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new OrganizationLobbyPoliticalContributionDataRecord();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"monetaryValue\"] = this.monetaryValue;\n data[\"currencyCode\"] = this.currencyCode;\n data[\"beneficiary\"] = this.beneficiary;\n data[\"countryCode\"] = this.countryCode;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IOrganizationLobbyPoliticalContributionDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n monetaryValue: number;\n currencyCode: CurrencyCodes;\n beneficiary: string;\n countryCode: CountryCodes;\n}\n\nexport class OrganizationWhistleblowingDataRecord extends DataRecord implements IOrganizationWhistleblowingDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n incidents!: number;\n\n constructor(data?: IOrganizationWhistleblowingDataRecord) {\n super(data);\n this._discriminator = \"OrganizationWhistleblowing\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.incidents = _data[\"incidents\"];\n }\n }\n\n static override fromJS(data: any): OrganizationWhistleblowingDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new OrganizationWhistleblowingDataRecord();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"incidents\"] = this.incidents;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IOrganizationWhistleblowingDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n incidents: number;\n}\n\nexport class PurchasedFishDataRecord extends DataRecord implements IPurchasedFishDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n species!: FishSpecies;\n readonly speciesName?: string | undefined;\n weight_kg?: number | undefined;\n\n constructor(data?: IPurchasedFishDataRecord) {\n super(data);\n this._discriminator = \"PurchasedFish\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.species = _data[\"species\"];\n (this).speciesName = _data[\"speciesName\"];\n this.weight_kg = _data[\"weight_kg\"];\n }\n }\n\n static override fromJS(data: any): PurchasedFishDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new PurchasedFishDataRecord();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"species\"] = this.species;\n data[\"speciesName\"] = this.speciesName;\n data[\"weight_kg\"] = this.weight_kg;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IPurchasedFishDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n species: FishSpecies;\n speciesName?: string | undefined;\n weight_kg?: number | undefined;\n}\n\nexport class VehicleConsumptionDataRecord extends DataRecord implements IVehicleConsumptionDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n diesel_l!: number;\n petrol_l!: number;\n hydrogen_kg!: number;\n naturalGas!: number;\n naturalGas_Unit!: string;\n liquidPetroleumGas!: number;\n liquidPetroleumGas_Unit!: string;\n distance_km!: number;\n\n constructor(data?: IVehicleConsumptionDataRecord) {\n super(data);\n this._discriminator = \"VehicleConsumption\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.diesel_l = _data[\"diesel_l\"];\n this.petrol_l = _data[\"petrol_l\"];\n this.hydrogen_kg = _data[\"hydrogen_kg\"];\n this.naturalGas = _data[\"naturalGas\"];\n this.naturalGas_Unit = _data[\"naturalGas_Unit\"];\n this.liquidPetroleumGas = _data[\"liquidPetroleumGas\"];\n this.liquidPetroleumGas_Unit = _data[\"liquidPetroleumGas_Unit\"];\n this.distance_km = _data[\"distance_km\"];\n }\n }\n\n static override fromJS(data: any): VehicleConsumptionDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new VehicleConsumptionDataRecord();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"diesel_l\"] = this.diesel_l;\n data[\"petrol_l\"] = this.petrol_l;\n data[\"hydrogen_kg\"] = this.hydrogen_kg;\n data[\"naturalGas\"] = this.naturalGas;\n data[\"naturalGas_Unit\"] = this.naturalGas_Unit;\n data[\"liquidPetroleumGas\"] = this.liquidPetroleumGas;\n data[\"liquidPetroleumGas_Unit\"] = this.liquidPetroleumGas_Unit;\n data[\"distance_km\"] = this.distance_km;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IVehicleConsumptionDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n diesel_l: number;\n petrol_l: number;\n hydrogen_kg: number;\n naturalGas: number;\n naturalGas_Unit: string;\n liquidPetroleumGas: number;\n liquidPetroleumGas_Unit: string;\n distance_km: number;\n}\n\nexport class VesselConsumptionDataRecord extends DataRecord implements IVesselConsumptionDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n distanceSailed_nm?: number | undefined;\n inOperation_hrs?: number | undefined;\n mgo?: number | undefined;\n mgO_Unit!: string;\n hfo?: number | undefined;\n hfO_Unit!: string;\n lfo?: number | undefined;\n lfO_Unit!: string;\n urea_l?: number | undefined;\n lng?: number | undefined;\n lnG_Unit!: string;\n hvO100?: number | undefined;\n hvO100_Unit!: string;\n mgoB30?: number | undefined;\n mgoB30_Unit!: string;\n\n constructor(data?: IVesselConsumptionDataRecord) {\n super(data);\n this._discriminator = \"VesselConsumption\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.distanceSailed_nm = _data[\"distanceSailed_nm\"];\n this.inOperation_hrs = _data[\"inOperation_hrs\"];\n this.mgo = _data[\"mgo\"];\n this.mgO_Unit = _data[\"mgO_Unit\"];\n this.hfo = _data[\"hfo\"];\n this.hfO_Unit = _data[\"hfO_Unit\"];\n this.lfo = _data[\"lfo\"];\n this.lfO_Unit = _data[\"lfO_Unit\"];\n this.urea_l = _data[\"urea_l\"];\n this.lng = _data[\"lng\"];\n this.lnG_Unit = _data[\"lnG_Unit\"];\n this.hvO100 = _data[\"hvO100\"];\n this.hvO100_Unit = _data[\"hvO100_Unit\"];\n this.mgoB30 = _data[\"mgoB30\"];\n this.mgoB30_Unit = _data[\"mgoB30_Unit\"];\n }\n }\n\n static override fromJS(data: any): VesselConsumptionDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new VesselConsumptionDataRecord();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"distanceSailed_nm\"] = this.distanceSailed_nm;\n data[\"inOperation_hrs\"] = this.inOperation_hrs;\n data[\"mgo\"] = this.mgo;\n data[\"mgO_Unit\"] = this.mgO_Unit;\n data[\"hfo\"] = this.hfo;\n data[\"hfO_Unit\"] = this.hfO_Unit;\n data[\"lfo\"] = this.lfo;\n data[\"lfO_Unit\"] = this.lfO_Unit;\n data[\"urea_l\"] = this.urea_l;\n data[\"lng\"] = this.lng;\n data[\"lnG_Unit\"] = this.lnG_Unit;\n data[\"hvO100\"] = this.hvO100;\n data[\"hvO100_Unit\"] = this.hvO100_Unit;\n data[\"mgoB30\"] = this.mgoB30;\n data[\"mgoB30_Unit\"] = this.mgoB30_Unit;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IVesselConsumptionDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n distanceSailed_nm?: number | undefined;\n inOperation_hrs?: number | undefined;\n mgo?: number | undefined;\n mgO_Unit: string;\n hfo?: number | undefined;\n hfO_Unit: string;\n lfo?: number | undefined;\n lfO_Unit: string;\n urea_l?: number | undefined;\n lng?: number | undefined;\n lnG_Unit: string;\n hvO100?: number | undefined;\n hvO100_Unit: string;\n mgoB30?: number | undefined;\n mgoB30_Unit: string;\n}\n\nexport class VesselDurationInProtectedAreasDataRecord extends DataRecord implements IVesselDurationInProtectedAreasDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n days!: number;\n\n constructor(data?: IVesselDurationInProtectedAreasDataRecord) {\n super(data);\n this._discriminator = \"VesselDurationInProtectedAreas\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.days = _data[\"days\"];\n }\n }\n\n static override fromJS(data: any): VesselDurationInProtectedAreasDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new VesselDurationInProtectedAreasDataRecord();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"days\"] = this.days;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IVesselDurationInProtectedAreasDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n days: number;\n}\n\nexport class VesselEmissionsDataRecord extends DataRecord implements IVesselEmissionsDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n powerFromShore_kwh?: number | undefined;\n powerFromShoreCountryCode?: CountryCodes | undefined;\n mgO_m3?: number | undefined;\n lnG_m3?: number | undefined;\n nox_t?: number | undefined;\n cO2_t?: number | undefined;\n sOx_kg?: number | undefined;\n pM25_kg?: number | undefined;\n cH4_kg?: number | undefined;\n n2O_kg?: number | undefined;\n distanceSailed_nm?: number | undefined;\n inOperation_hrs?: number | undefined;\n\n constructor(data?: IVesselEmissionsDataRecord) {\n super(data);\n this._discriminator = \"VesselEmissions\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.powerFromShore_kwh = _data[\"powerFromShore_kwh\"];\n this.powerFromShoreCountryCode = _data[\"powerFromShoreCountryCode\"];\n this.mgO_m3 = _data[\"mgO_m3\"];\n this.lnG_m3 = _data[\"lnG_m3\"];\n this.nox_t = _data[\"nox_t\"];\n this.cO2_t = _data[\"cO2_t\"];\n this.sOx_kg = _data[\"sOx_kg\"];\n this.pM25_kg = _data[\"pM25_kg\"];\n this.cH4_kg = _data[\"cH4_kg\"];\n this.n2O_kg = _data[\"n2O_kg\"];\n this.distanceSailed_nm = _data[\"distanceSailed_nm\"];\n this.inOperation_hrs = _data[\"inOperation_hrs\"];\n }\n }\n\n static override fromJS(data: any): VesselEmissionsDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new VesselEmissionsDataRecord();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"powerFromShore_kwh\"] = this.powerFromShore_kwh;\n data[\"powerFromShoreCountryCode\"] = this.powerFromShoreCountryCode;\n data[\"mgO_m3\"] = this.mgO_m3;\n data[\"lnG_m3\"] = this.lnG_m3;\n data[\"nox_t\"] = this.nox_t;\n data[\"cO2_t\"] = this.cO2_t;\n data[\"sOx_kg\"] = this.sOx_kg;\n data[\"pM25_kg\"] = this.pM25_kg;\n data[\"cH4_kg\"] = this.cH4_kg;\n data[\"n2O_kg\"] = this.n2O_kg;\n data[\"distanceSailed_nm\"] = this.distanceSailed_nm;\n data[\"inOperation_hrs\"] = this.inOperation_hrs;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IVesselEmissionsDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n powerFromShore_kwh?: number | undefined;\n powerFromShoreCountryCode?: CountryCodes | undefined;\n mgO_m3?: number | undefined;\n lnG_m3?: number | undefined;\n nox_t?: number | undefined;\n cO2_t?: number | undefined;\n sOx_kg?: number | undefined;\n pM25_kg?: number | undefined;\n cH4_kg?: number | undefined;\n n2O_kg?: number | undefined;\n distanceSailed_nm?: number | undefined;\n inOperation_hrs?: number | undefined;\n}\n\nexport class VesselSpillsDataRecord extends DataRecord implements IVesselSpillsDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n spillsType!: string;\n isHazardous!: boolean;\n volume_m3!: number;\n\n constructor(data?: IVesselSpillsDataRecord) {\n super(data);\n this._discriminator = \"VesselSpills\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.spillsType = _data[\"spillsType\"];\n this.isHazardous = _data[\"isHazardous\"];\n this.volume_m3 = _data[\"volume_m3\"];\n }\n }\n\n static override fromJS(data: any): VesselSpillsDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new VesselSpillsDataRecord();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"spillsType\"] = this.spillsType;\n data[\"isHazardous\"] = this.isHazardous;\n data[\"volume_m3\"] = this.volume_m3;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IVesselSpillsDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n spillsType: string;\n isHazardous: boolean;\n volume_m3: number;\n}\n\nexport class WasteDataRecord extends DataRecord implements IWasteDataRecord {\n readonly type!: DataRecordType;\n readonly category!: DataRecordCategory;\n class!: WasteClass;\n subclass?: WasteSubClass | undefined;\n readonly subClassName?: string | undefined;\n isHazardous!: boolean;\n toDisposal!: WasteToDisposal;\n readonly toDisposalName?: string | undefined;\n quantity!: number;\n unit!: string;\n cO2Measured_t?: number | undefined;\n\n constructor(data?: IWasteDataRecord) {\n super(data);\n this._discriminator = \"Waste\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n (this).category = _data[\"category\"];\n this.class = _data[\"class\"];\n this.subclass = _data[\"subclass\"];\n (this).subClassName = _data[\"subClassName\"];\n this.isHazardous = _data[\"isHazardous\"];\n this.toDisposal = _data[\"toDisposal\"];\n (this).toDisposalName = _data[\"toDisposalName\"];\n this.quantity = _data[\"quantity\"];\n this.unit = _data[\"unit\"];\n this.cO2Measured_t = _data[\"cO2Measured_t\"];\n }\n }\n\n static override fromJS(data: any): WasteDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new WasteDataRecord();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"category\"] = this.category;\n data[\"class\"] = this.class;\n data[\"subclass\"] = this.subclass;\n data[\"subClassName\"] = this.subClassName;\n data[\"isHazardous\"] = this.isHazardous;\n data[\"toDisposal\"] = this.toDisposal;\n data[\"toDisposalName\"] = this.toDisposalName;\n data[\"quantity\"] = this.quantity;\n data[\"unit\"] = this.unit;\n data[\"cO2Measured_t\"] = this.cO2Measured_t;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IWasteDataRecord extends IDataRecord {\n type: DataRecordType;\n category: DataRecordCategory;\n class: WasteClass;\n subclass?: WasteSubClass | undefined;\n subClassName?: string | undefined;\n isHazardous: boolean;\n toDisposal: WasteToDisposal;\n toDisposalName?: string | undefined;\n quantity: number;\n unit: string;\n cO2Measured_t?: number | undefined;\n}\n\nexport class CalculateIndicatorDataCommandParams implements ICalculateIndicatorDataCommandParams {\n indicatorId!: string;\n\n constructor(data?: ICalculateIndicatorDataCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.indicatorId = _data[\"indicatorId\"];\n }\n }\n\n static fromJS(data: any): CalculateIndicatorDataCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CalculateIndicatorDataCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"indicatorId\"] = this.indicatorId;\n return data;\n }\n}\n\nexport interface ICalculateIndicatorDataCommandParams {\n indicatorId: string;\n}\n\nexport class CalculateIndicatorDataCommandResponse implements ICalculateIndicatorDataCommandResponse {\n result!: CalculateIndicatorDataVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: ICalculateIndicatorDataCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new CalculateIndicatorDataVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? CalculateIndicatorDataVm.fromJS(_data[\"result\"]) : new CalculateIndicatorDataVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CalculateIndicatorDataCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CalculateIndicatorDataCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICalculateIndicatorDataCommandResponse {\n result: CalculateIndicatorDataVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CalculateIndicatorDataVm implements ICalculateIndicatorDataVm {\n updatedIndicatorDataCount!: number;\n\n constructor(data?: ICalculateIndicatorDataVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.updatedIndicatorDataCount = _data[\"updatedIndicatorDataCount\"];\n }\n }\n\n static fromJS(data: any): CalculateIndicatorDataVm {\n data = typeof data === 'object' ? data : {};\n let result = new CalculateIndicatorDataVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"updatedIndicatorDataCount\"] = this.updatedIndicatorDataCount;\n return data;\n }\n}\n\nexport interface ICalculateIndicatorDataVm {\n updatedIndicatorDataCount: number;\n}\n\nexport class CreateIndicatorDataCommandParams implements ICreateIndicatorDataCommandParams {\n indicatorId!: string;\n assetId!: string;\n timePeriod!: TimePeriod;\n description!: string;\n valueType!: IndicatorValueType;\n numericValue?: number | undefined;\n tableValue?: IndicatorTableValue | undefined;\n inputType?: InputType | undefined;\n\n constructor(data?: ICreateIndicatorDataCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.timePeriod = new TimePeriod();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.indicatorId = _data[\"indicatorId\"];\n this.assetId = _data[\"assetId\"];\n this.timePeriod = _data[\"timePeriod\"] ? TimePeriod.fromJS(_data[\"timePeriod\"]) : new TimePeriod();\n this.description = _data[\"description\"];\n this.valueType = _data[\"valueType\"];\n this.numericValue = _data[\"numericValue\"];\n this.tableValue = _data[\"tableValue\"] ? IndicatorTableValue.fromJS(_data[\"tableValue\"]) : undefined;\n this.inputType = _data[\"inputType\"];\n }\n }\n\n static fromJS(data: any): CreateIndicatorDataCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateIndicatorDataCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"indicatorId\"] = this.indicatorId;\n data[\"assetId\"] = this.assetId;\n data[\"timePeriod\"] = this.timePeriod ? this.timePeriod.toJSON() : undefined;\n data[\"description\"] = this.description;\n data[\"valueType\"] = this.valueType;\n data[\"numericValue\"] = this.numericValue;\n data[\"tableValue\"] = this.tableValue ? this.tableValue.toJSON() : undefined;\n data[\"inputType\"] = this.inputType;\n return data;\n }\n}\n\nexport interface ICreateIndicatorDataCommandParams {\n indicatorId: string;\n assetId: string;\n timePeriod: TimePeriod;\n description: string;\n valueType: IndicatorValueType;\n numericValue?: number | undefined;\n tableValue?: IndicatorTableValue | undefined;\n inputType?: InputType | undefined;\n}\n\nexport class CreateIndicatorDataCommandResponse implements ICreateIndicatorDataCommandResponse {\n result!: CreateIndicatorDataVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: ICreateIndicatorDataCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new CreateIndicatorDataVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? CreateIndicatorDataVm.fromJS(_data[\"result\"]) : new CreateIndicatorDataVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CreateIndicatorDataCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CreateIndicatorDataCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICreateIndicatorDataCommandResponse {\n result: CreateIndicatorDataVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CreateIndicatorDataVm implements ICreateIndicatorDataVm {\n id!: string;\n\n constructor(data?: ICreateIndicatorDataVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CreateIndicatorDataVm {\n data = typeof data === 'object' ? data : {};\n let result = new CreateIndicatorDataVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICreateIndicatorDataVm {\n id: string;\n}\n\nexport class DeleteIndicatorDataCommandResponse implements IDeleteIndicatorDataCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IDeleteIndicatorDataCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DeleteIndicatorDataCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteIndicatorDataCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDeleteIndicatorDataCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class DeleteIndicatorDataByCommandResponse implements IDeleteIndicatorDataByCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IDeleteIndicatorDataByCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DeleteIndicatorDataByCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteIndicatorDataByCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDeleteIndicatorDataByCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class UpdateIndicatorDataCommandParams implements IUpdateIndicatorDataCommandParams {\n id!: string;\n indicatorId!: string;\n assetId!: string;\n timePeriod!: TimePeriod;\n description!: string;\n valueType!: IndicatorValueType;\n numericValue?: number | undefined;\n tableValue?: IndicatorTableValue | undefined;\n\n constructor(data?: IUpdateIndicatorDataCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.timePeriod = new TimePeriod();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.indicatorId = _data[\"indicatorId\"];\n this.assetId = _data[\"assetId\"];\n this.timePeriod = _data[\"timePeriod\"] ? TimePeriod.fromJS(_data[\"timePeriod\"]) : new TimePeriod();\n this.description = _data[\"description\"];\n this.valueType = _data[\"valueType\"];\n this.numericValue = _data[\"numericValue\"];\n this.tableValue = _data[\"tableValue\"] ? IndicatorTableValue.fromJS(_data[\"tableValue\"]) : undefined;\n }\n }\n\n static fromJS(data: any): UpdateIndicatorDataCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateIndicatorDataCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"indicatorId\"] = this.indicatorId;\n data[\"assetId\"] = this.assetId;\n data[\"timePeriod\"] = this.timePeriod ? this.timePeriod.toJSON() : undefined;\n data[\"description\"] = this.description;\n data[\"valueType\"] = this.valueType;\n data[\"numericValue\"] = this.numericValue;\n data[\"tableValue\"] = this.tableValue ? this.tableValue.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IUpdateIndicatorDataCommandParams {\n id: string;\n indicatorId: string;\n assetId: string;\n timePeriod: TimePeriod;\n description: string;\n valueType: IndicatorValueType;\n numericValue?: number | undefined;\n tableValue?: IndicatorTableValue | undefined;\n}\n\nexport class UpdateIndicatorDataCommandResponse implements IUpdateIndicatorDataCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IUpdateIndicatorDataCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): UpdateIndicatorDataCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateIndicatorDataCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IUpdateIndicatorDataCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetIndicatorDataByQueryResponse implements IGetIndicatorDataByQueryResponse {\n result!: PagedCollection_1OfGetIndicatorDataByQueryVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetIndicatorDataByQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new PagedCollection_1OfGetIndicatorDataByQueryVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? PagedCollection_1OfGetIndicatorDataByQueryVm.fromJS(_data[\"result\"]) : new PagedCollection_1OfGetIndicatorDataByQueryVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetIndicatorDataByQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetIndicatorDataByQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetIndicatorDataByQueryResponse {\n result: PagedCollection_1OfGetIndicatorDataByQueryVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetIndicatorDataByQueryVm implements IGetIndicatorDataByQueryVm {\n id!: string;\n assetId!: string;\n dataRecordId?: string | undefined;\n dataRecordType?: DataRecordType | undefined;\n dataRecordTypeName?: string | undefined;\n indicatorDataId?: string | undefined;\n indicatorDataIndicatorId?: string | undefined;\n indicatorName?: string | undefined;\n assetType!: AssetType;\n timePeriod!: TimePeriod;\n description?: string | undefined;\n valueType!: IndicatorValueType;\n numericValue?: number | undefined;\n tableValue?: IndicatorTableValue | undefined;\n errorMessage?: string | undefined;\n lastUpdated!: Date;\n editedByUserName!: string;\n inputType?: InputType | undefined;\n\n constructor(data?: IGetIndicatorDataByQueryVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.timePeriod = new TimePeriod();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.assetId = _data[\"assetId\"];\n this.dataRecordId = _data[\"dataRecordId\"];\n this.dataRecordType = _data[\"dataRecordType\"];\n this.dataRecordTypeName = _data[\"dataRecordTypeName\"];\n this.indicatorDataId = _data[\"indicatorDataId\"];\n this.indicatorDataIndicatorId = _data[\"indicatorDataIndicatorId\"];\n this.indicatorName = _data[\"indicatorName\"];\n this.assetType = _data[\"assetType\"];\n this.timePeriod = _data[\"timePeriod\"] ? TimePeriod.fromJS(_data[\"timePeriod\"]) : new TimePeriod();\n this.description = _data[\"description\"];\n this.valueType = _data[\"valueType\"];\n this.numericValue = _data[\"numericValue\"];\n this.tableValue = _data[\"tableValue\"] ? IndicatorTableValue.fromJS(_data[\"tableValue\"]) : undefined;\n this.errorMessage = _data[\"errorMessage\"];\n this.lastUpdated = _data[\"lastUpdated\"] ? new Date(_data[\"lastUpdated\"].toString()) : undefined;\n this.editedByUserName = _data[\"editedByUserName\"];\n this.inputType = _data[\"inputType\"];\n }\n }\n\n static fromJS(data: any): GetIndicatorDataByQueryVm {\n data = typeof data === 'object' ? data : {};\n let result = new GetIndicatorDataByQueryVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"assetId\"] = this.assetId;\n data[\"dataRecordId\"] = this.dataRecordId;\n data[\"dataRecordType\"] = this.dataRecordType;\n data[\"dataRecordTypeName\"] = this.dataRecordTypeName;\n data[\"indicatorDataId\"] = this.indicatorDataId;\n data[\"indicatorDataIndicatorId\"] = this.indicatorDataIndicatorId;\n data[\"indicatorName\"] = this.indicatorName;\n data[\"assetType\"] = this.assetType;\n data[\"timePeriod\"] = this.timePeriod ? this.timePeriod.toJSON() : undefined;\n data[\"description\"] = this.description;\n data[\"valueType\"] = this.valueType;\n data[\"numericValue\"] = this.numericValue;\n data[\"tableValue\"] = this.tableValue ? this.tableValue.toJSON() : undefined;\n data[\"errorMessage\"] = this.errorMessage;\n data[\"lastUpdated\"] = this.lastUpdated ? this.lastUpdated.toISOString() : undefined;\n data[\"editedByUserName\"] = this.editedByUserName;\n data[\"inputType\"] = this.inputType;\n return data;\n }\n}\n\nexport interface IGetIndicatorDataByQueryVm {\n id: string;\n assetId: string;\n dataRecordId?: string | undefined;\n dataRecordType?: DataRecordType | undefined;\n dataRecordTypeName?: string | undefined;\n indicatorDataId?: string | undefined;\n indicatorDataIndicatorId?: string | undefined;\n indicatorName?: string | undefined;\n assetType: AssetType;\n timePeriod: TimePeriod;\n description?: string | undefined;\n valueType: IndicatorValueType;\n numericValue?: number | undefined;\n tableValue?: IndicatorTableValue | undefined;\n errorMessage?: string | undefined;\n lastUpdated: Date;\n editedByUserName: string;\n inputType?: InputType | undefined;\n}\n\nexport class GetByIdIndicatorDataQueryResponse implements IGetByIdIndicatorDataQueryResponse {\n result!: GetByIdIndicatorDataQueryVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetByIdIndicatorDataQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new GetByIdIndicatorDataQueryVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? GetByIdIndicatorDataQueryVm.fromJS(_data[\"result\"]) : new GetByIdIndicatorDataQueryVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetByIdIndicatorDataQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetByIdIndicatorDataQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetByIdIndicatorDataQueryResponse {\n result: GetByIdIndicatorDataQueryVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetByIdIndicatorDataQueryVm implements IGetByIdIndicatorDataQueryVm {\n id!: string;\n indicatorId!: string;\n assetId!: string;\n dataRecordId?: string | undefined;\n dataRecordType?: DataRecordType | undefined;\n dataRecordTypeName?: string | undefined;\n indicatorDataId?: string | undefined;\n indicatorDataIndicatorId?: string | undefined;\n assetType!: AssetType;\n timePeriod!: TimePeriod;\n description?: string | undefined;\n valueType!: IndicatorValueType;\n numericValue?: number | undefined;\n tableValue?: IndicatorTableValue | undefined;\n errorMessage?: string | undefined;\n lastUpdated!: Date;\n editedByUserName!: string;\n\n constructor(data?: IGetByIdIndicatorDataQueryVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.timePeriod = new TimePeriod();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.indicatorId = _data[\"indicatorId\"];\n this.assetId = _data[\"assetId\"];\n this.dataRecordId = _data[\"dataRecordId\"];\n this.dataRecordType = _data[\"dataRecordType\"];\n this.dataRecordTypeName = _data[\"dataRecordTypeName\"];\n this.indicatorDataId = _data[\"indicatorDataId\"];\n this.indicatorDataIndicatorId = _data[\"indicatorDataIndicatorId\"];\n this.assetType = _data[\"assetType\"];\n this.timePeriod = _data[\"timePeriod\"] ? TimePeriod.fromJS(_data[\"timePeriod\"]) : new TimePeriod();\n this.description = _data[\"description\"];\n this.valueType = _data[\"valueType\"];\n this.numericValue = _data[\"numericValue\"];\n this.tableValue = _data[\"tableValue\"] ? IndicatorTableValue.fromJS(_data[\"tableValue\"]) : undefined;\n this.errorMessage = _data[\"errorMessage\"];\n this.lastUpdated = _data[\"lastUpdated\"] ? new Date(_data[\"lastUpdated\"].toString()) : undefined;\n this.editedByUserName = _data[\"editedByUserName\"];\n }\n }\n\n static fromJS(data: any): GetByIdIndicatorDataQueryVm {\n data = typeof data === 'object' ? data : {};\n let result = new GetByIdIndicatorDataQueryVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"indicatorId\"] = this.indicatorId;\n data[\"assetId\"] = this.assetId;\n data[\"dataRecordId\"] = this.dataRecordId;\n data[\"dataRecordType\"] = this.dataRecordType;\n data[\"dataRecordTypeName\"] = this.dataRecordTypeName;\n data[\"indicatorDataId\"] = this.indicatorDataId;\n data[\"indicatorDataIndicatorId\"] = this.indicatorDataIndicatorId;\n data[\"assetType\"] = this.assetType;\n data[\"timePeriod\"] = this.timePeriod ? this.timePeriod.toJSON() : undefined;\n data[\"description\"] = this.description;\n data[\"valueType\"] = this.valueType;\n data[\"numericValue\"] = this.numericValue;\n data[\"tableValue\"] = this.tableValue ? this.tableValue.toJSON() : undefined;\n data[\"errorMessage\"] = this.errorMessage;\n data[\"lastUpdated\"] = this.lastUpdated ? this.lastUpdated.toISOString() : undefined;\n data[\"editedByUserName\"] = this.editedByUserName;\n return data;\n }\n}\n\nexport interface IGetByIdIndicatorDataQueryVm {\n id: string;\n indicatorId: string;\n assetId: string;\n dataRecordId?: string | undefined;\n dataRecordType?: DataRecordType | undefined;\n dataRecordTypeName?: string | undefined;\n indicatorDataId?: string | undefined;\n indicatorDataIndicatorId?: string | undefined;\n assetType: AssetType;\n timePeriod: TimePeriod;\n description?: string | undefined;\n valueType: IndicatorValueType;\n numericValue?: number | undefined;\n tableValue?: IndicatorTableValue | undefined;\n errorMessage?: string | undefined;\n lastUpdated: Date;\n editedByUserName: string;\n}\n\nexport class GetAllIndicatorDataSourcesQueryResponse implements IGetAllIndicatorDataSourcesQueryResponse {\n result!: GetAllIndicatorDataSourcesQueryVm[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetAllIndicatorDataSourcesQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(GetAllIndicatorDataSourcesQueryVm.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetAllIndicatorDataSourcesQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetAllIndicatorDataSourcesQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetAllIndicatorDataSourcesQueryResponse {\n result: GetAllIndicatorDataSourcesQueryVm[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetAllIndicatorDataSourcesQueryVm implements IGetAllIndicatorDataSourcesQueryVm {\n id!: string;\n name!: string;\n valueType!: IndicatorValueType;\n indicatorDefinitionId?: string | undefined;\n\n constructor(data?: IGetAllIndicatorDataSourcesQueryVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.valueType = _data[\"valueType\"];\n this.indicatorDefinitionId = _data[\"indicatorDefinitionId\"];\n }\n }\n\n static fromJS(data: any): GetAllIndicatorDataSourcesQueryVm {\n data = typeof data === 'object' ? data : {};\n let result = new GetAllIndicatorDataSourcesQueryVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"valueType\"] = this.valueType;\n data[\"indicatorDefinitionId\"] = this.indicatorDefinitionId;\n return data;\n }\n}\n\nexport interface IGetAllIndicatorDataSourcesQueryVm {\n id: string;\n name: string;\n valueType: IndicatorValueType;\n indicatorDefinitionId?: string | undefined;\n}\n\nexport class GetIndicatorDefinitionAsDataSourcesCompatibleWithIndicatorDefinitionQueryResponse implements IGetIndicatorDefinitionAsDataSourcesCompatibleWithIndicatorDefinitionQueryResponse {\n result!: GetIndicatorDefinitionAsDataSourcesCompatibleWithIndicatorDefinitionQueryVm[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetIndicatorDefinitionAsDataSourcesCompatibleWithIndicatorDefinitionQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(GetIndicatorDefinitionAsDataSourcesCompatibleWithIndicatorDefinitionQueryVm.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetIndicatorDefinitionAsDataSourcesCompatibleWithIndicatorDefinitionQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetIndicatorDefinitionAsDataSourcesCompatibleWithIndicatorDefinitionQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetIndicatorDefinitionAsDataSourcesCompatibleWithIndicatorDefinitionQueryResponse {\n result: GetIndicatorDefinitionAsDataSourcesCompatibleWithIndicatorDefinitionQueryVm[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetIndicatorDefinitionAsDataSourcesCompatibleWithIndicatorDefinitionQueryVm implements IGetIndicatorDefinitionAsDataSourcesCompatibleWithIndicatorDefinitionQueryVm {\n id!: string;\n name!: string;\n\n constructor(data?: IGetIndicatorDefinitionAsDataSourcesCompatibleWithIndicatorDefinitionQueryVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): GetIndicatorDefinitionAsDataSourcesCompatibleWithIndicatorDefinitionQueryVm {\n data = typeof data === 'object' ? data : {};\n let result = new GetIndicatorDefinitionAsDataSourcesCompatibleWithIndicatorDefinitionQueryVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface IGetIndicatorDefinitionAsDataSourcesCompatibleWithIndicatorDefinitionQueryVm {\n id: string;\n name: string;\n}\n\nexport class GetRawDataSourcesCompatibleWithIndicatorDefinitionQueryResponse implements IGetRawDataSourcesCompatibleWithIndicatorDefinitionQueryResponse {\n result!: GetRawDataSourcesCompatibleWithIndicatorDefinitionQueryVm[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetRawDataSourcesCompatibleWithIndicatorDefinitionQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(GetRawDataSourcesCompatibleWithIndicatorDefinitionQueryVm.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetRawDataSourcesCompatibleWithIndicatorDefinitionQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetRawDataSourcesCompatibleWithIndicatorDefinitionQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetRawDataSourcesCompatibleWithIndicatorDefinitionQueryResponse {\n result: GetRawDataSourcesCompatibleWithIndicatorDefinitionQueryVm[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetRawDataSourcesCompatibleWithIndicatorDefinitionQueryVm implements IGetRawDataSourcesCompatibleWithIndicatorDefinitionQueryVm {\n id!: string;\n name!: string;\n\n constructor(data?: IGetRawDataSourcesCompatibleWithIndicatorDefinitionQueryVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): GetRawDataSourcesCompatibleWithIndicatorDefinitionQueryVm {\n data = typeof data === 'object' ? data : {};\n let result = new GetRawDataSourcesCompatibleWithIndicatorDefinitionQueryVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface IGetRawDataSourcesCompatibleWithIndicatorDefinitionQueryVm {\n id: string;\n name: string;\n}\n\nexport class CreateIndicatorDefinitionCommandParams implements ICreateIndicatorDefinitionCommandParams {\n name!: string;\n description!: string;\n category!: IndicatorCategory;\n valueType!: IndicatorValueType;\n recordDuration!: RecordDuration;\n numericValueDefinition?: IndicatorNumericValueDefinition | undefined;\n tableValueDefinition?: IndicatorTableValueDefinition | undefined;\n frameworkStandards!: string;\n sectors!: SectorType[];\n indicatorRawDataSourceIds!: string[];\n indicatorDefinitionAsDataSourceIds!: string[];\n\n constructor(data?: ICreateIndicatorDefinitionCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.sectors = [];\n this.indicatorRawDataSourceIds = [];\n this.indicatorDefinitionAsDataSourceIds = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.description = _data[\"description\"];\n this.category = _data[\"category\"];\n this.valueType = _data[\"valueType\"];\n this.recordDuration = _data[\"recordDuration\"];\n this.numericValueDefinition = _data[\"numericValueDefinition\"] ? IndicatorNumericValueDefinition.fromJS(_data[\"numericValueDefinition\"]) : undefined;\n this.tableValueDefinition = _data[\"tableValueDefinition\"] ? IndicatorTableValueDefinition.fromJS(_data[\"tableValueDefinition\"]) : undefined;\n this.frameworkStandards = _data[\"frameworkStandards\"];\n if (Array.isArray(_data[\"sectors\"])) {\n this.sectors = [] as any;\n for (let item of _data[\"sectors\"])\n this.sectors!.push(item);\n }\n if (Array.isArray(_data[\"indicatorRawDataSourceIds\"])) {\n this.indicatorRawDataSourceIds = [] as any;\n for (let item of _data[\"indicatorRawDataSourceIds\"])\n this.indicatorRawDataSourceIds!.push(item);\n }\n if (Array.isArray(_data[\"indicatorDefinitionAsDataSourceIds\"])) {\n this.indicatorDefinitionAsDataSourceIds = [] as any;\n for (let item of _data[\"indicatorDefinitionAsDataSourceIds\"])\n this.indicatorDefinitionAsDataSourceIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CreateIndicatorDefinitionCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateIndicatorDefinitionCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"description\"] = this.description;\n data[\"category\"] = this.category;\n data[\"valueType\"] = this.valueType;\n data[\"recordDuration\"] = this.recordDuration;\n data[\"numericValueDefinition\"] = this.numericValueDefinition ? this.numericValueDefinition.toJSON() : undefined;\n data[\"tableValueDefinition\"] = this.tableValueDefinition ? this.tableValueDefinition.toJSON() : undefined;\n data[\"frameworkStandards\"] = this.frameworkStandards;\n if (Array.isArray(this.sectors)) {\n data[\"sectors\"] = [];\n for (let item of this.sectors)\n data[\"sectors\"].push(item);\n }\n if (Array.isArray(this.indicatorRawDataSourceIds)) {\n data[\"indicatorRawDataSourceIds\"] = [];\n for (let item of this.indicatorRawDataSourceIds)\n data[\"indicatorRawDataSourceIds\"].push(item);\n }\n if (Array.isArray(this.indicatorDefinitionAsDataSourceIds)) {\n data[\"indicatorDefinitionAsDataSourceIds\"] = [];\n for (let item of this.indicatorDefinitionAsDataSourceIds)\n data[\"indicatorDefinitionAsDataSourceIds\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICreateIndicatorDefinitionCommandParams {\n name: string;\n description: string;\n category: IndicatorCategory;\n valueType: IndicatorValueType;\n recordDuration: RecordDuration;\n numericValueDefinition?: IndicatorNumericValueDefinition | undefined;\n tableValueDefinition?: IndicatorTableValueDefinition | undefined;\n frameworkStandards: string;\n sectors: SectorType[];\n indicatorRawDataSourceIds: string[];\n indicatorDefinitionAsDataSourceIds: string[];\n}\n\nexport class CreateIndicatorDefinitionCommandResponse implements ICreateIndicatorDefinitionCommandResponse {\n result?: CreateIndicatorDefinitionVm | undefined;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: ICreateIndicatorDefinitionCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? CreateIndicatorDefinitionVm.fromJS(_data[\"result\"]) : undefined;\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CreateIndicatorDefinitionCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CreateIndicatorDefinitionCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICreateIndicatorDefinitionCommandResponse {\n result?: CreateIndicatorDefinitionVm | undefined;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CreateIndicatorDefinitionVm implements ICreateIndicatorDefinitionVm {\n id!: string;\n\n constructor(data?: ICreateIndicatorDefinitionVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CreateIndicatorDefinitionVm {\n data = typeof data === 'object' ? data : {};\n let result = new CreateIndicatorDefinitionVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICreateIndicatorDefinitionVm {\n id: string;\n}\n\nexport class DeleteIndicatorDefinitionCommandParams implements IDeleteIndicatorDefinitionCommandParams {\n id!: string;\n\n constructor(data?: IDeleteIndicatorDefinitionCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): DeleteIndicatorDefinitionCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteIndicatorDefinitionCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IDeleteIndicatorDefinitionCommandParams {\n id: string;\n}\n\nexport class DeleteIndicatorDefinitionCommandResponse implements IDeleteIndicatorDefinitionCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IDeleteIndicatorDefinitionCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DeleteIndicatorDefinitionCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteIndicatorDefinitionCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDeleteIndicatorDefinitionCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class UpdateIndicatorDefinitionCommandParams implements IUpdateIndicatorDefinitionCommandParams {\n id!: string;\n name!: string;\n description!: string;\n category!: IndicatorCategory;\n valueType!: IndicatorValueType;\n recordDuration!: RecordDuration;\n numericValueDefinition?: IndicatorNumericValueDefinition | undefined;\n tableValueDefinition?: IndicatorTableValueDefinition | undefined;\n frameworkStandards!: string;\n sectors!: SectorType[];\n indicatorRawDataSourceIds!: string[];\n indicatorDefinitionAsDataSourceIds!: string[];\n organizationAccessIds?: string[] | undefined;\n hideIndicatorData?: boolean | undefined;\n\n constructor(data?: IUpdateIndicatorDefinitionCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.sectors = [];\n this.indicatorRawDataSourceIds = [];\n this.indicatorDefinitionAsDataSourceIds = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.description = _data[\"description\"];\n this.category = _data[\"category\"];\n this.valueType = _data[\"valueType\"];\n this.recordDuration = _data[\"recordDuration\"];\n this.numericValueDefinition = _data[\"numericValueDefinition\"] ? IndicatorNumericValueDefinition.fromJS(_data[\"numericValueDefinition\"]) : undefined;\n this.tableValueDefinition = _data[\"tableValueDefinition\"] ? IndicatorTableValueDefinition.fromJS(_data[\"tableValueDefinition\"]) : undefined;\n this.frameworkStandards = _data[\"frameworkStandards\"];\n if (Array.isArray(_data[\"sectors\"])) {\n this.sectors = [] as any;\n for (let item of _data[\"sectors\"])\n this.sectors!.push(item);\n }\n if (Array.isArray(_data[\"indicatorRawDataSourceIds\"])) {\n this.indicatorRawDataSourceIds = [] as any;\n for (let item of _data[\"indicatorRawDataSourceIds\"])\n this.indicatorRawDataSourceIds!.push(item);\n }\n if (Array.isArray(_data[\"indicatorDefinitionAsDataSourceIds\"])) {\n this.indicatorDefinitionAsDataSourceIds = [] as any;\n for (let item of _data[\"indicatorDefinitionAsDataSourceIds\"])\n this.indicatorDefinitionAsDataSourceIds!.push(item);\n }\n if (Array.isArray(_data[\"organizationAccessIds\"])) {\n this.organizationAccessIds = [] as any;\n for (let item of _data[\"organizationAccessIds\"])\n this.organizationAccessIds!.push(item);\n }\n this.hideIndicatorData = _data[\"hideIndicatorData\"];\n }\n }\n\n static fromJS(data: any): UpdateIndicatorDefinitionCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateIndicatorDefinitionCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"description\"] = this.description;\n data[\"category\"] = this.category;\n data[\"valueType\"] = this.valueType;\n data[\"recordDuration\"] = this.recordDuration;\n data[\"numericValueDefinition\"] = this.numericValueDefinition ? this.numericValueDefinition.toJSON() : undefined;\n data[\"tableValueDefinition\"] = this.tableValueDefinition ? this.tableValueDefinition.toJSON() : undefined;\n data[\"frameworkStandards\"] = this.frameworkStandards;\n if (Array.isArray(this.sectors)) {\n data[\"sectors\"] = [];\n for (let item of this.sectors)\n data[\"sectors\"].push(item);\n }\n if (Array.isArray(this.indicatorRawDataSourceIds)) {\n data[\"indicatorRawDataSourceIds\"] = [];\n for (let item of this.indicatorRawDataSourceIds)\n data[\"indicatorRawDataSourceIds\"].push(item);\n }\n if (Array.isArray(this.indicatorDefinitionAsDataSourceIds)) {\n data[\"indicatorDefinitionAsDataSourceIds\"] = [];\n for (let item of this.indicatorDefinitionAsDataSourceIds)\n data[\"indicatorDefinitionAsDataSourceIds\"].push(item);\n }\n if (Array.isArray(this.organizationAccessIds)) {\n data[\"organizationAccessIds\"] = [];\n for (let item of this.organizationAccessIds)\n data[\"organizationAccessIds\"].push(item);\n }\n data[\"hideIndicatorData\"] = this.hideIndicatorData;\n return data;\n }\n}\n\nexport interface IUpdateIndicatorDefinitionCommandParams {\n id: string;\n name: string;\n description: string;\n category: IndicatorCategory;\n valueType: IndicatorValueType;\n recordDuration: RecordDuration;\n numericValueDefinition?: IndicatorNumericValueDefinition | undefined;\n tableValueDefinition?: IndicatorTableValueDefinition | undefined;\n frameworkStandards: string;\n sectors: SectorType[];\n indicatorRawDataSourceIds: string[];\n indicatorDefinitionAsDataSourceIds: string[];\n organizationAccessIds?: string[] | undefined;\n hideIndicatorData?: boolean | undefined;\n}\n\nexport class UpdateIndicatorDefinitionCommandResponse implements IUpdateIndicatorDefinitionCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IUpdateIndicatorDefinitionCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): UpdateIndicatorDefinitionCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateIndicatorDefinitionCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IUpdateIndicatorDefinitionCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetAllIndicatorDefinitionsQueryResponse implements IGetAllIndicatorDefinitionsQueryResponse {\n result!: PagedCollection_1OfGetAllIndicatorDefinitionsQueryVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetAllIndicatorDefinitionsQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new PagedCollection_1OfGetAllIndicatorDefinitionsQueryVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? PagedCollection_1OfGetAllIndicatorDefinitionsQueryVm.fromJS(_data[\"result\"]) : new PagedCollection_1OfGetAllIndicatorDefinitionsQueryVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetAllIndicatorDefinitionsQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetAllIndicatorDefinitionsQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetAllIndicatorDefinitionsQueryResponse {\n result: PagedCollection_1OfGetAllIndicatorDefinitionsQueryVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetAllIndicatorDefinitionsQueryVm implements IGetAllIndicatorDefinitionsQueryVm {\n id!: string;\n name!: string;\n description!: string;\n category!: IndicatorCategory;\n valueType!: IndicatorValueType;\n recordDuration!: RecordDuration;\n numericValueDefinition?: IndicatorNumericValueDefinition | undefined;\n tableValueDefinition?: IndicatorTableValueDefinition | undefined;\n frameworkStandards!: string;\n sectors!: SectorType[];\n indicatorRawDataSourceIds!: string[];\n indicatorDefinitionAsDataSourceIds!: string[];\n organizationAccessIds?: string[] | undefined;\n isIndicatorFromSystem!: boolean;\n isAssignedToIndicator!: boolean;\n createdBy!: string;\n\n constructor(data?: IGetAllIndicatorDefinitionsQueryVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.sectors = [];\n this.indicatorRawDataSourceIds = [];\n this.indicatorDefinitionAsDataSourceIds = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.description = _data[\"description\"];\n this.category = _data[\"category\"];\n this.valueType = _data[\"valueType\"];\n this.recordDuration = _data[\"recordDuration\"];\n this.numericValueDefinition = _data[\"numericValueDefinition\"] ? IndicatorNumericValueDefinition.fromJS(_data[\"numericValueDefinition\"]) : undefined;\n this.tableValueDefinition = _data[\"tableValueDefinition\"] ? IndicatorTableValueDefinition.fromJS(_data[\"tableValueDefinition\"]) : undefined;\n this.frameworkStandards = _data[\"frameworkStandards\"];\n if (Array.isArray(_data[\"sectors\"])) {\n this.sectors = [] as any;\n for (let item of _data[\"sectors\"])\n this.sectors!.push(item);\n }\n if (Array.isArray(_data[\"indicatorRawDataSourceIds\"])) {\n this.indicatorRawDataSourceIds = [] as any;\n for (let item of _data[\"indicatorRawDataSourceIds\"])\n this.indicatorRawDataSourceIds!.push(item);\n }\n if (Array.isArray(_data[\"indicatorDefinitionAsDataSourceIds\"])) {\n this.indicatorDefinitionAsDataSourceIds = [] as any;\n for (let item of _data[\"indicatorDefinitionAsDataSourceIds\"])\n this.indicatorDefinitionAsDataSourceIds!.push(item);\n }\n if (Array.isArray(_data[\"organizationAccessIds\"])) {\n this.organizationAccessIds = [] as any;\n for (let item of _data[\"organizationAccessIds\"])\n this.organizationAccessIds!.push(item);\n }\n this.isIndicatorFromSystem = _data[\"isIndicatorFromSystem\"];\n this.isAssignedToIndicator = _data[\"isAssignedToIndicator\"];\n this.createdBy = _data[\"createdBy\"];\n }\n }\n\n static fromJS(data: any): GetAllIndicatorDefinitionsQueryVm {\n data = typeof data === 'object' ? data : {};\n let result = new GetAllIndicatorDefinitionsQueryVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"description\"] = this.description;\n data[\"category\"] = this.category;\n data[\"valueType\"] = this.valueType;\n data[\"recordDuration\"] = this.recordDuration;\n data[\"numericValueDefinition\"] = this.numericValueDefinition ? this.numericValueDefinition.toJSON() : undefined;\n data[\"tableValueDefinition\"] = this.tableValueDefinition ? this.tableValueDefinition.toJSON() : undefined;\n data[\"frameworkStandards\"] = this.frameworkStandards;\n if (Array.isArray(this.sectors)) {\n data[\"sectors\"] = [];\n for (let item of this.sectors)\n data[\"sectors\"].push(item);\n }\n if (Array.isArray(this.indicatorRawDataSourceIds)) {\n data[\"indicatorRawDataSourceIds\"] = [];\n for (let item of this.indicatorRawDataSourceIds)\n data[\"indicatorRawDataSourceIds\"].push(item);\n }\n if (Array.isArray(this.indicatorDefinitionAsDataSourceIds)) {\n data[\"indicatorDefinitionAsDataSourceIds\"] = [];\n for (let item of this.indicatorDefinitionAsDataSourceIds)\n data[\"indicatorDefinitionAsDataSourceIds\"].push(item);\n }\n if (Array.isArray(this.organizationAccessIds)) {\n data[\"organizationAccessIds\"] = [];\n for (let item of this.organizationAccessIds)\n data[\"organizationAccessIds\"].push(item);\n }\n data[\"isIndicatorFromSystem\"] = this.isIndicatorFromSystem;\n data[\"isAssignedToIndicator\"] = this.isAssignedToIndicator;\n data[\"createdBy\"] = this.createdBy;\n return data;\n }\n}\n\nexport interface IGetAllIndicatorDefinitionsQueryVm {\n id: string;\n name: string;\n description: string;\n category: IndicatorCategory;\n valueType: IndicatorValueType;\n recordDuration: RecordDuration;\n numericValueDefinition?: IndicatorNumericValueDefinition | undefined;\n tableValueDefinition?: IndicatorTableValueDefinition | undefined;\n frameworkStandards: string;\n sectors: SectorType[];\n indicatorRawDataSourceIds: string[];\n indicatorDefinitionAsDataSourceIds: string[];\n organizationAccessIds?: string[] | undefined;\n isIndicatorFromSystem: boolean;\n isAssignedToIndicator: boolean;\n createdBy: string;\n}\n\nexport class GetAllNamesIndicatorDefinitionsQueryResponse implements IGetAllNamesIndicatorDefinitionsQueryResponse {\n result!: PagedCollection_1OfGetAllNamesIndicatorDefinitionsVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetAllNamesIndicatorDefinitionsQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new PagedCollection_1OfGetAllNamesIndicatorDefinitionsVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? PagedCollection_1OfGetAllNamesIndicatorDefinitionsVm.fromJS(_data[\"result\"]) : new PagedCollection_1OfGetAllNamesIndicatorDefinitionsVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetAllNamesIndicatorDefinitionsQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetAllNamesIndicatorDefinitionsQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetAllNamesIndicatorDefinitionsQueryResponse {\n result: PagedCollection_1OfGetAllNamesIndicatorDefinitionsVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetAllNamesIndicatorDefinitionsVm implements IGetAllNamesIndicatorDefinitionsVm {\n id!: string;\n name!: string;\n\n constructor(data?: IGetAllNamesIndicatorDefinitionsVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): GetAllNamesIndicatorDefinitionsVm {\n data = typeof data === 'object' ? data : {};\n let result = new GetAllNamesIndicatorDefinitionsVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface IGetAllNamesIndicatorDefinitionsVm {\n id: string;\n name: string;\n}\n\nexport class GetByIdIndicatorDefinitionQueryResponse implements IGetByIdIndicatorDefinitionQueryResponse {\n result!: GetByIdIndicatorDefinitionQueryVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetByIdIndicatorDefinitionQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new GetByIdIndicatorDefinitionQueryVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? GetByIdIndicatorDefinitionQueryVm.fromJS(_data[\"result\"]) : new GetByIdIndicatorDefinitionQueryVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetByIdIndicatorDefinitionQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetByIdIndicatorDefinitionQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetByIdIndicatorDefinitionQueryResponse {\n result: GetByIdIndicatorDefinitionQueryVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetByIdIndicatorDefinitionQueryVm implements IGetByIdIndicatorDefinitionQueryVm {\n id!: string;\n name!: string;\n description!: string;\n category!: IndicatorCategory;\n valueType!: IndicatorValueType;\n recordDuration!: RecordDuration;\n numericValueDefinition?: IndicatorNumericValueDefinition | undefined;\n tableValueDefinition?: IndicatorTableValueDefinition | undefined;\n frameworkStandards!: string;\n sectors!: SectorType[];\n indicatorRawDataSourceIds!: string[];\n indicatorDefinitionAsDataSourceIds!: string[];\n organizationAccessIds?: string[] | undefined;\n isIndicatorFromSystem!: boolean;\n isUsed!: boolean;\n hideIndicatorData?: boolean | undefined;\n\n constructor(data?: IGetByIdIndicatorDefinitionQueryVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.sectors = [];\n this.indicatorRawDataSourceIds = [];\n this.indicatorDefinitionAsDataSourceIds = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.description = _data[\"description\"];\n this.category = _data[\"category\"];\n this.valueType = _data[\"valueType\"];\n this.recordDuration = _data[\"recordDuration\"];\n this.numericValueDefinition = _data[\"numericValueDefinition\"] ? IndicatorNumericValueDefinition.fromJS(_data[\"numericValueDefinition\"]) : undefined;\n this.tableValueDefinition = _data[\"tableValueDefinition\"] ? IndicatorTableValueDefinition.fromJS(_data[\"tableValueDefinition\"]) : undefined;\n this.frameworkStandards = _data[\"frameworkStandards\"];\n if (Array.isArray(_data[\"sectors\"])) {\n this.sectors = [] as any;\n for (let item of _data[\"sectors\"])\n this.sectors!.push(item);\n }\n if (Array.isArray(_data[\"indicatorRawDataSourceIds\"])) {\n this.indicatorRawDataSourceIds = [] as any;\n for (let item of _data[\"indicatorRawDataSourceIds\"])\n this.indicatorRawDataSourceIds!.push(item);\n }\n if (Array.isArray(_data[\"indicatorDefinitionAsDataSourceIds\"])) {\n this.indicatorDefinitionAsDataSourceIds = [] as any;\n for (let item of _data[\"indicatorDefinitionAsDataSourceIds\"])\n this.indicatorDefinitionAsDataSourceIds!.push(item);\n }\n if (Array.isArray(_data[\"organizationAccessIds\"])) {\n this.organizationAccessIds = [] as any;\n for (let item of _data[\"organizationAccessIds\"])\n this.organizationAccessIds!.push(item);\n }\n this.isIndicatorFromSystem = _data[\"isIndicatorFromSystem\"];\n this.isUsed = _data[\"isUsed\"];\n this.hideIndicatorData = _data[\"hideIndicatorData\"];\n }\n }\n\n static fromJS(data: any): GetByIdIndicatorDefinitionQueryVm {\n data = typeof data === 'object' ? data : {};\n let result = new GetByIdIndicatorDefinitionQueryVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"description\"] = this.description;\n data[\"category\"] = this.category;\n data[\"valueType\"] = this.valueType;\n data[\"recordDuration\"] = this.recordDuration;\n data[\"numericValueDefinition\"] = this.numericValueDefinition ? this.numericValueDefinition.toJSON() : undefined;\n data[\"tableValueDefinition\"] = this.tableValueDefinition ? this.tableValueDefinition.toJSON() : undefined;\n data[\"frameworkStandards\"] = this.frameworkStandards;\n if (Array.isArray(this.sectors)) {\n data[\"sectors\"] = [];\n for (let item of this.sectors)\n data[\"sectors\"].push(item);\n }\n if (Array.isArray(this.indicatorRawDataSourceIds)) {\n data[\"indicatorRawDataSourceIds\"] = [];\n for (let item of this.indicatorRawDataSourceIds)\n data[\"indicatorRawDataSourceIds\"].push(item);\n }\n if (Array.isArray(this.indicatorDefinitionAsDataSourceIds)) {\n data[\"indicatorDefinitionAsDataSourceIds\"] = [];\n for (let item of this.indicatorDefinitionAsDataSourceIds)\n data[\"indicatorDefinitionAsDataSourceIds\"].push(item);\n }\n if (Array.isArray(this.organizationAccessIds)) {\n data[\"organizationAccessIds\"] = [];\n for (let item of this.organizationAccessIds)\n data[\"organizationAccessIds\"].push(item);\n }\n data[\"isIndicatorFromSystem\"] = this.isIndicatorFromSystem;\n data[\"isUsed\"] = this.isUsed;\n data[\"hideIndicatorData\"] = this.hideIndicatorData;\n return data;\n }\n}\n\nexport interface IGetByIdIndicatorDefinitionQueryVm {\n id: string;\n name: string;\n description: string;\n category: IndicatorCategory;\n valueType: IndicatorValueType;\n recordDuration: RecordDuration;\n numericValueDefinition?: IndicatorNumericValueDefinition | undefined;\n tableValueDefinition?: IndicatorTableValueDefinition | undefined;\n frameworkStandards: string;\n sectors: SectorType[];\n indicatorRawDataSourceIds: string[];\n indicatorDefinitionAsDataSourceIds: string[];\n organizationAccessIds?: string[] | undefined;\n isIndicatorFromSystem: boolean;\n isUsed: boolean;\n hideIndicatorData?: boolean | undefined;\n}\n\nexport class GetDynamicRowsQueryResponse implements IGetDynamicRowsQueryResponse {\n result!: RowDefinition[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetDynamicRowsQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(RowDefinition.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetDynamicRowsQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetDynamicRowsQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetDynamicRowsQueryResponse {\n result: RowDefinition[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CalculateIndicatorYearlyCalculatedDataCommandParams implements ICalculateIndicatorYearlyCalculatedDataCommandParams {\n indicatorId!: string;\n year!: number;\n\n constructor(data?: ICalculateIndicatorYearlyCalculatedDataCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.indicatorId = _data[\"indicatorId\"];\n this.year = _data[\"year\"];\n }\n }\n\n static fromJS(data: any): CalculateIndicatorYearlyCalculatedDataCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CalculateIndicatorYearlyCalculatedDataCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"indicatorId\"] = this.indicatorId;\n data[\"year\"] = this.year;\n return data;\n }\n}\n\nexport interface ICalculateIndicatorYearlyCalculatedDataCommandParams {\n indicatorId: string;\n year: number;\n}\n\nexport class CalculateIndicatorYearlyCalculatedDataCommandResponse implements ICalculateIndicatorYearlyCalculatedDataCommandResponse {\n result?: CalculateIndicatorYearlyCalculatedDataVm | undefined;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: ICalculateIndicatorYearlyCalculatedDataCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? CalculateIndicatorYearlyCalculatedDataVm.fromJS(_data[\"result\"]) : undefined;\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CalculateIndicatorYearlyCalculatedDataCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CalculateIndicatorYearlyCalculatedDataCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICalculateIndicatorYearlyCalculatedDataCommandResponse {\n result?: CalculateIndicatorYearlyCalculatedDataVm | undefined;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CalculateIndicatorYearlyCalculatedDataVm implements ICalculateIndicatorYearlyCalculatedDataVm {\n\n constructor(data?: ICalculateIndicatorYearlyCalculatedDataVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n }\n\n static fromJS(data: any): CalculateIndicatorYearlyCalculatedDataVm {\n data = typeof data === 'object' ? data : {};\n let result = new CalculateIndicatorYearlyCalculatedDataVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n return data;\n }\n}\n\nexport interface ICalculateIndicatorYearlyCalculatedDataVm {\n}\n\nexport class GetCalcDataByIndicatorQueryResponse implements IGetCalcDataByIndicatorQueryResponse {\n result?: GetCalcDataByIndicatorVm | undefined;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetCalcDataByIndicatorQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? GetCalcDataByIndicatorVm.fromJS(_data[\"result\"]) : undefined;\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetCalcDataByIndicatorQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetCalcDataByIndicatorQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetCalcDataByIndicatorQueryResponse {\n result?: GetCalcDataByIndicatorVm | undefined;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetCalcDataByIndicatorVm implements IGetCalcDataByIndicatorVm {\n minFromYear!: number;\n maxToYear!: number;\n numericCalculatedData?: NumericCalculatedDataVm | undefined;\n tableCalculatedData?: TableCalculatedDataVm | undefined;\n\n constructor(data?: IGetCalcDataByIndicatorVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.minFromYear = _data[\"minFromYear\"];\n this.maxToYear = _data[\"maxToYear\"];\n this.numericCalculatedData = _data[\"numericCalculatedData\"] ? NumericCalculatedDataVm.fromJS(_data[\"numericCalculatedData\"]) : undefined;\n this.tableCalculatedData = _data[\"tableCalculatedData\"] ? TableCalculatedDataVm.fromJS(_data[\"tableCalculatedData\"]) : undefined;\n }\n }\n\n static fromJS(data: any): GetCalcDataByIndicatorVm {\n data = typeof data === 'object' ? data : {};\n let result = new GetCalcDataByIndicatorVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"minFromYear\"] = this.minFromYear;\n data[\"maxToYear\"] = this.maxToYear;\n data[\"numericCalculatedData\"] = this.numericCalculatedData ? this.numericCalculatedData.toJSON() : undefined;\n data[\"tableCalculatedData\"] = this.tableCalculatedData ? this.tableCalculatedData.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IGetCalcDataByIndicatorVm {\n minFromYear: number;\n maxToYear: number;\n numericCalculatedData?: NumericCalculatedDataVm | undefined;\n tableCalculatedData?: TableCalculatedDataVm | undefined;\n}\n\nexport class IndicatorTableCellValueVm implements IIndicatorTableCellValueVm {\n columnId!: string;\n value?: number | undefined;\n unit?: string | undefined;\n\n constructor(data?: IIndicatorTableCellValueVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.columnId = _data[\"columnId\"];\n this.value = _data[\"value\"];\n this.unit = _data[\"unit\"];\n }\n }\n\n static fromJS(data: any): IndicatorTableCellValueVm {\n data = typeof data === 'object' ? data : {};\n let result = new IndicatorTableCellValueVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"columnId\"] = this.columnId;\n data[\"value\"] = this.value;\n data[\"unit\"] = this.unit;\n return data;\n }\n}\n\nexport interface IIndicatorTableCellValueVm {\n columnId: string;\n value?: number | undefined;\n unit?: string | undefined;\n}\n\nexport class IndicatorTableValueColVm implements IIndicatorTableValueColVm {\n colId!: string;\n header!: string;\n groupHeader?: string | undefined;\n description!: string;\n unit!: string;\n type!: CellValueType;\n\n constructor(data?: IIndicatorTableValueColVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.colId = _data[\"colId\"];\n this.header = _data[\"header\"];\n this.groupHeader = _data[\"groupHeader\"];\n this.description = _data[\"description\"];\n this.unit = _data[\"unit\"];\n this.type = _data[\"type\"];\n }\n }\n\n static fromJS(data: any): IndicatorTableValueColVm {\n data = typeof data === 'object' ? data : {};\n let result = new IndicatorTableValueColVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"colId\"] = this.colId;\n data[\"header\"] = this.header;\n data[\"groupHeader\"] = this.groupHeader;\n data[\"description\"] = this.description;\n data[\"unit\"] = this.unit;\n data[\"type\"] = this.type;\n return data;\n }\n}\n\nexport interface IIndicatorTableValueColVm {\n colId: string;\n header: string;\n groupHeader?: string | undefined;\n description: string;\n unit: string;\n type: CellValueType;\n}\n\nexport class IndicatorTableValueRowVm implements IIndicatorTableValueRowVm {\n rowId!: string;\n header!: string;\n description!: string;\n cells!: IndicatorTableCellValueVm[];\n\n constructor(data?: IIndicatorTableValueRowVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.cells = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.rowId = _data[\"rowId\"];\n this.header = _data[\"header\"];\n this.description = _data[\"description\"];\n if (Array.isArray(_data[\"cells\"])) {\n this.cells = [] as any;\n for (let item of _data[\"cells\"])\n this.cells!.push(IndicatorTableCellValueVm.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): IndicatorTableValueRowVm {\n data = typeof data === 'object' ? data : {};\n let result = new IndicatorTableValueRowVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"rowId\"] = this.rowId;\n data[\"header\"] = this.header;\n data[\"description\"] = this.description;\n if (Array.isArray(this.cells)) {\n data[\"cells\"] = [];\n for (let item of this.cells)\n data[\"cells\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IIndicatorTableValueRowVm {\n rowId: string;\n header: string;\n description: string;\n cells: IndicatorTableCellValueVm[];\n}\n\nexport class IndicatorTableValueVm implements IIndicatorTableValueVm {\n cols!: IndicatorTableValueColVm[];\n rows!: IndicatorTableValueRowVm[];\n\n constructor(data?: IIndicatorTableValueVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.cols = [];\n this.rows = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"cols\"])) {\n this.cols = [] as any;\n for (let item of _data[\"cols\"])\n this.cols!.push(IndicatorTableValueColVm.fromJS(item));\n }\n if (Array.isArray(_data[\"rows\"])) {\n this.rows = [] as any;\n for (let item of _data[\"rows\"])\n this.rows!.push(IndicatorTableValueRowVm.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): IndicatorTableValueVm {\n data = typeof data === 'object' ? data : {};\n let result = new IndicatorTableValueVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.cols)) {\n data[\"cols\"] = [];\n for (let item of this.cols)\n data[\"cols\"].push(item.toJSON());\n }\n if (Array.isArray(this.rows)) {\n data[\"rows\"] = [];\n for (let item of this.rows)\n data[\"rows\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IIndicatorTableValueVm {\n cols: IndicatorTableValueColVm[];\n rows: IndicatorTableValueRowVm[];\n}\n\nexport class NumericCalculatedDataItemVm implements INumericCalculatedDataItemVm {\n periodLabel!: string;\n period!: number;\n year!: number;\n number!: number;\n value?: number | undefined;\n targetValue?: number | undefined;\n performanceToTarget?: number | undefined;\n errorMessage?: string | undefined;\n\n constructor(data?: INumericCalculatedDataItemVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.periodLabel = _data[\"periodLabel\"];\n this.period = _data[\"period\"];\n this.year = _data[\"year\"];\n this.number = _data[\"number\"];\n this.value = _data[\"value\"];\n this.targetValue = _data[\"targetValue\"];\n this.performanceToTarget = _data[\"performanceToTarget\"];\n this.errorMessage = _data[\"errorMessage\"];\n }\n }\n\n static fromJS(data: any): NumericCalculatedDataItemVm {\n data = typeof data === 'object' ? data : {};\n let result = new NumericCalculatedDataItemVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"periodLabel\"] = this.periodLabel;\n data[\"period\"] = this.period;\n data[\"year\"] = this.year;\n data[\"number\"] = this.number;\n data[\"value\"] = this.value;\n data[\"targetValue\"] = this.targetValue;\n data[\"performanceToTarget\"] = this.performanceToTarget;\n data[\"errorMessage\"] = this.errorMessage;\n return data;\n }\n}\n\nexport interface INumericCalculatedDataItemVm {\n periodLabel: string;\n period: number;\n year: number;\n number: number;\n value?: number | undefined;\n targetValue?: number | undefined;\n performanceToTarget?: number | undefined;\n errorMessage?: string | undefined;\n}\n\nexport class NumericCalculatedDataVm implements INumericCalculatedDataVm {\n value?: number | undefined;\n targetValue?: number | undefined;\n performanceToTarget?: number | undefined;\n targetTrend?: Trend | undefined;\n items!: NumericCalculatedDataItemVm[];\n\n constructor(data?: INumericCalculatedDataVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.items = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.value = _data[\"value\"];\n this.targetValue = _data[\"targetValue\"];\n this.performanceToTarget = _data[\"performanceToTarget\"];\n this.targetTrend = _data[\"targetTrend\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(NumericCalculatedDataItemVm.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): NumericCalculatedDataVm {\n data = typeof data === 'object' ? data : {};\n let result = new NumericCalculatedDataVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"value\"] = this.value;\n data[\"targetValue\"] = this.targetValue;\n data[\"performanceToTarget\"] = this.performanceToTarget;\n data[\"targetTrend\"] = this.targetTrend;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface INumericCalculatedDataVm {\n value?: number | undefined;\n targetValue?: number | undefined;\n performanceToTarget?: number | undefined;\n targetTrend?: Trend | undefined;\n items: NumericCalculatedDataItemVm[];\n}\n\nexport class TableCalculatedDataItemVm implements ITableCalculatedDataItemVm {\n periodLabel!: string;\n year!: number;\n value?: IndicatorTableValueVm | undefined;\n errorMessage?: string | undefined;\n\n constructor(data?: ITableCalculatedDataItemVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.periodLabel = _data[\"periodLabel\"];\n this.year = _data[\"year\"];\n this.value = _data[\"value\"] ? IndicatorTableValueVm.fromJS(_data[\"value\"]) : undefined;\n this.errorMessage = _data[\"errorMessage\"];\n }\n }\n\n static fromJS(data: any): TableCalculatedDataItemVm {\n data = typeof data === 'object' ? data : {};\n let result = new TableCalculatedDataItemVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"periodLabel\"] = this.periodLabel;\n data[\"year\"] = this.year;\n data[\"value\"] = this.value ? this.value.toJSON() : undefined;\n data[\"errorMessage\"] = this.errorMessage;\n return data;\n }\n}\n\nexport interface ITableCalculatedDataItemVm {\n periodLabel: string;\n year: number;\n value?: IndicatorTableValueVm | undefined;\n errorMessage?: string | undefined;\n}\n\nexport class TableCalculatedDataVm implements ITableCalculatedDataVm {\n items!: TableCalculatedDataItemVm[];\n\n constructor(data?: ITableCalculatedDataVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.items = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(TableCalculatedDataItemVm.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): TableCalculatedDataVm {\n data = typeof data === 'object' ? data : {};\n let result = new TableCalculatedDataVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ITableCalculatedDataVm {\n items: TableCalculatedDataItemVm[];\n}\n\nexport class GetCalcDataSubstrateDataQueryResponse implements IGetCalcDataSubstrateDataQueryResponse {\n result!: GetSubstrateDataVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetCalcDataSubstrateDataQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new GetSubstrateDataVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? GetSubstrateDataVm.fromJS(_data[\"result\"]) : new GetSubstrateDataVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetCalcDataSubstrateDataQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetCalcDataSubstrateDataQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetCalcDataSubstrateDataQueryResponse {\n result: GetSubstrateDataVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CalculateIndicatorCommandParams implements ICalculateIndicatorCommandParams {\n indicatorId!: string;\n\n constructor(data?: ICalculateIndicatorCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.indicatorId = _data[\"indicatorId\"];\n }\n }\n\n static fromJS(data: any): CalculateIndicatorCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CalculateIndicatorCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"indicatorId\"] = this.indicatorId;\n return data;\n }\n}\n\nexport interface ICalculateIndicatorCommandParams {\n indicatorId: string;\n}\n\nexport class CalculateIndicatorCommandResponse implements ICalculateIndicatorCommandResponse {\n lastCalculated?: Date | undefined;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: ICalculateIndicatorCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.lastCalculated = _data[\"lastCalculated\"] ? new Date(_data[\"lastCalculated\"].toString()) : undefined;\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CalculateIndicatorCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CalculateIndicatorCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"lastCalculated\"] = this.lastCalculated ? this.lastCalculated.toISOString() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICalculateIndicatorCommandResponse {\n lastCalculated?: Date | undefined;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CreateIndicatorCommandParams implements ICreateIndicatorCommandParams {\n indicatorDefinitionId!: string;\n\n constructor(data?: ICreateIndicatorCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.indicatorDefinitionId = _data[\"indicatorDefinitionId\"];\n }\n }\n\n static fromJS(data: any): CreateIndicatorCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateIndicatorCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"indicatorDefinitionId\"] = this.indicatorDefinitionId;\n return data;\n }\n}\n\nexport interface ICreateIndicatorCommandParams {\n indicatorDefinitionId: string;\n}\n\nexport class CreateIndicatorCommandResponse implements ICreateIndicatorCommandResponse {\n result!: CreateIndicatorVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: ICreateIndicatorCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new CreateIndicatorVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? CreateIndicatorVm.fromJS(_data[\"result\"]) : new CreateIndicatorVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CreateIndicatorCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CreateIndicatorCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICreateIndicatorCommandResponse {\n result: CreateIndicatorVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CreateIndicatorVm implements ICreateIndicatorVm {\n id!: string;\n\n constructor(data?: ICreateIndicatorVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CreateIndicatorVm {\n data = typeof data === 'object' ? data : {};\n let result = new CreateIndicatorVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICreateIndicatorVm {\n id: string;\n}\n\nexport class DeleteIndicatorCommandResponse implements IDeleteIndicatorCommandResponse {\n reportsUsed?: Report[] | undefined;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IDeleteIndicatorCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"reportsUsed\"])) {\n this.reportsUsed = [] as any;\n for (let item of _data[\"reportsUsed\"])\n this.reportsUsed!.push(Report.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DeleteIndicatorCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteIndicatorCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.reportsUsed)) {\n data[\"reportsUsed\"] = [];\n for (let item of this.reportsUsed)\n data[\"reportsUsed\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDeleteIndicatorCommandResponse {\n reportsUsed?: Report[] | undefined;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class UpdateIndicatorCommandParams implements IUpdateIndicatorCommandParams {\n id!: string;\n\n constructor(data?: IUpdateIndicatorCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): UpdateIndicatorCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateIndicatorCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IUpdateIndicatorCommandParams {\n id: string;\n}\n\nexport class UpdateIndicatorCommandResponse implements IUpdateIndicatorCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IUpdateIndicatorCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): UpdateIndicatorCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateIndicatorCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IUpdateIndicatorCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class UpdateIndicatorTargetCommandParams implements IUpdateIndicatorTargetCommandParams {\n id!: string;\n suborganizationId?: string | undefined;\n yearTargets!: YearTarget[];\n\n constructor(data?: IUpdateIndicatorTargetCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.yearTargets = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.suborganizationId = _data[\"suborganizationId\"];\n if (Array.isArray(_data[\"yearTargets\"])) {\n this.yearTargets = [] as any;\n for (let item of _data[\"yearTargets\"])\n this.yearTargets!.push(YearTarget.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): UpdateIndicatorTargetCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateIndicatorTargetCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"suborganizationId\"] = this.suborganizationId;\n if (Array.isArray(this.yearTargets)) {\n data[\"yearTargets\"] = [];\n for (let item of this.yearTargets)\n data[\"yearTargets\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IUpdateIndicatorTargetCommandParams {\n id: string;\n suborganizationId?: string | undefined;\n yearTargets: YearTarget[];\n}\n\nexport class UpdateIndicatorTargetCommandResponse implements IUpdateIndicatorTargetCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IUpdateIndicatorTargetCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): UpdateIndicatorTargetCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateIndicatorTargetCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IUpdateIndicatorTargetCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetAllIndicatorsQueryResponse implements IGetAllIndicatorsQueryResponse {\n result!: PagedCollection_1OfGetAllIndicatorsQueryVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetAllIndicatorsQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new PagedCollection_1OfGetAllIndicatorsQueryVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? PagedCollection_1OfGetAllIndicatorsQueryVm.fromJS(_data[\"result\"]) : new PagedCollection_1OfGetAllIndicatorsQueryVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetAllIndicatorsQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetAllIndicatorsQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetAllIndicatorsQueryResponse {\n result: PagedCollection_1OfGetAllIndicatorsQueryVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetAllIndicatorsQueryVm implements IGetAllIndicatorsQueryVm {\n id!: string;\n name!: string;\n valueType!: IndicatorValueType;\n category!: IndicatorCategory;\n indicatorDefinitionId!: string;\n lastUpdated!: Date;\n lastCalculated?: Date | undefined;\n valueStatus!: IndicatorValueStatus;\n valueErrors!: string[];\n\n constructor(data?: IGetAllIndicatorsQueryVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.valueErrors = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.valueType = _data[\"valueType\"];\n this.category = _data[\"category\"];\n this.indicatorDefinitionId = _data[\"indicatorDefinitionId\"];\n this.lastUpdated = _data[\"lastUpdated\"] ? new Date(_data[\"lastUpdated\"].toString()) : undefined;\n this.lastCalculated = _data[\"lastCalculated\"] ? new Date(_data[\"lastCalculated\"].toString()) : undefined;\n this.valueStatus = _data[\"valueStatus\"];\n if (Array.isArray(_data[\"valueErrors\"])) {\n this.valueErrors = [] as any;\n for (let item of _data[\"valueErrors\"])\n this.valueErrors!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetAllIndicatorsQueryVm {\n data = typeof data === 'object' ? data : {};\n let result = new GetAllIndicatorsQueryVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"valueType\"] = this.valueType;\n data[\"category\"] = this.category;\n data[\"indicatorDefinitionId\"] = this.indicatorDefinitionId;\n data[\"lastUpdated\"] = this.lastUpdated ? this.lastUpdated.toISOString() : undefined;\n data[\"lastCalculated\"] = this.lastCalculated ? this.lastCalculated.toISOString() : undefined;\n data[\"valueStatus\"] = this.valueStatus;\n if (Array.isArray(this.valueErrors)) {\n data[\"valueErrors\"] = [];\n for (let item of this.valueErrors)\n data[\"valueErrors\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetAllIndicatorsQueryVm {\n id: string;\n name: string;\n valueType: IndicatorValueType;\n category: IndicatorCategory;\n indicatorDefinitionId: string;\n lastUpdated: Date;\n lastCalculated?: Date | undefined;\n valueStatus: IndicatorValueStatus;\n valueErrors: string[];\n}\n\nexport class GetAllNamesIndicatorsQueryResponse implements IGetAllNamesIndicatorsQueryResponse {\n result!: GetAllNamesIndicatorsVm[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetAllNamesIndicatorsQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(GetAllNamesIndicatorsVm.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetAllNamesIndicatorsQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetAllNamesIndicatorsQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetAllNamesIndicatorsQueryResponse {\n result: GetAllNamesIndicatorsVm[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetAllNamesIndicatorsVm implements IGetAllNamesIndicatorsVm {\n id!: string;\n name!: string;\n\n constructor(data?: IGetAllNamesIndicatorsVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): GetAllNamesIndicatorsVm {\n data = typeof data === 'object' ? data : {};\n let result = new GetAllNamesIndicatorsVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface IGetAllNamesIndicatorsVm {\n id: string;\n name: string;\n}\n\nexport class GetByIdIndicatorQueryResponse implements IGetByIdIndicatorQueryResponse {\n result!: GetByIdIndicatorQueryVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetByIdIndicatorQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new GetByIdIndicatorQueryVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? GetByIdIndicatorQueryVm.fromJS(_data[\"result\"]) : new GetByIdIndicatorQueryVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetByIdIndicatorQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetByIdIndicatorQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetByIdIndicatorQueryResponse {\n result: GetByIdIndicatorQueryVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetByIdIndicatorQueryVm implements IGetByIdIndicatorQueryVm {\n id!: string;\n name!: string;\n category!: IndicatorCategory;\n indicatorDefinitionId!: string;\n lastUpdated!: Date;\n lastCalculated?: Date | undefined;\n calculatedDataMinYear?: number | undefined;\n calculatedDataMaxYear?: number | undefined;\n valueStatus!: IndicatorValueStatus;\n valueErrors!: string[];\n\n constructor(data?: IGetByIdIndicatorQueryVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.valueErrors = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.category = _data[\"category\"];\n this.indicatorDefinitionId = _data[\"indicatorDefinitionId\"];\n this.lastUpdated = _data[\"lastUpdated\"] ? new Date(_data[\"lastUpdated\"].toString()) : undefined;\n this.lastCalculated = _data[\"lastCalculated\"] ? new Date(_data[\"lastCalculated\"].toString()) : undefined;\n this.calculatedDataMinYear = _data[\"calculatedDataMinYear\"];\n this.calculatedDataMaxYear = _data[\"calculatedDataMaxYear\"];\n this.valueStatus = _data[\"valueStatus\"];\n if (Array.isArray(_data[\"valueErrors\"])) {\n this.valueErrors = [] as any;\n for (let item of _data[\"valueErrors\"])\n this.valueErrors!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetByIdIndicatorQueryVm {\n data = typeof data === 'object' ? data : {};\n let result = new GetByIdIndicatorQueryVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"category\"] = this.category;\n data[\"indicatorDefinitionId\"] = this.indicatorDefinitionId;\n data[\"lastUpdated\"] = this.lastUpdated ? this.lastUpdated.toISOString() : undefined;\n data[\"lastCalculated\"] = this.lastCalculated ? this.lastCalculated.toISOString() : undefined;\n data[\"calculatedDataMinYear\"] = this.calculatedDataMinYear;\n data[\"calculatedDataMaxYear\"] = this.calculatedDataMaxYear;\n data[\"valueStatus\"] = this.valueStatus;\n if (Array.isArray(this.valueErrors)) {\n data[\"valueErrors\"] = [];\n for (let item of this.valueErrors)\n data[\"valueErrors\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetByIdIndicatorQueryVm {\n id: string;\n name: string;\n category: IndicatorCategory;\n indicatorDefinitionId: string;\n lastUpdated: Date;\n lastCalculated?: Date | undefined;\n calculatedDataMinYear?: number | undefined;\n calculatedDataMaxYear?: number | undefined;\n valueStatus: IndicatorValueStatus;\n valueErrors: string[];\n}\n\nexport class GetTargetValuesQueryResponse implements IGetTargetValuesQueryResponse {\n result!: TargetValueVm[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetTargetValuesQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(TargetValueVm.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetTargetValuesQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetTargetValuesQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetTargetValuesQueryResponse {\n result: TargetValueVm[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class TargetValueVm implements ITargetValueVm {\n year!: number;\n value!: number;\n\n constructor(data?: ITargetValueVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.year = _data[\"year\"];\n this.value = _data[\"value\"];\n }\n }\n\n static fromJS(data: any): TargetValueVm {\n data = typeof data === 'object' ? data : {};\n let result = new TargetValueVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"year\"] = this.year;\n data[\"value\"] = this.value;\n return data;\n }\n}\n\nexport interface ITargetValueVm {\n year: number;\n value: number;\n}\n\nexport enum CellValueType {\n StaticText = \"StaticText\",\n Numeric = \"Numeric\",\n Selector = \"Selector\",\n Currency = \"Currency\",\n}\n\nexport class ColumnDefinition implements IColumnDefinition {\n columnId!: string;\n header!: string;\n groupHeader?: string | undefined;\n description!: string;\n unit!: string;\n type!: CellValueType;\n calculationType?: CalculationType | undefined;\n isHideRowWhenValueNull?: boolean | undefined;\n\n constructor(data?: IColumnDefinition) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.columnId = _data[\"columnId\"];\n this.header = _data[\"header\"];\n this.groupHeader = _data[\"groupHeader\"];\n this.description = _data[\"description\"];\n this.unit = _data[\"unit\"];\n this.type = _data[\"type\"];\n this.calculationType = _data[\"calculationType\"];\n this.isHideRowWhenValueNull = _data[\"isHideRowWhenValueNull\"];\n }\n }\n\n static fromJS(data: any): ColumnDefinition {\n data = typeof data === 'object' ? data : {};\n let result = new ColumnDefinition();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"columnId\"] = this.columnId;\n data[\"header\"] = this.header;\n data[\"groupHeader\"] = this.groupHeader;\n data[\"description\"] = this.description;\n data[\"unit\"] = this.unit;\n data[\"type\"] = this.type;\n data[\"calculationType\"] = this.calculationType;\n data[\"isHideRowWhenValueNull\"] = this.isHideRowWhenValueNull;\n return data;\n }\n}\n\nexport interface IColumnDefinition {\n columnId: string;\n header: string;\n groupHeader?: string | undefined;\n description: string;\n unit: string;\n type: CellValueType;\n calculationType?: CalculationType | undefined;\n isHideRowWhenValueNull?: boolean | undefined;\n}\n\nexport enum CalculationType {\n Sum = \"Sum\",\n Average = \"Average\",\n LastValue = \"LastValue\",\n}\n\nexport enum IndicatorCategory {\n Environment = \"Environment\",\n Social = \"Social\",\n Governance = \"Governance\",\n Other = \"Other\",\n General = \"General\",\n}\n\nexport class IndicatorDataValue implements IIndicatorDataValue {\n\n protected _discriminator: string;\n\n constructor(data?: IIndicatorDataValue) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n this._discriminator = \"IndicatorDataValue\";\n }\n\n init(_data?: any) {\n }\n\n static fromJS(data: any): IndicatorDataValue {\n data = typeof data === 'object' ? data : {};\n if (data[\"type\"] === \"Numeric\") {\n let result = new IndicatorNumericDataValue();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Text\") {\n let result = new IndicatorTextDataValue();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Narrative\") {\n let result = new IndicatorNarrativeDataValue();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Table\") {\n let result = new IndicatorTableDataValue();\n result.init(data);\n return result;\n }\n let result = new IndicatorDataValue();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this._discriminator;\n return data;\n }\n}\n\nexport interface IIndicatorDataValue {\n}\n\nexport class IndicatorDataValueMetadata implements IIndicatorDataValueMetadata {\n label!: string;\n unit!: string;\n currencyCode?: CurrencyCodes | undefined;\n isVisibleInReport!: boolean;\n\n protected _discriminator: string;\n\n constructor(data?: IIndicatorDataValueMetadata) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n this._discriminator = \"IndicatorDataValueMetadata\";\n }\n\n init(_data?: any) {\n if (_data) {\n this.label = _data[\"label\"];\n this.unit = _data[\"unit\"];\n this.currencyCode = _data[\"currencyCode\"];\n this.isVisibleInReport = _data[\"isVisibleInReport\"];\n }\n }\n\n static fromJS(data: any): IndicatorDataValueMetadata {\n data = typeof data === 'object' ? data : {};\n if (data[\"type\"] === \"Numeric\") {\n let result = new IndicatorNumericDataValueMetadata();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Text\") {\n let result = new IndicatorTextDataValueMetadata();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Narrative\") {\n let result = new IndicatorNarrativeDataValueMetadata();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Table\") {\n let result = new IndicatorTableDataValueMetadata();\n result.init(data);\n return result;\n }\n let result = new IndicatorDataValueMetadata();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this._discriminator;\n data[\"label\"] = this.label;\n data[\"unit\"] = this.unit;\n data[\"currencyCode\"] = this.currencyCode;\n data[\"isVisibleInReport\"] = this.isVisibleInReport;\n return data;\n }\n}\n\nexport interface IIndicatorDataValueMetadata {\n label: string;\n unit: string;\n currencyCode?: CurrencyCodes | undefined;\n isVisibleInReport: boolean;\n}\n\nexport enum IndicatorDataValueType {\n Numeric = \"Numeric\",\n Text = \"Text\",\n Table = \"Table\",\n Narrative = \"Narrative\",\n}\n\nexport class IndicatorDataValues implements IIndicatorDataValues {\n metadata!: IndicatorDataValueMetadata;\n previousValue!: IndicatorDataValue;\n currentValue!: IndicatorDataValue;\n targetValue!: IndicatorDataValue;\n isPreviousValueConnected!: boolean;\n isCurrentValueConnected!: boolean;\n isVisibleInReport!: boolean;\n substrateData?: SubstrateDataTable | undefined;\n\n constructor(data?: IIndicatorDataValues) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.metadata = new IndicatorDataValueMetadata();\n this.previousValue = new IndicatorDataValue();\n this.currentValue = new IndicatorDataValue();\n this.targetValue = new IndicatorDataValue();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.metadata = _data[\"metadata\"] ? IndicatorDataValueMetadata.fromJS(_data[\"metadata\"]) : new IndicatorDataValueMetadata();\n this.previousValue = _data[\"previousValue\"] ? IndicatorDataValue.fromJS(_data[\"previousValue\"]) : new IndicatorDataValue();\n this.currentValue = _data[\"currentValue\"] ? IndicatorDataValue.fromJS(_data[\"currentValue\"]) : new IndicatorDataValue();\n this.targetValue = _data[\"targetValue\"] ? IndicatorDataValue.fromJS(_data[\"targetValue\"]) : new IndicatorDataValue();\n this.isPreviousValueConnected = _data[\"isPreviousValueConnected\"];\n this.isCurrentValueConnected = _data[\"isCurrentValueConnected\"];\n this.isVisibleInReport = _data[\"isVisibleInReport\"];\n this.substrateData = _data[\"substrateData\"] ? SubstrateDataTable.fromJS(_data[\"substrateData\"]) : undefined;\n }\n }\n\n static fromJS(data: any): IndicatorDataValues {\n data = typeof data === 'object' ? data : {};\n let result = new IndicatorDataValues();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"metadata\"] = this.metadata ? this.metadata.toJSON() : undefined;\n data[\"previousValue\"] = this.previousValue ? this.previousValue.toJSON() : undefined;\n data[\"currentValue\"] = this.currentValue ? this.currentValue.toJSON() : undefined;\n data[\"targetValue\"] = this.targetValue ? this.targetValue.toJSON() : undefined;\n data[\"isPreviousValueConnected\"] = this.isPreviousValueConnected;\n data[\"isCurrentValueConnected\"] = this.isCurrentValueConnected;\n data[\"isVisibleInReport\"] = this.isVisibleInReport;\n data[\"substrateData\"] = this.substrateData ? this.substrateData.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IIndicatorDataValues {\n metadata: IndicatorDataValueMetadata;\n previousValue: IndicatorDataValue;\n currentValue: IndicatorDataValue;\n targetValue: IndicatorDataValue;\n isPreviousValueConnected: boolean;\n isCurrentValueConnected: boolean;\n isVisibleInReport: boolean;\n substrateData?: SubstrateDataTable | undefined;\n}\n\nexport class IndicatorNarrativeDataValue extends IndicatorDataValue implements IIndicatorNarrativeDataValue {\n readonly type!: IndicatorDataValueType;\n value?: string | undefined;\n\n constructor(data?: IIndicatorNarrativeDataValue) {\n super(data);\n this._discriminator = \"Narrative\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.value = _data[\"value\"];\n }\n }\n\n static override fromJS(data: any): IndicatorNarrativeDataValue {\n data = typeof data === 'object' ? data : {};\n let result = new IndicatorNarrativeDataValue();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"value\"] = this.value;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IIndicatorNarrativeDataValue extends IIndicatorDataValue {\n type: IndicatorDataValueType;\n value?: string | undefined;\n}\n\nexport class IndicatorNarrativeDataValueMetadata extends IndicatorDataValueMetadata implements IIndicatorNarrativeDataValueMetadata {\n readonly type!: IndicatorDataValueType;\n\n constructor(data?: IIndicatorNarrativeDataValueMetadata) {\n super(data);\n this._discriminator = \"Narrative\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n }\n }\n\n static override fromJS(data: any): IndicatorNarrativeDataValueMetadata {\n data = typeof data === 'object' ? data : {};\n let result = new IndicatorNarrativeDataValueMetadata();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IIndicatorNarrativeDataValueMetadata extends IIndicatorDataValueMetadata {\n type: IndicatorDataValueType;\n}\n\nexport class IndicatorNumericDataValue extends IndicatorDataValue implements IIndicatorNumericDataValue {\n readonly type!: IndicatorDataValueType;\n value?: number | undefined;\n unitDetails?: string | undefined;\n errorMessage?: string | undefined;\n\n constructor(data?: IIndicatorNumericDataValue) {\n super(data);\n this._discriminator = \"Numeric\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.value = _data[\"value\"];\n this.unitDetails = _data[\"unitDetails\"];\n this.errorMessage = _data[\"errorMessage\"];\n }\n }\n\n static override fromJS(data: any): IndicatorNumericDataValue {\n data = typeof data === 'object' ? data : {};\n let result = new IndicatorNumericDataValue();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"value\"] = this.value;\n data[\"unitDetails\"] = this.unitDetails;\n data[\"errorMessage\"] = this.errorMessage;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IIndicatorNumericDataValue extends IIndicatorDataValue {\n type: IndicatorDataValueType;\n value?: number | undefined;\n unitDetails?: string | undefined;\n errorMessage?: string | undefined;\n}\n\nexport class IndicatorNumericDataValueMetadata extends IndicatorDataValueMetadata implements IIndicatorNumericDataValueMetadata {\n readonly type!: IndicatorDataValueType;\n groupLabel?: string | undefined;\n\n constructor(data?: IIndicatorNumericDataValueMetadata) {\n super(data);\n this._discriminator = \"Numeric\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.groupLabel = _data[\"groupLabel\"];\n }\n }\n\n static override fromJS(data: any): IndicatorNumericDataValueMetadata {\n data = typeof data === 'object' ? data : {};\n let result = new IndicatorNumericDataValueMetadata();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"groupLabel\"] = this.groupLabel;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IIndicatorNumericDataValueMetadata extends IIndicatorDataValueMetadata {\n type: IndicatorDataValueType;\n groupLabel?: string | undefined;\n}\n\nexport class IndicatorTableDataValue extends IndicatorDataValue implements IIndicatorTableDataValue {\n readonly type!: IndicatorDataValueType;\n tableRows?: TableRow[] | undefined;\n errorMessage?: string | undefined;\n\n constructor(data?: IIndicatorTableDataValue) {\n super(data);\n this._discriminator = \"Table\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n if (Array.isArray(_data[\"tableRows\"])) {\n this.tableRows = [] as any;\n for (let item of _data[\"tableRows\"])\n this.tableRows!.push(TableRow.fromJS(item));\n }\n this.errorMessage = _data[\"errorMessage\"];\n }\n }\n\n static override fromJS(data: any): IndicatorTableDataValue {\n data = typeof data === 'object' ? data : {};\n let result = new IndicatorTableDataValue();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n if (Array.isArray(this.tableRows)) {\n data[\"tableRows\"] = [];\n for (let item of this.tableRows)\n data[\"tableRows\"].push(item.toJSON());\n }\n data[\"errorMessage\"] = this.errorMessage;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IIndicatorTableDataValue extends IIndicatorDataValue {\n type: IndicatorDataValueType;\n tableRows?: TableRow[] | undefined;\n errorMessage?: string | undefined;\n}\n\nexport class IndicatorTableDataValueMetadata extends IndicatorDataValueMetadata implements IIndicatorTableDataValueMetadata {\n readonly type!: IndicatorDataValueType;\n tableColumnsMetadata!: IndicatorDataValueMetadata[];\n\n constructor(data?: IIndicatorTableDataValueMetadata) {\n super(data);\n if (!data) {\n this.tableColumnsMetadata = [];\n }\n this._discriminator = \"Table\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n if (Array.isArray(_data[\"tableColumnsMetadata\"])) {\n this.tableColumnsMetadata = [] as any;\n for (let item of _data[\"tableColumnsMetadata\"])\n this.tableColumnsMetadata!.push(IndicatorDataValueMetadata.fromJS(item));\n }\n }\n }\n\n static override fromJS(data: any): IndicatorTableDataValueMetadata {\n data = typeof data === 'object' ? data : {};\n let result = new IndicatorTableDataValueMetadata();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n if (Array.isArray(this.tableColumnsMetadata)) {\n data[\"tableColumnsMetadata\"] = [];\n for (let item of this.tableColumnsMetadata)\n data[\"tableColumnsMetadata\"].push(item.toJSON());\n }\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IIndicatorTableDataValueMetadata extends IIndicatorDataValueMetadata {\n type: IndicatorDataValueType;\n tableColumnsMetadata: IndicatorDataValueMetadata[];\n}\n\nexport class IndicatorTextDataValue extends IndicatorDataValue implements IIndicatorTextDataValue {\n readonly type!: IndicatorDataValueType;\n value?: string | undefined;\n\n constructor(data?: IIndicatorTextDataValue) {\n super(data);\n this._discriminator = \"Text\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.value = _data[\"value\"];\n }\n }\n\n static override fromJS(data: any): IndicatorTextDataValue {\n data = typeof data === 'object' ? data : {};\n let result = new IndicatorTextDataValue();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"value\"] = this.value;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IIndicatorTextDataValue extends IIndicatorDataValue {\n type: IndicatorDataValueType;\n value?: string | undefined;\n}\n\nexport class IndicatorTextDataValueMetadata extends IndicatorDataValueMetadata implements IIndicatorTextDataValueMetadata {\n readonly type!: IndicatorDataValueType;\n\n constructor(data?: IIndicatorTextDataValueMetadata) {\n super(data);\n this._discriminator = \"Text\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n }\n }\n\n static override fromJS(data: any): IndicatorTextDataValueMetadata {\n data = typeof data === 'object' ? data : {};\n let result = new IndicatorTextDataValueMetadata();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IIndicatorTextDataValueMetadata extends IIndicatorDataValueMetadata {\n type: IndicatorDataValueType;\n}\n\nexport class NewIndicatorDataValues implements INewIndicatorDataValues {\n indicatorId!: string;\n indicatorDefinitionId!: string;\n description!: string;\n referenceStandards!: string;\n metadata!: IndicatorDataValueMetadata;\n previousValue!: IndicatorDataValue;\n currentValue!: IndicatorDataValue;\n targetValue!: IndicatorDataValue;\n substrateData?: SubstrateDataTable | undefined;\n isVisibleInReport!: boolean;\n usedInComponentIds!: string[];\n\n constructor(data?: INewIndicatorDataValues) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.metadata = new IndicatorDataValueMetadata();\n this.previousValue = new IndicatorDataValue();\n this.currentValue = new IndicatorDataValue();\n this.targetValue = new IndicatorDataValue();\n this.usedInComponentIds = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.indicatorId = _data[\"indicatorId\"];\n this.indicatorDefinitionId = _data[\"indicatorDefinitionId\"];\n this.description = _data[\"description\"];\n this.referenceStandards = _data[\"referenceStandards\"];\n this.metadata = _data[\"metadata\"] ? IndicatorDataValueMetadata.fromJS(_data[\"metadata\"]) : new IndicatorDataValueMetadata();\n this.previousValue = _data[\"previousValue\"] ? IndicatorDataValue.fromJS(_data[\"previousValue\"]) : new IndicatorDataValue();\n this.currentValue = _data[\"currentValue\"] ? IndicatorDataValue.fromJS(_data[\"currentValue\"]) : new IndicatorDataValue();\n this.targetValue = _data[\"targetValue\"] ? IndicatorDataValue.fromJS(_data[\"targetValue\"]) : new IndicatorDataValue();\n this.substrateData = _data[\"substrateData\"] ? SubstrateDataTable.fromJS(_data[\"substrateData\"]) : undefined;\n this.isVisibleInReport = _data[\"isVisibleInReport\"];\n if (Array.isArray(_data[\"usedInComponentIds\"])) {\n this.usedInComponentIds = [] as any;\n for (let item of _data[\"usedInComponentIds\"])\n this.usedInComponentIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): NewIndicatorDataValues {\n data = typeof data === 'object' ? data : {};\n let result = new NewIndicatorDataValues();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"indicatorId\"] = this.indicatorId;\n data[\"indicatorDefinitionId\"] = this.indicatorDefinitionId;\n data[\"description\"] = this.description;\n data[\"referenceStandards\"] = this.referenceStandards;\n data[\"metadata\"] = this.metadata ? this.metadata.toJSON() : undefined;\n data[\"previousValue\"] = this.previousValue ? this.previousValue.toJSON() : undefined;\n data[\"currentValue\"] = this.currentValue ? this.currentValue.toJSON() : undefined;\n data[\"targetValue\"] = this.targetValue ? this.targetValue.toJSON() : undefined;\n data[\"substrateData\"] = this.substrateData ? this.substrateData.toJSON() : undefined;\n data[\"isVisibleInReport\"] = this.isVisibleInReport;\n if (Array.isArray(this.usedInComponentIds)) {\n data[\"usedInComponentIds\"] = [];\n for (let item of this.usedInComponentIds)\n data[\"usedInComponentIds\"].push(item);\n }\n return data;\n }\n}\n\nexport interface INewIndicatorDataValues {\n indicatorId: string;\n indicatorDefinitionId: string;\n description: string;\n referenceStandards: string;\n metadata: IndicatorDataValueMetadata;\n previousValue: IndicatorDataValue;\n currentValue: IndicatorDataValue;\n targetValue: IndicatorDataValue;\n substrateData?: SubstrateDataTable | undefined;\n isVisibleInReport: boolean;\n usedInComponentIds: string[];\n}\n\nexport class TableRow implements ITableRow {\n values!: IndicatorDataValue[];\n\n constructor(data?: ITableRow) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.values = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"values\"])) {\n this.values = [] as any;\n for (let item of _data[\"values\"])\n this.values!.push(IndicatorDataValue.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): TableRow {\n data = typeof data === 'object' ? data : {};\n let result = new TableRow();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.values)) {\n data[\"values\"] = [];\n for (let item of this.values)\n data[\"values\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ITableRow {\n values: IndicatorDataValue[];\n}\n\nexport class SubstrateDataTable implements ISubstrateDataTable {\n tHead!: Tr[];\n tBody!: Tr[];\n tFoot!: Tr[];\n\n constructor(data?: ISubstrateDataTable) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.tHead = [];\n this.tBody = [];\n this.tFoot = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"tHead\"])) {\n this.tHead = [] as any;\n for (let item of _data[\"tHead\"])\n this.tHead!.push(Tr.fromJS(item));\n }\n if (Array.isArray(_data[\"tBody\"])) {\n this.tBody = [] as any;\n for (let item of _data[\"tBody\"])\n this.tBody!.push(Tr.fromJS(item));\n }\n if (Array.isArray(_data[\"tFoot\"])) {\n this.tFoot = [] as any;\n for (let item of _data[\"tFoot\"])\n this.tFoot!.push(Tr.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): SubstrateDataTable {\n data = typeof data === 'object' ? data : {};\n let result = new SubstrateDataTable();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.tHead)) {\n data[\"tHead\"] = [];\n for (let item of this.tHead)\n data[\"tHead\"].push(item.toJSON());\n }\n if (Array.isArray(this.tBody)) {\n data[\"tBody\"] = [];\n for (let item of this.tBody)\n data[\"tBody\"].push(item.toJSON());\n }\n if (Array.isArray(this.tFoot)) {\n data[\"tFoot\"] = [];\n for (let item of this.tFoot)\n data[\"tFoot\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ISubstrateDataTable {\n tHead: Tr[];\n tBody: Tr[];\n tFoot: Tr[];\n}\n\nexport class Tr implements ITr {\n items!: TrItem[];\n\n constructor(data?: ITr) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.items = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(TrItem.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): Tr {\n data = typeof data === 'object' ? data : {};\n let result = new Tr();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ITr {\n items: TrItem[];\n}\n\nexport class TrItem implements ITrItem {\n rowSpan?: number | undefined;\n colSpan?: number | undefined;\n content?: string | undefined;\n isNumber!: boolean;\n\n constructor(data?: ITrItem) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.rowSpan = _data[\"rowSpan\"];\n this.colSpan = _data[\"colSpan\"];\n this.content = _data[\"content\"];\n this.isNumber = _data[\"isNumber\"];\n }\n }\n\n static fromJS(data: any): TrItem {\n data = typeof data === 'object' ? data : {};\n let result = new TrItem();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"rowSpan\"] = this.rowSpan;\n data[\"colSpan\"] = this.colSpan;\n data[\"content\"] = this.content;\n data[\"isNumber\"] = this.isNumber;\n return data;\n }\n}\n\nexport interface ITrItem {\n rowSpan?: number | undefined;\n colSpan?: number | undefined;\n content?: string | undefined;\n isNumber: boolean;\n}\n\nexport class IndicatorTableCellValue implements IIndicatorTableCellValue {\n columnId!: string;\n value?: number | undefined;\n unit?: string | undefined;\n dataRecordValues?: ValueTuple_2OfGuidAndNullable_1OfDouble[] | undefined;\n\n constructor(data?: IIndicatorTableCellValue) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.columnId = _data[\"columnId\"];\n this.value = _data[\"value\"];\n this.unit = _data[\"unit\"];\n if (Array.isArray(_data[\"dataRecordValues\"])) {\n this.dataRecordValues = [] as any;\n for (let item of _data[\"dataRecordValues\"])\n this.dataRecordValues!.push(ValueTuple_2OfGuidAndNullable_1OfDouble.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): IndicatorTableCellValue {\n data = typeof data === 'object' ? data : {};\n let result = new IndicatorTableCellValue();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"columnId\"] = this.columnId;\n data[\"value\"] = this.value;\n data[\"unit\"] = this.unit;\n if (Array.isArray(this.dataRecordValues)) {\n data[\"dataRecordValues\"] = [];\n for (let item of this.dataRecordValues)\n data[\"dataRecordValues\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IIndicatorTableCellValue {\n columnId: string;\n value?: number | undefined;\n unit?: string | undefined;\n dataRecordValues?: ValueTuple_2OfGuidAndNullable_1OfDouble[] | undefined;\n}\n\nexport class IndicatorTableValue implements IIndicatorTableValue {\n rows!: IndicatorTableValueRow[];\n\n constructor(data?: IIndicatorTableValue) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.rows = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"rows\"])) {\n this.rows = [] as any;\n for (let item of _data[\"rows\"])\n this.rows!.push(IndicatorTableValueRow.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): IndicatorTableValue {\n data = typeof data === 'object' ? data : {};\n let result = new IndicatorTableValue();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.rows)) {\n data[\"rows\"] = [];\n for (let item of this.rows)\n data[\"rows\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IIndicatorTableValue {\n rows: IndicatorTableValueRow[];\n}\n\nexport class IndicatorTableValueRow implements IIndicatorTableValueRow {\n rowId!: string;\n cells!: IndicatorTableCellValue[];\n\n constructor(data?: IIndicatorTableValueRow) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.cells = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.rowId = _data[\"rowId\"];\n if (Array.isArray(_data[\"cells\"])) {\n this.cells = [] as any;\n for (let item of _data[\"cells\"])\n this.cells!.push(IndicatorTableCellValue.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): IndicatorTableValueRow {\n data = typeof data === 'object' ? data : {};\n let result = new IndicatorTableValueRow();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"rowId\"] = this.rowId;\n if (Array.isArray(this.cells)) {\n data[\"cells\"] = [];\n for (let item of this.cells)\n data[\"cells\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IIndicatorTableValueRow {\n rowId: string;\n cells: IndicatorTableCellValue[];\n}\n\nexport enum IndicatorValueStatus {\n OutOfDate = \"OutOfDate\",\n CalculationInProgress = \"CalculationInProgress\",\n UpToDate = \"UpToDate\",\n WithErrors = \"WithErrors\",\n}\n\nexport enum IndicatorValueType {\n Numeric = \"Numeric\",\n Table = \"Table\",\n Narrative = \"Narrative\",\n}\n\nexport enum RecordDuration {\n DateFromTo = \"DateFromTo\",\n SingleDate = \"SingleDate\",\n Period = \"Period\",\n}\n\nexport class YearTarget implements IYearTarget {\n year!: number;\n value!: number;\n\n constructor(data?: IYearTarget) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.year = _data[\"year\"];\n this.value = _data[\"value\"];\n }\n }\n\n static fromJS(data: any): YearTarget {\n data = typeof data === 'object' ? data : {};\n let result = new YearTarget();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"year\"] = this.year;\n data[\"value\"] = this.value;\n return data;\n }\n}\n\nexport interface IYearTarget {\n year: number;\n value: number;\n}\n\nexport enum DynamicRowsDataSource {\n OrganizationRegionNames = \"OrganizationRegionNames\",\n OrganizationAndSuborganizationNames = \"OrganizationAndSuborganizationNames\",\n OrganizationAndSuborganizationCountries = \"OrganizationAndSuborganizationCountries\",\n OrganizationAndSuborganizationVessels = \"OrganizationAndSuborganizationVessels\",\n}\n\nexport class IndicatorNumericValueDefinition implements IIndicatorNumericValueDefinition {\n unit!: string;\n unitLabel!: string;\n calculationType!: CalculationType;\n\n constructor(data?: IIndicatorNumericValueDefinition) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.unit = _data[\"unit\"];\n this.unitLabel = _data[\"unitLabel\"];\n this.calculationType = _data[\"calculationType\"];\n }\n }\n\n static fromJS(data: any): IndicatorNumericValueDefinition {\n data = typeof data === 'object' ? data : {};\n let result = new IndicatorNumericValueDefinition();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"unit\"] = this.unit;\n data[\"unitLabel\"] = this.unitLabel;\n data[\"calculationType\"] = this.calculationType;\n return data;\n }\n}\n\nexport interface IIndicatorNumericValueDefinition {\n unit: string;\n unitLabel: string;\n calculationType: CalculationType;\n}\n\nexport class IndicatorTableValueDefinition implements IIndicatorTableValueDefinition {\n tableLabel!: string;\n editableSchema!: boolean;\n columns!: ColumnDefinition[];\n rows!: RowDefinition[];\n rowsType!: RowsType;\n dynamicRowsDataSource?: DynamicRowsDataSource | undefined;\n calculationFormulas?: string[] | undefined;\n\n constructor(data?: IIndicatorTableValueDefinition) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.columns = [];\n this.rows = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tableLabel = _data[\"tableLabel\"];\n this.editableSchema = _data[\"editableSchema\"];\n if (Array.isArray(_data[\"columns\"])) {\n this.columns = [] as any;\n for (let item of _data[\"columns\"])\n this.columns!.push(ColumnDefinition.fromJS(item));\n }\n if (Array.isArray(_data[\"rows\"])) {\n this.rows = [] as any;\n for (let item of _data[\"rows\"])\n this.rows!.push(RowDefinition.fromJS(item));\n }\n this.rowsType = _data[\"rowsType\"];\n this.dynamicRowsDataSource = _data[\"dynamicRowsDataSource\"];\n if (Array.isArray(_data[\"calculationFormulas\"])) {\n this.calculationFormulas = [] as any;\n for (let item of _data[\"calculationFormulas\"])\n this.calculationFormulas!.push(item);\n }\n }\n }\n\n static fromJS(data: any): IndicatorTableValueDefinition {\n data = typeof data === 'object' ? data : {};\n let result = new IndicatorTableValueDefinition();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tableLabel\"] = this.tableLabel;\n data[\"editableSchema\"] = this.editableSchema;\n if (Array.isArray(this.columns)) {\n data[\"columns\"] = [];\n for (let item of this.columns)\n data[\"columns\"].push(item.toJSON());\n }\n if (Array.isArray(this.rows)) {\n data[\"rows\"] = [];\n for (let item of this.rows)\n data[\"rows\"].push(item.toJSON());\n }\n data[\"rowsType\"] = this.rowsType;\n data[\"dynamicRowsDataSource\"] = this.dynamicRowsDataSource;\n if (Array.isArray(this.calculationFormulas)) {\n data[\"calculationFormulas\"] = [];\n for (let item of this.calculationFormulas)\n data[\"calculationFormulas\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IIndicatorTableValueDefinition {\n tableLabel: string;\n editableSchema: boolean;\n columns: ColumnDefinition[];\n rows: RowDefinition[];\n rowsType: RowsType;\n dynamicRowsDataSource?: DynamicRowsDataSource | undefined;\n calculationFormulas?: string[] | undefined;\n}\n\nexport class RowDefinition implements IRowDefinition {\n rowId!: string;\n header!: string;\n description!: string;\n unit?: string | undefined;\n type?: CellValueType | undefined;\n calculationType?: CalculationType | undefined;\n\n constructor(data?: IRowDefinition) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.rowId = _data[\"rowId\"];\n this.header = _data[\"header\"];\n this.description = _data[\"description\"];\n this.unit = _data[\"unit\"];\n this.type = _data[\"type\"];\n this.calculationType = _data[\"calculationType\"];\n }\n }\n\n static fromJS(data: any): RowDefinition {\n data = typeof data === 'object' ? data : {};\n let result = new RowDefinition();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"rowId\"] = this.rowId;\n data[\"header\"] = this.header;\n data[\"description\"] = this.description;\n data[\"unit\"] = this.unit;\n data[\"type\"] = this.type;\n data[\"calculationType\"] = this.calculationType;\n return data;\n }\n}\n\nexport interface IRowDefinition {\n rowId: string;\n header: string;\n description: string;\n unit?: string | undefined;\n type?: CellValueType | undefined;\n calculationType?: CalculationType | undefined;\n}\n\nexport enum RowsType {\n Static = \"Static\",\n Dynamic = \"Dynamic\",\n}\n\nexport class InitializeUserCommandResponse implements IInitializeUserCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IInitializeUserCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): InitializeUserCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new InitializeUserCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IInitializeUserCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class SetUserCurrentContextOrganizationIdCommandResponse implements ISetUserCurrentContextOrganizationIdCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: ISetUserCurrentContextOrganizationIdCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): SetUserCurrentContextOrganizationIdCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new SetUserCurrentContextOrganizationIdCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ISetUserCurrentContextOrganizationIdCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class UploadImageVm implements IUploadImageVm {\n blobName!: string;\n blobThumbnailName!: string;\n fileName!: string;\n\n constructor(data?: IUploadImageVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.blobName = _data[\"blobName\"];\n this.blobThumbnailName = _data[\"blobThumbnailName\"];\n this.fileName = _data[\"fileName\"];\n }\n }\n\n static fromJS(data: any): UploadImageVm {\n data = typeof data === 'object' ? data : {};\n let result = new UploadImageVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"blobName\"] = this.blobName;\n data[\"blobThumbnailName\"] = this.blobThumbnailName;\n data[\"fileName\"] = this.fileName;\n return data;\n }\n}\n\nexport interface IUploadImageVm {\n blobName: string;\n blobThumbnailName: string;\n fileName: string;\n}\n\nexport class GetUserInfoQueryResponse implements IGetUserInfoQueryResponse {\n result!: UserInfoResultVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetUserInfoQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new UserInfoResultVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? UserInfoResultVm.fromJS(_data[\"result\"]) : new UserInfoResultVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetUserInfoQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetUserInfoQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetUserInfoQueryResponse {\n result: UserInfoResultVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class UserInfoResultVm implements IUserInfoResultVm {\n exists!: boolean;\n userInfo!: UserInfoVm;\n\n constructor(data?: IUserInfoResultVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.userInfo = new UserInfoVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.exists = _data[\"exists\"];\n this.userInfo = _data[\"userInfo\"] ? UserInfoVm.fromJS(_data[\"userInfo\"]) : new UserInfoVm();\n }\n }\n\n static fromJS(data: any): UserInfoResultVm {\n data = typeof data === 'object' ? data : {};\n let result = new UserInfoResultVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"exists\"] = this.exists;\n data[\"userInfo\"] = this.userInfo ? this.userInfo.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IUserInfoResultVm {\n exists: boolean;\n userInfo: UserInfoVm;\n}\n\nexport class UserInfoVm implements IUserInfoVm {\n id!: string;\n name!: string;\n email!: string;\n organizationId!: string;\n organizationContextId!: string;\n organizationContextIsGlobal!: boolean;\n organizationName!: string;\n organizationAssigned!: boolean;\n role!: UserRole;\n permissions!: Permission[];\n readonly onboarded!: boolean;\n\n constructor(data?: IUserInfoVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.permissions = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.email = _data[\"email\"];\n this.organizationId = _data[\"organizationId\"];\n this.organizationContextId = _data[\"organizationContextId\"];\n this.organizationContextIsGlobal = _data[\"organizationContextIsGlobal\"];\n this.organizationName = _data[\"organizationName\"];\n this.organizationAssigned = _data[\"organizationAssigned\"];\n this.role = _data[\"role\"];\n if (Array.isArray(_data[\"permissions\"])) {\n this.permissions = [] as any;\n for (let item of _data[\"permissions\"])\n this.permissions!.push(item);\n }\n (this).onboarded = _data[\"onboarded\"];\n }\n }\n\n static fromJS(data: any): UserInfoVm {\n data = typeof data === 'object' ? data : {};\n let result = new UserInfoVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"email\"] = this.email;\n data[\"organizationId\"] = this.organizationId;\n data[\"organizationContextId\"] = this.organizationContextId;\n data[\"organizationContextIsGlobal\"] = this.organizationContextIsGlobal;\n data[\"organizationName\"] = this.organizationName;\n data[\"organizationAssigned\"] = this.organizationAssigned;\n data[\"role\"] = this.role;\n if (Array.isArray(this.permissions)) {\n data[\"permissions\"] = [];\n for (let item of this.permissions)\n data[\"permissions\"].push(item);\n }\n data[\"onboarded\"] = this.onboarded;\n return data;\n }\n}\n\nexport interface IUserInfoVm {\n id: string;\n name: string;\n email: string;\n organizationId: string;\n organizationContextId: string;\n organizationContextIsGlobal: boolean;\n organizationName: string;\n organizationAssigned: boolean;\n role: UserRole;\n permissions: Permission[];\n onboarded: boolean;\n}\n\nexport class AddIndicatorToComponentCommandParams implements IAddIndicatorToComponentCommandParams {\n topicItemId!: string;\n componentId!: string;\n indicatorId!: string;\n\n constructor(data?: IAddIndicatorToComponentCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.topicItemId = _data[\"topicItemId\"];\n this.componentId = _data[\"componentId\"];\n this.indicatorId = _data[\"indicatorId\"];\n }\n }\n\n static fromJS(data: any): AddIndicatorToComponentCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new AddIndicatorToComponentCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"topicItemId\"] = this.topicItemId;\n data[\"componentId\"] = this.componentId;\n data[\"indicatorId\"] = this.indicatorId;\n return data;\n }\n}\n\nexport interface IAddIndicatorToComponentCommandParams {\n topicItemId: string;\n componentId: string;\n indicatorId: string;\n}\n\nexport class AddIndicatorToComponentCommandResponse implements IAddIndicatorToComponentCommandResponse {\n result!: NewIndicatorDataValues;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IAddIndicatorToComponentCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new NewIndicatorDataValues();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? NewIndicatorDataValues.fromJS(_data[\"result\"]) : new NewIndicatorDataValues();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): AddIndicatorToComponentCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new AddIndicatorToComponentCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IAddIndicatorToComponentCommandResponse {\n result: NewIndicatorDataValues;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CreateComponentCommandParams implements ICreateComponentCommandParams {\n topicItemId!: string;\n reportId!: string;\n type!: ComponentType;\n title!: string;\n isVisibleInReport?: boolean | undefined;\n\n constructor(data?: ICreateComponentCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.topicItemId = _data[\"topicItemId\"];\n this.reportId = _data[\"reportId\"];\n this.type = _data[\"type\"];\n this.title = _data[\"title\"];\n this.isVisibleInReport = _data[\"isVisibleInReport\"];\n }\n }\n\n static fromJS(data: any): CreateComponentCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateComponentCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"topicItemId\"] = this.topicItemId;\n data[\"reportId\"] = this.reportId;\n data[\"type\"] = this.type;\n data[\"title\"] = this.title;\n data[\"isVisibleInReport\"] = this.isVisibleInReport;\n return data;\n }\n}\n\nexport interface ICreateComponentCommandParams {\n topicItemId: string;\n reportId: string;\n type: ComponentType;\n title: string;\n isVisibleInReport?: boolean | undefined;\n}\n\nexport class CreateComponentCommandResponse implements ICreateComponentCommandResponse {\n result!: Component;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: ICreateComponentCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new Component();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? Component.fromJS(_data[\"result\"]) : new Component();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CreateComponentCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CreateComponentCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICreateComponentCommandResponse {\n result: Component;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class DeleteComponentCommandParams implements IDeleteComponentCommandParams {\n componentId!: string;\n topicItemId!: string;\n\n constructor(data?: IDeleteComponentCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.componentId = _data[\"componentId\"];\n this.topicItemId = _data[\"topicItemId\"];\n }\n }\n\n static fromJS(data: any): DeleteComponentCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteComponentCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"componentId\"] = this.componentId;\n data[\"topicItemId\"] = this.topicItemId;\n return data;\n }\n}\n\nexport interface IDeleteComponentCommandParams {\n componentId: string;\n topicItemId: string;\n}\n\nexport class DeleteComponentCommandResponse implements IDeleteComponentCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IDeleteComponentCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DeleteComponentCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteComponentCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDeleteComponentCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class MoveComponentCommandParams implements IMoveComponentCommandParams {\n topicItemId!: string;\n componentId!: string;\n prevIndex!: number;\n newIndex!: number;\n\n constructor(data?: IMoveComponentCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.topicItemId = _data[\"topicItemId\"];\n this.componentId = _data[\"componentId\"];\n this.prevIndex = _data[\"prevIndex\"];\n this.newIndex = _data[\"newIndex\"];\n }\n }\n\n static fromJS(data: any): MoveComponentCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new MoveComponentCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"topicItemId\"] = this.topicItemId;\n data[\"componentId\"] = this.componentId;\n data[\"prevIndex\"] = this.prevIndex;\n data[\"newIndex\"] = this.newIndex;\n return data;\n }\n}\n\nexport interface IMoveComponentCommandParams {\n topicItemId: string;\n componentId: string;\n prevIndex: number;\n newIndex: number;\n}\n\nexport class MoveComponentCommandResponse implements IMoveComponentCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IMoveComponentCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): MoveComponentCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new MoveComponentCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IMoveComponentCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class RemoveIndicatorComponentCommandParams implements IRemoveIndicatorComponentCommandParams {\n topicItemId!: string;\n componentId!: string;\n\n constructor(data?: IRemoveIndicatorComponentCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.topicItemId = _data[\"topicItemId\"];\n this.componentId = _data[\"componentId\"];\n }\n }\n\n static fromJS(data: any): RemoveIndicatorComponentCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new RemoveIndicatorComponentCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"topicItemId\"] = this.topicItemId;\n data[\"componentId\"] = this.componentId;\n return data;\n }\n}\n\nexport interface IRemoveIndicatorComponentCommandParams {\n topicItemId: string;\n componentId: string;\n}\n\nexport class RemoveIndicatorComponentCommandResponse implements IRemoveIndicatorComponentCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IRemoveIndicatorComponentCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): RemoveIndicatorComponentCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new RemoveIndicatorComponentCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IRemoveIndicatorComponentCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class RemoveIndicatorFromComponentCommandParams implements IRemoveIndicatorFromComponentCommandParams {\n topicItemId!: string;\n componentId!: string;\n indicatorId!: string;\n\n constructor(data?: IRemoveIndicatorFromComponentCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.topicItemId = _data[\"topicItemId\"];\n this.componentId = _data[\"componentId\"];\n this.indicatorId = _data[\"indicatorId\"];\n }\n }\n\n static fromJS(data: any): RemoveIndicatorFromComponentCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new RemoveIndicatorFromComponentCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"topicItemId\"] = this.topicItemId;\n data[\"componentId\"] = this.componentId;\n data[\"indicatorId\"] = this.indicatorId;\n return data;\n }\n}\n\nexport interface IRemoveIndicatorFromComponentCommandParams {\n topicItemId: string;\n componentId: string;\n indicatorId: string;\n}\n\nexport class RemoveIndicatorFromComponentCommandResponse implements IRemoveIndicatorFromComponentCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IRemoveIndicatorFromComponentCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): RemoveIndicatorFromComponentCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new RemoveIndicatorFromComponentCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IRemoveIndicatorFromComponentCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class UpdateComponentCommandParams implements IUpdateComponentCommandParams {\n componentId!: string;\n topicItemId!: string;\n title!: string;\n isVisibleInReport!: boolean;\n content!: string;\n componentType?: ComponentType | undefined;\n\n constructor(data?: IUpdateComponentCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.componentId = _data[\"componentId\"];\n this.topicItemId = _data[\"topicItemId\"];\n this.title = _data[\"title\"];\n this.isVisibleInReport = _data[\"isVisibleInReport\"];\n this.content = _data[\"content\"];\n this.componentType = _data[\"componentType\"];\n }\n }\n\n static fromJS(data: any): UpdateComponentCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateComponentCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"componentId\"] = this.componentId;\n data[\"topicItemId\"] = this.topicItemId;\n data[\"title\"] = this.title;\n data[\"isVisibleInReport\"] = this.isVisibleInReport;\n data[\"content\"] = this.content;\n data[\"componentType\"] = this.componentType;\n return data;\n }\n}\n\nexport interface IUpdateComponentCommandParams {\n componentId: string;\n topicItemId: string;\n title: string;\n isVisibleInReport: boolean;\n content: string;\n componentType?: ComponentType | undefined;\n}\n\nexport class UpdateComponentCommandResponse implements IUpdateComponentCommandResponse {\n result!: Component;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IUpdateComponentCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new Component();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? Component.fromJS(_data[\"result\"]) : new Component();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): UpdateComponentCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateComponentCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IUpdateComponentCommandResponse {\n result: Component;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetTopicItemsComponentsVm implements IGetTopicItemsComponentsVm {\n id!: string;\n topicItemId!: string;\n reportId!: string;\n type!: ComponentType;\n title!: string;\n isVisibleInReport!: boolean;\n content?: string | undefined;\n\n constructor(data?: IGetTopicItemsComponentsVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.topicItemId = _data[\"topicItemId\"];\n this.reportId = _data[\"reportId\"];\n this.type = _data[\"type\"];\n this.title = _data[\"title\"];\n this.isVisibleInReport = _data[\"isVisibleInReport\"];\n this.content = _data[\"content\"];\n }\n }\n\n static fromJS(data: any): GetTopicItemsComponentsVm {\n data = typeof data === 'object' ? data : {};\n let result = new GetTopicItemsComponentsVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"topicItemId\"] = this.topicItemId;\n data[\"reportId\"] = this.reportId;\n data[\"type\"] = this.type;\n data[\"title\"] = this.title;\n data[\"isVisibleInReport\"] = this.isVisibleInReport;\n data[\"content\"] = this.content;\n return data;\n }\n}\n\nexport interface IGetTopicItemsComponentsVm {\n id: string;\n topicItemId: string;\n reportId: string;\n type: ComponentType;\n title: string;\n isVisibleInReport: boolean;\n content?: string | undefined;\n}\n\nexport class CanCreateAsGlobalTemplateQueryResponse implements ICanCreateAsGlobalTemplateQueryResponse {\n result!: boolean;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: ICanCreateAsGlobalTemplateQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"];\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CanCreateAsGlobalTemplateQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CanCreateAsGlobalTemplateQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICanCreateAsGlobalTemplateQueryResponse {\n result: boolean;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetTemplatesQueryResponse implements IGetTemplatesQueryResponse {\n result!: ReportTemplate[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetTemplatesQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(ReportTemplate.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetTemplatesQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetTemplatesQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetTemplatesQueryResponse {\n result: ReportTemplate[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class ChangeTopicDeactivatedCommandParams implements IChangeTopicDeactivatedCommandParams {\n reportId!: string;\n mainLevelId!: string;\n topicId!: string;\n deactivated!: boolean;\n\n constructor(data?: IChangeTopicDeactivatedCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.reportId = _data[\"reportId\"];\n this.mainLevelId = _data[\"mainLevelId\"];\n this.topicId = _data[\"topicId\"];\n this.deactivated = _data[\"deactivated\"];\n }\n }\n\n static fromJS(data: any): ChangeTopicDeactivatedCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new ChangeTopicDeactivatedCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"reportId\"] = this.reportId;\n data[\"mainLevelId\"] = this.mainLevelId;\n data[\"topicId\"] = this.topicId;\n data[\"deactivated\"] = this.deactivated;\n return data;\n }\n}\n\nexport interface IChangeTopicDeactivatedCommandParams {\n reportId: string;\n mainLevelId: string;\n topicId: string;\n deactivated: boolean;\n}\n\nexport class ChangeTopicDeactivatedCommandResponse implements IChangeTopicDeactivatedCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IChangeTopicDeactivatedCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): ChangeTopicDeactivatedCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new ChangeTopicDeactivatedCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IChangeTopicDeactivatedCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CreateReportCommandParams implements ICreateReportCommandParams {\n coverPhoto?: CoverPhoto | undefined;\n coverPhotoSquare?: CoverPhoto | undefined;\n name!: string;\n timePeriodType!: TimePeriodType;\n pdfWritingSystem!: PdfWritingSystem;\n year?: number | undefined;\n period?: number | undefined;\n customStart?: Date | undefined;\n customEnd?: Date | undefined;\n reportVersion!: ReportVersion;\n subOrganizationId?: string | undefined;\n includeNestedSubOrganizations!: boolean;\n\n constructor(data?: ICreateReportCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.coverPhoto = _data[\"coverPhoto\"] ? CoverPhoto.fromJS(_data[\"coverPhoto\"]) : undefined;\n this.coverPhotoSquare = _data[\"coverPhotoSquare\"] ? CoverPhoto.fromJS(_data[\"coverPhotoSquare\"]) : undefined;\n this.name = _data[\"name\"];\n this.timePeriodType = _data[\"timePeriodType\"];\n this.pdfWritingSystem = _data[\"pdfWritingSystem\"];\n this.year = _data[\"year\"];\n this.period = _data[\"period\"];\n this.customStart = _data[\"customStart\"] ? new Date(_data[\"customStart\"].toString()) : undefined;\n this.customEnd = _data[\"customEnd\"] ? new Date(_data[\"customEnd\"].toString()) : undefined;\n this.reportVersion = _data[\"reportVersion\"];\n this.subOrganizationId = _data[\"subOrganizationId\"];\n this.includeNestedSubOrganizations = _data[\"includeNestedSubOrganizations\"];\n }\n }\n\n static fromJS(data: any): CreateReportCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateReportCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"coverPhoto\"] = this.coverPhoto ? this.coverPhoto.toJSON() : undefined;\n data[\"coverPhotoSquare\"] = this.coverPhotoSquare ? this.coverPhotoSquare.toJSON() : undefined;\n data[\"name\"] = this.name;\n data[\"timePeriodType\"] = this.timePeriodType;\n data[\"pdfWritingSystem\"] = this.pdfWritingSystem;\n data[\"year\"] = this.year;\n data[\"period\"] = this.period;\n data[\"customStart\"] = this.customStart ? formatDate(this.customStart) : undefined;\n data[\"customEnd\"] = this.customEnd ? formatDate(this.customEnd) : undefined;\n data[\"reportVersion\"] = this.reportVersion;\n data[\"subOrganizationId\"] = this.subOrganizationId;\n data[\"includeNestedSubOrganizations\"] = this.includeNestedSubOrganizations;\n return data;\n }\n}\n\nexport interface ICreateReportCommandParams {\n coverPhoto?: CoverPhoto | undefined;\n coverPhotoSquare?: CoverPhoto | undefined;\n name: string;\n timePeriodType: TimePeriodType;\n pdfWritingSystem: PdfWritingSystem;\n year?: number | undefined;\n period?: number | undefined;\n customStart?: Date | undefined;\n customEnd?: Date | undefined;\n reportVersion: ReportVersion;\n subOrganizationId?: string | undefined;\n includeNestedSubOrganizations: boolean;\n}\n\nexport class CreateReportCommandResponse implements ICreateReportCommandResponse {\n result!: Report;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: ICreateReportCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new Report();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? Report.fromJS(_data[\"result\"]) : new Report();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CreateReportCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CreateReportCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICreateReportCommandResponse {\n result: Report;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CreateReportBasedOnTemplateCommandParams implements ICreateReportBasedOnTemplateCommandParams {\n templateId!: string;\n coverPhoto?: CoverPhoto | undefined;\n coverPhotoSquare?: CoverPhoto | undefined;\n name!: string;\n pdfWritingSystem!: PdfWritingSystem;\n timePeriodType!: TimePeriodType;\n year?: number | undefined;\n period?: number | undefined;\n customStart?: Date | undefined;\n customEnd?: Date | undefined;\n subOrganizationId?: string | undefined;\n includeNestedSubOrganizations!: boolean;\n\n constructor(data?: ICreateReportBasedOnTemplateCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.templateId = _data[\"templateId\"];\n this.coverPhoto = _data[\"coverPhoto\"] ? CoverPhoto.fromJS(_data[\"coverPhoto\"]) : undefined;\n this.coverPhotoSquare = _data[\"coverPhotoSquare\"] ? CoverPhoto.fromJS(_data[\"coverPhotoSquare\"]) : undefined;\n this.name = _data[\"name\"];\n this.pdfWritingSystem = _data[\"pdfWritingSystem\"];\n this.timePeriodType = _data[\"timePeriodType\"];\n this.year = _data[\"year\"];\n this.period = _data[\"period\"];\n this.customStart = _data[\"customStart\"] ? new Date(_data[\"customStart\"].toString()) : undefined;\n this.customEnd = _data[\"customEnd\"] ? new Date(_data[\"customEnd\"].toString()) : undefined;\n this.subOrganizationId = _data[\"subOrganizationId\"];\n this.includeNestedSubOrganizations = _data[\"includeNestedSubOrganizations\"];\n }\n }\n\n static fromJS(data: any): CreateReportBasedOnTemplateCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateReportBasedOnTemplateCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"templateId\"] = this.templateId;\n data[\"coverPhoto\"] = this.coverPhoto ? this.coverPhoto.toJSON() : undefined;\n data[\"coverPhotoSquare\"] = this.coverPhotoSquare ? this.coverPhotoSquare.toJSON() : undefined;\n data[\"name\"] = this.name;\n data[\"pdfWritingSystem\"] = this.pdfWritingSystem;\n data[\"timePeriodType\"] = this.timePeriodType;\n data[\"year\"] = this.year;\n data[\"period\"] = this.period;\n data[\"customStart\"] = this.customStart ? formatDate(this.customStart) : undefined;\n data[\"customEnd\"] = this.customEnd ? formatDate(this.customEnd) : undefined;\n data[\"subOrganizationId\"] = this.subOrganizationId;\n data[\"includeNestedSubOrganizations\"] = this.includeNestedSubOrganizations;\n return data;\n }\n}\n\nexport interface ICreateReportBasedOnTemplateCommandParams {\n templateId: string;\n coverPhoto?: CoverPhoto | undefined;\n coverPhotoSquare?: CoverPhoto | undefined;\n name: string;\n pdfWritingSystem: PdfWritingSystem;\n timePeriodType: TimePeriodType;\n year?: number | undefined;\n period?: number | undefined;\n customStart?: Date | undefined;\n customEnd?: Date | undefined;\n subOrganizationId?: string | undefined;\n includeNestedSubOrganizations: boolean;\n}\n\nexport class CreateReportBasedOnTemplateCommandResponse implements ICreateReportBasedOnTemplateCommandResponse {\n result!: Report;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: ICreateReportBasedOnTemplateCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new Report();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? Report.fromJS(_data[\"result\"]) : new Report();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CreateReportBasedOnTemplateCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CreateReportBasedOnTemplateCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICreateReportBasedOnTemplateCommandResponse {\n result: Report;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class DeleteMainSubjectCommandParams implements IDeleteMainSubjectCommandParams {\n reportId!: string;\n mainLevelId!: string;\n\n constructor(data?: IDeleteMainSubjectCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.reportId = _data[\"reportId\"];\n this.mainLevelId = _data[\"mainLevelId\"];\n }\n }\n\n static fromJS(data: any): DeleteMainSubjectCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteMainSubjectCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"reportId\"] = this.reportId;\n data[\"mainLevelId\"] = this.mainLevelId;\n return data;\n }\n}\n\nexport interface IDeleteMainSubjectCommandParams {\n reportId: string;\n mainLevelId: string;\n}\n\nexport class DeleteMainSubjectCommandResponse implements IDeleteMainSubjectCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IDeleteMainSubjectCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DeleteMainSubjectCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteMainSubjectCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDeleteMainSubjectCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class DeleteReportCommandResponse implements IDeleteReportCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IDeleteReportCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DeleteReportCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteReportCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDeleteReportCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class DeleteTopicCommandParams implements IDeleteTopicCommandParams {\n reportId!: string;\n mainLevelId!: string;\n topicId!: string;\n\n constructor(data?: IDeleteTopicCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.reportId = _data[\"reportId\"];\n this.mainLevelId = _data[\"mainLevelId\"];\n this.topicId = _data[\"topicId\"];\n }\n }\n\n static fromJS(data: any): DeleteTopicCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteTopicCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"reportId\"] = this.reportId;\n data[\"mainLevelId\"] = this.mainLevelId;\n data[\"topicId\"] = this.topicId;\n return data;\n }\n}\n\nexport interface IDeleteTopicCommandParams {\n reportId: string;\n mainLevelId: string;\n topicId: string;\n}\n\nexport class DeleteTopicCommandResponse implements IDeleteTopicCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IDeleteTopicCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DeleteTopicCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteTopicCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDeleteTopicCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class DuplicateReportCommandResponse implements IDuplicateReportCommandResponse {\n newDuplicatedReportId!: string;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IDuplicateReportCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.newDuplicatedReportId = _data[\"newDuplicatedReportId\"];\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DuplicateReportCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new DuplicateReportCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"newDuplicatedReportId\"] = this.newDuplicatedReportId;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDuplicateReportCommandResponse {\n newDuplicatedReportId: string;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class MoveMainSubjectCommandParams implements IMoveMainSubjectCommandParams {\n reportId!: string;\n mainLevelId!: string;\n prevIndex!: number;\n newIndex!: number;\n\n constructor(data?: IMoveMainSubjectCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.reportId = _data[\"reportId\"];\n this.mainLevelId = _data[\"mainLevelId\"];\n this.prevIndex = _data[\"prevIndex\"];\n this.newIndex = _data[\"newIndex\"];\n }\n }\n\n static fromJS(data: any): MoveMainSubjectCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new MoveMainSubjectCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"reportId\"] = this.reportId;\n data[\"mainLevelId\"] = this.mainLevelId;\n data[\"prevIndex\"] = this.prevIndex;\n data[\"newIndex\"] = this.newIndex;\n return data;\n }\n}\n\nexport interface IMoveMainSubjectCommandParams {\n reportId: string;\n mainLevelId: string;\n prevIndex: number;\n newIndex: number;\n}\n\nexport class MoveMainSubjectCommandResponse implements IMoveMainSubjectCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IMoveMainSubjectCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): MoveMainSubjectCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new MoveMainSubjectCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IMoveMainSubjectCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class MoveTopicCommandParams implements IMoveTopicCommandParams {\n reportId!: string;\n mainLevelId!: string;\n topicId!: string;\n prevIndex!: number;\n newIndex!: number;\n targetMainLevelId?: string | undefined;\n\n constructor(data?: IMoveTopicCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.reportId = _data[\"reportId\"];\n this.mainLevelId = _data[\"mainLevelId\"];\n this.topicId = _data[\"topicId\"];\n this.prevIndex = _data[\"prevIndex\"];\n this.newIndex = _data[\"newIndex\"];\n this.targetMainLevelId = _data[\"targetMainLevelId\"];\n }\n }\n\n static fromJS(data: any): MoveTopicCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new MoveTopicCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"reportId\"] = this.reportId;\n data[\"mainLevelId\"] = this.mainLevelId;\n data[\"topicId\"] = this.topicId;\n data[\"prevIndex\"] = this.prevIndex;\n data[\"newIndex\"] = this.newIndex;\n data[\"targetMainLevelId\"] = this.targetMainLevelId;\n return data;\n }\n}\n\nexport interface IMoveTopicCommandParams {\n reportId: string;\n mainLevelId: string;\n topicId: string;\n prevIndex: number;\n newIndex: number;\n targetMainLevelId?: string | undefined;\n}\n\nexport class MoveTopicCommandResponse implements IMoveTopicCommandResponse {\n updatedReport!: Report;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IMoveTopicCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.updatedReport = new Report();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.updatedReport = _data[\"updatedReport\"] ? Report.fromJS(_data[\"updatedReport\"]) : new Report();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): MoveTopicCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new MoveTopicCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"updatedReport\"] = this.updatedReport ? this.updatedReport.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IMoveTopicCommandResponse {\n updatedReport: Report;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class UpdateReportCommandParams implements IUpdateReportCommandParams {\n reportId!: string;\n coverPhoto?: CoverPhoto | undefined;\n coverPhotoSquare?: CoverPhoto | undefined;\n name!: string;\n pdfWritingSystem!: PdfWritingSystem;\n subOrganizationId?: string | undefined;\n includeNestedSubOrganizations!: boolean;\n timePeriod?: TimePeriod | undefined;\n\n constructor(data?: IUpdateReportCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.reportId = _data[\"reportId\"];\n this.coverPhoto = _data[\"coverPhoto\"] ? CoverPhoto.fromJS(_data[\"coverPhoto\"]) : undefined;\n this.coverPhotoSquare = _data[\"coverPhotoSquare\"] ? CoverPhoto.fromJS(_data[\"coverPhotoSquare\"]) : undefined;\n this.name = _data[\"name\"];\n this.pdfWritingSystem = _data[\"pdfWritingSystem\"];\n this.subOrganizationId = _data[\"subOrganizationId\"];\n this.includeNestedSubOrganizations = _data[\"includeNestedSubOrganizations\"];\n this.timePeriod = _data[\"timePeriod\"] ? TimePeriod.fromJS(_data[\"timePeriod\"]) : undefined;\n }\n }\n\n static fromJS(data: any): UpdateReportCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateReportCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"reportId\"] = this.reportId;\n data[\"coverPhoto\"] = this.coverPhoto ? this.coverPhoto.toJSON() : undefined;\n data[\"coverPhotoSquare\"] = this.coverPhotoSquare ? this.coverPhotoSquare.toJSON() : undefined;\n data[\"name\"] = this.name;\n data[\"pdfWritingSystem\"] = this.pdfWritingSystem;\n data[\"subOrganizationId\"] = this.subOrganizationId;\n data[\"includeNestedSubOrganizations\"] = this.includeNestedSubOrganizations;\n data[\"timePeriod\"] = this.timePeriod ? this.timePeriod.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IUpdateReportCommandParams {\n reportId: string;\n coverPhoto?: CoverPhoto | undefined;\n coverPhotoSquare?: CoverPhoto | undefined;\n name: string;\n pdfWritingSystem: PdfWritingSystem;\n subOrganizationId?: string | undefined;\n includeNestedSubOrganizations: boolean;\n timePeriod?: TimePeriod | undefined;\n}\n\nexport class UpdateReportCommandResponse implements IUpdateReportCommandResponse {\n result!: Report;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IUpdateReportCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new Report();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? Report.fromJS(_data[\"result\"]) : new Report();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): UpdateReportCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateReportCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IUpdateReportCommandResponse {\n result: Report;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetCompleteReportDataVm implements IGetCompleteReportDataVm {\n id!: string;\n organizationName!: string;\n name!: string;\n pdfWritingSystem!: PdfWritingSystem;\n timePeriod!: TimePeriod;\n coverPhoto?: CoverPhoto | undefined;\n coverPhotoSquare?: CoverPhoto | undefined;\n createdDate!: Date;\n modifiedDate!: Date;\n status!: ReportStatus;\n brandColor?: string | undefined;\n tableHeadColor?: string | undefined;\n organizationLogo?: PictureVm | undefined;\n organizationLogoSquare?: PictureVm | undefined;\n mainLevels!: ReportMainLevelVm[];\n\n constructor(data?: IGetCompleteReportDataVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.timePeriod = new TimePeriod();\n this.mainLevels = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.organizationName = _data[\"organizationName\"];\n this.name = _data[\"name\"];\n this.pdfWritingSystem = _data[\"pdfWritingSystem\"];\n this.timePeriod = _data[\"timePeriod\"] ? TimePeriod.fromJS(_data[\"timePeriod\"]) : new TimePeriod();\n this.coverPhoto = _data[\"coverPhoto\"] ? CoverPhoto.fromJS(_data[\"coverPhoto\"]) : undefined;\n this.coverPhotoSquare = _data[\"coverPhotoSquare\"] ? CoverPhoto.fromJS(_data[\"coverPhotoSquare\"]) : undefined;\n this.createdDate = _data[\"createdDate\"] ? new Date(_data[\"createdDate\"].toString()) : undefined;\n this.modifiedDate = _data[\"modifiedDate\"] ? new Date(_data[\"modifiedDate\"].toString()) : undefined;\n this.status = _data[\"status\"];\n this.brandColor = _data[\"brandColor\"];\n this.tableHeadColor = _data[\"tableHeadColor\"];\n this.organizationLogo = _data[\"organizationLogo\"] ? PictureVm.fromJS(_data[\"organizationLogo\"]) : undefined;\n this.organizationLogoSquare = _data[\"organizationLogoSquare\"] ? PictureVm.fromJS(_data[\"organizationLogoSquare\"]) : undefined;\n if (Array.isArray(_data[\"mainLevels\"])) {\n this.mainLevels = [] as any;\n for (let item of _data[\"mainLevels\"])\n this.mainLevels!.push(ReportMainLevelVm.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): GetCompleteReportDataVm {\n data = typeof data === 'object' ? data : {};\n let result = new GetCompleteReportDataVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"organizationName\"] = this.organizationName;\n data[\"name\"] = this.name;\n data[\"pdfWritingSystem\"] = this.pdfWritingSystem;\n data[\"timePeriod\"] = this.timePeriod ? this.timePeriod.toJSON() : undefined;\n data[\"coverPhoto\"] = this.coverPhoto ? this.coverPhoto.toJSON() : undefined;\n data[\"coverPhotoSquare\"] = this.coverPhotoSquare ? this.coverPhotoSquare.toJSON() : undefined;\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : undefined;\n data[\"modifiedDate\"] = this.modifiedDate ? this.modifiedDate.toISOString() : undefined;\n data[\"status\"] = this.status;\n data[\"brandColor\"] = this.brandColor;\n data[\"tableHeadColor\"] = this.tableHeadColor;\n data[\"organizationLogo\"] = this.organizationLogo ? this.organizationLogo.toJSON() : undefined;\n data[\"organizationLogoSquare\"] = this.organizationLogoSquare ? this.organizationLogoSquare.toJSON() : undefined;\n if (Array.isArray(this.mainLevels)) {\n data[\"mainLevels\"] = [];\n for (let item of this.mainLevels)\n data[\"mainLevels\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IGetCompleteReportDataVm {\n id: string;\n organizationName: string;\n name: string;\n pdfWritingSystem: PdfWritingSystem;\n timePeriod: TimePeriod;\n coverPhoto?: CoverPhoto | undefined;\n coverPhotoSquare?: CoverPhoto | undefined;\n createdDate: Date;\n modifiedDate: Date;\n status: ReportStatus;\n brandColor?: string | undefined;\n tableHeadColor?: string | undefined;\n organizationLogo?: PictureVm | undefined;\n organizationLogoSquare?: PictureVm | undefined;\n mainLevels: ReportMainLevelVm[];\n}\n\nexport class ReportMainLevelVm implements IReportMainLevelVm {\n id!: string;\n name!: string;\n topics!: ReportTopicVm[];\n\n constructor(data?: IReportMainLevelVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.topics = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"topics\"])) {\n this.topics = [] as any;\n for (let item of _data[\"topics\"])\n this.topics!.push(ReportTopicVm.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ReportMainLevelVm {\n data = typeof data === 'object' ? data : {};\n let result = new ReportMainLevelVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n if (Array.isArray(this.topics)) {\n data[\"topics\"] = [];\n for (let item of this.topics)\n data[\"topics\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IReportMainLevelVm {\n id: string;\n name: string;\n topics: ReportTopicVm[];\n}\n\nexport class ReportTopicVm implements IReportTopicVm {\n id!: string;\n mainLevelId!: string;\n name!: string;\n topicItems!: TopicItemVm[];\n\n constructor(data?: IReportTopicVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.topicItems = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.mainLevelId = _data[\"mainLevelId\"];\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"topicItems\"])) {\n this.topicItems = [] as any;\n for (let item of _data[\"topicItems\"])\n this.topicItems!.push(TopicItemVm.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ReportTopicVm {\n data = typeof data === 'object' ? data : {};\n let result = new ReportTopicVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"mainLevelId\"] = this.mainLevelId;\n data[\"name\"] = this.name;\n if (Array.isArray(this.topicItems)) {\n data[\"topicItems\"] = [];\n for (let item of this.topicItems)\n data[\"topicItems\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IReportTopicVm {\n id: string;\n mainLevelId: string;\n name: string;\n topicItems: TopicItemVm[];\n}\n\nexport class GetReportByIdQueryResponse implements IGetReportByIdQueryResponse {\n result!: Report;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetReportByIdQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new Report();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? Report.fromJS(_data[\"result\"]) : new Report();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetReportByIdQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetReportByIdQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetReportByIdQueryResponse {\n result: Report;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetReportsQueryResponse implements IGetReportsQueryResponse {\n result!: Report[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetReportsQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(Report.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetReportsQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetReportsQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetReportsQueryResponse {\n result: Report[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CreateTopicItemCommandResponse implements ICreateTopicItemCommandResponse {\n result!: CreateTopicItemVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: ICreateTopicItemCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new CreateTopicItemVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? CreateTopicItemVm.fromJS(_data[\"result\"]) : new CreateTopicItemVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CreateTopicItemCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CreateTopicItemCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICreateTopicItemCommandResponse {\n result: CreateTopicItemVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CreateTopicItemVm implements ICreateTopicItemVm {\n id!: string;\n status!: TopicItemStatus;\n\n constructor(data?: ICreateTopicItemVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.status = _data[\"status\"];\n }\n }\n\n static fromJS(data: any): CreateTopicItemVm {\n data = typeof data === 'object' ? data : {};\n let result = new CreateTopicItemVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"status\"] = this.status;\n return data;\n }\n}\n\nexport interface ICreateTopicItemVm {\n id: string;\n status: TopicItemStatus;\n}\n\nexport class CreateTopicItemCommandParams implements ICreateTopicItemCommandParams {\n reportId!: string;\n mainLevelId!: string;\n topicId!: string;\n\n protected _discriminator: string;\n\n constructor(data?: ICreateTopicItemCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n this._discriminator = \"CreateTopicItemCommandParams\";\n }\n\n init(_data?: any) {\n if (_data) {\n this.reportId = _data[\"reportId\"];\n this.mainLevelId = _data[\"mainLevelId\"];\n this.topicId = _data[\"topicId\"];\n }\n }\n\n static fromJS(data: any): CreateTopicItemCommandParams {\n data = typeof data === 'object' ? data : {};\n if (data[\"type\"] === \"NewIndicator\") {\n let result = new CreateNewIndicatorTopicItemCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"TextDisclosure\") {\n let result = new CreateTextDisclosureTopicItemCommandParams();\n result.init(data);\n return result;\n }\n let result = new CreateTopicItemCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this._discriminator;\n data[\"reportId\"] = this.reportId;\n data[\"mainLevelId\"] = this.mainLevelId;\n data[\"topicId\"] = this.topicId;\n return data;\n }\n}\n\nexport interface ICreateTopicItemCommandParams {\n reportId: string;\n mainLevelId: string;\n topicId: string;\n}\n\nexport class CreateNewIndicatorTopicItemCommandParams extends CreateTopicItemCommandParams implements ICreateNewIndicatorTopicItemCommandParams {\n readonly type!: TopicItemType;\n name!: string;\n indicatorIds!: string[];\n\n constructor(data?: ICreateNewIndicatorTopicItemCommandParams) {\n super(data);\n if (!data) {\n this.indicatorIds = [];\n }\n this._discriminator = \"NewIndicator\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"indicatorIds\"])) {\n this.indicatorIds = [] as any;\n for (let item of _data[\"indicatorIds\"])\n this.indicatorIds!.push(item);\n }\n }\n }\n\n static override fromJS(data: any): CreateNewIndicatorTopicItemCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateNewIndicatorTopicItemCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"name\"] = this.name;\n if (Array.isArray(this.indicatorIds)) {\n data[\"indicatorIds\"] = [];\n for (let item of this.indicatorIds)\n data[\"indicatorIds\"].push(item);\n }\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateNewIndicatorTopicItemCommandParams extends ICreateTopicItemCommandParams {\n type: TopicItemType;\n name: string;\n indicatorIds: string[];\n}\n\nexport class CreateTextDisclosureTopicItemCommandParams extends CreateTopicItemCommandParams implements ICreateTextDisclosureTopicItemCommandParams {\n readonly type!: TopicItemType;\n name!: string;\n description!: string;\n referenceStandards!: string;\n\n constructor(data?: ICreateTextDisclosureTopicItemCommandParams) {\n super(data);\n this._discriminator = \"TextDisclosure\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.name = _data[\"name\"];\n this.description = _data[\"description\"];\n this.referenceStandards = _data[\"referenceStandards\"];\n }\n }\n\n static override fromJS(data: any): CreateTextDisclosureTopicItemCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateTextDisclosureTopicItemCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"name\"] = this.name;\n data[\"description\"] = this.description;\n data[\"referenceStandards\"] = this.referenceStandards;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateTextDisclosureTopicItemCommandParams extends ICreateTopicItemCommandParams {\n type: TopicItemType;\n name: string;\n description: string;\n referenceStandards: string;\n}\n\nexport class DeleteTopicItemCommandParams implements IDeleteTopicItemCommandParams {\n topicItemId!: string;\n\n constructor(data?: IDeleteTopicItemCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.topicItemId = _data[\"topicItemId\"];\n }\n }\n\n static fromJS(data: any): DeleteTopicItemCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteTopicItemCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"topicItemId\"] = this.topicItemId;\n return data;\n }\n}\n\nexport interface IDeleteTopicItemCommandParams {\n topicItemId: string;\n}\n\nexport class DeleteTopicItemCommandResponse implements IDeleteTopicItemCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IDeleteTopicItemCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DeleteTopicItemCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteTopicItemCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDeleteTopicItemCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class MoveTopicItemCommandParams implements IMoveTopicItemCommandParams {\n reportId!: string;\n mainLevelId!: string;\n topicId!: string;\n topicItemId!: string;\n prevIndex!: number;\n newIndex!: number;\n\n constructor(data?: IMoveTopicItemCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.reportId = _data[\"reportId\"];\n this.mainLevelId = _data[\"mainLevelId\"];\n this.topicId = _data[\"topicId\"];\n this.topicItemId = _data[\"topicItemId\"];\n this.prevIndex = _data[\"prevIndex\"];\n this.newIndex = _data[\"newIndex\"];\n }\n }\n\n static fromJS(data: any): MoveTopicItemCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new MoveTopicItemCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"reportId\"] = this.reportId;\n data[\"mainLevelId\"] = this.mainLevelId;\n data[\"topicId\"] = this.topicId;\n data[\"topicItemId\"] = this.topicItemId;\n data[\"prevIndex\"] = this.prevIndex;\n data[\"newIndex\"] = this.newIndex;\n return data;\n }\n}\n\nexport interface IMoveTopicItemCommandParams {\n reportId: string;\n mainLevelId: string;\n topicId: string;\n topicItemId: string;\n prevIndex: number;\n newIndex: number;\n}\n\nexport class MoveTopicItemCommandResponse implements IMoveTopicItemCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IMoveTopicItemCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): MoveTopicItemCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new MoveTopicItemCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IMoveTopicItemCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class RefreshTopicItemNewIndicatorValuesCommandResponse implements IRefreshTopicItemNewIndicatorValuesCommandResponse {\n result!: RefreshTopicItemNewIndicatorValuesVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IRefreshTopicItemNewIndicatorValuesCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new RefreshTopicItemNewIndicatorValuesVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? RefreshTopicItemNewIndicatorValuesVm.fromJS(_data[\"result\"]) : new RefreshTopicItemNewIndicatorValuesVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): RefreshTopicItemNewIndicatorValuesCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new RefreshTopicItemNewIndicatorValuesCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IRefreshTopicItemNewIndicatorValuesCommandResponse {\n result: RefreshTopicItemNewIndicatorValuesVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class RefreshTopicItemNewIndicatorValuesVm implements IRefreshTopicItemNewIndicatorValuesVm {\n\n constructor(data?: IRefreshTopicItemNewIndicatorValuesVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n }\n\n static fromJS(data: any): RefreshTopicItemNewIndicatorValuesVm {\n data = typeof data === 'object' ? data : {};\n let result = new RefreshTopicItemNewIndicatorValuesVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n return data;\n }\n}\n\nexport interface IRefreshTopicItemNewIndicatorValuesVm {\n}\n\nexport class UpdateTopicItemCommandParams implements IUpdateTopicItemCommandParams {\n topicItemId!: string;\n name!: string;\n\n protected _discriminator: string;\n\n constructor(data?: IUpdateTopicItemCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n this._discriminator = \"UpdateTopicItemCommandParams\";\n }\n\n init(_data?: any) {\n if (_data) {\n this.topicItemId = _data[\"topicItemId\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): UpdateTopicItemCommandParams {\n data = typeof data === 'object' ? data : {};\n if (data[\"type\"] === \"NewIndicator\") {\n let result = new UpdateNewIndicatorTopicItemCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"TextDisclosure\") {\n let result = new UpdateTextDisclosureTopicItemCommandParams();\n result.init(data);\n return result;\n }\n let result = new UpdateTopicItemCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this._discriminator;\n data[\"topicItemId\"] = this.topicItemId;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface IUpdateTopicItemCommandParams {\n topicItemId: string;\n name: string;\n}\n\nexport class UpdateNewIndicatorTopicItemCommandParams extends UpdateTopicItemCommandParams implements IUpdateNewIndicatorTopicItemCommandParams {\n readonly type!: TopicItemType;\n indicatorIds!: string[];\n\n constructor(data?: IUpdateNewIndicatorTopicItemCommandParams) {\n super(data);\n if (!data) {\n this.indicatorIds = [];\n }\n this._discriminator = \"NewIndicator\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n if (Array.isArray(_data[\"indicatorIds\"])) {\n this.indicatorIds = [] as any;\n for (let item of _data[\"indicatorIds\"])\n this.indicatorIds!.push(item);\n }\n }\n }\n\n static override fromJS(data: any): UpdateNewIndicatorTopicItemCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateNewIndicatorTopicItemCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n if (Array.isArray(this.indicatorIds)) {\n data[\"indicatorIds\"] = [];\n for (let item of this.indicatorIds)\n data[\"indicatorIds\"].push(item);\n }\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateNewIndicatorTopicItemCommandParams extends IUpdateTopicItemCommandParams {\n type: TopicItemType;\n indicatorIds: string[];\n}\n\nexport class UpdateTextDisclosureTopicItemCommandParams extends UpdateTopicItemCommandParams implements IUpdateTextDisclosureTopicItemCommandParams {\n readonly type!: TopicItemType;\n description!: string;\n referenceStandards!: string;\n\n constructor(data?: IUpdateTextDisclosureTopicItemCommandParams) {\n super(data);\n this._discriminator = \"TextDisclosure\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.description = _data[\"description\"];\n this.referenceStandards = _data[\"referenceStandards\"];\n }\n }\n\n static override fromJS(data: any): UpdateTextDisclosureTopicItemCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateTextDisclosureTopicItemCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"description\"] = this.description;\n data[\"referenceStandards\"] = this.referenceStandards;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateTextDisclosureTopicItemCommandParams extends IUpdateTopicItemCommandParams {\n type: TopicItemType;\n description: string;\n referenceStandards: string;\n}\n\nexport class UpdateTopicItemCommandResponse implements IUpdateTopicItemCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IUpdateTopicItemCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): UpdateTopicItemCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateTopicItemCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IUpdateTopicItemCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class UpdateTopicItemResponsiblePersonCommandParams implements IUpdateTopicItemResponsiblePersonCommandParams {\n topicItemId!: string;\n responsiblePersonId?: string | undefined;\n\n constructor(data?: IUpdateTopicItemResponsiblePersonCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.topicItemId = _data[\"topicItemId\"];\n this.responsiblePersonId = _data[\"responsiblePersonId\"];\n }\n }\n\n static fromJS(data: any): UpdateTopicItemResponsiblePersonCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateTopicItemResponsiblePersonCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"topicItemId\"] = this.topicItemId;\n data[\"responsiblePersonId\"] = this.responsiblePersonId;\n return data;\n }\n}\n\nexport interface IUpdateTopicItemResponsiblePersonCommandParams {\n topicItemId: string;\n responsiblePersonId?: string | undefined;\n}\n\nexport class UpdateTopicItemResponsiblePersonCommandResponse implements IUpdateTopicItemResponsiblePersonCommandResponse {\n result!: UpdateTopicItemResponsiblePersonVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IUpdateTopicItemResponsiblePersonCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new UpdateTopicItemResponsiblePersonVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? UpdateTopicItemResponsiblePersonVm.fromJS(_data[\"result\"]) : new UpdateTopicItemResponsiblePersonVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): UpdateTopicItemResponsiblePersonCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateTopicItemResponsiblePersonCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IUpdateTopicItemResponsiblePersonCommandResponse {\n result: UpdateTopicItemResponsiblePersonVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class UpdateTopicItemResponsiblePersonVm implements IUpdateTopicItemResponsiblePersonVm {\n modifiedDate!: Date;\n\n constructor(data?: IUpdateTopicItemResponsiblePersonVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.modifiedDate = _data[\"modifiedDate\"] ? new Date(_data[\"modifiedDate\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): UpdateTopicItemResponsiblePersonVm {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateTopicItemResponsiblePersonVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"modifiedDate\"] = this.modifiedDate ? this.modifiedDate.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IUpdateTopicItemResponsiblePersonVm {\n modifiedDate: Date;\n}\n\nexport class UpdateTopicItemStatusCommandParams implements IUpdateTopicItemStatusCommandParams {\n topicItemId!: string;\n status!: TopicItemStatus;\n\n constructor(data?: IUpdateTopicItemStatusCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.topicItemId = _data[\"topicItemId\"];\n this.status = _data[\"status\"];\n }\n }\n\n static fromJS(data: any): UpdateTopicItemStatusCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateTopicItemStatusCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"topicItemId\"] = this.topicItemId;\n data[\"status\"] = this.status;\n return data;\n }\n}\n\nexport interface IUpdateTopicItemStatusCommandParams {\n topicItemId: string;\n status: TopicItemStatus;\n}\n\nexport class UpdateTopicItemStatusCommandResponse implements IUpdateTopicItemStatusCommandResponse {\n result!: UpdateTopicItemStatusVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IUpdateTopicItemStatusCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new UpdateTopicItemStatusVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? UpdateTopicItemStatusVm.fromJS(_data[\"result\"]) : new UpdateTopicItemStatusVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): UpdateTopicItemStatusCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateTopicItemStatusCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IUpdateTopicItemStatusCommandResponse {\n result: UpdateTopicItemStatusVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class UpdateTopicItemStatusVm implements IUpdateTopicItemStatusVm {\n modifiedDate!: Date;\n\n constructor(data?: IUpdateTopicItemStatusVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.modifiedDate = _data[\"modifiedDate\"] ? new Date(_data[\"modifiedDate\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): UpdateTopicItemStatusVm {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateTopicItemStatusVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"modifiedDate\"] = this.modifiedDate ? this.modifiedDate.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IUpdateTopicItemStatusVm {\n modifiedDate: Date;\n}\n\nexport class UpdateTopicItemVisibilityCommandParams implements IUpdateTopicItemVisibilityCommandParams {\n topicItemId!: string;\n visible!: boolean;\n\n constructor(data?: IUpdateTopicItemVisibilityCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.topicItemId = _data[\"topicItemId\"];\n this.visible = _data[\"visible\"];\n }\n }\n\n static fromJS(data: any): UpdateTopicItemVisibilityCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateTopicItemVisibilityCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"topicItemId\"] = this.topicItemId;\n data[\"visible\"] = this.visible;\n return data;\n }\n}\n\nexport interface IUpdateTopicItemVisibilityCommandParams {\n topicItemId: string;\n visible: boolean;\n}\n\nexport class UpdateTopicItemVisibilityCommandResponse implements IUpdateTopicItemVisibilityCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IUpdateTopicItemVisibilityCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): UpdateTopicItemVisibilityCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateTopicItemVisibilityCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IUpdateTopicItemVisibilityCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class ReportAllTopicItemVm implements IReportAllTopicItemVm {\n id!: string;\n name!: string;\n status!: TopicItemStatus;\n visible!: boolean;\n responsiblePersonId?: string | undefined;\n responsiblePersonName?: string | undefined;\n modifiedDate?: Date | undefined;\n type!: TopicItemType;\n\n constructor(data?: IReportAllTopicItemVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.status = _data[\"status\"];\n this.visible = _data[\"visible\"];\n this.responsiblePersonId = _data[\"responsiblePersonId\"];\n this.responsiblePersonName = _data[\"responsiblePersonName\"];\n this.modifiedDate = _data[\"modifiedDate\"] ? new Date(_data[\"modifiedDate\"].toString()) : undefined;\n this.type = _data[\"type\"];\n }\n }\n\n static fromJS(data: any): ReportAllTopicItemVm {\n data = typeof data === 'object' ? data : {};\n let result = new ReportAllTopicItemVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"status\"] = this.status;\n data[\"visible\"] = this.visible;\n data[\"responsiblePersonId\"] = this.responsiblePersonId;\n data[\"responsiblePersonName\"] = this.responsiblePersonName;\n data[\"modifiedDate\"] = this.modifiedDate ? this.modifiedDate.toISOString() : undefined;\n data[\"type\"] = this.type;\n return data;\n }\n}\n\nexport interface IReportAllTopicItemVm {\n id: string;\n name: string;\n status: TopicItemStatus;\n visible: boolean;\n responsiblePersonId?: string | undefined;\n responsiblePersonName?: string | undefined;\n modifiedDate?: Date | undefined;\n type: TopicItemType;\n}\n\nexport class ReportTopicItemVm implements IReportTopicItemVm {\n id!: string;\n name!: string;\n status!: TopicItemStatus;\n visible!: boolean;\n responsiblePersonId?: string | undefined;\n responsiblePersonName?: string | undefined;\n modifiedDate?: Date | undefined;\n\n constructor(data?: IReportTopicItemVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.status = _data[\"status\"];\n this.visible = _data[\"visible\"];\n this.responsiblePersonId = _data[\"responsiblePersonId\"];\n this.responsiblePersonName = _data[\"responsiblePersonName\"];\n this.modifiedDate = _data[\"modifiedDate\"] ? new Date(_data[\"modifiedDate\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): ReportTopicItemVm {\n data = typeof data === 'object' ? data : {};\n let result = new ReportTopicItemVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"status\"] = this.status;\n data[\"visible\"] = this.visible;\n data[\"responsiblePersonId\"] = this.responsiblePersonId;\n data[\"responsiblePersonName\"] = this.responsiblePersonName;\n data[\"modifiedDate\"] = this.modifiedDate ? this.modifiedDate.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IReportTopicItemVm {\n id: string;\n name: string;\n status: TopicItemStatus;\n visible: boolean;\n responsiblePersonId?: string | undefined;\n responsiblePersonName?: string | undefined;\n modifiedDate?: Date | undefined;\n}\n\nexport class GetResponsiblePersonTopicItemsQueryResponse implements IGetResponsiblePersonTopicItemsQueryResponse {\n result!: GetResponsiblePersonTopicItemsVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetResponsiblePersonTopicItemsQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new GetResponsiblePersonTopicItemsVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? GetResponsiblePersonTopicItemsVm.fromJS(_data[\"result\"]) : new GetResponsiblePersonTopicItemsVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetResponsiblePersonTopicItemsQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetResponsiblePersonTopicItemsQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetResponsiblePersonTopicItemsQueryResponse {\n result: GetResponsiblePersonTopicItemsVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetResponsiblePersonTopicItemsVm implements IGetResponsiblePersonTopicItemsVm {\n topicItems!: ResponsiblePersonTopicItemVm[];\n\n constructor(data?: IGetResponsiblePersonTopicItemsVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.topicItems = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"topicItems\"])) {\n this.topicItems = [] as any;\n for (let item of _data[\"topicItems\"])\n this.topicItems!.push(ResponsiblePersonTopicItemVm.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): GetResponsiblePersonTopicItemsVm {\n data = typeof data === 'object' ? data : {};\n let result = new GetResponsiblePersonTopicItemsVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.topicItems)) {\n data[\"topicItems\"] = [];\n for (let item of this.topicItems)\n data[\"topicItems\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IGetResponsiblePersonTopicItemsVm {\n topicItems: ResponsiblePersonTopicItemVm[];\n}\n\nexport class ResponsiblePersonTopicItemVm implements IResponsiblePersonTopicItemVm {\n topicItemId!: string;\n topicId!: string;\n reportId!: string;\n status!: TopicItemStatus;\n name!: string;\n reportName!: string;\n lastEdited!: Date;\n\n constructor(data?: IResponsiblePersonTopicItemVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.topicItemId = _data[\"topicItemId\"];\n this.topicId = _data[\"topicId\"];\n this.reportId = _data[\"reportId\"];\n this.status = _data[\"status\"];\n this.name = _data[\"name\"];\n this.reportName = _data[\"reportName\"];\n this.lastEdited = _data[\"lastEdited\"] ? new Date(_data[\"lastEdited\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): ResponsiblePersonTopicItemVm {\n data = typeof data === 'object' ? data : {};\n let result = new ResponsiblePersonTopicItemVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"topicItemId\"] = this.topicItemId;\n data[\"topicId\"] = this.topicId;\n data[\"reportId\"] = this.reportId;\n data[\"status\"] = this.status;\n data[\"name\"] = this.name;\n data[\"reportName\"] = this.reportName;\n data[\"lastEdited\"] = this.lastEdited ? this.lastEdited.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IResponsiblePersonTopicItemVm {\n topicItemId: string;\n topicId: string;\n reportId: string;\n status: TopicItemStatus;\n name: string;\n reportName: string;\n lastEdited: Date;\n}\n\nexport class TopicItemVm implements ITopicItemVm {\n id!: string;\n name!: string;\n visible!: boolean;\n\n protected _discriminator: string;\n\n constructor(data?: ITopicItemVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n this._discriminator = \"TopicItemVm\";\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.visible = _data[\"visible\"];\n }\n }\n\n static fromJS(data: any): TopicItemVm {\n data = typeof data === 'object' ? data : {};\n if (data[\"type\"] === \"NewIndicator\") {\n let result = new NewIndicatorTopicItemVm();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"TextDisclosure\") {\n let result = new TextDisclosureTopicItemVm();\n result.init(data);\n return result;\n }\n let result = new TopicItemVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this._discriminator;\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"visible\"] = this.visible;\n return data;\n }\n}\n\nexport interface ITopicItemVm {\n id: string;\n name: string;\n visible: boolean;\n}\n\nexport class NewIndicatorTopicItemVm extends TopicItemVm implements INewIndicatorTopicItemVm {\n readonly type!: TopicItemType;\n dataValues!: NewIndicatorDataValues[];\n components!: Component[];\n updateDate!: Date;\n status!: TopicItemStatus;\n\n constructor(data?: INewIndicatorTopicItemVm) {\n super(data);\n if (!data) {\n this.dataValues = [];\n this.components = [];\n }\n this._discriminator = \"NewIndicator\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n if (Array.isArray(_data[\"dataValues\"])) {\n this.dataValues = [] as any;\n for (let item of _data[\"dataValues\"])\n this.dataValues!.push(NewIndicatorDataValues.fromJS(item));\n }\n if (Array.isArray(_data[\"components\"])) {\n this.components = [] as any;\n for (let item of _data[\"components\"])\n this.components!.push(Component.fromJS(item));\n }\n this.updateDate = _data[\"updateDate\"] ? new Date(_data[\"updateDate\"].toString()) : undefined;\n this.status = _data[\"status\"];\n }\n }\n\n static override fromJS(data: any): NewIndicatorTopicItemVm {\n data = typeof data === 'object' ? data : {};\n let result = new NewIndicatorTopicItemVm();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n if (Array.isArray(this.dataValues)) {\n data[\"dataValues\"] = [];\n for (let item of this.dataValues)\n data[\"dataValues\"].push(item.toJSON());\n }\n if (Array.isArray(this.components)) {\n data[\"components\"] = [];\n for (let item of this.components)\n data[\"components\"].push(item.toJSON());\n }\n data[\"updateDate\"] = this.updateDate ? this.updateDate.toISOString() : undefined;\n data[\"status\"] = this.status;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface INewIndicatorTopicItemVm extends ITopicItemVm {\n type: TopicItemType;\n dataValues: NewIndicatorDataValues[];\n components: Component[];\n updateDate: Date;\n status: TopicItemStatus;\n}\n\nexport class TextDisclosureTopicItemVm extends TopicItemVm implements ITextDisclosureTopicItemVm {\n readonly type!: TopicItemType;\n description!: string;\n referenceStandards!: string;\n components!: Component[];\n status!: TopicItemStatus;\n\n constructor(data?: ITextDisclosureTopicItemVm) {\n super(data);\n if (!data) {\n this.components = [];\n }\n this._discriminator = \"TextDisclosure\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.description = _data[\"description\"];\n this.referenceStandards = _data[\"referenceStandards\"];\n if (Array.isArray(_data[\"components\"])) {\n this.components = [] as any;\n for (let item of _data[\"components\"])\n this.components!.push(Component.fromJS(item));\n }\n this.status = _data[\"status\"];\n }\n }\n\n static override fromJS(data: any): TextDisclosureTopicItemVm {\n data = typeof data === 'object' ? data : {};\n let result = new TextDisclosureTopicItemVm();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"description\"] = this.description;\n data[\"referenceStandards\"] = this.referenceStandards;\n if (Array.isArray(this.components)) {\n data[\"components\"] = [];\n for (let item of this.components)\n data[\"components\"].push(item.toJSON());\n }\n data[\"status\"] = this.status;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ITextDisclosureTopicItemVm extends ITopicItemVm {\n type: TopicItemType;\n description: string;\n referenceStandards: string;\n components: Component[];\n status: TopicItemStatus;\n}\n\nexport class Component implements IComponent {\n id!: string;\n reportId!: string;\n type!: ComponentType;\n title!: string;\n isVisibleInReport?: boolean | undefined;\n content?: any | undefined;\n\n constructor(data?: IComponent) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.reportId = _data[\"reportId\"];\n this.type = _data[\"type\"];\n this.title = _data[\"title\"];\n this.isVisibleInReport = _data[\"isVisibleInReport\"];\n this.content = _data[\"content\"];\n }\n }\n\n static fromJS(data: any): Component {\n data = typeof data === 'object' ? data : {};\n let result = new Component();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"reportId\"] = this.reportId;\n data[\"type\"] = this.type;\n data[\"title\"] = this.title;\n data[\"isVisibleInReport\"] = this.isVisibleInReport;\n data[\"content\"] = this.content;\n return data;\n }\n}\n\nexport interface IComponent {\n id: string;\n reportId: string;\n type: ComponentType;\n title: string;\n isVisibleInReport?: boolean | undefined;\n content?: any | undefined;\n}\n\nexport enum ComponentType {\n Text = \"Text\",\n Picture = \"Picture\",\n ImportFromExcel = \"ImportFromExcel\",\n Indicator = \"Indicator\",\n Narrative = \"Narrative\",\n}\n\nexport enum PdfWritingSystem {\n English = \"English\",\n Chinese = \"Chinese\",\n Japanese = \"Japanese\",\n Korean = \"Korean\",\n Thai = \"Thai\",\n}\n\nexport enum ReportStatus {\n Todo = \"Todo\",\n InProgress = \"InProgress\",\n ToAudit = \"ToAudit\",\n Completed = \"Completed\",\n ToVerify = \"ToVerify\",\n}\n\nexport enum ReportVersion {\n V1 = \"V1\",\n V2 = \"V2\",\n}\n\nexport enum TopicItemStatus {\n Todo = \"Todo\",\n InProgress = \"InProgress\",\n ToAudit = \"ToAudit\",\n Completed = \"Completed\",\n ToVerify = \"ToVerify\",\n}\n\nexport enum TopicItemType {\n Article = \"Article\",\n DataValueIndicator = \"DataValueIndicator\",\n TextIndicator = \"TextIndicator\",\n NewIndicator = \"NewIndicator\",\n TextDisclosure = \"TextDisclosure\",\n}\n\nexport class CoverPhoto implements ICoverPhoto {\n blobName!: string;\n blobThumbnailName?: string | undefined;\n fileName!: string;\n\n constructor(data?: ICoverPhoto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.blobName = _data[\"blobName\"];\n this.blobThumbnailName = _data[\"blobThumbnailName\"];\n this.fileName = _data[\"fileName\"];\n }\n }\n\n static fromJS(data: any): CoverPhoto {\n data = typeof data === 'object' ? data : {};\n let result = new CoverPhoto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"blobName\"] = this.blobName;\n data[\"blobThumbnailName\"] = this.blobThumbnailName;\n data[\"fileName\"] = this.fileName;\n return data;\n }\n}\n\nexport interface ICoverPhoto {\n blobName: string;\n blobThumbnailName?: string | undefined;\n fileName: string;\n}\n\nexport class Report implements IReport {\n organizationId!: string;\n organizationName!: string;\n subOrganizationId?: string | undefined;\n subOrganizationName?: string | undefined;\n includeNestedSubOrganizations!: boolean;\n name!: string;\n timePeriod!: TimePeriod;\n coverPhoto?: CoverPhoto | undefined;\n coverPhotoSquare?: CoverPhoto | undefined;\n createdDate!: Date;\n modifiedDate!: Date;\n status!: ReportStatus;\n pdfWritingSystem!: PdfWritingSystem;\n mainLevels!: ReportMainLevel[];\n reportVersion!: ReportVersion;\n valueStatus!: IndicatorValueStatus;\n id!: string;\n pk?: string | undefined;\n\n constructor(data?: IReport) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.timePeriod = new TimePeriod();\n this.mainLevels = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.organizationId = _data[\"organizationId\"];\n this.organizationName = _data[\"organizationName\"];\n this.subOrganizationId = _data[\"subOrganizationId\"];\n this.subOrganizationName = _data[\"subOrganizationName\"];\n this.includeNestedSubOrganizations = _data[\"includeNestedSubOrganizations\"];\n this.name = _data[\"name\"];\n this.timePeriod = _data[\"timePeriod\"] ? TimePeriod.fromJS(_data[\"timePeriod\"]) : new TimePeriod();\n this.coverPhoto = _data[\"coverPhoto\"] ? CoverPhoto.fromJS(_data[\"coverPhoto\"]) : undefined;\n this.coverPhotoSquare = _data[\"coverPhotoSquare\"] ? CoverPhoto.fromJS(_data[\"coverPhotoSquare\"]) : undefined;\n this.createdDate = _data[\"createdDate\"] ? new Date(_data[\"createdDate\"].toString()) : undefined;\n this.modifiedDate = _data[\"modifiedDate\"] ? new Date(_data[\"modifiedDate\"].toString()) : undefined;\n this.status = _data[\"status\"];\n this.pdfWritingSystem = _data[\"pdfWritingSystem\"];\n if (Array.isArray(_data[\"mainLevels\"])) {\n this.mainLevels = [] as any;\n for (let item of _data[\"mainLevels\"])\n this.mainLevels!.push(ReportMainLevel.fromJS(item));\n }\n this.reportVersion = _data[\"reportVersion\"];\n this.valueStatus = _data[\"valueStatus\"];\n this.id = _data[\"id\"];\n this.pk = _data[\"pk\"];\n }\n }\n\n static fromJS(data: any): Report {\n data = typeof data === 'object' ? data : {};\n let result = new Report();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"organizationId\"] = this.organizationId;\n data[\"organizationName\"] = this.organizationName;\n data[\"subOrganizationId\"] = this.subOrganizationId;\n data[\"subOrganizationName\"] = this.subOrganizationName;\n data[\"includeNestedSubOrganizations\"] = this.includeNestedSubOrganizations;\n data[\"name\"] = this.name;\n data[\"timePeriod\"] = this.timePeriod ? this.timePeriod.toJSON() : undefined;\n data[\"coverPhoto\"] = this.coverPhoto ? this.coverPhoto.toJSON() : undefined;\n data[\"coverPhotoSquare\"] = this.coverPhotoSquare ? this.coverPhotoSquare.toJSON() : undefined;\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : undefined;\n data[\"modifiedDate\"] = this.modifiedDate ? this.modifiedDate.toISOString() : undefined;\n data[\"status\"] = this.status;\n data[\"pdfWritingSystem\"] = this.pdfWritingSystem;\n if (Array.isArray(this.mainLevels)) {\n data[\"mainLevels\"] = [];\n for (let item of this.mainLevels)\n data[\"mainLevels\"].push(item.toJSON());\n }\n data[\"reportVersion\"] = this.reportVersion;\n data[\"valueStatus\"] = this.valueStatus;\n data[\"id\"] = this.id;\n data[\"pk\"] = this.pk;\n return data;\n }\n}\n\nexport interface IReport {\n organizationId: string;\n organizationName: string;\n subOrganizationId?: string | undefined;\n subOrganizationName?: string | undefined;\n includeNestedSubOrganizations: boolean;\n name: string;\n timePeriod: TimePeriod;\n coverPhoto?: CoverPhoto | undefined;\n coverPhotoSquare?: CoverPhoto | undefined;\n createdDate: Date;\n modifiedDate: Date;\n status: ReportStatus;\n pdfWritingSystem: PdfWritingSystem;\n mainLevels: ReportMainLevel[];\n reportVersion: ReportVersion;\n valueStatus: IndicatorValueStatus;\n id: string;\n pk?: string | undefined;\n}\n\nexport class ReportMainLevel implements IReportMainLevel {\n id!: string;\n name!: string;\n topics!: ReportTopic[];\n\n constructor(data?: IReportMainLevel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.topics = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"topics\"])) {\n this.topics = [] as any;\n for (let item of _data[\"topics\"])\n this.topics!.push(ReportTopic.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ReportMainLevel {\n data = typeof data === 'object' ? data : {};\n let result = new ReportMainLevel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n if (Array.isArray(this.topics)) {\n data[\"topics\"] = [];\n for (let item of this.topics)\n data[\"topics\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IReportMainLevel {\n id: string;\n name: string;\n topics: ReportTopic[];\n}\n\nexport class ReportTemplate implements IReportTemplate {\n organizationId!: string;\n exportedFromReportId!: string;\n global!: boolean;\n title!: string;\n shortDescription!: string;\n description!: string;\n coverPhoto!: TemplateCoverPhoto;\n createdDate!: Date;\n modifiedDate!: Date;\n mainLevels!: TemplateMainLevel[];\n reportVersion!: ReportVersion;\n id!: string;\n pk?: string | undefined;\n\n constructor(data?: IReportTemplate) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.coverPhoto = new TemplateCoverPhoto();\n this.mainLevels = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.organizationId = _data[\"organizationId\"];\n this.exportedFromReportId = _data[\"exportedFromReportId\"];\n this.global = _data[\"global\"];\n this.title = _data[\"title\"];\n this.shortDescription = _data[\"shortDescription\"];\n this.description = _data[\"description\"];\n this.coverPhoto = _data[\"coverPhoto\"] ? TemplateCoverPhoto.fromJS(_data[\"coverPhoto\"]) : new TemplateCoverPhoto();\n this.createdDate = _data[\"createdDate\"] ? new Date(_data[\"createdDate\"].toString()) : undefined;\n this.modifiedDate = _data[\"modifiedDate\"] ? new Date(_data[\"modifiedDate\"].toString()) : undefined;\n if (Array.isArray(_data[\"mainLevels\"])) {\n this.mainLevels = [] as any;\n for (let item of _data[\"mainLevels\"])\n this.mainLevels!.push(TemplateMainLevel.fromJS(item));\n }\n this.reportVersion = _data[\"reportVersion\"];\n this.id = _data[\"id\"];\n this.pk = _data[\"pk\"];\n }\n }\n\n static fromJS(data: any): ReportTemplate {\n data = typeof data === 'object' ? data : {};\n let result = new ReportTemplate();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"organizationId\"] = this.organizationId;\n data[\"exportedFromReportId\"] = this.exportedFromReportId;\n data[\"global\"] = this.global;\n data[\"title\"] = this.title;\n data[\"shortDescription\"] = this.shortDescription;\n data[\"description\"] = this.description;\n data[\"coverPhoto\"] = this.coverPhoto ? this.coverPhoto.toJSON() : undefined;\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : undefined;\n data[\"modifiedDate\"] = this.modifiedDate ? this.modifiedDate.toISOString() : undefined;\n if (Array.isArray(this.mainLevels)) {\n data[\"mainLevels\"] = [];\n for (let item of this.mainLevels)\n data[\"mainLevels\"].push(item.toJSON());\n }\n data[\"reportVersion\"] = this.reportVersion;\n data[\"id\"] = this.id;\n data[\"pk\"] = this.pk;\n return data;\n }\n}\n\nexport interface IReportTemplate {\n organizationId: string;\n exportedFromReportId: string;\n global: boolean;\n title: string;\n shortDescription: string;\n description: string;\n coverPhoto: TemplateCoverPhoto;\n createdDate: Date;\n modifiedDate: Date;\n mainLevels: TemplateMainLevel[];\n reportVersion: ReportVersion;\n id: string;\n pk?: string | undefined;\n}\n\nexport class ReportTopic implements IReportTopic {\n id!: string;\n mainLevelId!: string;\n name!: string;\n deactivated!: boolean;\n topicItemIds!: string[];\n\n constructor(data?: IReportTopic) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.topicItemIds = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.mainLevelId = _data[\"mainLevelId\"];\n this.name = _data[\"name\"];\n this.deactivated = _data[\"deactivated\"];\n if (Array.isArray(_data[\"topicItemIds\"])) {\n this.topicItemIds = [] as any;\n for (let item of _data[\"topicItemIds\"])\n this.topicItemIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): ReportTopic {\n data = typeof data === 'object' ? data : {};\n let result = new ReportTopic();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"mainLevelId\"] = this.mainLevelId;\n data[\"name\"] = this.name;\n data[\"deactivated\"] = this.deactivated;\n if (Array.isArray(this.topicItemIds)) {\n data[\"topicItemIds\"] = [];\n for (let item of this.topicItemIds)\n data[\"topicItemIds\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IReportTopic {\n id: string;\n mainLevelId: string;\n name: string;\n deactivated: boolean;\n topicItemIds: string[];\n}\n\nexport class TemplateCoverPhoto implements ITemplateCoverPhoto {\n blobName!: string;\n blobThumbnailName!: string;\n fileName!: string;\n\n constructor(data?: ITemplateCoverPhoto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.blobName = _data[\"blobName\"];\n this.blobThumbnailName = _data[\"blobThumbnailName\"];\n this.fileName = _data[\"fileName\"];\n }\n }\n\n static fromJS(data: any): TemplateCoverPhoto {\n data = typeof data === 'object' ? data : {};\n let result = new TemplateCoverPhoto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"blobName\"] = this.blobName;\n data[\"blobThumbnailName\"] = this.blobThumbnailName;\n data[\"fileName\"] = this.fileName;\n return data;\n }\n}\n\nexport interface ITemplateCoverPhoto {\n blobName: string;\n blobThumbnailName: string;\n fileName: string;\n}\n\nexport class TemplateMainLevel implements ITemplateMainLevel {\n name!: string;\n topics!: TemplateTopic[];\n\n constructor(data?: ITemplateMainLevel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.topics = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"topics\"])) {\n this.topics = [] as any;\n for (let item of _data[\"topics\"])\n this.topics!.push(TemplateTopic.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): TemplateMainLevel {\n data = typeof data === 'object' ? data : {};\n let result = new TemplateMainLevel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n if (Array.isArray(this.topics)) {\n data[\"topics\"] = [];\n for (let item of this.topics)\n data[\"topics\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ITemplateMainLevel {\n name: string;\n topics: TemplateTopic[];\n}\n\nexport class TemplateTopic implements ITemplateTopic {\n name!: string;\n topicItems!: TopicItem[];\n\n constructor(data?: ITemplateTopic) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.topicItems = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"topicItems\"])) {\n this.topicItems = [] as any;\n for (let item of _data[\"topicItems\"])\n this.topicItems!.push(TopicItem.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): TemplateTopic {\n data = typeof data === 'object' ? data : {};\n let result = new TemplateTopic();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n if (Array.isArray(this.topicItems)) {\n data[\"topicItems\"] = [];\n for (let item of this.topicItems)\n data[\"topicItems\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ITemplateTopic {\n name: string;\n topicItems: TopicItem[];\n}\n\nexport class TopicItem implements ITopicItem {\n organizationId!: string;\n readonly reportId!: string;\n readonly mainLevelId!: string;\n readonly topicId!: string;\n name!: string;\n notVisible!: boolean;\n status!: TopicItemStatus;\n responsiblePersonId?: string | undefined;\n createdDate!: Date;\n modifiedDate!: Date;\n id!: string;\n pk?: string | undefined;\n\n protected _discriminator: string;\n\n constructor(data?: ITopicItem) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n this._discriminator = \"TopicItem\";\n }\n\n init(_data?: any) {\n if (_data) {\n this.organizationId = _data[\"organizationId\"];\n (this).reportId = _data[\"reportId\"];\n (this).mainLevelId = _data[\"mainLevelId\"];\n (this).topicId = _data[\"topicId\"];\n this.name = _data[\"name\"];\n this.notVisible = _data[\"notVisible\"];\n this.status = _data[\"status\"];\n this.responsiblePersonId = _data[\"responsiblePersonId\"];\n this.createdDate = _data[\"createdDate\"] ? new Date(_data[\"createdDate\"].toString()) : undefined;\n this.modifiedDate = _data[\"modifiedDate\"] ? new Date(_data[\"modifiedDate\"].toString()) : undefined;\n this.id = _data[\"id\"];\n this.pk = _data[\"pk\"];\n }\n }\n\n static fromJS(data: any): TopicItem {\n data = typeof data === 'object' ? data : {};\n if (data[\"type\"] === \"NewIndicator\") {\n let result = new NewIndicatorTopicItem();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"TextDisclosure\") {\n let result = new TextDisclosureTopicItem();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"Article\") {\n let result = new ArticleTopicItem();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"IndicatorTopicItemBase\") {\n let result = new IndicatorTopicItemBase();\n result.init(data);\n return result;\n }\n let result = new TopicItem();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this._discriminator;\n data[\"organizationId\"] = this.organizationId;\n data[\"reportId\"] = this.reportId;\n data[\"mainLevelId\"] = this.mainLevelId;\n data[\"topicId\"] = this.topicId;\n data[\"name\"] = this.name;\n data[\"notVisible\"] = this.notVisible;\n data[\"status\"] = this.status;\n data[\"responsiblePersonId\"] = this.responsiblePersonId;\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : undefined;\n data[\"modifiedDate\"] = this.modifiedDate ? this.modifiedDate.toISOString() : undefined;\n data[\"id\"] = this.id;\n data[\"pk\"] = this.pk;\n return data;\n }\n}\n\nexport interface ITopicItem {\n organizationId: string;\n reportId: string;\n mainLevelId: string;\n topicId: string;\n name: string;\n notVisible: boolean;\n status: TopicItemStatus;\n responsiblePersonId?: string | undefined;\n createdDate: Date;\n modifiedDate: Date;\n id: string;\n pk?: string | undefined;\n}\n\nexport class ArticleTopicItem extends TopicItem implements IArticleTopicItem {\n readonly type!: TopicItemType;\n components!: Component[];\n\n constructor(data?: IArticleTopicItem) {\n super(data);\n if (!data) {\n this.components = [];\n }\n this._discriminator = \"Article\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n if (Array.isArray(_data[\"components\"])) {\n this.components = [] as any;\n for (let item of _data[\"components\"])\n this.components!.push(Component.fromJS(item));\n }\n }\n }\n\n static override fromJS(data: any): ArticleTopicItem {\n data = typeof data === 'object' ? data : {};\n let result = new ArticleTopicItem();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n if (Array.isArray(this.components)) {\n data[\"components\"] = [];\n for (let item of this.components)\n data[\"components\"].push(item.toJSON());\n }\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IArticleTopicItem extends ITopicItem {\n type: TopicItemType;\n components: Component[];\n}\n\nexport class DataValueIndicatorTopicItem implements IDataValueIndicatorTopicItem {\n readonly type!: TopicItemType;\n indicatorDataValues!: IndicatorDataValues[];\n calculationDate?: Date | undefined;\n description!: string;\n referenceStandards!: string;\n predefinedIndicatorId?: string | undefined;\n components!: Component[];\n organizationId!: string;\n readonly reportId!: string;\n readonly mainLevelId!: string;\n readonly topicId!: string;\n name!: string;\n notVisible!: boolean;\n status!: TopicItemStatus;\n responsiblePersonId?: string | undefined;\n createdDate!: Date;\n modifiedDate!: Date;\n id!: string;\n pk?: string | undefined;\n\n constructor(data?: IDataValueIndicatorTopicItem) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.indicatorDataValues = [];\n this.components = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n (this).type = _data[\"type\"];\n if (Array.isArray(_data[\"indicatorDataValues\"])) {\n this.indicatorDataValues = [] as any;\n for (let item of _data[\"indicatorDataValues\"])\n this.indicatorDataValues!.push(IndicatorDataValues.fromJS(item));\n }\n this.calculationDate = _data[\"calculationDate\"] ? new Date(_data[\"calculationDate\"].toString()) : undefined;\n this.description = _data[\"description\"];\n this.referenceStandards = _data[\"referenceStandards\"];\n this.predefinedIndicatorId = _data[\"predefinedIndicatorId\"];\n if (Array.isArray(_data[\"components\"])) {\n this.components = [] as any;\n for (let item of _data[\"components\"])\n this.components!.push(Component.fromJS(item));\n }\n this.organizationId = _data[\"organizationId\"];\n (this).reportId = _data[\"reportId\"];\n (this).mainLevelId = _data[\"mainLevelId\"];\n (this).topicId = _data[\"topicId\"];\n this.name = _data[\"name\"];\n this.notVisible = _data[\"notVisible\"];\n this.status = _data[\"status\"];\n this.responsiblePersonId = _data[\"responsiblePersonId\"];\n this.createdDate = _data[\"createdDate\"] ? new Date(_data[\"createdDate\"].toString()) : undefined;\n this.modifiedDate = _data[\"modifiedDate\"] ? new Date(_data[\"modifiedDate\"].toString()) : undefined;\n this.id = _data[\"id\"];\n this.pk = _data[\"pk\"];\n }\n }\n\n static fromJS(data: any): DataValueIndicatorTopicItem {\n data = typeof data === 'object' ? data : {};\n let result = new DataValueIndicatorTopicItem();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n if (Array.isArray(this.indicatorDataValues)) {\n data[\"indicatorDataValues\"] = [];\n for (let item of this.indicatorDataValues)\n data[\"indicatorDataValues\"].push(item.toJSON());\n }\n data[\"calculationDate\"] = this.calculationDate ? this.calculationDate.toISOString() : undefined;\n data[\"description\"] = this.description;\n data[\"referenceStandards\"] = this.referenceStandards;\n data[\"predefinedIndicatorId\"] = this.predefinedIndicatorId;\n if (Array.isArray(this.components)) {\n data[\"components\"] = [];\n for (let item of this.components)\n data[\"components\"].push(item.toJSON());\n }\n data[\"organizationId\"] = this.organizationId;\n data[\"reportId\"] = this.reportId;\n data[\"mainLevelId\"] = this.mainLevelId;\n data[\"topicId\"] = this.topicId;\n data[\"name\"] = this.name;\n data[\"notVisible\"] = this.notVisible;\n data[\"status\"] = this.status;\n data[\"responsiblePersonId\"] = this.responsiblePersonId;\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : undefined;\n data[\"modifiedDate\"] = this.modifiedDate ? this.modifiedDate.toISOString() : undefined;\n data[\"id\"] = this.id;\n data[\"pk\"] = this.pk;\n return data;\n }\n}\n\nexport interface IDataValueIndicatorTopicItem {\n type: TopicItemType;\n indicatorDataValues: IndicatorDataValues[];\n calculationDate?: Date | undefined;\n description: string;\n referenceStandards: string;\n predefinedIndicatorId?: string | undefined;\n components: Component[];\n organizationId: string;\n reportId: string;\n mainLevelId: string;\n topicId: string;\n name: string;\n notVisible: boolean;\n status: TopicItemStatus;\n responsiblePersonId?: string | undefined;\n createdDate: Date;\n modifiedDate: Date;\n id: string;\n pk?: string | undefined;\n}\n\nexport class IndicatorTopicItemBase extends TopicItem implements IIndicatorTopicItemBase {\n description!: string;\n referenceStandards!: string;\n predefinedIndicatorId?: string | undefined;\n components!: Component[];\n\n constructor(data?: IIndicatorTopicItemBase) {\n super(data);\n if (!data) {\n this.components = [];\n }\n this._discriminator = \"IndicatorTopicItemBase\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.description = _data[\"description\"];\n this.referenceStandards = _data[\"referenceStandards\"];\n this.predefinedIndicatorId = _data[\"predefinedIndicatorId\"];\n if (Array.isArray(_data[\"components\"])) {\n this.components = [] as any;\n for (let item of _data[\"components\"])\n this.components!.push(Component.fromJS(item));\n }\n }\n }\n\n static override fromJS(data: any): IndicatorTopicItemBase {\n data = typeof data === 'object' ? data : {};\n let result = new IndicatorTopicItemBase();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"description\"] = this.description;\n data[\"referenceStandards\"] = this.referenceStandards;\n data[\"predefinedIndicatorId\"] = this.predefinedIndicatorId;\n if (Array.isArray(this.components)) {\n data[\"components\"] = [];\n for (let item of this.components)\n data[\"components\"].push(item.toJSON());\n }\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IIndicatorTopicItemBase extends ITopicItem {\n description: string;\n referenceStandards: string;\n predefinedIndicatorId?: string | undefined;\n components: Component[];\n}\n\nexport class NewIndicatorTopicItem extends TopicItem implements INewIndicatorTopicItem {\n readonly type!: TopicItemType;\n indicatorDataValues!: NewIndicatorDataValues[];\n refreshDataValuesDate!: Date;\n components!: Component[];\n valueStatus!: IndicatorValueStatus;\n\n constructor(data?: INewIndicatorTopicItem) {\n super(data);\n if (!data) {\n this.indicatorDataValues = [];\n this.components = [];\n }\n this._discriminator = \"NewIndicator\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n if (Array.isArray(_data[\"indicatorDataValues\"])) {\n this.indicatorDataValues = [] as any;\n for (let item of _data[\"indicatorDataValues\"])\n this.indicatorDataValues!.push(NewIndicatorDataValues.fromJS(item));\n }\n this.refreshDataValuesDate = _data[\"refreshDataValuesDate\"] ? new Date(_data[\"refreshDataValuesDate\"].toString()) : undefined;\n if (Array.isArray(_data[\"components\"])) {\n this.components = [] as any;\n for (let item of _data[\"components\"])\n this.components!.push(Component.fromJS(item));\n }\n this.valueStatus = _data[\"valueStatus\"];\n }\n }\n\n static override fromJS(data: any): NewIndicatorTopicItem {\n data = typeof data === 'object' ? data : {};\n let result = new NewIndicatorTopicItem();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n if (Array.isArray(this.indicatorDataValues)) {\n data[\"indicatorDataValues\"] = [];\n for (let item of this.indicatorDataValues)\n data[\"indicatorDataValues\"].push(item.toJSON());\n }\n data[\"refreshDataValuesDate\"] = this.refreshDataValuesDate ? this.refreshDataValuesDate.toISOString() : undefined;\n if (Array.isArray(this.components)) {\n data[\"components\"] = [];\n for (let item of this.components)\n data[\"components\"].push(item.toJSON());\n }\n data[\"valueStatus\"] = this.valueStatus;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface INewIndicatorTopicItem extends ITopicItem {\n type: TopicItemType;\n indicatorDataValues: NewIndicatorDataValues[];\n refreshDataValuesDate: Date;\n components: Component[];\n valueStatus: IndicatorValueStatus;\n}\n\nexport class TextDisclosureTopicItem extends TopicItem implements ITextDisclosureTopicItem {\n readonly type!: TopicItemType;\n description!: string;\n referenceStandards!: string;\n components!: Component[];\n\n constructor(data?: ITextDisclosureTopicItem) {\n super(data);\n if (!data) {\n this.components = [];\n }\n this._discriminator = \"TextDisclosure\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.description = _data[\"description\"];\n this.referenceStandards = _data[\"referenceStandards\"];\n if (Array.isArray(_data[\"components\"])) {\n this.components = [] as any;\n for (let item of _data[\"components\"])\n this.components!.push(Component.fromJS(item));\n }\n }\n }\n\n static override fromJS(data: any): TextDisclosureTopicItem {\n data = typeof data === 'object' ? data : {};\n let result = new TextDisclosureTopicItem();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"description\"] = this.description;\n data[\"referenceStandards\"] = this.referenceStandards;\n if (Array.isArray(this.components)) {\n data[\"components\"] = [];\n for (let item of this.components)\n data[\"components\"].push(item.toJSON());\n }\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ITextDisclosureTopicItem extends ITopicItem {\n type: TopicItemType;\n description: string;\n referenceStandards: string;\n components: Component[];\n}\n\nexport class TextIndicatorTopicItem implements ITextIndicatorTopicItem {\n readonly type!: TopicItemType;\n description!: string;\n referenceStandards!: string;\n predefinedIndicatorId?: string | undefined;\n components!: Component[];\n organizationId!: string;\n readonly reportId!: string;\n readonly mainLevelId!: string;\n readonly topicId!: string;\n name!: string;\n notVisible!: boolean;\n status!: TopicItemStatus;\n responsiblePersonId?: string | undefined;\n createdDate!: Date;\n modifiedDate!: Date;\n id!: string;\n pk?: string | undefined;\n\n constructor(data?: ITextIndicatorTopicItem) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.components = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n (this).type = _data[\"type\"];\n this.description = _data[\"description\"];\n this.referenceStandards = _data[\"referenceStandards\"];\n this.predefinedIndicatorId = _data[\"predefinedIndicatorId\"];\n if (Array.isArray(_data[\"components\"])) {\n this.components = [] as any;\n for (let item of _data[\"components\"])\n this.components!.push(Component.fromJS(item));\n }\n this.organizationId = _data[\"organizationId\"];\n (this).reportId = _data[\"reportId\"];\n (this).mainLevelId = _data[\"mainLevelId\"];\n (this).topicId = _data[\"topicId\"];\n this.name = _data[\"name\"];\n this.notVisible = _data[\"notVisible\"];\n this.status = _data[\"status\"];\n this.responsiblePersonId = _data[\"responsiblePersonId\"];\n this.createdDate = _data[\"createdDate\"] ? new Date(_data[\"createdDate\"].toString()) : undefined;\n this.modifiedDate = _data[\"modifiedDate\"] ? new Date(_data[\"modifiedDate\"].toString()) : undefined;\n this.id = _data[\"id\"];\n this.pk = _data[\"pk\"];\n }\n }\n\n static fromJS(data: any): TextIndicatorTopicItem {\n data = typeof data === 'object' ? data : {};\n let result = new TextIndicatorTopicItem();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"description\"] = this.description;\n data[\"referenceStandards\"] = this.referenceStandards;\n data[\"predefinedIndicatorId\"] = this.predefinedIndicatorId;\n if (Array.isArray(this.components)) {\n data[\"components\"] = [];\n for (let item of this.components)\n data[\"components\"].push(item.toJSON());\n }\n data[\"organizationId\"] = this.organizationId;\n data[\"reportId\"] = this.reportId;\n data[\"mainLevelId\"] = this.mainLevelId;\n data[\"topicId\"] = this.topicId;\n data[\"name\"] = this.name;\n data[\"notVisible\"] = this.notVisible;\n data[\"status\"] = this.status;\n data[\"responsiblePersonId\"] = this.responsiblePersonId;\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : undefined;\n data[\"modifiedDate\"] = this.modifiedDate ? this.modifiedDate.toISOString() : undefined;\n data[\"id\"] = this.id;\n data[\"pk\"] = this.pk;\n return data;\n }\n}\n\nexport interface ITextIndicatorTopicItem {\n type: TopicItemType;\n description: string;\n referenceStandards: string;\n predefinedIndicatorId?: string | undefined;\n components: Component[];\n organizationId: string;\n reportId: string;\n mainLevelId: string;\n topicId: string;\n name: string;\n notVisible: boolean;\n status: TopicItemStatus;\n responsiblePersonId?: string | undefined;\n createdDate: Date;\n modifiedDate: Date;\n id: string;\n pk?: string | undefined;\n}\n\nexport class CreateAccessTokenCommandParams implements ICreateAccessTokenCommandParams {\n type!: AccessTokenTypes;\n scopeId?: string | undefined;\n name!: string;\n\n constructor(data?: ICreateAccessTokenCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.type = _data[\"type\"];\n this.scopeId = _data[\"scopeId\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): CreateAccessTokenCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateAccessTokenCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"scopeId\"] = this.scopeId;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface ICreateAccessTokenCommandParams {\n type: AccessTokenTypes;\n scopeId?: string | undefined;\n name: string;\n}\n\nexport class CreateAccessTokenCommandResponse implements ICreateAccessTokenCommandResponse {\n result!: CreateAccessTokenVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: ICreateAccessTokenCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new CreateAccessTokenVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? CreateAccessTokenVm.fromJS(_data[\"result\"]) : new CreateAccessTokenVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CreateAccessTokenCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CreateAccessTokenCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICreateAccessTokenCommandResponse {\n result: CreateAccessTokenVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CreateAccessTokenVm implements ICreateAccessTokenVm {\n id!: string;\n type!: AccessTokenTypes;\n scopeId!: string;\n name!: string;\n token!: string;\n addedBy!: string;\n createdDateTime!: Date;\n\n constructor(data?: ICreateAccessTokenVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.type = _data[\"type\"];\n this.scopeId = _data[\"scopeId\"];\n this.name = _data[\"name\"];\n this.token = _data[\"token\"];\n this.addedBy = _data[\"addedBy\"];\n this.createdDateTime = _data[\"createdDateTime\"] ? new Date(_data[\"createdDateTime\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): CreateAccessTokenVm {\n data = typeof data === 'object' ? data : {};\n let result = new CreateAccessTokenVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"type\"] = this.type;\n data[\"scopeId\"] = this.scopeId;\n data[\"name\"] = this.name;\n data[\"token\"] = this.token;\n data[\"addedBy\"] = this.addedBy;\n data[\"createdDateTime\"] = this.createdDateTime ? this.createdDateTime.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface ICreateAccessTokenVm {\n id: string;\n type: AccessTokenTypes;\n scopeId: string;\n name: string;\n token: string;\n addedBy: string;\n createdDateTime: Date;\n}\n\nexport class DeleteAccessTokenCommandParams implements IDeleteAccessTokenCommandParams {\n id!: string;\n\n constructor(data?: IDeleteAccessTokenCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): DeleteAccessTokenCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteAccessTokenCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IDeleteAccessTokenCommandParams {\n id: string;\n}\n\nexport class DeleteAccessTokenCommandResponse implements IDeleteAccessTokenCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IDeleteAccessTokenCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DeleteAccessTokenCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteAccessTokenCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDeleteAccessTokenCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class AccessTokenByVm implements IAccessTokenByVm {\n id!: string;\n name!: string;\n token!: string;\n addedBy!: string;\n createdDateTime!: Date;\n\n constructor(data?: IAccessTokenByVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.token = _data[\"token\"];\n this.addedBy = _data[\"addedBy\"];\n this.createdDateTime = _data[\"createdDateTime\"] ? new Date(_data[\"createdDateTime\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): AccessTokenByVm {\n data = typeof data === 'object' ? data : {};\n let result = new AccessTokenByVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"token\"] = this.token;\n data[\"addedBy\"] = this.addedBy;\n data[\"createdDateTime\"] = this.createdDateTime ? this.createdDateTime.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IAccessTokenByVm {\n id: string;\n name: string;\n token: string;\n addedBy: string;\n createdDateTime: Date;\n}\n\nexport class GetAccessTokensByQueryResponse implements IGetAccessTokensByQueryResponse {\n result!: AccessTokenByVm[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetAccessTokensByQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(AccessTokenByVm.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetAccessTokensByQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetAccessTokensByQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetAccessTokensByQueryResponse {\n result: AccessTokenByVm[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class AccessTokenVm implements IAccessTokenVm {\n id!: string;\n type!: AccessTokenTypes;\n scopeId!: string;\n name!: string;\n token!: string;\n addedBy!: string;\n createdDateTime!: Date;\n\n constructor(data?: IAccessTokenVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.type = _data[\"type\"];\n this.scopeId = _data[\"scopeId\"];\n this.name = _data[\"name\"];\n this.token = _data[\"token\"];\n this.addedBy = _data[\"addedBy\"];\n this.createdDateTime = _data[\"createdDateTime\"] ? new Date(_data[\"createdDateTime\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): AccessTokenVm {\n data = typeof data === 'object' ? data : {};\n let result = new AccessTokenVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"type\"] = this.type;\n data[\"scopeId\"] = this.scopeId;\n data[\"name\"] = this.name;\n data[\"token\"] = this.token;\n data[\"addedBy\"] = this.addedBy;\n data[\"createdDateTime\"] = this.createdDateTime ? this.createdDateTime.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IAccessTokenVm {\n id: string;\n type: AccessTokenTypes;\n scopeId: string;\n name: string;\n token: string;\n addedBy: string;\n createdDateTime: Date;\n}\n\nexport class GetAllAccessTokensQueryResponse implements IGetAllAccessTokensQueryResponse {\n result!: AccessTokenVm[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetAllAccessTokensQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(AccessTokenVm.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetAllAccessTokensQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetAllAccessTokensQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetAllAccessTokensQueryResponse {\n result: AccessTokenVm[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetValidateTokenQueryResponse implements IGetValidateTokenQueryResponse {\n result?: ValidateTokenVm | undefined;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetValidateTokenQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? ValidateTokenVm.fromJS(_data[\"result\"]) : undefined;\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetValidateTokenQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetValidateTokenQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetValidateTokenQueryResponse {\n result?: ValidateTokenVm | undefined;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class ValidateTokenVm implements IValidateTokenVm {\n organizationId!: string;\n\n constructor(data?: IValidateTokenVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.organizationId = _data[\"organizationId\"];\n }\n }\n\n static fromJS(data: any): ValidateTokenVm {\n data = typeof data === 'object' ? data : {};\n let result = new ValidateTokenVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"organizationId\"] = this.organizationId;\n return data;\n }\n}\n\nexport interface IValidateTokenVm {\n organizationId: string;\n}\n\nexport class DeleteCalcFactorVersionCommandParams implements IDeleteCalcFactorVersionCommandParams {\n factorId!: string;\n versionId!: string;\n\n constructor(data?: IDeleteCalcFactorVersionCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.factorId = _data[\"factorId\"];\n this.versionId = _data[\"versionId\"];\n }\n }\n\n static fromJS(data: any): DeleteCalcFactorVersionCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteCalcFactorVersionCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"factorId\"] = this.factorId;\n data[\"versionId\"] = this.versionId;\n return data;\n }\n}\n\nexport interface IDeleteCalcFactorVersionCommandParams {\n factorId: string;\n versionId: string;\n}\n\nexport class DeleteCalcFactorVersionCommandResponse implements IDeleteCalcFactorVersionCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IDeleteCalcFactorVersionCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DeleteCalcFactorVersionCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteCalcFactorVersionCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDeleteCalcFactorVersionCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class UpdateCalcFactorCommandParams implements IUpdateCalcFactorCommandParams {\n id!: string;\n referenceStandard!: string;\n versionId?: string | undefined;\n versionValidFromYear?: number | undefined;\n sourceName?: string | undefined;\n sourceURL?: string | undefined;\n\n protected _discriminator: string;\n\n constructor(data?: IUpdateCalcFactorCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n this._discriminator = \"UpdateCalcFactorCommandParams\";\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.referenceStandard = _data[\"referenceStandard\"];\n this.versionId = _data[\"versionId\"];\n this.versionValidFromYear = _data[\"versionValidFromYear\"];\n this.sourceName = _data[\"sourceName\"];\n this.sourceURL = _data[\"sourceURL\"];\n }\n }\n\n static fromJS(data: any): UpdateCalcFactorCommandParams {\n data = typeof data === 'object' ? data : {};\n if (data[\"type\"] === \"BusinessAirTravelFactor\") {\n let result = new UpdateBusinessAirTravelFactorCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"ChildLabourCountryFactor\") {\n let result = new UpdateChildLabourCountryFactorCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"CorruptionRiskCountryFactor\") {\n let result = new UpdateCorruptionRiskCountryFactorCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"ElectricityCountryFactor\") {\n let result = new UpdateElectricityCountryFactorCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeCommutingFactor\") {\n let result = new UpdateEmployeeCommutingFactorCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EnvScreeningSectorFactor\") {\n let result = new UpdateEnvScreeningSectorFactorCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"FreedomRightsCountryFactor\") {\n let result = new UpdateFreedomRightsCountryFactorCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"FuelAirEmissionFactor\") {\n let result = new UpdateFuelAirEmissionFactorCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"FuelCombustionFactor\") {\n let result = new UpdateFuelCombustionFactorCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"FuelEnergyFactor\") {\n let result = new UpdateFuelEnergyFactorCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"GWPValueFactor\") {\n let result = new UpdateGWPValueFactorCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"HotelNightsCountryFactor\") {\n let result = new UpdateHotelNightsCountryFactorCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"LabourRightsCountryFactor\") {\n let result = new UpdateLabourRightsCountryFactorCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"PurchasedFishFactor\") {\n let result = new UpdatePurchasedFishFactorCommandParams();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"WasteFactor\") {\n let result = new UpdateWasteFactorCommandParams();\n result.init(data);\n return result;\n }\n let result = new UpdateCalcFactorCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this._discriminator;\n data[\"id\"] = this.id;\n data[\"referenceStandard\"] = this.referenceStandard;\n data[\"versionId\"] = this.versionId;\n data[\"versionValidFromYear\"] = this.versionValidFromYear;\n data[\"sourceName\"] = this.sourceName;\n data[\"sourceURL\"] = this.sourceURL;\n return data;\n }\n}\n\nexport interface IUpdateCalcFactorCommandParams {\n id: string;\n referenceStandard: string;\n versionId?: string | undefined;\n versionValidFromYear?: number | undefined;\n sourceName?: string | undefined;\n sourceURL?: string | undefined;\n}\n\nexport class UpdateBusinessAirTravelFactorCommandParams extends UpdateCalcFactorCommandParams implements IUpdateBusinessAirTravelFactorCommandParams {\n readonly type!: CalcFactorType;\n cO2_ton!: number;\n\n constructor(data?: IUpdateBusinessAirTravelFactorCommandParams) {\n super(data);\n this._discriminator = \"BusinessAirTravelFactor\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.cO2_ton = _data[\"cO2_ton\"];\n }\n }\n\n static override fromJS(data: any): UpdateBusinessAirTravelFactorCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateBusinessAirTravelFactorCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"cO2_ton\"] = this.cO2_ton;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateBusinessAirTravelFactorCommandParams extends IUpdateCalcFactorCommandParams {\n type: CalcFactorType;\n cO2_ton: number;\n}\n\nexport class UpdateChildLabourCountryFactorCommandParams extends UpdateCalcFactorCommandParams implements IUpdateChildLabourCountryFactorCommandParams {\n readonly type!: CalcFactorType;\n score!: number;\n\n constructor(data?: IUpdateChildLabourCountryFactorCommandParams) {\n super(data);\n this._discriminator = \"ChildLabourCountryFactor\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.score = _data[\"score\"];\n }\n }\n\n static override fromJS(data: any): UpdateChildLabourCountryFactorCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateChildLabourCountryFactorCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"score\"] = this.score;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateChildLabourCountryFactorCommandParams extends IUpdateCalcFactorCommandParams {\n type: CalcFactorType;\n score: number;\n}\n\nexport class UpdateCorruptionRiskCountryFactorCommandParams extends UpdateCalcFactorCommandParams implements IUpdateCorruptionRiskCountryFactorCommandParams {\n readonly type!: CalcFactorType;\n score!: number;\n\n constructor(data?: IUpdateCorruptionRiskCountryFactorCommandParams) {\n super(data);\n this._discriminator = \"CorruptionRiskCountryFactor\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.score = _data[\"score\"];\n }\n }\n\n static override fromJS(data: any): UpdateCorruptionRiskCountryFactorCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateCorruptionRiskCountryFactorCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"score\"] = this.score;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateCorruptionRiskCountryFactorCommandParams extends IUpdateCalcFactorCommandParams {\n type: CalcFactorType;\n score: number;\n}\n\nexport class UpdateElectricityCountryFactorCommandParams extends UpdateCalcFactorCommandParams implements IUpdateElectricityCountryFactorCommandParams {\n readonly type!: CalcFactorType;\n factor!: number;\n\n constructor(data?: IUpdateElectricityCountryFactorCommandParams) {\n super(data);\n this._discriminator = \"ElectricityCountryFactor\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.factor = _data[\"factor\"];\n }\n }\n\n static override fromJS(data: any): UpdateElectricityCountryFactorCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateElectricityCountryFactorCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"factor\"] = this.factor;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateElectricityCountryFactorCommandParams extends IUpdateCalcFactorCommandParams {\n type: CalcFactorType;\n factor: number;\n}\n\nexport class UpdateEmployeeCommutingFactorCommandParams extends UpdateCalcFactorCommandParams implements IUpdateEmployeeCommutingFactorCommandParams {\n readonly type!: CalcFactorType;\n cO2_kg_km!: number;\n\n constructor(data?: IUpdateEmployeeCommutingFactorCommandParams) {\n super(data);\n this._discriminator = \"EmployeeCommutingFactor\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.cO2_kg_km = _data[\"cO2_kg_km\"];\n }\n }\n\n static override fromJS(data: any): UpdateEmployeeCommutingFactorCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateEmployeeCommutingFactorCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"cO2_kg_km\"] = this.cO2_kg_km;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateEmployeeCommutingFactorCommandParams extends IUpdateCalcFactorCommandParams {\n type: CalcFactorType;\n cO2_kg_km: number;\n}\n\nexport class UpdateEnvScreeningSectorFactorCommandParams extends UpdateCalcFactorCommandParams implements IUpdateEnvScreeningSectorFactorCommandParams {\n readonly type!: CalcFactorType;\n description!: string;\n score!: number;\n\n constructor(data?: IUpdateEnvScreeningSectorFactorCommandParams) {\n super(data);\n this._discriminator = \"EnvScreeningSectorFactor\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.description = _data[\"description\"];\n this.score = _data[\"score\"];\n }\n }\n\n static override fromJS(data: any): UpdateEnvScreeningSectorFactorCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateEnvScreeningSectorFactorCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"description\"] = this.description;\n data[\"score\"] = this.score;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateEnvScreeningSectorFactorCommandParams extends IUpdateCalcFactorCommandParams {\n type: CalcFactorType;\n description: string;\n score: number;\n}\n\nexport class UpdateFreedomRightsCountryFactorCommandParams extends UpdateCalcFactorCommandParams implements IUpdateFreedomRightsCountryFactorCommandParams {\n readonly type!: CalcFactorType;\n score!: number;\n\n constructor(data?: IUpdateFreedomRightsCountryFactorCommandParams) {\n super(data);\n this._discriminator = \"FreedomRightsCountryFactor\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.score = _data[\"score\"];\n }\n }\n\n static override fromJS(data: any): UpdateFreedomRightsCountryFactorCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateFreedomRightsCountryFactorCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"score\"] = this.score;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateFreedomRightsCountryFactorCommandParams extends IUpdateCalcFactorCommandParams {\n type: CalcFactorType;\n score: number;\n}\n\nexport class UpdateFuelAirEmissionFactorCommandParams extends UpdateCalcFactorCommandParams implements IUpdateFuelAirEmissionFactorCommandParams {\n readonly type!: CalcFactorType;\n sO2_kg_per_ton!: number;\n nOxFactor_kg_per_ton!: number;\n pM25_kg_per_ton!: number;\n\n constructor(data?: IUpdateFuelAirEmissionFactorCommandParams) {\n super(data);\n this._discriminator = \"FuelAirEmissionFactor\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.sO2_kg_per_ton = _data[\"sO2_kg_per_ton\"];\n this.nOxFactor_kg_per_ton = _data[\"nOxFactor_kg_per_ton\"];\n this.pM25_kg_per_ton = _data[\"pM25_kg_per_ton\"];\n }\n }\n\n static override fromJS(data: any): UpdateFuelAirEmissionFactorCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateFuelAirEmissionFactorCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"sO2_kg_per_ton\"] = this.sO2_kg_per_ton;\n data[\"nOxFactor_kg_per_ton\"] = this.nOxFactor_kg_per_ton;\n data[\"pM25_kg_per_ton\"] = this.pM25_kg_per_ton;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateFuelAirEmissionFactorCommandParams extends IUpdateCalcFactorCommandParams {\n type: CalcFactorType;\n sO2_kg_per_ton: number;\n nOxFactor_kg_per_ton: number;\n pM25_kg_per_ton: number;\n}\n\nexport class UpdateFuelCombustionFactorCommandParams extends UpdateCalcFactorCommandParams implements IUpdateFuelCombustionFactorCommandParams {\n readonly type!: CalcFactorType;\n density?: number | undefined;\n cO2_ton_per_ton!: number;\n cH4_kg_per_ton!: number;\n n2O_kg_per_ton!: number;\n\n constructor(data?: IUpdateFuelCombustionFactorCommandParams) {\n super(data);\n this._discriminator = \"FuelCombustionFactor\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.density = _data[\"density\"];\n this.cO2_ton_per_ton = _data[\"cO2_ton_per_ton\"];\n this.cH4_kg_per_ton = _data[\"cH4_kg_per_ton\"];\n this.n2O_kg_per_ton = _data[\"n2O_kg_per_ton\"];\n }\n }\n\n static override fromJS(data: any): UpdateFuelCombustionFactorCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateFuelCombustionFactorCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"density\"] = this.density;\n data[\"cO2_ton_per_ton\"] = this.cO2_ton_per_ton;\n data[\"cH4_kg_per_ton\"] = this.cH4_kg_per_ton;\n data[\"n2O_kg_per_ton\"] = this.n2O_kg_per_ton;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateFuelCombustionFactorCommandParams extends IUpdateCalcFactorCommandParams {\n type: CalcFactorType;\n density?: number | undefined;\n cO2_ton_per_ton: number;\n cH4_kg_per_ton: number;\n n2O_kg_per_ton: number;\n}\n\nexport class UpdateFuelEnergyFactorCommandParams extends UpdateCalcFactorCommandParams implements IUpdateFuelEnergyFactorCommandParams {\n readonly type!: CalcFactorType;\n gJ_per_t!: number;\n\n constructor(data?: IUpdateFuelEnergyFactorCommandParams) {\n super(data);\n this._discriminator = \"FuelEnergyFactor\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.gJ_per_t = _data[\"gJ_per_t\"];\n }\n }\n\n static override fromJS(data: any): UpdateFuelEnergyFactorCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateFuelEnergyFactorCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"gJ_per_t\"] = this.gJ_per_t;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateFuelEnergyFactorCommandParams extends IUpdateCalcFactorCommandParams {\n type: CalcFactorType;\n gJ_per_t: number;\n}\n\nexport class UpdateGWPValueFactorCommandParams extends UpdateCalcFactorCommandParams implements IUpdateGWPValueFactorCommandParams {\n readonly type!: CalcFactorType;\n gwpValue!: number;\n\n constructor(data?: IUpdateGWPValueFactorCommandParams) {\n super(data);\n this._discriminator = \"GWPValueFactor\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.gwpValue = _data[\"gwpValue\"];\n }\n }\n\n static override fromJS(data: any): UpdateGWPValueFactorCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateGWPValueFactorCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"gwpValue\"] = this.gwpValue;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateGWPValueFactorCommandParams extends IUpdateCalcFactorCommandParams {\n type: CalcFactorType;\n gwpValue: number;\n}\n\nexport class UpdateHotelNightsCountryFactorCommandParams extends UpdateCalcFactorCommandParams implements IUpdateHotelNightsCountryFactorCommandParams {\n readonly type!: CalcFactorType;\n factor!: number;\n\n constructor(data?: IUpdateHotelNightsCountryFactorCommandParams) {\n super(data);\n this._discriminator = \"HotelNightsCountryFactor\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.factor = _data[\"factor\"];\n }\n }\n\n static override fromJS(data: any): UpdateHotelNightsCountryFactorCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateHotelNightsCountryFactorCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"factor\"] = this.factor;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateHotelNightsCountryFactorCommandParams extends IUpdateCalcFactorCommandParams {\n type: CalcFactorType;\n factor: number;\n}\n\nexport class UpdateLabourRightsCountryFactorCommandParams extends UpdateCalcFactorCommandParams implements IUpdateLabourRightsCountryFactorCommandParams {\n readonly type!: CalcFactorType;\n score!: number;\n\n constructor(data?: IUpdateLabourRightsCountryFactorCommandParams) {\n super(data);\n this._discriminator = \"LabourRightsCountryFactor\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.score = _data[\"score\"];\n }\n }\n\n static override fromJS(data: any): UpdateLabourRightsCountryFactorCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateLabourRightsCountryFactorCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"score\"] = this.score;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateLabourRightsCountryFactorCommandParams extends IUpdateCalcFactorCommandParams {\n type: CalcFactorType;\n score: number;\n}\n\nexport class UpdatePurchasedFishFactorCommandParams extends UpdateCalcFactorCommandParams implements IUpdatePurchasedFishFactorCommandParams {\n readonly type!: CalcFactorType;\n value!: number;\n\n constructor(data?: IUpdatePurchasedFishFactorCommandParams) {\n super(data);\n this._discriminator = \"PurchasedFishFactor\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.value = _data[\"value\"];\n }\n }\n\n static override fromJS(data: any): UpdatePurchasedFishFactorCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdatePurchasedFishFactorCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"value\"] = this.value;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdatePurchasedFishFactorCommandParams extends IUpdateCalcFactorCommandParams {\n type: CalcFactorType;\n value: number;\n}\n\nexport class UpdateWasteFactorCommandParams extends UpdateCalcFactorCommandParams implements IUpdateWasteFactorCommandParams {\n readonly type!: CalcFactorType;\n recycled?: number | undefined;\n composted?: number | undefined;\n incinerated!: number;\n landfilled!: number;\n mixed!: number;\n disposedToSea?: number | undefined;\n density!: number;\n\n constructor(data?: IUpdateWasteFactorCommandParams) {\n super(data);\n this._discriminator = \"WasteFactor\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n (this).type = _data[\"type\"];\n this.recycled = _data[\"recycled\"];\n this.composted = _data[\"composted\"];\n this.incinerated = _data[\"incinerated\"];\n this.landfilled = _data[\"landfilled\"];\n this.mixed = _data[\"mixed\"];\n this.disposedToSea = _data[\"disposedToSea\"];\n this.density = _data[\"density\"];\n }\n }\n\n static override fromJS(data: any): UpdateWasteFactorCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateWasteFactorCommandParams();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"recycled\"] = this.recycled;\n data[\"composted\"] = this.composted;\n data[\"incinerated\"] = this.incinerated;\n data[\"landfilled\"] = this.landfilled;\n data[\"mixed\"] = this.mixed;\n data[\"disposedToSea\"] = this.disposedToSea;\n data[\"density\"] = this.density;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateWasteFactorCommandParams extends IUpdateCalcFactorCommandParams {\n type: CalcFactorType;\n recycled?: number | undefined;\n composted?: number | undefined;\n incinerated: number;\n landfilled: number;\n mixed: number;\n disposedToSea?: number | undefined;\n density: number;\n}\n\nexport class UpdateCalcFactorCommandResponse implements IUpdateCalcFactorCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IUpdateCalcFactorCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): UpdateCalcFactorCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateCalcFactorCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IUpdateCalcFactorCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetCalcFactorByIdQueryResponse implements IGetCalcFactorByIdQueryResponse {\n result!: CalcFactorVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetCalcFactorByIdQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new CalcFactorVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? CalcFactorVm.fromJS(_data[\"result\"]) : new CalcFactorVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetCalcFactorByIdQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetCalcFactorByIdQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetCalcFactorByIdQueryResponse {\n result: CalcFactorVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CalcFactorVersionVm implements ICalcFactorVersionVm {\n versionId!: string;\n versionValidFrom!: Date;\n sourceName?: string | undefined;\n sourceUrl?: string | undefined;\n dateModified!: Date;\n userId!: string;\n userName!: string;\n\n constructor(data?: ICalcFactorVersionVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.versionId = _data[\"versionId\"];\n this.versionValidFrom = _data[\"versionValidFrom\"] ? new Date(_data[\"versionValidFrom\"].toString()) : undefined;\n this.sourceName = _data[\"sourceName\"];\n this.sourceUrl = _data[\"sourceUrl\"];\n this.dateModified = _data[\"dateModified\"] ? new Date(_data[\"dateModified\"].toString()) : undefined;\n this.userId = _data[\"userId\"];\n this.userName = _data[\"userName\"];\n }\n }\n\n static fromJS(data: any): CalcFactorVersionVm {\n data = typeof data === 'object' ? data : {};\n let result = new CalcFactorVersionVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"versionId\"] = this.versionId;\n data[\"versionValidFrom\"] = this.versionValidFrom ? formatDate(this.versionValidFrom) : undefined;\n data[\"sourceName\"] = this.sourceName;\n data[\"sourceUrl\"] = this.sourceUrl;\n data[\"dateModified\"] = this.dateModified ? this.dateModified.toISOString() : undefined;\n data[\"userId\"] = this.userId;\n data[\"userName\"] = this.userName;\n return data;\n }\n}\n\nexport interface ICalcFactorVersionVm {\n versionId: string;\n versionValidFrom: Date;\n sourceName?: string | undefined;\n sourceUrl?: string | undefined;\n dateModified: Date;\n userId: string;\n userName: string;\n}\n\nexport class GetCalcFactorVersionsByIdQueryResponse implements IGetCalcFactorVersionsByIdQueryResponse {\n result?: CalcFactorVersionVm[] | undefined;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetCalcFactorVersionsByIdQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(CalcFactorVersionVm.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetCalcFactorVersionsByIdQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetCalcFactorVersionsByIdQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetCalcFactorVersionsByIdQueryResponse {\n result?: CalcFactorVersionVm[] | undefined;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetCalcFactorsByTypeQueryResponse implements IGetCalcFactorsByTypeQueryResponse {\n result!: CalcFactorVm[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetCalcFactorsByTypeQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(CalcFactorVm.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetCalcFactorsByTypeQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetCalcFactorsByTypeQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetCalcFactorsByTypeQueryResponse {\n result: CalcFactorVm[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CalcFactorVm implements ICalcFactorVm {\n id!: string;\n referenceStandard!: string;\n versionValidFrom!: Date;\n organizationId?: string | undefined;\n sourceName?: string | undefined;\n sourceURL?: string | undefined;\n\n protected _discriminator: string;\n\n constructor(data?: ICalcFactorVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n this._discriminator = \"CalcFactorVm\";\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.referenceStandard = _data[\"referenceStandard\"];\n this.versionValidFrom = _data[\"versionValidFrom\"] ? new Date(_data[\"versionValidFrom\"].toString()) : undefined;\n this.organizationId = _data[\"organizationId\"];\n this.sourceName = _data[\"sourceName\"];\n this.sourceURL = _data[\"sourceURL\"];\n }\n }\n\n static fromJS(data: any): CalcFactorVm {\n data = typeof data === 'object' ? data : {};\n if (data[\"type\"] === \"BusinessAirTravelFactor\") {\n let result = new BusinessAirTravelFactorVm();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"ChildLabourCountryFactor\") {\n let result = new ChildLabourCountryFactorVm();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"CorruptionRiskCountryFactor\") {\n let result = new CorruptionRiskCountryFactorVm();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"ElectricityCountryFactor\") {\n let result = new ElectricityCountryFactorVm();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EmployeeCommutingFactor\") {\n let result = new EmployeeCommutingFactorVm();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"EnvScreeningSectorFactor\") {\n let result = new EnvScreeningSectorFactorVm();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"FreedomRightsCountryFactor\") {\n let result = new FreedomRightsCountryFactorVm();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"FuelAirEmissionFactor\") {\n let result = new FuelAirEmissionFactorVm();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"FuelCombustionFactor\") {\n let result = new FuelCombustionFactorVm();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"FuelEnergyFactor\") {\n let result = new FuelEnergyFactorVm();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"GWPValueFactor\") {\n let result = new GWPValueFactorVm();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"HotelNightsCountryFactor\") {\n let result = new HotelNightsCountryFactorVm();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"LabourRightsCountryFactor\") {\n let result = new LabourRightsCountryFactorVm();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"PurchasedFishFactor\") {\n let result = new PurchasedFishFactorVm();\n result.init(data);\n return result;\n }\n if (data[\"type\"] === \"WasteFactor\") {\n let result = new WasteFactorVm();\n result.init(data);\n return result;\n }\n let result = new CalcFactorVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this._discriminator;\n data[\"id\"] = this.id;\n data[\"referenceStandard\"] = this.referenceStandard;\n data[\"versionValidFrom\"] = this.versionValidFrom ? formatDate(this.versionValidFrom) : undefined;\n data[\"organizationId\"] = this.organizationId;\n data[\"sourceName\"] = this.sourceName;\n data[\"sourceURL\"] = this.sourceURL;\n return data;\n }\n}\n\nexport interface ICalcFactorVm {\n id: string;\n referenceStandard: string;\n versionValidFrom: Date;\n organizationId?: string | undefined;\n sourceName?: string | undefined;\n sourceURL?: string | undefined;\n}\n\nexport class BusinessAirTravelFactorVm extends CalcFactorVm implements IBusinessAirTravelFactorVm {\n method!: ConsumptionValueType;\n haulType?: DistanceType | undefined;\n cO2_ton!: number;\n\n constructor(data?: IBusinessAirTravelFactorVm) {\n super(data);\n this._discriminator = \"BusinessAirTravelFactor\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.method = _data[\"method\"];\n this.haulType = _data[\"haulType\"];\n this.cO2_ton = _data[\"cO2_ton\"];\n }\n }\n\n static override fromJS(data: any): BusinessAirTravelFactorVm {\n data = typeof data === 'object' ? data : {};\n let result = new BusinessAirTravelFactorVm();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"method\"] = this.method;\n data[\"haulType\"] = this.haulType;\n data[\"cO2_ton\"] = this.cO2_ton;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IBusinessAirTravelFactorVm extends ICalcFactorVm {\n method: ConsumptionValueType;\n haulType?: DistanceType | undefined;\n cO2_ton: number;\n}\n\nexport class ChildLabourCountryFactorVm extends CalcFactorVm implements IChildLabourCountryFactorVm {\n countryCode!: CountryCodes;\n countryName!: string;\n score!: number;\n\n constructor(data?: IChildLabourCountryFactorVm) {\n super(data);\n this._discriminator = \"ChildLabourCountryFactor\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.countryCode = _data[\"countryCode\"];\n this.countryName = _data[\"countryName\"];\n this.score = _data[\"score\"];\n }\n }\n\n static override fromJS(data: any): ChildLabourCountryFactorVm {\n data = typeof data === 'object' ? data : {};\n let result = new ChildLabourCountryFactorVm();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"countryCode\"] = this.countryCode;\n data[\"countryName\"] = this.countryName;\n data[\"score\"] = this.score;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IChildLabourCountryFactorVm extends ICalcFactorVm {\n countryCode: CountryCodes;\n countryName: string;\n score: number;\n}\n\nexport class CorruptionRiskCountryFactorVm extends CalcFactorVm implements ICorruptionRiskCountryFactorVm {\n countryCode!: CountryCodes;\n countryName!: string;\n score!: number;\n\n constructor(data?: ICorruptionRiskCountryFactorVm) {\n super(data);\n this._discriminator = \"CorruptionRiskCountryFactor\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.countryCode = _data[\"countryCode\"];\n this.countryName = _data[\"countryName\"];\n this.score = _data[\"score\"];\n }\n }\n\n static override fromJS(data: any): CorruptionRiskCountryFactorVm {\n data = typeof data === 'object' ? data : {};\n let result = new CorruptionRiskCountryFactorVm();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"countryCode\"] = this.countryCode;\n data[\"countryName\"] = this.countryName;\n data[\"score\"] = this.score;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICorruptionRiskCountryFactorVm extends ICalcFactorVm {\n countryCode: CountryCodes;\n countryName: string;\n score: number;\n}\n\nexport class ElectricityCountryFactorVm extends CalcFactorVm implements IElectricityCountryFactorVm {\n countryCode!: CountryCodes;\n countryName!: string;\n factor?: number | undefined;\n\n constructor(data?: IElectricityCountryFactorVm) {\n super(data);\n this._discriminator = \"ElectricityCountryFactor\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.countryCode = _data[\"countryCode\"];\n this.countryName = _data[\"countryName\"];\n this.factor = _data[\"factor\"];\n }\n }\n\n static override fromJS(data: any): ElectricityCountryFactorVm {\n data = typeof data === 'object' ? data : {};\n let result = new ElectricityCountryFactorVm();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"countryCode\"] = this.countryCode;\n data[\"countryName\"] = this.countryName;\n data[\"factor\"] = this.factor;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IElectricityCountryFactorVm extends ICalcFactorVm {\n countryCode: CountryCodes;\n countryName: string;\n factor?: number | undefined;\n}\n\nexport class EmployeeCommutingFactorVm extends CalcFactorVm implements IEmployeeCommutingFactorVm {\n transport!: EmployeeCommutingTransport;\n mode?: EmployeeCommutingMode | undefined;\n cO2_kg_km?: number | undefined;\n\n constructor(data?: IEmployeeCommutingFactorVm) {\n super(data);\n this._discriminator = \"EmployeeCommutingFactor\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.transport = _data[\"transport\"];\n this.mode = _data[\"mode\"];\n this.cO2_kg_km = _data[\"cO2_kg_km\"];\n }\n }\n\n static override fromJS(data: any): EmployeeCommutingFactorVm {\n data = typeof data === 'object' ? data : {};\n let result = new EmployeeCommutingFactorVm();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"transport\"] = this.transport;\n data[\"mode\"] = this.mode;\n data[\"cO2_kg_km\"] = this.cO2_kg_km;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IEmployeeCommutingFactorVm extends ICalcFactorVm {\n transport: EmployeeCommutingTransport;\n mode?: EmployeeCommutingMode | undefined;\n cO2_kg_km?: number | undefined;\n}\n\nexport class EnvScreeningSectorFactorVm extends CalcFactorVm implements IEnvScreeningSectorFactorVm {\n sectorCategory!: SectorCategory;\n sectorType!: SectorType;\n description!: string;\n score!: number;\n\n constructor(data?: IEnvScreeningSectorFactorVm) {\n super(data);\n this._discriminator = \"EnvScreeningSectorFactor\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.sectorCategory = _data[\"sectorCategory\"];\n this.sectorType = _data[\"sectorType\"];\n this.description = _data[\"description\"];\n this.score = _data[\"score\"];\n }\n }\n\n static override fromJS(data: any): EnvScreeningSectorFactorVm {\n data = typeof data === 'object' ? data : {};\n let result = new EnvScreeningSectorFactorVm();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"sectorCategory\"] = this.sectorCategory;\n data[\"sectorType\"] = this.sectorType;\n data[\"description\"] = this.description;\n data[\"score\"] = this.score;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IEnvScreeningSectorFactorVm extends ICalcFactorVm {\n sectorCategory: SectorCategory;\n sectorType: SectorType;\n description: string;\n score: number;\n}\n\nexport class FreedomRightsCountryFactorVm extends CalcFactorVm implements IFreedomRightsCountryFactorVm {\n countryCode!: CountryCodes;\n countryName!: string;\n score!: number;\n\n constructor(data?: IFreedomRightsCountryFactorVm) {\n super(data);\n this._discriminator = \"FreedomRightsCountryFactor\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.countryCode = _data[\"countryCode\"];\n this.countryName = _data[\"countryName\"];\n this.score = _data[\"score\"];\n }\n }\n\n static override fromJS(data: any): FreedomRightsCountryFactorVm {\n data = typeof data === 'object' ? data : {};\n let result = new FreedomRightsCountryFactorVm();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"countryCode\"] = this.countryCode;\n data[\"countryName\"] = this.countryName;\n data[\"score\"] = this.score;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IFreedomRightsCountryFactorVm extends ICalcFactorVm {\n countryCode: CountryCodes;\n countryName: string;\n score: number;\n}\n\nexport class FuelAirEmissionFactorVm extends CalcFactorVm implements IFuelAirEmissionFactorVm {\n fuelType!: FuelType;\n fuelUnit!: FactorUnit;\n sO2_kg_per_ton!: number;\n nOxFactor_kg_per_ton!: number;\n pM25_kg_per_ton!: number;\n\n constructor(data?: IFuelAirEmissionFactorVm) {\n super(data);\n this._discriminator = \"FuelAirEmissionFactor\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.fuelType = _data[\"fuelType\"];\n this.fuelUnit = _data[\"fuelUnit\"];\n this.sO2_kg_per_ton = _data[\"sO2_kg_per_ton\"];\n this.nOxFactor_kg_per_ton = _data[\"nOxFactor_kg_per_ton\"];\n this.pM25_kg_per_ton = _data[\"pM25_kg_per_ton\"];\n }\n }\n\n static override fromJS(data: any): FuelAirEmissionFactorVm {\n data = typeof data === 'object' ? data : {};\n let result = new FuelAirEmissionFactorVm();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"fuelType\"] = this.fuelType;\n data[\"fuelUnit\"] = this.fuelUnit;\n data[\"sO2_kg_per_ton\"] = this.sO2_kg_per_ton;\n data[\"nOxFactor_kg_per_ton\"] = this.nOxFactor_kg_per_ton;\n data[\"pM25_kg_per_ton\"] = this.pM25_kg_per_ton;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IFuelAirEmissionFactorVm extends ICalcFactorVm {\n fuelType: FuelType;\n fuelUnit: FactorUnit;\n sO2_kg_per_ton: number;\n nOxFactor_kg_per_ton: number;\n pM25_kg_per_ton: number;\n}\n\nexport class FuelCombustionFactorVm extends CalcFactorVm implements IFuelCombustionFactorVm {\n fuelType!: FuelType;\n fuelUnit!: FactorUnit;\n density?: number | undefined;\n cO2_ton_per_ton!: number;\n cH4_kg_per_ton!: number;\n n2O_kg_per_ton!: number;\n\n constructor(data?: IFuelCombustionFactorVm) {\n super(data);\n this._discriminator = \"FuelCombustionFactor\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.fuelType = _data[\"fuelType\"];\n this.fuelUnit = _data[\"fuelUnit\"];\n this.density = _data[\"density\"];\n this.cO2_ton_per_ton = _data[\"cO2_ton_per_ton\"];\n this.cH4_kg_per_ton = _data[\"cH4_kg_per_ton\"];\n this.n2O_kg_per_ton = _data[\"n2O_kg_per_ton\"];\n }\n }\n\n static override fromJS(data: any): FuelCombustionFactorVm {\n data = typeof data === 'object' ? data : {};\n let result = new FuelCombustionFactorVm();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"fuelType\"] = this.fuelType;\n data[\"fuelUnit\"] = this.fuelUnit;\n data[\"density\"] = this.density;\n data[\"cO2_ton_per_ton\"] = this.cO2_ton_per_ton;\n data[\"cH4_kg_per_ton\"] = this.cH4_kg_per_ton;\n data[\"n2O_kg_per_ton\"] = this.n2O_kg_per_ton;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IFuelCombustionFactorVm extends ICalcFactorVm {\n fuelType: FuelType;\n fuelUnit: FactorUnit;\n density?: number | undefined;\n cO2_ton_per_ton: number;\n cH4_kg_per_ton: number;\n n2O_kg_per_ton: number;\n}\n\nexport class FuelEnergyFactorVm extends CalcFactorVm implements IFuelEnergyFactorVm {\n fuelType!: FuelType;\n gJ_per_t!: number;\n\n constructor(data?: IFuelEnergyFactorVm) {\n super(data);\n this._discriminator = \"FuelEnergyFactor\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.fuelType = _data[\"fuelType\"];\n this.gJ_per_t = _data[\"gJ_per_t\"];\n }\n }\n\n static override fromJS(data: any): FuelEnergyFactorVm {\n data = typeof data === 'object' ? data : {};\n let result = new FuelEnergyFactorVm();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"fuelType\"] = this.fuelType;\n data[\"gJ_per_t\"] = this.gJ_per_t;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IFuelEnergyFactorVm extends ICalcFactorVm {\n fuelType: FuelType;\n gJ_per_t: number;\n}\n\nexport class GWPValueFactorVm extends CalcFactorVm implements IGWPValueFactorVm {\n gwp!: GWP;\n gwpValue?: number | undefined;\n\n constructor(data?: IGWPValueFactorVm) {\n super(data);\n this._discriminator = \"GWPValueFactor\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.gwp = _data[\"gwp\"];\n this.gwpValue = _data[\"gwpValue\"];\n }\n }\n\n static override fromJS(data: any): GWPValueFactorVm {\n data = typeof data === 'object' ? data : {};\n let result = new GWPValueFactorVm();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"gwp\"] = this.gwp;\n data[\"gwpValue\"] = this.gwpValue;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IGWPValueFactorVm extends ICalcFactorVm {\n gwp: GWP;\n gwpValue?: number | undefined;\n}\n\nexport class HotelNightsCountryFactorVm extends CalcFactorVm implements IHotelNightsCountryFactorVm {\n countryCode!: CountryCodes;\n countryName!: string;\n factor?: number | undefined;\n\n constructor(data?: IHotelNightsCountryFactorVm) {\n super(data);\n this._discriminator = \"HotelNightsCountryFactor\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.countryCode = _data[\"countryCode\"];\n this.countryName = _data[\"countryName\"];\n this.factor = _data[\"factor\"];\n }\n }\n\n static override fromJS(data: any): HotelNightsCountryFactorVm {\n data = typeof data === 'object' ? data : {};\n let result = new HotelNightsCountryFactorVm();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"countryCode\"] = this.countryCode;\n data[\"countryName\"] = this.countryName;\n data[\"factor\"] = this.factor;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IHotelNightsCountryFactorVm extends ICalcFactorVm {\n countryCode: CountryCodes;\n countryName: string;\n factor?: number | undefined;\n}\n\nexport class LabourRightsCountryFactorVm extends CalcFactorVm implements ILabourRightsCountryFactorVm {\n countryCode!: CountryCodes;\n countryName!: string;\n score!: number;\n\n constructor(data?: ILabourRightsCountryFactorVm) {\n super(data);\n this._discriminator = \"LabourRightsCountryFactor\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.countryCode = _data[\"countryCode\"];\n this.countryName = _data[\"countryName\"];\n this.score = _data[\"score\"];\n }\n }\n\n static override fromJS(data: any): LabourRightsCountryFactorVm {\n data = typeof data === 'object' ? data : {};\n let result = new LabourRightsCountryFactorVm();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"countryCode\"] = this.countryCode;\n data[\"countryName\"] = this.countryName;\n data[\"score\"] = this.score;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ILabourRightsCountryFactorVm extends ICalcFactorVm {\n countryCode: CountryCodes;\n countryName: string;\n score: number;\n}\n\nexport class PurchasedFishFactorVm extends CalcFactorVm implements IPurchasedFishFactorVm {\n species!: FishSpecies;\n cO2_kg_per_unit?: number | undefined;\n\n constructor(data?: IPurchasedFishFactorVm) {\n super(data);\n this._discriminator = \"PurchasedFishFactor\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.species = _data[\"species\"];\n this.cO2_kg_per_unit = _data[\"cO2_kg_per_unit\"];\n }\n }\n\n static override fromJS(data: any): PurchasedFishFactorVm {\n data = typeof data === 'object' ? data : {};\n let result = new PurchasedFishFactorVm();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"species\"] = this.species;\n data[\"cO2_kg_per_unit\"] = this.cO2_kg_per_unit;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IPurchasedFishFactorVm extends ICalcFactorVm {\n species: FishSpecies;\n cO2_kg_per_unit?: number | undefined;\n}\n\nexport class WasteFactorVm extends CalcFactorVm implements IWasteFactorVm {\n class!: WasteClass;\n subClass?: WasteSubClass | undefined;\n recycled?: number | undefined;\n composted?: number | undefined;\n incinerated!: number;\n landfilled!: number;\n mixed!: number;\n disposedToSea?: number | undefined;\n density!: number;\n\n constructor(data?: IWasteFactorVm) {\n super(data);\n this._discriminator = \"WasteFactor\";\n }\n\n override init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.class = _data[\"class\"];\n this.subClass = _data[\"subClass\"];\n this.recycled = _data[\"recycled\"];\n this.composted = _data[\"composted\"];\n this.incinerated = _data[\"incinerated\"];\n this.landfilled = _data[\"landfilled\"];\n this.mixed = _data[\"mixed\"];\n this.disposedToSea = _data[\"disposedToSea\"];\n this.density = _data[\"density\"];\n }\n }\n\n static override fromJS(data: any): WasteFactorVm {\n data = typeof data === 'object' ? data : {};\n let result = new WasteFactorVm();\n result.init(data);\n return result;\n }\n\n override toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"class\"] = this.class;\n data[\"subClass\"] = this.subClass;\n data[\"recycled\"] = this.recycled;\n data[\"composted\"] = this.composted;\n data[\"incinerated\"] = this.incinerated;\n data[\"landfilled\"] = this.landfilled;\n data[\"mixed\"] = this.mixed;\n data[\"disposedToSea\"] = this.disposedToSea;\n data[\"density\"] = this.density;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IWasteFactorVm extends ICalcFactorVm {\n class: WasteClass;\n subClass?: WasteSubClass | undefined;\n recycled?: number | undefined;\n composted?: number | undefined;\n incinerated: number;\n landfilled: number;\n mixed: number;\n disposedToSea?: number | undefined;\n density: number;\n}\n\nexport class CountryVm implements ICountryVm {\n code!: CountryCodes;\n name!: string;\n\n constructor(data?: ICountryVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.code = _data[\"code\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): CountryVm {\n data = typeof data === 'object' ? data : {};\n let result = new CountryVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"code\"] = this.code;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface ICountryVm {\n code: CountryCodes;\n name: string;\n}\n\nexport class GetAllCountriesQueryResponse implements IGetAllCountriesQueryResponse {\n result!: CountryVm[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetAllCountriesQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(CountryVm.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetAllCountriesQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetAllCountriesQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetAllCountriesQueryResponse {\n result: CountryVm[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CurrencyVm implements ICurrencyVm {\n code!: CurrencyCodes;\n name!: string;\n\n constructor(data?: ICurrencyVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.code = _data[\"code\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): CurrencyVm {\n data = typeof data === 'object' ? data : {};\n let result = new CurrencyVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"code\"] = this.code;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface ICurrencyVm {\n code: CurrencyCodes;\n name: string;\n}\n\nexport class GetAllCurrenciesQueryResponse implements IGetAllCurrenciesQueryResponse {\n result!: CurrencyVm[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetAllCurrenciesQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(CurrencyVm.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetAllCurrenciesQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetAllCurrenciesQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetAllCurrenciesQueryResponse {\n result: CurrencyVm[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class UpdateDataCategoryCommandParams implements IUpdateDataCategoryCommandParams {\n dataRecordCategory!: DataRecordCategory;\n name!: string;\n guidance!: string;\n\n constructor(data?: IUpdateDataCategoryCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dataRecordCategory = _data[\"dataRecordCategory\"];\n this.name = _data[\"name\"];\n this.guidance = _data[\"guidance\"];\n }\n }\n\n static fromJS(data: any): UpdateDataCategoryCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateDataCategoryCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dataRecordCategory\"] = this.dataRecordCategory;\n data[\"name\"] = this.name;\n data[\"guidance\"] = this.guidance;\n return data;\n }\n}\n\nexport interface IUpdateDataCategoryCommandParams {\n dataRecordCategory: DataRecordCategory;\n name: string;\n guidance: string;\n}\n\nexport class UpdateDataCategoryCommandResponse implements IUpdateDataCategoryCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IUpdateDataCategoryCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): UpdateDataCategoryCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateDataCategoryCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IUpdateDataCategoryCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetAllNamesDataCategoriesQueryResponse implements IGetAllNamesDataCategoriesQueryResponse {\n result!: GetAllNamesDataCategoriesVm[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetAllNamesDataCategoriesQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(GetAllNamesDataCategoriesVm.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetAllNamesDataCategoriesQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetAllNamesDataCategoriesQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetAllNamesDataCategoriesQueryResponse {\n result: GetAllNamesDataCategoriesVm[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetAllNamesDataCategoriesVm implements IGetAllNamesDataCategoriesVm {\n dataRecordCategory!: DataRecordCategory;\n name!: string;\n guidance!: string;\n\n constructor(data?: IGetAllNamesDataCategoriesVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dataRecordCategory = _data[\"dataRecordCategory\"];\n this.name = _data[\"name\"];\n this.guidance = _data[\"guidance\"];\n }\n }\n\n static fromJS(data: any): GetAllNamesDataCategoriesVm {\n data = typeof data === 'object' ? data : {};\n let result = new GetAllNamesDataCategoriesVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dataRecordCategory\"] = this.dataRecordCategory;\n data[\"name\"] = this.name;\n data[\"guidance\"] = this.guidance;\n return data;\n }\n}\n\nexport interface IGetAllNamesDataCategoriesVm {\n dataRecordCategory: DataRecordCategory;\n name: string;\n guidance: string;\n}\n\nexport class GetDataCategoryByDataRecordCategoryQueryResponse implements IGetDataCategoryByDataRecordCategoryQueryResponse {\n result!: GetDataCategoryByDataRecordCategoryVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetDataCategoryByDataRecordCategoryQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new GetDataCategoryByDataRecordCategoryVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? GetDataCategoryByDataRecordCategoryVm.fromJS(_data[\"result\"]) : new GetDataCategoryByDataRecordCategoryVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetDataCategoryByDataRecordCategoryQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetDataCategoryByDataRecordCategoryQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetDataCategoryByDataRecordCategoryQueryResponse {\n result: GetDataCategoryByDataRecordCategoryVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetDataCategoryByDataRecordCategoryVm implements IGetDataCategoryByDataRecordCategoryVm {\n dataRecordCategory!: DataRecordCategory;\n name!: string;\n guidance!: string;\n\n constructor(data?: IGetDataCategoryByDataRecordCategoryVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dataRecordCategory = _data[\"dataRecordCategory\"];\n this.name = _data[\"name\"];\n this.guidance = _data[\"guidance\"];\n }\n }\n\n static fromJS(data: any): GetDataCategoryByDataRecordCategoryVm {\n data = typeof data === 'object' ? data : {};\n let result = new GetDataCategoryByDataRecordCategoryVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dataRecordCategory\"] = this.dataRecordCategory;\n data[\"name\"] = this.name;\n data[\"guidance\"] = this.guidance;\n return data;\n }\n}\n\nexport interface IGetDataCategoryByDataRecordCategoryVm {\n dataRecordCategory: DataRecordCategory;\n name: string;\n guidance: string;\n}\n\nexport class GetListDataCategoriesQueryResponse implements IGetListDataCategoriesQueryResponse {\n result!: GetListDataCategoriesVm[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetListDataCategoriesQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(GetListDataCategoriesVm.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetListDataCategoriesQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetListDataCategoriesQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetListDataCategoriesQueryResponse {\n result: GetListDataCategoriesVm[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetListDataCategoriesVm implements IGetListDataCategoriesVm {\n dataRecordCategory!: DataRecordCategory;\n name!: string;\n guidance!: string;\n lastUpdated!: Date;\n editedBy!: string;\n\n constructor(data?: IGetListDataCategoriesVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dataRecordCategory = _data[\"dataRecordCategory\"];\n this.name = _data[\"name\"];\n this.guidance = _data[\"guidance\"];\n this.lastUpdated = _data[\"lastUpdated\"] ? new Date(_data[\"lastUpdated\"].toString()) : undefined;\n this.editedBy = _data[\"editedBy\"];\n }\n }\n\n static fromJS(data: any): GetListDataCategoriesVm {\n data = typeof data === 'object' ? data : {};\n let result = new GetListDataCategoriesVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dataRecordCategory\"] = this.dataRecordCategory;\n data[\"name\"] = this.name;\n data[\"guidance\"] = this.guidance;\n data[\"lastUpdated\"] = this.lastUpdated ? this.lastUpdated.toISOString() : undefined;\n data[\"editedBy\"] = this.editedBy;\n return data;\n }\n}\n\nexport interface IGetListDataCategoriesVm {\n dataRecordCategory: DataRecordCategory;\n name: string;\n guidance: string;\n lastUpdated: Date;\n editedBy: string;\n}\n\nexport class CreateOrganizationCommandParams implements ICreateOrganizationCommandParams {\n name!: string;\n brandColor?: string | undefined;\n tableHeadColor?: string | undefined;\n countryCode!: CountryCodes;\n currencyCode!: CurrencyCodes;\n orgID!: string;\n logo?: OrganizationLogo | undefined;\n logoSquare?: OrganizationLogo | undefined;\n\n constructor(data?: ICreateOrganizationCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.brandColor = _data[\"brandColor\"];\n this.tableHeadColor = _data[\"tableHeadColor\"];\n this.countryCode = _data[\"countryCode\"];\n this.currencyCode = _data[\"currencyCode\"];\n this.orgID = _data[\"orgID\"];\n this.logo = _data[\"logo\"] ? OrganizationLogo.fromJS(_data[\"logo\"]) : undefined;\n this.logoSquare = _data[\"logoSquare\"] ? OrganizationLogo.fromJS(_data[\"logoSquare\"]) : undefined;\n }\n }\n\n static fromJS(data: any): CreateOrganizationCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrganizationCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"brandColor\"] = this.brandColor;\n data[\"tableHeadColor\"] = this.tableHeadColor;\n data[\"countryCode\"] = this.countryCode;\n data[\"currencyCode\"] = this.currencyCode;\n data[\"orgID\"] = this.orgID;\n data[\"logo\"] = this.logo ? this.logo.toJSON() : undefined;\n data[\"logoSquare\"] = this.logoSquare ? this.logoSquare.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface ICreateOrganizationCommandParams {\n name: string;\n brandColor?: string | undefined;\n tableHeadColor?: string | undefined;\n countryCode: CountryCodes;\n currencyCode: CurrencyCodes;\n orgID: string;\n logo?: OrganizationLogo | undefined;\n logoSquare?: OrganizationLogo | undefined;\n}\n\nexport class CreateOrganizationCommandResponse implements ICreateOrganizationCommandResponse {\n result!: string;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: ICreateOrganizationCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"];\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CreateOrganizationCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CreateOrganizationCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICreateOrganizationCommandResponse {\n result: string;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class DeleteOrganizationCommandParams implements IDeleteOrganizationCommandParams {\n id!: string;\n\n constructor(data?: IDeleteOrganizationCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): DeleteOrganizationCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteOrganizationCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IDeleteOrganizationCommandParams {\n id: string;\n}\n\nexport class DeleteOrganizationCommandResponse implements IDeleteOrganizationCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IDeleteOrganizationCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DeleteOrganizationCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteOrganizationCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDeleteOrganizationCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class UpdateOrganizationCommandParams implements IUpdateOrganizationCommandParams {\n id!: string;\n name!: string;\n brandColor?: string | undefined;\n tableHeadColor?: string | undefined;\n countryCode!: CountryCodes;\n currencyCode!: CurrencyCodes;\n orgID!: string;\n logo?: OrganizationLogo | undefined;\n logoSquare?: OrganizationLogo | undefined;\n\n constructor(data?: IUpdateOrganizationCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.brandColor = _data[\"brandColor\"];\n this.tableHeadColor = _data[\"tableHeadColor\"];\n this.countryCode = _data[\"countryCode\"];\n this.currencyCode = _data[\"currencyCode\"];\n this.orgID = _data[\"orgID\"];\n this.logo = _data[\"logo\"] ? OrganizationLogo.fromJS(_data[\"logo\"]) : undefined;\n this.logoSquare = _data[\"logoSquare\"] ? OrganizationLogo.fromJS(_data[\"logoSquare\"]) : undefined;\n }\n }\n\n static fromJS(data: any): UpdateOrganizationCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateOrganizationCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"brandColor\"] = this.brandColor;\n data[\"tableHeadColor\"] = this.tableHeadColor;\n data[\"countryCode\"] = this.countryCode;\n data[\"currencyCode\"] = this.currencyCode;\n data[\"orgID\"] = this.orgID;\n data[\"logo\"] = this.logo ? this.logo.toJSON() : undefined;\n data[\"logoSquare\"] = this.logoSquare ? this.logoSquare.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IUpdateOrganizationCommandParams {\n id: string;\n name: string;\n brandColor?: string | undefined;\n tableHeadColor?: string | undefined;\n countryCode: CountryCodes;\n currencyCode: CurrencyCodes;\n orgID: string;\n logo?: OrganizationLogo | undefined;\n logoSquare?: OrganizationLogo | undefined;\n}\n\nexport class UpdateOrganizationCommandResponse implements IUpdateOrganizationCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IUpdateOrganizationCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): UpdateOrganizationCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateOrganizationCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IUpdateOrganizationCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetByIdQueryResponse implements IGetByIdQueryResponse {\n result!: OrganizationDetailsVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetByIdQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new OrganizationDetailsVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? OrganizationDetailsVm.fromJS(_data[\"result\"]) : new OrganizationDetailsVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetByIdQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetByIdQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetByIdQueryResponse {\n result: OrganizationDetailsVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class OrganizationDetailsVm implements IOrganizationDetailsVm {\n id!: string;\n name!: string;\n brandColor?: string | undefined;\n tableHeadColor?: string | undefined;\n logo?: OrganizationLogo | undefined;\n logoSquare?: OrganizationLogo | undefined;\n countryCode!: CountryCodes;\n countryName!: string;\n currencyCode!: CurrencyCodes;\n orgID!: string;\n users!: OrganizationUser[];\n\n constructor(data?: IOrganizationDetailsVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.users = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.brandColor = _data[\"brandColor\"];\n this.tableHeadColor = _data[\"tableHeadColor\"];\n this.logo = _data[\"logo\"] ? OrganizationLogo.fromJS(_data[\"logo\"]) : undefined;\n this.logoSquare = _data[\"logoSquare\"] ? OrganizationLogo.fromJS(_data[\"logoSquare\"]) : undefined;\n this.countryCode = _data[\"countryCode\"];\n this.countryName = _data[\"countryName\"];\n this.currencyCode = _data[\"currencyCode\"];\n this.orgID = _data[\"orgID\"];\n if (Array.isArray(_data[\"users\"])) {\n this.users = [] as any;\n for (let item of _data[\"users\"])\n this.users!.push(OrganizationUser.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): OrganizationDetailsVm {\n data = typeof data === 'object' ? data : {};\n let result = new OrganizationDetailsVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"brandColor\"] = this.brandColor;\n data[\"tableHeadColor\"] = this.tableHeadColor;\n data[\"logo\"] = this.logo ? this.logo.toJSON() : undefined;\n data[\"logoSquare\"] = this.logoSquare ? this.logoSquare.toJSON() : undefined;\n data[\"countryCode\"] = this.countryCode;\n data[\"countryName\"] = this.countryName;\n data[\"currencyCode\"] = this.currencyCode;\n data[\"orgID\"] = this.orgID;\n if (Array.isArray(this.users)) {\n data[\"users\"] = [];\n for (let item of this.users)\n data[\"users\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IOrganizationDetailsVm {\n id: string;\n name: string;\n brandColor?: string | undefined;\n tableHeadColor?: string | undefined;\n logo?: OrganizationLogo | undefined;\n logoSquare?: OrganizationLogo | undefined;\n countryCode: CountryCodes;\n countryName: string;\n currencyCode: CurrencyCodes;\n orgID: string;\n users: OrganizationUser[];\n}\n\nexport class OrganizationUser implements IOrganizationUser {\n id!: string;\n name!: string;\n email!: string;\n role!: UserRole;\n\n constructor(data?: IOrganizationUser) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.email = _data[\"email\"];\n this.role = _data[\"role\"];\n }\n }\n\n static fromJS(data: any): OrganizationUser {\n data = typeof data === 'object' ? data : {};\n let result = new OrganizationUser();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"email\"] = this.email;\n data[\"role\"] = this.role;\n return data;\n }\n}\n\nexport interface IOrganizationUser {\n id: string;\n name: string;\n email: string;\n role: UserRole;\n}\n\nexport class GetOrgWithSuborgFlattenedListQueryResponse implements IGetOrgWithSuborgFlattenedListQueryResponse {\n result!: OrgWithSuborgListItemVm[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetOrgWithSuborgFlattenedListQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(OrgWithSuborgListItemVm.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetOrgWithSuborgFlattenedListQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetOrgWithSuborgFlattenedListQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetOrgWithSuborgFlattenedListQueryResponse {\n result: OrgWithSuborgListItemVm[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class OrgWithSuborgListItemVm implements IOrgWithSuborgListItemVm {\n name!: string;\n fullPathName!: string;\n leaf!: boolean;\n organizationId!: string;\n parentSubOrganizationId?: string | undefined;\n subOrganizationId?: string | undefined;\n countryCode!: CountryCodes;\n currencyCode?: CurrencyCodes | undefined;\n\n constructor(data?: IOrgWithSuborgListItemVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.fullPathName = _data[\"fullPathName\"];\n this.leaf = _data[\"leaf\"];\n this.organizationId = _data[\"organizationId\"];\n this.parentSubOrganizationId = _data[\"parentSubOrganizationId\"];\n this.subOrganizationId = _data[\"subOrganizationId\"];\n this.countryCode = _data[\"countryCode\"];\n this.currencyCode = _data[\"currencyCode\"];\n }\n }\n\n static fromJS(data: any): OrgWithSuborgListItemVm {\n data = typeof data === 'object' ? data : {};\n let result = new OrgWithSuborgListItemVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"fullPathName\"] = this.fullPathName;\n data[\"leaf\"] = this.leaf;\n data[\"organizationId\"] = this.organizationId;\n data[\"parentSubOrganizationId\"] = this.parentSubOrganizationId;\n data[\"subOrganizationId\"] = this.subOrganizationId;\n data[\"countryCode\"] = this.countryCode;\n data[\"currencyCode\"] = this.currencyCode;\n return data;\n }\n}\n\nexport interface IOrgWithSuborgListItemVm {\n name: string;\n fullPathName: string;\n leaf: boolean;\n organizationId: string;\n parentSubOrganizationId?: string | undefined;\n subOrganizationId?: string | undefined;\n countryCode: CountryCodes;\n currencyCode?: CurrencyCodes | undefined;\n}\n\nexport class GetOrganizationListQueryResponse implements IGetOrganizationListQueryResponse {\n result!: OrganizationListItemVm[];\n currentContextOrganizationId!: string;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetOrganizationListQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(OrganizationListItemVm.fromJS(item));\n }\n this.currentContextOrganizationId = _data[\"currentContextOrganizationId\"];\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetOrganizationListQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetOrganizationListQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"currentContextOrganizationId\"] = this.currentContextOrganizationId;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetOrganizationListQueryResponse {\n result: OrganizationListItemVm[];\n currentContextOrganizationId: string;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class OrganizationListItemVm implements IOrganizationListItemVm {\n name!: string;\n organizationId!: string;\n\n constructor(data?: IOrganizationListItemVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.organizationId = _data[\"organizationId\"];\n }\n }\n\n static fromJS(data: any): OrganizationListItemVm {\n data = typeof data === 'object' ? data : {};\n let result = new OrganizationListItemVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"organizationId\"] = this.organizationId;\n return data;\n }\n}\n\nexport interface IOrganizationListItemVm {\n name: string;\n organizationId: string;\n}\n\nexport class GetOrganizationsAndSuborganizationsFilteredByQueryResponse implements IGetOrganizationsAndSuborganizationsFilteredByQueryResponse {\n result!: PagedCollection_1OfOrganizationVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetOrganizationsAndSuborganizationsFilteredByQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new PagedCollection_1OfOrganizationVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? PagedCollection_1OfOrganizationVm.fromJS(_data[\"result\"]) : new PagedCollection_1OfOrganizationVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetOrganizationsAndSuborganizationsFilteredByQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetOrganizationsAndSuborganizationsFilteredByQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetOrganizationsAndSuborganizationsFilteredByQueryResponse {\n result: PagedCollection_1OfOrganizationVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class OrganizationVm implements IOrganizationVm {\n id!: string;\n name!: string;\n userCount!: number;\n countryCode!: CountryCodes;\n countryName!: string;\n currencyCode!: CurrencyCodes;\n orgID!: string;\n hasAssignedAssets!: boolean;\n subOrganizations!: SubOrganizationVm[];\n allSubOrganizationsCount!: number;\n\n constructor(data?: IOrganizationVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.subOrganizations = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.userCount = _data[\"userCount\"];\n this.countryCode = _data[\"countryCode\"];\n this.countryName = _data[\"countryName\"];\n this.currencyCode = _data[\"currencyCode\"];\n this.orgID = _data[\"orgID\"];\n this.hasAssignedAssets = _data[\"hasAssignedAssets\"];\n if (Array.isArray(_data[\"subOrganizations\"])) {\n this.subOrganizations = [] as any;\n for (let item of _data[\"subOrganizations\"])\n this.subOrganizations!.push(SubOrganizationVm.fromJS(item));\n }\n this.allSubOrganizationsCount = _data[\"allSubOrganizationsCount\"];\n }\n }\n\n static fromJS(data: any): OrganizationVm {\n data = typeof data === 'object' ? data : {};\n let result = new OrganizationVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"userCount\"] = this.userCount;\n data[\"countryCode\"] = this.countryCode;\n data[\"countryName\"] = this.countryName;\n data[\"currencyCode\"] = this.currencyCode;\n data[\"orgID\"] = this.orgID;\n data[\"hasAssignedAssets\"] = this.hasAssignedAssets;\n if (Array.isArray(this.subOrganizations)) {\n data[\"subOrganizations\"] = [];\n for (let item of this.subOrganizations)\n data[\"subOrganizations\"].push(item.toJSON());\n }\n data[\"allSubOrganizationsCount\"] = this.allSubOrganizationsCount;\n return data;\n }\n}\n\nexport interface IOrganizationVm {\n id: string;\n name: string;\n userCount: number;\n countryCode: CountryCodes;\n countryName: string;\n currencyCode: CurrencyCodes;\n orgID: string;\n hasAssignedAssets: boolean;\n subOrganizations: SubOrganizationVm[];\n allSubOrganizationsCount: number;\n}\n\nexport class SubOrganizationVm implements ISubOrganizationVm {\n id!: string;\n name!: string;\n countryCode!: CountryCodes;\n countryName!: string;\n orgID!: string;\n hasAssignedAssets!: boolean;\n subOrganizations!: SubOrganizationVm[];\n allSubOrganizationsCount!: number;\n\n constructor(data?: ISubOrganizationVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.subOrganizations = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.countryCode = _data[\"countryCode\"];\n this.countryName = _data[\"countryName\"];\n this.orgID = _data[\"orgID\"];\n this.hasAssignedAssets = _data[\"hasAssignedAssets\"];\n if (Array.isArray(_data[\"subOrganizations\"])) {\n this.subOrganizations = [] as any;\n for (let item of _data[\"subOrganizations\"])\n this.subOrganizations!.push(SubOrganizationVm.fromJS(item));\n }\n this.allSubOrganizationsCount = _data[\"allSubOrganizationsCount\"];\n }\n }\n\n static fromJS(data: any): SubOrganizationVm {\n data = typeof data === 'object' ? data : {};\n let result = new SubOrganizationVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"countryCode\"] = this.countryCode;\n data[\"countryName\"] = this.countryName;\n data[\"orgID\"] = this.orgID;\n data[\"hasAssignedAssets\"] = this.hasAssignedAssets;\n if (Array.isArray(this.subOrganizations)) {\n data[\"subOrganizations\"] = [];\n for (let item of this.subOrganizations)\n data[\"subOrganizations\"].push(item.toJSON());\n }\n data[\"allSubOrganizationsCount\"] = this.allSubOrganizationsCount;\n return data;\n }\n}\n\nexport interface ISubOrganizationVm {\n id: string;\n name: string;\n countryCode: CountryCodes;\n countryName: string;\n orgID: string;\n hasAssignedAssets: boolean;\n subOrganizations: SubOrganizationVm[];\n allSubOrganizationsCount: number;\n}\n\nexport class CreateRegionCommandParams implements ICreateRegionCommandParams {\n organizationId!: string;\n name!: string;\n\n constructor(data?: ICreateRegionCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.organizationId = _data[\"organizationId\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): CreateRegionCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateRegionCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"organizationId\"] = this.organizationId;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface ICreateRegionCommandParams {\n organizationId: string;\n name: string;\n}\n\nexport class CreateRegionCommandResponse implements ICreateRegionCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: ICreateRegionCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CreateRegionCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CreateRegionCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICreateRegionCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class DeleteRegionCommandResponse implements IDeleteRegionCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IDeleteRegionCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DeleteRegionCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteRegionCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDeleteRegionCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class UpdateRegionCommandParams implements IUpdateRegionCommandParams {\n id!: string;\n name!: string;\n\n constructor(data?: IUpdateRegionCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): UpdateRegionCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateRegionCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface IUpdateRegionCommandParams {\n id: string;\n name: string;\n}\n\nexport class UpdateRegionCommandResponse implements IUpdateRegionCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IUpdateRegionCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): UpdateRegionCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateRegionCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IUpdateRegionCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetAllNamesRegionsQueryResponse implements IGetAllNamesRegionsQueryResponse {\n result!: GetAllNamesRegionsVm[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetAllNamesRegionsQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(GetAllNamesRegionsVm.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetAllNamesRegionsQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetAllNamesRegionsQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetAllNamesRegionsQueryResponse {\n result: GetAllNamesRegionsVm[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetAllNamesRegionsVm implements IGetAllNamesRegionsVm {\n id!: string;\n name!: string;\n\n constructor(data?: IGetAllNamesRegionsVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): GetAllNamesRegionsVm {\n data = typeof data === 'object' ? data : {};\n let result = new GetAllNamesRegionsVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface IGetAllNamesRegionsVm {\n id: string;\n name: string;\n}\n\nexport class GetListRegionsQueryResponse implements IGetListRegionsQueryResponse {\n result!: GetListRegionsVm[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetListRegionsQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(GetListRegionsVm.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetListRegionsQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetListRegionsQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetListRegionsQueryResponse {\n result: GetListRegionsVm[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetListRegionsVm implements IGetListRegionsVm {\n id!: string;\n name!: string;\n lastUpdated!: Date;\n editedBy!: string;\n\n constructor(data?: IGetListRegionsVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.lastUpdated = _data[\"lastUpdated\"] ? new Date(_data[\"lastUpdated\"].toString()) : undefined;\n this.editedBy = _data[\"editedBy\"];\n }\n }\n\n static fromJS(data: any): GetListRegionsVm {\n data = typeof data === 'object' ? data : {};\n let result = new GetListRegionsVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"lastUpdated\"] = this.lastUpdated ? this.lastUpdated.toISOString() : undefined;\n data[\"editedBy\"] = this.editedBy;\n return data;\n }\n}\n\nexport interface IGetListRegionsVm {\n id: string;\n name: string;\n lastUpdated: Date;\n editedBy: string;\n}\n\nexport class GetAllSectorsQueryResponse implements IGetAllSectorsQueryResponse {\n result!: SectorVm[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetAllSectorsQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(SectorVm.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetAllSectorsQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetAllSectorsQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetAllSectorsQueryResponse {\n result: SectorVm[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class SectorVm implements ISectorVm {\n category!: SectorCategory;\n type!: SectorType;\n name!: string;\n\n constructor(data?: ISectorVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.category = _data[\"category\"];\n this.type = _data[\"type\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): SectorVm {\n data = typeof data === 'object' ? data : {};\n let result = new SectorVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"category\"] = this.category;\n data[\"type\"] = this.type;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface ISectorVm {\n category: SectorCategory;\n type: SectorType;\n name: string;\n}\n\nexport class CreateSubOrganizationCommandParams implements ICreateSubOrganizationCommandParams {\n organizationId!: string;\n parentSubOrganizationId?: string | undefined;\n subOrganizationName!: string;\n countryCode!: CountryCodes;\n orgID!: string;\n\n constructor(data?: ICreateSubOrganizationCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.organizationId = _data[\"organizationId\"];\n this.parentSubOrganizationId = _data[\"parentSubOrganizationId\"];\n this.subOrganizationName = _data[\"subOrganizationName\"];\n this.countryCode = _data[\"countryCode\"];\n this.orgID = _data[\"orgID\"];\n }\n }\n\n static fromJS(data: any): CreateSubOrganizationCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateSubOrganizationCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"organizationId\"] = this.organizationId;\n data[\"parentSubOrganizationId\"] = this.parentSubOrganizationId;\n data[\"subOrganizationName\"] = this.subOrganizationName;\n data[\"countryCode\"] = this.countryCode;\n data[\"orgID\"] = this.orgID;\n return data;\n }\n}\n\nexport interface ICreateSubOrganizationCommandParams {\n organizationId: string;\n parentSubOrganizationId?: string | undefined;\n subOrganizationName: string;\n countryCode: CountryCodes;\n orgID: string;\n}\n\nexport class CreateSubOrganizationCommandResponse implements ICreateSubOrganizationCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: ICreateSubOrganizationCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CreateSubOrganizationCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CreateSubOrganizationCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICreateSubOrganizationCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class DeleteSubOrganizationCommandParams implements IDeleteSubOrganizationCommandParams {\n organizationId!: string;\n subOrganizationId!: string;\n\n constructor(data?: IDeleteSubOrganizationCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.organizationId = _data[\"organizationId\"];\n this.subOrganizationId = _data[\"subOrganizationId\"];\n }\n }\n\n static fromJS(data: any): DeleteSubOrganizationCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteSubOrganizationCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"organizationId\"] = this.organizationId;\n data[\"subOrganizationId\"] = this.subOrganizationId;\n return data;\n }\n}\n\nexport interface IDeleteSubOrganizationCommandParams {\n organizationId: string;\n subOrganizationId: string;\n}\n\nexport class DeleteSubOrganizationCommandResponse implements IDeleteSubOrganizationCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IDeleteSubOrganizationCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DeleteSubOrganizationCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteSubOrganizationCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDeleteSubOrganizationCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class UpdateSubOrganizationCommandParams implements IUpdateSubOrganizationCommandParams {\n organizationId!: string;\n subOrganizationId!: string;\n subOrganizationName!: string;\n countryCode!: CountryCodes;\n orgID!: string;\n\n constructor(data?: IUpdateSubOrganizationCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.organizationId = _data[\"organizationId\"];\n this.subOrganizationId = _data[\"subOrganizationId\"];\n this.subOrganizationName = _data[\"subOrganizationName\"];\n this.countryCode = _data[\"countryCode\"];\n this.orgID = _data[\"orgID\"];\n }\n }\n\n static fromJS(data: any): UpdateSubOrganizationCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateSubOrganizationCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"organizationId\"] = this.organizationId;\n data[\"subOrganizationId\"] = this.subOrganizationId;\n data[\"subOrganizationName\"] = this.subOrganizationName;\n data[\"countryCode\"] = this.countryCode;\n data[\"orgID\"] = this.orgID;\n return data;\n }\n}\n\nexport interface IUpdateSubOrganizationCommandParams {\n organizationId: string;\n subOrganizationId: string;\n subOrganizationName: string;\n countryCode: CountryCodes;\n orgID: string;\n}\n\nexport class UpdateSubOrganizationCommandResponse implements IUpdateSubOrganizationCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IUpdateSubOrganizationCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): UpdateSubOrganizationCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateSubOrganizationCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IUpdateSubOrganizationCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CreateUnitCommandParams implements ICreateUnitCommandParams {\n key!: string;\n name!: string;\n description!: string;\n\n constructor(data?: ICreateUnitCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.key = _data[\"key\"];\n this.name = _data[\"name\"];\n this.description = _data[\"description\"];\n }\n }\n\n static fromJS(data: any): CreateUnitCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateUnitCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"key\"] = this.key;\n data[\"name\"] = this.name;\n data[\"description\"] = this.description;\n return data;\n }\n}\n\nexport interface ICreateUnitCommandParams {\n key: string;\n name: string;\n description: string;\n}\n\nexport class CreateUnitCommandResponse implements ICreateUnitCommandResponse {\n result!: string;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: ICreateUnitCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"];\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CreateUnitCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CreateUnitCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICreateUnitCommandResponse {\n result: string;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class DeleteUnitCommandResponse implements IDeleteUnitCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IDeleteUnitCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DeleteUnitCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteUnitCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDeleteUnitCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class UpdateUnitCommandParams implements IUpdateUnitCommandParams {\n key!: string;\n name!: string;\n description!: string;\n\n constructor(data?: IUpdateUnitCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.key = _data[\"key\"];\n this.name = _data[\"name\"];\n this.description = _data[\"description\"];\n }\n }\n\n static fromJS(data: any): UpdateUnitCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateUnitCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"key\"] = this.key;\n data[\"name\"] = this.name;\n data[\"description\"] = this.description;\n return data;\n }\n}\n\nexport interface IUpdateUnitCommandParams {\n key: string;\n name: string;\n description: string;\n}\n\nexport class UpdateUnitCommandResponse implements IUpdateUnitCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IUpdateUnitCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): UpdateUnitCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateUnitCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IUpdateUnitCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetAllUnitsQueryResponse implements IGetAllUnitsQueryResponse {\n result!: UnitVm[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetAllUnitsQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(UnitVm.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetAllUnitsQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetAllUnitsQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetAllUnitsQueryResponse {\n result: UnitVm[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetUnitByKeyQueryResponse implements IGetUnitByKeyQueryResponse {\n result!: UnitVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetUnitByKeyQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new UnitVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? UnitVm.fromJS(_data[\"result\"]) : new UnitVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetUnitByKeyQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetUnitByKeyQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetUnitByKeyQueryResponse {\n result: UnitVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class UnitVm implements IUnitVm {\n key!: string;\n name!: string;\n description!: string;\n isSystem!: boolean;\n\n constructor(data?: IUnitVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.key = _data[\"key\"];\n this.name = _data[\"name\"];\n this.description = _data[\"description\"];\n this.isSystem = _data[\"isSystem\"];\n }\n }\n\n static fromJS(data: any): UnitVm {\n data = typeof data === 'object' ? data : {};\n let result = new UnitVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"key\"] = this.key;\n data[\"name\"] = this.name;\n data[\"description\"] = this.description;\n data[\"isSystem\"] = this.isSystem;\n return data;\n }\n}\n\nexport interface IUnitVm {\n key: string;\n name: string;\n description: string;\n isSystem: boolean;\n}\n\nexport class CreateUserCommandParams implements ICreateUserCommandParams {\n organizationId?: string | undefined;\n firstName!: string;\n lastName!: string;\n email!: string;\n role!: UserRole;\n\n constructor(data?: ICreateUserCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.organizationId = _data[\"organizationId\"];\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n this.email = _data[\"email\"];\n this.role = _data[\"role\"];\n }\n }\n\n static fromJS(data: any): CreateUserCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateUserCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"organizationId\"] = this.organizationId;\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n data[\"email\"] = this.email;\n data[\"role\"] = this.role;\n return data;\n }\n}\n\nexport interface ICreateUserCommandParams {\n organizationId?: string | undefined;\n firstName: string;\n lastName: string;\n email: string;\n role: UserRole;\n}\n\nexport class CreateUserCommandResponse implements ICreateUserCommandResponse {\n result!: string;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: ICreateUserCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"];\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CreateUserCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CreateUserCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICreateUserCommandResponse {\n result: string;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class DeleteUserCommandParams implements IDeleteUserCommandParams {\n id!: string;\n\n constructor(data?: IDeleteUserCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): DeleteUserCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteUserCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface IDeleteUserCommandParams {\n id: string;\n}\n\nexport class DeleteUserCommandResponse implements IDeleteUserCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IDeleteUserCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DeleteUserCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteUserCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDeleteUserCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class UpdateUserCommandParams implements IUpdateUserCommandParams {\n id!: string;\n organizationId!: string;\n firstName!: string;\n lastName!: string;\n role!: UserRole;\n\n constructor(data?: IUpdateUserCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.organizationId = _data[\"organizationId\"];\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n this.role = _data[\"role\"];\n }\n }\n\n static fromJS(data: any): UpdateUserCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateUserCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"organizationId\"] = this.organizationId;\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n data[\"role\"] = this.role;\n return data;\n }\n}\n\nexport interface IUpdateUserCommandParams {\n id: string;\n organizationId: string;\n firstName: string;\n lastName: string;\n role: UserRole;\n}\n\nexport class UpdateUserCommandResponse implements IUpdateUserCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IUpdateUserCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): UpdateUserCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateUserCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IUpdateUserCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class UpdateUserOnboardedCommandResponse implements IUpdateUserOnboardedCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IUpdateUserOnboardedCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): UpdateUserOnboardedCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateUserOnboardedCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IUpdateUserOnboardedCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class UpdateUserProfileCommandParams implements IUpdateUserProfileCommandParams {\n firstName!: string;\n lastName!: string;\n\n constructor(data?: IUpdateUserProfileCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n }\n }\n\n static fromJS(data: any): UpdateUserProfileCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateUserProfileCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n return data;\n }\n}\n\nexport interface IUpdateUserProfileCommandParams {\n firstName: string;\n lastName: string;\n}\n\nexport class UpdateUserProfileCommandResponse implements IUpdateUserProfileCommandResponse {\n result!: string;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IUpdateUserProfileCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"];\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): UpdateUserProfileCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateUserProfileCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IUpdateUserProfileCommandResponse {\n result: string;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CheckUserExistsForEmailQueryResponse implements ICheckUserExistsForEmailQueryResponse {\n result!: CheckUserExistsForEmailVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: ICheckUserExistsForEmailQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new CheckUserExistsForEmailVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? CheckUserExistsForEmailVm.fromJS(_data[\"result\"]) : new CheckUserExistsForEmailVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CheckUserExistsForEmailQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CheckUserExistsForEmailQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICheckUserExistsForEmailQueryResponse {\n result: CheckUserExistsForEmailVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CheckUserExistsForEmailVm implements ICheckUserExistsForEmailVm {\n usersExists!: boolean;\n\n constructor(data?: ICheckUserExistsForEmailVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.usersExists = _data[\"usersExists\"];\n }\n }\n\n static fromJS(data: any): CheckUserExistsForEmailVm {\n data = typeof data === 'object' ? data : {};\n let result = new CheckUserExistsForEmailVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"usersExists\"] = this.usersExists;\n return data;\n }\n}\n\nexport interface ICheckUserExistsForEmailVm {\n usersExists: boolean;\n}\n\nexport class GetUserByIdQueryResponse implements IGetUserByIdQueryResponse {\n result!: UserDetailsVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetUserByIdQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new UserDetailsVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? UserDetailsVm.fromJS(_data[\"result\"]) : new UserDetailsVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetUserByIdQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetUserByIdQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetUserByIdQueryResponse {\n result: UserDetailsVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class UserDetailsVm implements IUserDetailsVm {\n id!: string;\n organizationId!: string;\n organizationName!: string;\n firstName!: string;\n lastName!: string;\n email!: string;\n role!: UserRole;\n\n constructor(data?: IUserDetailsVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.organizationId = _data[\"organizationId\"];\n this.organizationName = _data[\"organizationName\"];\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n this.email = _data[\"email\"];\n this.role = _data[\"role\"];\n }\n }\n\n static fromJS(data: any): UserDetailsVm {\n data = typeof data === 'object' ? data : {};\n let result = new UserDetailsVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"organizationId\"] = this.organizationId;\n data[\"organizationName\"] = this.organizationName;\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n data[\"email\"] = this.email;\n data[\"role\"] = this.role;\n return data;\n }\n}\n\nexport interface IUserDetailsVm {\n id: string;\n organizationId: string;\n organizationName: string;\n firstName: string;\n lastName: string;\n email: string;\n role: UserRole;\n}\n\nexport class GetOrganizationUsersQueryResponse implements IGetOrganizationUsersQueryResponse {\n result!: UserVm[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetOrganizationUsersQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(UserVm.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetOrganizationUsersQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetOrganizationUsersQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetOrganizationUsersQueryResponse {\n result: UserVm[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class UserVm implements IUserVm {\n id!: string;\n name!: string;\n\n constructor(data?: IUserVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): UserVm {\n data = typeof data === 'object' ? data : {};\n let result = new UserVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface IUserVm {\n id: string;\n name: string;\n}\n\nexport class GetUsersFilteredByQueryResponse implements IGetUsersFilteredByQueryResponse {\n result!: PagedCollection_1OfUserVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetUsersFilteredByQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new PagedCollection_1OfUserVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? PagedCollection_1OfUserVm.fromJS(_data[\"result\"]) : new PagedCollection_1OfUserVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetUsersFilteredByQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetUsersFilteredByQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetUsersFilteredByQueryResponse {\n result: PagedCollection_1OfUserVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class UserVm2 implements IUserVm2 {\n id!: string;\n organizationId!: string;\n organizationName!: string;\n firstName!: string;\n lastName!: string;\n email!: string;\n role!: UserRole;\n\n constructor(data?: IUserVm2) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.organizationId = _data[\"organizationId\"];\n this.organizationName = _data[\"organizationName\"];\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n this.email = _data[\"email\"];\n this.role = _data[\"role\"];\n }\n }\n\n static fromJS(data: any): UserVm2 {\n data = typeof data === 'object' ? data : {};\n let result = new UserVm2();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"organizationId\"] = this.organizationId;\n data[\"organizationName\"] = this.organizationName;\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n data[\"email\"] = this.email;\n data[\"role\"] = this.role;\n return data;\n }\n}\n\nexport interface IUserVm2 {\n id: string;\n organizationId: string;\n organizationName: string;\n firstName: string;\n lastName: string;\n email: string;\n role: UserRole;\n}\n\nexport enum AccessTokenTypes {\n External = \"External\",\n Report = \"Report\",\n}\n\nexport class OrganizationLogo implements IOrganizationLogo {\n blobName!: string;\n fileName!: string;\n\n constructor(data?: IOrganizationLogo) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.blobName = _data[\"blobName\"];\n this.fileName = _data[\"fileName\"];\n }\n }\n\n static fromJS(data: any): OrganizationLogo {\n data = typeof data === 'object' ? data : {};\n let result = new OrganizationLogo();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"blobName\"] = this.blobName;\n data[\"fileName\"] = this.fileName;\n return data;\n }\n}\n\nexport interface IOrganizationLogo {\n blobName: string;\n fileName: string;\n}\n\nexport class PagedCollection_1OfAssetVm implements IPagedCollection_1OfAssetVm {\n readonly currentPage!: number;\n readonly totalPages!: number;\n pageSize!: number;\n totalCount!: number;\n readonly hasPrevious!: boolean;\n readonly hasNext!: boolean;\n items!: AssetVm[];\n\n constructor(data?: IPagedCollection_1OfAssetVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.items = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n (this).currentPage = _data[\"currentPage\"];\n (this).totalPages = _data[\"totalPages\"];\n this.pageSize = _data[\"pageSize\"];\n this.totalCount = _data[\"totalCount\"];\n (this).hasPrevious = _data[\"hasPrevious\"];\n (this).hasNext = _data[\"hasNext\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(AssetVm.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedCollection_1OfAssetVm {\n data = typeof data === 'object' ? data : {};\n let result = new PagedCollection_1OfAssetVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"currentPage\"] = this.currentPage;\n data[\"totalPages\"] = this.totalPages;\n data[\"pageSize\"] = this.pageSize;\n data[\"totalCount\"] = this.totalCount;\n data[\"hasPrevious\"] = this.hasPrevious;\n data[\"hasNext\"] = this.hasNext;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedCollection_1OfAssetVm {\n currentPage: number;\n totalPages: number;\n pageSize: number;\n totalCount: number;\n hasPrevious: boolean;\n hasNext: boolean;\n items: AssetVm[];\n}\n\nexport class PagedCollection_1OfDataRecord implements IPagedCollection_1OfDataRecord {\n readonly currentPage!: number;\n readonly totalPages!: number;\n pageSize!: number;\n totalCount!: number;\n readonly hasPrevious!: boolean;\n readonly hasNext!: boolean;\n items!: DataRecord[];\n\n constructor(data?: IPagedCollection_1OfDataRecord) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.items = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n (this).currentPage = _data[\"currentPage\"];\n (this).totalPages = _data[\"totalPages\"];\n this.pageSize = _data[\"pageSize\"];\n this.totalCount = _data[\"totalCount\"];\n (this).hasPrevious = _data[\"hasPrevious\"];\n (this).hasNext = _data[\"hasNext\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(DataRecord.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedCollection_1OfDataRecord {\n data = typeof data === 'object' ? data : {};\n let result = new PagedCollection_1OfDataRecord();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"currentPage\"] = this.currentPage;\n data[\"totalPages\"] = this.totalPages;\n data[\"pageSize\"] = this.pageSize;\n data[\"totalCount\"] = this.totalCount;\n data[\"hasPrevious\"] = this.hasPrevious;\n data[\"hasNext\"] = this.hasNext;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedCollection_1OfDataRecord {\n currentPage: number;\n totalPages: number;\n pageSize: number;\n totalCount: number;\n hasPrevious: boolean;\n hasNext: boolean;\n items: DataRecord[];\n}\n\nexport class PagedCollection_1OfGetIndicatorDataByQueryVm implements IPagedCollection_1OfGetIndicatorDataByQueryVm {\n readonly currentPage!: number;\n readonly totalPages!: number;\n pageSize!: number;\n totalCount!: number;\n readonly hasPrevious!: boolean;\n readonly hasNext!: boolean;\n items!: GetIndicatorDataByQueryVm[];\n\n constructor(data?: IPagedCollection_1OfGetIndicatorDataByQueryVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.items = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n (this).currentPage = _data[\"currentPage\"];\n (this).totalPages = _data[\"totalPages\"];\n this.pageSize = _data[\"pageSize\"];\n this.totalCount = _data[\"totalCount\"];\n (this).hasPrevious = _data[\"hasPrevious\"];\n (this).hasNext = _data[\"hasNext\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(GetIndicatorDataByQueryVm.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedCollection_1OfGetIndicatorDataByQueryVm {\n data = typeof data === 'object' ? data : {};\n let result = new PagedCollection_1OfGetIndicatorDataByQueryVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"currentPage\"] = this.currentPage;\n data[\"totalPages\"] = this.totalPages;\n data[\"pageSize\"] = this.pageSize;\n data[\"totalCount\"] = this.totalCount;\n data[\"hasPrevious\"] = this.hasPrevious;\n data[\"hasNext\"] = this.hasNext;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedCollection_1OfGetIndicatorDataByQueryVm {\n currentPage: number;\n totalPages: number;\n pageSize: number;\n totalCount: number;\n hasPrevious: boolean;\n hasNext: boolean;\n items: GetIndicatorDataByQueryVm[];\n}\n\nexport class PagedCollection_1OfGetAllIndicatorDefinitionsQueryVm implements IPagedCollection_1OfGetAllIndicatorDefinitionsQueryVm {\n readonly currentPage!: number;\n readonly totalPages!: number;\n pageSize!: number;\n totalCount!: number;\n readonly hasPrevious!: boolean;\n readonly hasNext!: boolean;\n items!: GetAllIndicatorDefinitionsQueryVm[];\n\n constructor(data?: IPagedCollection_1OfGetAllIndicatorDefinitionsQueryVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.items = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n (this).currentPage = _data[\"currentPage\"];\n (this).totalPages = _data[\"totalPages\"];\n this.pageSize = _data[\"pageSize\"];\n this.totalCount = _data[\"totalCount\"];\n (this).hasPrevious = _data[\"hasPrevious\"];\n (this).hasNext = _data[\"hasNext\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(GetAllIndicatorDefinitionsQueryVm.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedCollection_1OfGetAllIndicatorDefinitionsQueryVm {\n data = typeof data === 'object' ? data : {};\n let result = new PagedCollection_1OfGetAllIndicatorDefinitionsQueryVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"currentPage\"] = this.currentPage;\n data[\"totalPages\"] = this.totalPages;\n data[\"pageSize\"] = this.pageSize;\n data[\"totalCount\"] = this.totalCount;\n data[\"hasPrevious\"] = this.hasPrevious;\n data[\"hasNext\"] = this.hasNext;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedCollection_1OfGetAllIndicatorDefinitionsQueryVm {\n currentPage: number;\n totalPages: number;\n pageSize: number;\n totalCount: number;\n hasPrevious: boolean;\n hasNext: boolean;\n items: GetAllIndicatorDefinitionsQueryVm[];\n}\n\nexport class PagedCollection_1OfGetAllNamesIndicatorDefinitionsVm implements IPagedCollection_1OfGetAllNamesIndicatorDefinitionsVm {\n readonly currentPage!: number;\n readonly totalPages!: number;\n pageSize!: number;\n totalCount!: number;\n readonly hasPrevious!: boolean;\n readonly hasNext!: boolean;\n items!: GetAllNamesIndicatorDefinitionsVm[];\n\n constructor(data?: IPagedCollection_1OfGetAllNamesIndicatorDefinitionsVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.items = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n (this).currentPage = _data[\"currentPage\"];\n (this).totalPages = _data[\"totalPages\"];\n this.pageSize = _data[\"pageSize\"];\n this.totalCount = _data[\"totalCount\"];\n (this).hasPrevious = _data[\"hasPrevious\"];\n (this).hasNext = _data[\"hasNext\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(GetAllNamesIndicatorDefinitionsVm.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedCollection_1OfGetAllNamesIndicatorDefinitionsVm {\n data = typeof data === 'object' ? data : {};\n let result = new PagedCollection_1OfGetAllNamesIndicatorDefinitionsVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"currentPage\"] = this.currentPage;\n data[\"totalPages\"] = this.totalPages;\n data[\"pageSize\"] = this.pageSize;\n data[\"totalCount\"] = this.totalCount;\n data[\"hasPrevious\"] = this.hasPrevious;\n data[\"hasNext\"] = this.hasNext;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedCollection_1OfGetAllNamesIndicatorDefinitionsVm {\n currentPage: number;\n totalPages: number;\n pageSize: number;\n totalCount: number;\n hasPrevious: boolean;\n hasNext: boolean;\n items: GetAllNamesIndicatorDefinitionsVm[];\n}\n\nexport class PagedCollection_1OfGetAllIndicatorsQueryVm implements IPagedCollection_1OfGetAllIndicatorsQueryVm {\n readonly currentPage!: number;\n readonly totalPages!: number;\n pageSize!: number;\n totalCount!: number;\n readonly hasPrevious!: boolean;\n readonly hasNext!: boolean;\n items!: GetAllIndicatorsQueryVm[];\n\n constructor(data?: IPagedCollection_1OfGetAllIndicatorsQueryVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.items = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n (this).currentPage = _data[\"currentPage\"];\n (this).totalPages = _data[\"totalPages\"];\n this.pageSize = _data[\"pageSize\"];\n this.totalCount = _data[\"totalCount\"];\n (this).hasPrevious = _data[\"hasPrevious\"];\n (this).hasNext = _data[\"hasNext\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(GetAllIndicatorsQueryVm.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedCollection_1OfGetAllIndicatorsQueryVm {\n data = typeof data === 'object' ? data : {};\n let result = new PagedCollection_1OfGetAllIndicatorsQueryVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"currentPage\"] = this.currentPage;\n data[\"totalPages\"] = this.totalPages;\n data[\"pageSize\"] = this.pageSize;\n data[\"totalCount\"] = this.totalCount;\n data[\"hasPrevious\"] = this.hasPrevious;\n data[\"hasNext\"] = this.hasNext;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedCollection_1OfGetAllIndicatorsQueryVm {\n currentPage: number;\n totalPages: number;\n pageSize: number;\n totalCount: number;\n hasPrevious: boolean;\n hasNext: boolean;\n items: GetAllIndicatorsQueryVm[];\n}\n\nexport class PagedCollection_1OfOrganizationVm implements IPagedCollection_1OfOrganizationVm {\n readonly currentPage!: number;\n readonly totalPages!: number;\n pageSize!: number;\n totalCount!: number;\n readonly hasPrevious!: boolean;\n readonly hasNext!: boolean;\n items!: OrganizationVm[];\n\n constructor(data?: IPagedCollection_1OfOrganizationVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.items = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n (this).currentPage = _data[\"currentPage\"];\n (this).totalPages = _data[\"totalPages\"];\n this.pageSize = _data[\"pageSize\"];\n this.totalCount = _data[\"totalCount\"];\n (this).hasPrevious = _data[\"hasPrevious\"];\n (this).hasNext = _data[\"hasNext\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(OrganizationVm.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedCollection_1OfOrganizationVm {\n data = typeof data === 'object' ? data : {};\n let result = new PagedCollection_1OfOrganizationVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"currentPage\"] = this.currentPage;\n data[\"totalPages\"] = this.totalPages;\n data[\"pageSize\"] = this.pageSize;\n data[\"totalCount\"] = this.totalCount;\n data[\"hasPrevious\"] = this.hasPrevious;\n data[\"hasNext\"] = this.hasNext;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedCollection_1OfOrganizationVm {\n currentPage: number;\n totalPages: number;\n pageSize: number;\n totalCount: number;\n hasPrevious: boolean;\n hasNext: boolean;\n items: OrganizationVm[];\n}\n\nexport class PagedCollection_1OfUserVm implements IPagedCollection_1OfUserVm {\n readonly currentPage!: number;\n readonly totalPages!: number;\n pageSize!: number;\n totalCount!: number;\n readonly hasPrevious!: boolean;\n readonly hasNext!: boolean;\n items!: UserVm2[];\n\n constructor(data?: IPagedCollection_1OfUserVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.items = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n (this).currentPage = _data[\"currentPage\"];\n (this).totalPages = _data[\"totalPages\"];\n this.pageSize = _data[\"pageSize\"];\n this.totalCount = _data[\"totalCount\"];\n (this).hasPrevious = _data[\"hasPrevious\"];\n (this).hasNext = _data[\"hasNext\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(UserVm2.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PagedCollection_1OfUserVm {\n data = typeof data === 'object' ? data : {};\n let result = new PagedCollection_1OfUserVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"currentPage\"] = this.currentPage;\n data[\"totalPages\"] = this.totalPages;\n data[\"pageSize\"] = this.pageSize;\n data[\"totalCount\"] = this.totalCount;\n data[\"hasPrevious\"] = this.hasPrevious;\n data[\"hasNext\"] = this.hasNext;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPagedCollection_1OfUserVm {\n currentPage: number;\n totalPages: number;\n pageSize: number;\n totalCount: number;\n hasPrevious: boolean;\n hasNext: boolean;\n items: UserVm2[];\n}\n\nexport class PictureVm implements IPictureVm {\n blobName!: string;\n\n constructor(data?: IPictureVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.blobName = _data[\"blobName\"];\n }\n }\n\n static fromJS(data: any): PictureVm {\n data = typeof data === 'object' ? data : {};\n let result = new PictureVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"blobName\"] = this.blobName;\n return data;\n }\n}\n\nexport interface IPictureVm {\n blobName: string;\n}\n\nexport class AnswerDto implements IAnswerDto {\n answer!: string;\n\n constructor(data?: IAnswerDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.answer = _data[\"answer\"];\n }\n }\n\n static fromJS(data: any): AnswerDto {\n data = typeof data === 'object' ? data : {};\n let result = new AnswerDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"answer\"] = this.answer;\n return data;\n }\n}\n\nexport interface IAnswerDto {\n answer: string;\n}\n\nexport enum Permission {\n Allow = \"Allow\",\n User_Info = \"User_Info\",\n Admin_Panel = \"Admin_Panel\",\n Change_Current_Context_Organization = \"Change_Current_Context_Organization\",\n AccessToken_Read = \"AccessToken_Read\",\n AccessToken_Create = \"AccessToken_Create\",\n AccessToken_Delete = \"AccessToken_Delete\",\n App_UploadFile = \"App_UploadFile\",\n App_RemoveFile = \"App_RemoveFile\",\n Report_Read = \"Report_Read\",\n Report_Create = \"Report_Create\",\n Report_Update = \"Report_Update\",\n Report_Delete = \"Report_Delete\",\n Template_Read = \"Template_Read\",\n Template_Create = \"Template_Create\",\n Template_Update = \"Template_Update\",\n Template_Delete = \"Template_Delete\",\n Report_Organization_Read = \"Report_Organization_Read\",\n Report_Organization_Create = \"Report_Organization_Create\",\n Report_Organization_Update = \"Report_Organization_Update\",\n Report_Organization_Delete = \"Report_Organization_Delete\",\n Report_SubOrganization_Create = \"Report_SubOrganization_Create\",\n Report_SubOrganization_Update = \"Report_SubOrganization_Update\",\n Report_SubOrganization_Delete = \"Report_SubOrganization_Delete\",\n Report_User_Read = \"Report_User_Read\",\n Report_User_Create = \"Report_User_Create\",\n Report_User_Update = \"Report_User_Update\",\n Report_User_Delete = \"Report_User_Delete\",\n Asset_Read = \"Asset_Read\",\n Asset_Create = \"Asset_Create\",\n Asset_Update = \"Asset_Update\",\n Asset_Delete = \"Asset_Delete\",\n DataRecord_Read = \"DataRecord_Read\",\n DataRecord_Create = \"DataRecord_Create\",\n DataRecord_Delete = \"DataRecord_Delete\",\n DataRecord_Update = \"DataRecord_Update\",\n Support_Read = \"Support_Read\",\n Support_Create = \"Support_Create\",\n Support_Update = \"Support_Update\",\n Support_Delete = \"Support_Delete\",\n Performance_Read = \"Performance_Read\",\n Performance_Create = \"Performance_Create\",\n Performance_Update = \"Performance_Update\",\n Performance_Delete = \"Performance_Delete\",\n Settings_Read = \"Settings_Read\",\n Settings_Create = \"Settings_Create\",\n Settings_Update = \"Settings_Update\",\n Settings_Delete = \"Settings_Delete\",\n Indicator_Read = \"Indicator_Read\",\n Indicator_Create = \"Indicator_Create\",\n Indicator_Update = \"Indicator_Update\",\n Indicator_Delete = \"Indicator_Delete\",\n Factor_Read = \"Factor_Read\",\n Factor_Create = \"Factor_Create\",\n Factor_Update = \"Factor_Update\",\n Factor_Delete = \"Factor_Delete\",\n}\n\nexport enum UserRole {\n SuperAdmin = \"SuperAdmin\",\n Admin = \"Admin\",\n Editor = \"Editor\",\n User = \"User\",\n}\n\nexport class EntityVersionMetadata implements IEntityVersionMetadata {\n versionId!: string;\n dateModified!: Date;\n userId!: string;\n userName!: string;\n\n constructor(data?: IEntityVersionMetadata) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.versionId = _data[\"versionId\"];\n this.dateModified = _data[\"dateModified\"] ? new Date(_data[\"dateModified\"].toString()) : undefined;\n this.userId = _data[\"userId\"];\n this.userName = _data[\"userName\"];\n }\n }\n\n static fromJS(data: any): EntityVersionMetadata {\n data = typeof data === 'object' ? data : {};\n let result = new EntityVersionMetadata();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"versionId\"] = this.versionId;\n data[\"dateModified\"] = this.dateModified ? this.dateModified.toISOString() : undefined;\n data[\"userId\"] = this.userId;\n data[\"userName\"] = this.userName;\n return data;\n }\n}\n\nexport interface IEntityVersionMetadata {\n versionId: string;\n dateModified: Date;\n userId: string;\n userName: string;\n}\n\nexport class EntityVersion_1OfAsset implements IEntityVersion_1OfAsset {\n metadata!: EntityVersionMetadata;\n entity!: Asset;\n\n constructor(data?: IEntityVersion_1OfAsset) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.metadata = new EntityVersionMetadata();\n this.entity = new Asset();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.metadata = _data[\"metadata\"] ? EntityVersionMetadata.fromJS(_data[\"metadata\"]) : new EntityVersionMetadata();\n this.entity = _data[\"entity\"] ? Asset.fromJS(_data[\"entity\"]) : new Asset();\n }\n }\n\n static fromJS(data: any): EntityVersion_1OfAsset {\n data = typeof data === 'object' ? data : {};\n let result = new EntityVersion_1OfAsset();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"metadata\"] = this.metadata ? this.metadata.toJSON() : undefined;\n data[\"entity\"] = this.entity ? this.entity.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IEntityVersion_1OfAsset {\n metadata: EntityVersionMetadata;\n entity: Asset;\n}\n\nexport class AssetDataVm implements IAssetDataVm {\n assetId!: string;\n assetName!: string;\n assetType!: AssetType;\n total?: number | undefined;\n errors?: string | undefined;\n\n constructor(data?: IAssetDataVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.assetId = _data[\"assetId\"];\n this.assetName = _data[\"assetName\"];\n this.assetType = _data[\"assetType\"];\n this.total = _data[\"total\"];\n this.errors = _data[\"errors\"];\n }\n }\n\n static fromJS(data: any): AssetDataVm {\n data = typeof data === 'object' ? data : {};\n let result = new AssetDataVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"assetId\"] = this.assetId;\n data[\"assetName\"] = this.assetName;\n data[\"assetType\"] = this.assetType;\n data[\"total\"] = this.total;\n data[\"errors\"] = this.errors;\n return data;\n }\n}\n\nexport interface IAssetDataVm {\n assetId: string;\n assetName: string;\n assetType: AssetType;\n total?: number | undefined;\n errors?: string | undefined;\n}\n\nexport enum AssetType {\n Vessel = \"Vessel\",\n VehicleCraftMachinery = \"VehicleCraftMachinery\",\n Facility = \"Facility\",\n Organization = \"Organization\",\n Client = \"Client\",\n Supplier = \"Supplier\",\n}\n\nexport enum CalcFactorType {\n WasteFactor = \"WasteFactor\",\n EmployeeCommutingFactor = \"EmployeeCommutingFactor\",\n EnvScreeningSectorFactor = \"EnvScreeningSectorFactor\",\n ChildLabourCountryFactor = \"ChildLabourCountryFactor\",\n CorruptionRiskCountryFactor = \"CorruptionRiskCountryFactor\",\n LabourRightsCountryFactor = \"LabourRightsCountryFactor\",\n FreedomRightsCountryFactor = \"FreedomRightsCountryFactor\",\n HotelNightsCountryFactor = \"HotelNightsCountryFactor\",\n ElectricityCountryFactor = \"ElectricityCountryFactor\",\n FuelCombustionFactor = \"FuelCombustionFactor\",\n FuelAirEmissionFactor = \"FuelAirEmissionFactor\",\n BusinessAirTravelFactor = \"BusinessAirTravelFactor\",\n FuelEnergyFactor = \"FuelEnergyFactor\",\n GWPValueFactor = \"GWPValueFactor\",\n PurchasedFishFactor = \"PurchasedFishFactor\",\n CatchedFishFactor = \"CatchedFishFactor\",\n}\n\nexport enum CalculatedDataDetailsGroupBy {\n AssetType = \"AssetType\",\n OrgAndSuborganization = \"OrgAndSuborganization\",\n Country = \"Country\",\n}\n\nexport enum ConsumptionValueType {\n Fuel = \"Fuel\",\n Distance = \"Distance\",\n}\n\nexport enum CountryCodes {\n AF = \"AF\",\n AX = \"AX\",\n AL = \"AL\",\n DZ = \"DZ\",\n AS = \"AS\",\n AD = \"AD\",\n AO = \"AO\",\n AI = \"AI\",\n AQ = \"AQ\",\n AG = \"AG\",\n AR = \"AR\",\n AM = \"AM\",\n AW = \"AW\",\n AU = \"AU\",\n AT = \"AT\",\n AZ = \"AZ\",\n BS = \"BS\",\n BH = \"BH\",\n BD = \"BD\",\n BB = \"BB\",\n BY = \"BY\",\n BE = \"BE\",\n BZ = \"BZ\",\n BJ = \"BJ\",\n BM = \"BM\",\n BT = \"BT\",\n BO = \"BO\",\n BQ = \"BQ\",\n BA = \"BA\",\n BW = \"BW\",\n BV = \"BV\",\n BR = \"BR\",\n IO = \"IO\",\n BN = \"BN\",\n BG = \"BG\",\n BF = \"BF\",\n BI = \"BI\",\n CV = \"CV\",\n KH = \"KH\",\n CM = \"CM\",\n CA = \"CA\",\n KY = \"KY\",\n CF = \"CF\",\n TD = \"TD\",\n CL = \"CL\",\n CN = \"CN\",\n CX = \"CX\",\n CC = \"CC\",\n CO = \"CO\",\n KM = \"KM\",\n CG = \"CG\",\n CD = \"CD\",\n CK = \"CK\",\n CR = \"CR\",\n CI = \"CI\",\n HR = \"HR\",\n CU = \"CU\",\n CW = \"CW\",\n CY = \"CY\",\n CZ = \"CZ\",\n DK = \"DK\",\n DJ = \"DJ\",\n DM = \"DM\",\n DO = \"DO\",\n EC = \"EC\",\n EG = \"EG\",\n SV = \"SV\",\n GQ = \"GQ\",\n ER = \"ER\",\n EE = \"EE\",\n ET = \"ET\",\n FK = \"FK\",\n FO = \"FO\",\n FJ = \"FJ\",\n FI = \"FI\",\n FR = \"FR\",\n GF = \"GF\",\n PF = \"PF\",\n TF = \"TF\",\n GA = \"GA\",\n GM = \"GM\",\n GE = \"GE\",\n DE = \"DE\",\n GH = \"GH\",\n GI = \"GI\",\n GR = \"GR\",\n GL = \"GL\",\n GD = \"GD\",\n GP = \"GP\",\n GU = \"GU\",\n GT = \"GT\",\n GG = \"GG\",\n GN = \"GN\",\n GW = \"GW\",\n GY = \"GY\",\n HT = \"HT\",\n HM = \"HM\",\n VA = \"VA\",\n HN = \"HN\",\n HK = \"HK\",\n HU = \"HU\",\n IS = \"IS\",\n IN = \"IN\",\n ID = \"ID\",\n IR = \"IR\",\n IQ = \"IQ\",\n IE = \"IE\",\n IM = \"IM\",\n IL = \"IL\",\n IT = \"IT\",\n JM = \"JM\",\n JP = \"JP\",\n JE = \"JE\",\n JO = \"JO\",\n KZ = \"KZ\",\n KE = \"KE\",\n KI = \"KI\",\n KP = \"KP\",\n KR = \"KR\",\n KW = \"KW\",\n KG = \"KG\",\n LA = \"LA\",\n LV = \"LV\",\n LB = \"LB\",\n LS = \"LS\",\n LR = \"LR\",\n LY = \"LY\",\n LI = \"LI\",\n LT = \"LT\",\n LU = \"LU\",\n MO = \"MO\",\n MK = \"MK\",\n MG = \"MG\",\n MW = \"MW\",\n MY = \"MY\",\n MV = \"MV\",\n ML = \"ML\",\n MT = \"MT\",\n MH = \"MH\",\n MQ = \"MQ\",\n MR = \"MR\",\n MU = \"MU\",\n YT = \"YT\",\n MX = \"MX\",\n FM = \"FM\",\n MD = \"MD\",\n MC = \"MC\",\n MN = \"MN\",\n ME = \"ME\",\n MS = \"MS\",\n MA = \"MA\",\n MZ = \"MZ\",\n MM = \"MM\",\n NA = \"NA\",\n NR = \"NR\",\n NP = \"NP\",\n NL = \"NL\",\n NC = \"NC\",\n NZ = \"NZ\",\n NI = \"NI\",\n NE = \"NE\",\n NG = \"NG\",\n NU = \"NU\",\n NF = \"NF\",\n MP = \"MP\",\n NO = \"NO\",\n OM = \"OM\",\n PK = \"PK\",\n PW = \"PW\",\n PS = \"PS\",\n PA = \"PA\",\n PG = \"PG\",\n PY = \"PY\",\n PE = \"PE\",\n PH = \"PH\",\n PN = \"PN\",\n PL = \"PL\",\n PT = \"PT\",\n PR = \"PR\",\n QA = \"QA\",\n RE = \"RE\",\n RO = \"RO\",\n RU = \"RU\",\n RW = \"RW\",\n BL = \"BL\",\n SH = \"SH\",\n KN = \"KN\",\n LC = \"LC\",\n MF = \"MF\",\n PM = \"PM\",\n VC = \"VC\",\n WS = \"WS\",\n SM = \"SM\",\n ST = \"ST\",\n SA = \"SA\",\n SN = \"SN\",\n RS = \"RS\",\n SC = \"SC\",\n SL = \"SL\",\n SG = \"SG\",\n SX = \"SX\",\n SK = \"SK\",\n SI = \"SI\",\n SB = \"SB\",\n SO = \"SO\",\n ZA = \"ZA\",\n GS = \"GS\",\n SS = \"SS\",\n ES = \"ES\",\n LK = \"LK\",\n SD = \"SD\",\n SR = \"SR\",\n SJ = \"SJ\",\n SZ = \"SZ\",\n SE = \"SE\",\n CH = \"CH\",\n SY = \"SY\",\n TW = \"TW\",\n TJ = \"TJ\",\n TZ = \"TZ\",\n TH = \"TH\",\n TL = \"TL\",\n TG = \"TG\",\n TK = \"TK\",\n TO = \"TO\",\n TT = \"TT\",\n TN = \"TN\",\n TR = \"TR\",\n TM = \"TM\",\n TC = \"TC\",\n TV = \"TV\",\n UG = \"UG\",\n UA = \"UA\",\n AE = \"AE\",\n GB = \"GB\",\n US = \"US\",\n UM = \"UM\",\n UY = \"UY\",\n UZ = \"UZ\",\n VU = \"VU\",\n VE = \"VE\",\n VN = \"VN\",\n VG = \"VG\",\n VI = \"VI\",\n WF = \"WF\",\n EH = \"EH\",\n YE = \"YE\",\n ZM = \"ZM\",\n ZW = \"ZW\",\n}\n\nexport enum CurrencyCodes {\n ALL = \"ALL\",\n DZD = \"DZD\",\n ARS = \"ARS\",\n AUD = \"AUD\",\n BSD = \"BSD\",\n BHD = \"BHD\",\n BDT = \"BDT\",\n AMD = \"AMD\",\n BBD = \"BBD\",\n BMD = \"BMD\",\n BTN = \"BTN\",\n BOB = \"BOB\",\n BWP = \"BWP\",\n BZD = \"BZD\",\n SBD = \"SBD\",\n BND = \"BND\",\n MMK = \"MMK\",\n BIF = \"BIF\",\n KHR = \"KHR\",\n CAD = \"CAD\",\n CVE = \"CVE\",\n KYD = \"KYD\",\n LKR = \"LKR\",\n CLP = \"CLP\",\n CNY = \"CNY\",\n COP = \"COP\",\n KMF = \"KMF\",\n CRC = \"CRC\",\n HRK = \"HRK\",\n CUP = \"CUP\",\n CZK = \"CZK\",\n DKK = \"DKK\",\n DOP = \"DOP\",\n SVC = \"SVC\",\n ETB = \"ETB\",\n ERN = \"ERN\",\n FKP = \"FKP\",\n FJD = \"FJD\",\n DJF = \"DJF\",\n GMD = \"GMD\",\n GIP = \"GIP\",\n GTQ = \"GTQ\",\n GNF = \"GNF\",\n GYD = \"GYD\",\n HTG = \"HTG\",\n HNL = \"HNL\",\n HKD = \"HKD\",\n HUF = \"HUF\",\n ISK = \"ISK\",\n INR = \"INR\",\n IDR = \"IDR\",\n IRR = \"IRR\",\n IQD = \"IQD\",\n ILS = \"ILS\",\n JMD = \"JMD\",\n JPY = \"JPY\",\n KZT = \"KZT\",\n JOD = \"JOD\",\n KES = \"KES\",\n KPW = \"KPW\",\n KRW = \"KRW\",\n KWD = \"KWD\",\n KGS = \"KGS\",\n LAK = \"LAK\",\n LBP = \"LBP\",\n LSL = \"LSL\",\n LRD = \"LRD\",\n LYD = \"LYD\",\n MOP = \"MOP\",\n MWK = \"MWK\",\n MYR = \"MYR\",\n MVR = \"MVR\",\n MUR = \"MUR\",\n MXN = \"MXN\",\n MNT = \"MNT\",\n MDL = \"MDL\",\n MAD = \"MAD\",\n OMR = \"OMR\",\n NAD = \"NAD\",\n NPR = \"NPR\",\n ANG = \"ANG\",\n AWG = \"AWG\",\n VUV = \"VUV\",\n NZD = \"NZD\",\n NIO = \"NIO\",\n NGN = \"NGN\",\n NOK = \"NOK\",\n PKR = \"PKR\",\n PAB = \"PAB\",\n PGK = \"PGK\",\n PYG = \"PYG\",\n PEN = \"PEN\",\n PHP = \"PHP\",\n QAR = \"QAR\",\n RUB = \"RUB\",\n RWF = \"RWF\",\n SHP = \"SHP\",\n SAR = \"SAR\",\n SCR = \"SCR\",\n SLL = \"SLL\",\n SGD = \"SGD\",\n VND = \"VND\",\n SOS = \"SOS\",\n ZAR = \"ZAR\",\n SSP = \"SSP\",\n SZL = \"SZL\",\n SEK = \"SEK\",\n CHF = \"CHF\",\n SYP = \"SYP\",\n THB = \"THB\",\n TOP = \"TOP\",\n TTD = \"TTD\",\n AED = \"AED\",\n TND = \"TND\",\n UGX = \"UGX\",\n MKD = \"MKD\",\n EGP = \"EGP\",\n GBP = \"GBP\",\n TZS = \"TZS\",\n USD = \"USD\",\n UYU = \"UYU\",\n UZS = \"UZS\",\n WST = \"WST\",\n YER = \"YER\",\n TWD = \"TWD\",\n SLE = \"SLE\",\n VED = \"VED\",\n UYW = \"UYW\",\n VES = \"VES\",\n MRU = \"MRU\",\n STN = \"STN\",\n CUC = \"CUC\",\n ZWL = \"ZWL\",\n BYN = \"BYN\",\n TMT = \"TMT\",\n GHS = \"GHS\",\n SDG = \"SDG\",\n UYI = \"UYI\",\n RSD = \"RSD\",\n MZN = \"MZN\",\n AZN = \"AZN\",\n RON = \"RON\",\n CHE = \"CHE\",\n CHW = \"CHW\",\n TRY = \"TRY\",\n XAF = \"XAF\",\n XCD = \"XCD\",\n XOF = \"XOF\",\n XPF = \"XPF\",\n XBA = \"XBA\",\n XBB = \"XBB\",\n XBC = \"XBC\",\n XBD = \"XBD\",\n XAU = \"XAU\",\n XDR = \"XDR\",\n XAG = \"XAG\",\n XPT = \"XPT\",\n XTS = \"XTS\",\n XPD = \"XPD\",\n XUA = \"XUA\",\n ZMW = \"ZMW\",\n SRD = \"SRD\",\n MGA = \"MGA\",\n COU = \"COU\",\n AFN = \"AFN\",\n TJS = \"TJS\",\n AOA = \"AOA\",\n BGN = \"BGN\",\n CDF = \"CDF\",\n BAM = \"BAM\",\n EUR = \"EUR\",\n MXV = \"MXV\",\n UAH = \"UAH\",\n GEL = \"GEL\",\n BOV = \"BOV\",\n PLN = \"PLN\",\n BRL = \"BRL\",\n CLF = \"CLF\",\n XSU = \"XSU\",\n USN = \"USN\",\n XXX = \"XXX\",\n}\n\nexport enum DataRecordCategory {\n DirectEmissionFuelCombustion = \"DirectEmissionFuelCombustion\",\n BiodiversitySpillsToEnvironment = \"BiodiversitySpillsToEnvironment\",\n BiodiversityProtectedAreas = \"BiodiversityProtectedAreas\",\n IndirectEmissionsElectricity = \"IndirectEmissionsElectricity\",\n IndirectEmissionsBusinessTravel = \"IndirectEmissionsBusinessTravel\",\n IndirectEmissionsWaste = \"IndirectEmissionsWaste\",\n IndirectEmissionsEmployeeCommuting = \"IndirectEmissionsEmployeeCommuting\",\n IndirectEmissionsTransportAndDistribution = \"IndirectEmissionsTransportAndDistribution\",\n IndirectEmissionsLeasedAssets = \"IndirectEmissionsLeasedAssets\",\n IndirectEmissionsPurchasedGoodsAndServices = \"IndirectEmissionsPurchasedGoodsAndServices\",\n IndirectEmissionsCapitalGoods = \"IndirectEmissionsCapitalGoods\",\n IndirectEmissionsFuelAndEnergyRelatedActivities = \"IndirectEmissionsFuelAndEnergyRelatedActivities\",\n EmbeddedEmissionsLeasedAssets = \"EmbeddedEmissionsLeasedAssets\",\n EmbeddedEmissionsTransportationAndDistribution = \"EmbeddedEmissionsTransportationAndDistribution\",\n EmbeddedEmissionsProcessingOfSoldProducts = \"EmbeddedEmissionsProcessingOfSoldProducts\",\n EmbeddedEmissionsUseOfSoldProducts = \"EmbeddedEmissionsUseOfSoldProducts\",\n EmbeddedEmissionsEndOfLifeTreatment = \"EmbeddedEmissionsEndOfLifeTreatment\",\n EmbeddedEmissionsFranchises = \"EmbeddedEmissionsFranchises\",\n EmbeddedEmissionsInvestments = \"EmbeddedEmissionsInvestments\",\n EmployeesNewHiresAndTurnovers = \"EmployeesNewHiresAndTurnovers\",\n BusinessEthicsCorruptionRisk = \"BusinessEthicsCorruptionRisk\",\n BusinessEthicsFines = \"BusinessEthicsFines\",\n BusinessEthicsLobbyPoliticalContribution = \"BusinessEthicsLobbyPoliticalContribution\",\n BusinessEthicsWhistleblowing = \"BusinessEthicsWhistleblowing\",\n EmployeesLeavesAndInjuries = \"EmployeesLeavesAndInjuries\",\n EmployeesGenderEqualityAndDiversity = \"EmployeesGenderEqualityAndDiversity\",\n IndicatorData = \"IndicatorData\",\n EmployeesParentalLeave = \"EmployeesParentalLeave\",\n EmployeesSickLeave = \"EmployeesSickLeave\",\n EmployessWorkRelatedInjuries = \"EmployessWorkRelatedInjuries\",\n EmployessMarineCasualties = \"EmployessMarineCasualties\",\n PurchasedFish = \"PurchasedFish\",\n CatchedFish = \"CatchedFish\",\n}\n\nexport enum DistanceType {\n Short = \"Short\",\n Medium = \"Medium\",\n Long = \"Long\",\n}\n\nexport enum EmployeeCommutingMode {\n Fuel = \"Fuel\",\n Electric = \"Electric\",\n NotElectric = \"NotElectric\",\n TrolleyBus = \"TrolleyBus\",\n PlugInHybrid = \"PlugInHybrid\",\n Passenger = \"Passenger\",\n Car = \"Car\",\n}\n\nexport enum EmployeeCommutingTransport {\n Bus = \"Bus\",\n Subway_Tram_Underground = \"Subway_Tram_Underground\",\n Train = \"Train\",\n Car = \"Car\",\n Motorbike = \"Motorbike\",\n Ferry = \"Ferry\",\n Bicycle = \"Bicycle\",\n ElectricScooter = \"ElectricScooter\",\n Foot = \"Foot\",\n}\n\nexport enum EntityType {\n IndicatorDefinition = \"IndicatorDefinition\",\n Indicator = \"Indicator\",\n AccessToken = \"AccessToken\",\n IndicatorData = \"IndicatorData\",\n CalculatedData = \"CalculatedData\",\n DataCategory = \"DataCategory\",\n DataProfile = \"DataProfile\",\n DataRecord = \"DataRecord\",\n IndicatorRawDataSource = \"IndicatorRawDataSource\",\n AssetMonthCalculatedData = \"AssetMonthCalculatedData\",\n IndicatorYearlyCalculatedData = \"IndicatorYearlyCalculatedData\",\n}\n\nexport enum FactorUnit {\n Mt = \"mt\",\n L = \"l\",\n M3 = \"m3\",\n}\n\nexport enum FishSpecies {\n Cod = \"Cod\",\n Saithe = \"Saithe\",\n Haddock = \"Haddock\",\n PacificCod = \"PacificCod\",\n Ling = \"Ling\",\n Tusk = \"Tusk\",\n Snowcrab = \"Snowcrab\",\n GreenlandHalibut = \"GreenlandHalibut\",\n Redfish = \"Redfish\",\n Halibut = \"Halibut\",\n Angler = \"Angler\",\n Pollack = \"Pollack\",\n Whiting = \"Whiting\",\n Flounder = \"Flounder\",\n Wolffish = \"Wolffish\",\n Skate = \"Skate\",\n Dab = \"Dab\",\n Hake = \"Hake\",\n}\n\nexport enum FuelType {\n MGO = \"MGO\",\n LNG = \"LNG\",\n HFO = \"HFO\",\n LFO = \"LFO\",\n Petrol = \"Petrol\",\n Diesel = \"Diesel\",\n Hydrogen = \"Hydrogen\",\n LPG = \"LPG\",\n NG = \"NG\",\n HVO100 = \"HVO100\",\n MGOB30 = \"MGOB30\",\n Electricity = \"Electricity\",\n}\n\nexport enum GWP {\n GWP100_CH4 = \"GWP100_CH4\",\n GWP100_N2O = \"GWP100_N2O\",\n}\n\nexport class GetSubstrateDataVm implements IGetSubstrateDataVm {\n groups?: SubstrateDataGroupVm[] | undefined;\n\n constructor(data?: IGetSubstrateDataVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"groups\"])) {\n this.groups = [] as any;\n for (let item of _data[\"groups\"])\n this.groups!.push(SubstrateDataGroupVm.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): GetSubstrateDataVm {\n data = typeof data === 'object' ? data : {};\n let result = new GetSubstrateDataVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.groups)) {\n data[\"groups\"] = [];\n for (let item of this.groups)\n data[\"groups\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IGetSubstrateDataVm {\n groups?: SubstrateDataGroupVm[] | undefined;\n}\n\nexport enum IndicatorDefinitionAccessibility {\n NotSet = \"NotSet\",\n Global = \"Global\",\n Custom = \"Custom\",\n}\n\nexport enum InputType {\n Manual = \"Manual\",\n ImportedFrom3rdParty = \"ImportedFrom3rdParty\",\n ImportedFromExcel = \"ImportedFromExcel\",\n}\n\nexport enum RiskCategory {\n Unknown = \"Unknown\",\n VeryHighRisk = \"VeryHighRisk\",\n HighRisk = \"HighRisk\",\n MediumRisk = \"MediumRisk\",\n LowRisk = \"LowRisk\",\n NoRisk = \"NoRisk\",\n}\n\nexport enum SectorCategory {\n BasicMaterialsAndNeeds = \"BasicMaterialsAndNeeds\",\n Industrial = \"Industrial\",\n TransportInfrastructureAndTourism = \"TransportInfrastructureAndTourism\",\n OtherServicesAndLightManufacturing = \"OtherServicesAndLightManufacturing\",\n}\n\nexport enum SectorType {\n OilAndGas = \"OilAndGas\",\n Coal = \"Coal\",\n AgricultureAquacultureAndFishing = \"AgricultureAquacultureAndFishing\",\n Mining = \"Mining\",\n FoodAndBeverages = \"FoodAndBeverages\",\n TextilesAndApparel = \"TextilesAndApparel\",\n Banking = \"Banking\",\n Insurance = \"Insurance\",\n CapitalMarkets = \"CapitalMarkets\",\n Utilities = \"Utilities\",\n RenewableEnergy = \"RenewableEnergy\",\n Forestry = \"Forestry\",\n MetalProcessing = \"MetalProcessing\",\n ConstructionMaterials = \"ConstructionMaterials\",\n AerospaceAndDefense = \"AerospaceAndDefense\",\n Automotive = \"Automotive\",\n Construction = \"Construction\",\n Chemicals = \"Chemicals\",\n MachineryAndEquipment = \"MachineryAndEquipment\",\n Pharmaceuticals = \"Pharmaceuticals\",\n Electronics = \"Electronics\",\n MediaAndCommunication = \"MediaAndCommunication\",\n Software = \"Software\",\n RealEstate = \"RealEstate\",\n TransportationInfrastructure = \"TransportationInfrastructure\",\n Shipping = \"Shipping\",\n Trucking = \"Trucking\",\n Airlines = \"Airlines\",\n TradingDistributionAndLogistics = \"TradingDistributionAndLogistics\",\n Packaging = \"Packaging\",\n Hotels = \"Hotels\",\n EducationalServices = \"EducationalServices\",\n HouseholdDurables = \"HouseholdDurables\",\n ManagedHealthCare = \"ManagedHealthCare\",\n MedicalEquipmentAndServices = \"MedicalEquipmentAndServices\",\n Retail = \"Retail\",\n SecurityServicesAndCorrectionalFacilities = \"SecurityServicesAndCorrectionalFacilities\",\n Restaurants = \"Restaurants\",\n CommercialServices = \"CommercialServices\",\n NonProfitOrganizations = \"NonProfitOrganizations\",\n}\n\nexport class SubstrateDataGroupVm implements ISubstrateDataGroupVm {\n name!: string;\n groupedBy!: CalculatedDataDetailsGroupBy;\n number!: number;\n total?: number | undefined;\n groups?: SubstrateDataGroupVm[] | undefined;\n assetsData?: AssetDataVm[] | undefined;\n\n constructor(data?: ISubstrateDataGroupVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.groupedBy = _data[\"groupedBy\"];\n this.number = _data[\"number\"];\n this.total = _data[\"total\"];\n if (Array.isArray(_data[\"groups\"])) {\n this.groups = [] as any;\n for (let item of _data[\"groups\"])\n this.groups!.push(SubstrateDataGroupVm.fromJS(item));\n }\n if (Array.isArray(_data[\"assetsData\"])) {\n this.assetsData = [] as any;\n for (let item of _data[\"assetsData\"])\n this.assetsData!.push(AssetDataVm.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): SubstrateDataGroupVm {\n data = typeof data === 'object' ? data : {};\n let result = new SubstrateDataGroupVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"groupedBy\"] = this.groupedBy;\n data[\"number\"] = this.number;\n data[\"total\"] = this.total;\n if (Array.isArray(this.groups)) {\n data[\"groups\"] = [];\n for (let item of this.groups)\n data[\"groups\"].push(item.toJSON());\n }\n if (Array.isArray(this.assetsData)) {\n data[\"assetsData\"] = [];\n for (let item of this.assetsData)\n data[\"assetsData\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ISubstrateDataGroupVm {\n name: string;\n groupedBy: CalculatedDataDetailsGroupBy;\n number: number;\n total?: number | undefined;\n groups?: SubstrateDataGroupVm[] | undefined;\n assetsData?: AssetDataVm[] | undefined;\n}\n\nexport class TimePeriod implements ITimePeriod {\n type!: TimePeriodType;\n year?: number | undefined;\n period?: number | undefined;\n customStart?: Date | undefined;\n customEnd?: Date | undefined;\n\n constructor(data?: ITimePeriod) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.type = _data[\"type\"];\n this.year = _data[\"year\"];\n this.period = _data[\"period\"];\n this.customStart = _data[\"customStart\"] ? new Date(_data[\"customStart\"].toString()) : undefined;\n this.customEnd = _data[\"customEnd\"] ? new Date(_data[\"customEnd\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): TimePeriod {\n data = typeof data === 'object' ? data : {};\n let result = new TimePeriod();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"type\"] = this.type;\n data[\"year\"] = this.year;\n data[\"period\"] = this.period;\n data[\"customStart\"] = this.customStart ? formatDate(this.customStart) : undefined;\n data[\"customEnd\"] = this.customEnd ? formatDate(this.customEnd) : undefined;\n return data;\n }\n}\n\nexport interface ITimePeriod {\n type: TimePeriodType;\n year?: number | undefined;\n period?: number | undefined;\n customStart?: Date | undefined;\n customEnd?: Date | undefined;\n}\n\nexport enum TimePeriodType {\n Annual = \"Annual\",\n Quarterly = \"Quarterly\",\n Monthly = \"Monthly\",\n Custom = \"Custom\",\n}\n\nexport enum Trend {\n Decrease = \"Decrease\",\n Increase = \"Increase\",\n}\n\nexport enum WasteClass {\n A_Plastics = \"A_Plastics\",\n B_FoodWastes = \"B_FoodWastes\",\n C_DomesticWastes = \"C_DomesticWastes\",\n D_CookingOil = \"D_CookingOil\",\n E_IncineratorAshes = \"E_IncineratorAshes\",\n F_OperationalWastes = \"F_OperationalWastes\",\n G_AnimalCarcass = \"G_AnimalCarcass\",\n H_FishingGear = \"H_FishingGear\",\n I_ElectronicWaste = \"I_ElectronicWaste\",\n J_CargoResidues_NonHarmful = \"J_CargoResidues_NonHarmful\",\n K_CargoResidues_Harmful = \"K_CargoResidues_Harmful\",\n}\n\nexport enum WasteSubClass {\n Mixed = \"Mixed\",\n Paper = \"Paper\",\n Glass = \"Glass\",\n Metal = \"Metal\",\n Wood = \"Wood\",\n Textile = \"Textile\",\n MedicalWaste = \"MedicalWaste\",\n WastePaint = \"WastePaint\",\n ContaminatedMuds_Paint_Rust = \"ContaminatedMuds_Paint_Rust\",\n AbsorbentsContaminatedByHazardiousMaterials = \"AbsorbentsContaminatedByHazardiousMaterials\",\n Neon_Bulbs = \"Neon_Bulbs\",\n}\n\nexport enum WasteToDisposal {\n Other = \"Other\",\n Recycled = \"Recycled\",\n Composted = \"Composted\",\n Incinerated = \"Incinerated\",\n Landfilled = \"Landfilled\",\n Mixed = \"Mixed\",\n DisposedToSea = \"DisposedToSea\",\n Density = \"Density\",\n}\n\nexport class CreateSupportComponentCommandParams implements ICreateSupportComponentCommandParams {\n supportTopicItemId!: string;\n type!: ComponentType2;\n title!: string;\n\n constructor(data?: ICreateSupportComponentCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.supportTopicItemId = _data[\"supportTopicItemId\"];\n this.type = _data[\"type\"];\n this.title = _data[\"title\"];\n }\n }\n\n static fromJS(data: any): CreateSupportComponentCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateSupportComponentCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"supportTopicItemId\"] = this.supportTopicItemId;\n data[\"type\"] = this.type;\n data[\"title\"] = this.title;\n return data;\n }\n}\n\nexport interface ICreateSupportComponentCommandParams {\n supportTopicItemId: string;\n type: ComponentType2;\n title: string;\n}\n\nexport class CreateSupportComponentCommandResponse implements ICreateSupportComponentCommandResponse {\n result!: Component2;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: ICreateSupportComponentCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new Component2();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? Component2.fromJS(_data[\"result\"]) : new Component2();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CreateSupportComponentCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CreateSupportComponentCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICreateSupportComponentCommandResponse {\n result: Component2;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CreateSupportTopicItemCommandParams implements ICreateSupportTopicItemCommandParams {\n supportTopicId!: string;\n name!: string;\n\n constructor(data?: ICreateSupportTopicItemCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.supportTopicId = _data[\"supportTopicId\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): CreateSupportTopicItemCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new CreateSupportTopicItemCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"supportTopicId\"] = this.supportTopicId;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface ICreateSupportTopicItemCommandParams {\n supportTopicId: string;\n name: string;\n}\n\nexport class CreateSupportTopicItemCommandResponse implements ICreateSupportTopicItemCommandResponse {\n result!: CreateSupportTopicItemVm;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: ICreateSupportTopicItemCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new CreateSupportTopicItemVm();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? CreateSupportTopicItemVm.fromJS(_data[\"result\"]) : new CreateSupportTopicItemVm();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): CreateSupportTopicItemCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CreateSupportTopicItemCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ICreateSupportTopicItemCommandResponse {\n result: CreateSupportTopicItemVm;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class CreateSupportTopicItemVm implements ICreateSupportTopicItemVm {\n id!: string;\n\n constructor(data?: ICreateSupportTopicItemVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n }\n }\n\n static fromJS(data: any): CreateSupportTopicItemVm {\n data = typeof data === 'object' ? data : {};\n let result = new CreateSupportTopicItemVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n return data;\n }\n}\n\nexport interface ICreateSupportTopicItemVm {\n id: string;\n}\n\nexport class DeleteSupportComponentCommandParams implements IDeleteSupportComponentCommandParams {\n componentId!: string;\n supportTopicItemId!: string;\n\n constructor(data?: IDeleteSupportComponentCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.componentId = _data[\"componentId\"];\n this.supportTopicItemId = _data[\"supportTopicItemId\"];\n }\n }\n\n static fromJS(data: any): DeleteSupportComponentCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteSupportComponentCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"componentId\"] = this.componentId;\n data[\"supportTopicItemId\"] = this.supportTopicItemId;\n return data;\n }\n}\n\nexport interface IDeleteSupportComponentCommandParams {\n componentId: string;\n supportTopicItemId: string;\n}\n\nexport class DeleteSupportComponentCommandResponse implements IDeleteSupportComponentCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IDeleteSupportComponentCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DeleteSupportComponentCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteSupportComponentCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDeleteSupportComponentCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class DeleteSupportTopicItemCommandParams implements IDeleteSupportTopicItemCommandParams {\n supportTopicItemId!: string;\n\n constructor(data?: IDeleteSupportTopicItemCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.supportTopicItemId = _data[\"supportTopicItemId\"];\n }\n }\n\n static fromJS(data: any): DeleteSupportTopicItemCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteSupportTopicItemCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"supportTopicItemId\"] = this.supportTopicItemId;\n return data;\n }\n}\n\nexport interface IDeleteSupportTopicItemCommandParams {\n supportTopicItemId: string;\n}\n\nexport class DeleteSupportTopicItemCommandResponse implements IDeleteSupportTopicItemCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IDeleteSupportTopicItemCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DeleteSupportTopicItemCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteSupportTopicItemCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDeleteSupportTopicItemCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class MoveSupportComponentCommandParams implements IMoveSupportComponentCommandParams {\n supportTopicItemId!: string;\n componentId!: string;\n prevIndex!: number;\n newIndex!: number;\n\n constructor(data?: IMoveSupportComponentCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.supportTopicItemId = _data[\"supportTopicItemId\"];\n this.componentId = _data[\"componentId\"];\n this.prevIndex = _data[\"prevIndex\"];\n this.newIndex = _data[\"newIndex\"];\n }\n }\n\n static fromJS(data: any): MoveSupportComponentCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new MoveSupportComponentCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"supportTopicItemId\"] = this.supportTopicItemId;\n data[\"componentId\"] = this.componentId;\n data[\"prevIndex\"] = this.prevIndex;\n data[\"newIndex\"] = this.newIndex;\n return data;\n }\n}\n\nexport interface IMoveSupportComponentCommandParams {\n supportTopicItemId: string;\n componentId: string;\n prevIndex: number;\n newIndex: number;\n}\n\nexport class MoveSupportComponentCommandResponse implements IMoveSupportComponentCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IMoveSupportComponentCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): MoveSupportComponentCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new MoveSupportComponentCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IMoveSupportComponentCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class MoveSupportTopicItemCommandParams implements IMoveSupportTopicItemCommandParams {\n supportTopicId!: string;\n supportTopicItemId!: string;\n prevIndex!: number;\n newIndex!: number;\n\n constructor(data?: IMoveSupportTopicItemCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.supportTopicId = _data[\"supportTopicId\"];\n this.supportTopicItemId = _data[\"supportTopicItemId\"];\n this.prevIndex = _data[\"prevIndex\"];\n this.newIndex = _data[\"newIndex\"];\n }\n }\n\n static fromJS(data: any): MoveSupportTopicItemCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new MoveSupportTopicItemCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"supportTopicId\"] = this.supportTopicId;\n data[\"supportTopicItemId\"] = this.supportTopicItemId;\n data[\"prevIndex\"] = this.prevIndex;\n data[\"newIndex\"] = this.newIndex;\n return data;\n }\n}\n\nexport interface IMoveSupportTopicItemCommandParams {\n supportTopicId: string;\n supportTopicItemId: string;\n prevIndex: number;\n newIndex: number;\n}\n\nexport class MoveSupportTopicItemCommandResponse implements IMoveSupportTopicItemCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IMoveSupportTopicItemCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): MoveSupportTopicItemCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new MoveSupportTopicItemCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IMoveSupportTopicItemCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class UpdateSupportComponentCommandParams implements IUpdateSupportComponentCommandParams {\n componentId!: string;\n supportTopicItemId!: string;\n title!: string;\n content!: string;\n\n constructor(data?: IUpdateSupportComponentCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.componentId = _data[\"componentId\"];\n this.supportTopicItemId = _data[\"supportTopicItemId\"];\n this.title = _data[\"title\"];\n this.content = _data[\"content\"];\n }\n }\n\n static fromJS(data: any): UpdateSupportComponentCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateSupportComponentCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"componentId\"] = this.componentId;\n data[\"supportTopicItemId\"] = this.supportTopicItemId;\n data[\"title\"] = this.title;\n data[\"content\"] = this.content;\n return data;\n }\n}\n\nexport interface IUpdateSupportComponentCommandParams {\n componentId: string;\n supportTopicItemId: string;\n title: string;\n content: string;\n}\n\nexport class UpdateSupportComponentCommandResponse implements IUpdateSupportComponentCommandResponse {\n result!: Component2;\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IUpdateSupportComponentCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = new Component2();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.result = _data[\"result\"] ? Component2.fromJS(_data[\"result\"]) : new Component2();\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): UpdateSupportComponentCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateSupportComponentCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"result\"] = this.result ? this.result.toJSON() : undefined;\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IUpdateSupportComponentCommandResponse {\n result: Component2;\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class UpdateSupportTopicItemCommandParams implements IUpdateSupportTopicItemCommandParams {\n supportTopicItemId!: string;\n name!: string;\n\n constructor(data?: IUpdateSupportTopicItemCommandParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.supportTopicItemId = _data[\"supportTopicItemId\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): UpdateSupportTopicItemCommandParams {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateSupportTopicItemCommandParams();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"supportTopicItemId\"] = this.supportTopicItemId;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface IUpdateSupportTopicItemCommandParams {\n supportTopicItemId: string;\n name: string;\n}\n\nexport class UpdateSupportTopicItemCommandResponse implements IUpdateSupportTopicItemCommandResponse {\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IUpdateSupportTopicItemCommandResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): UpdateSupportTopicItemCommandResponse {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateSupportTopicItemCommandResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IUpdateSupportTopicItemCommandResponse {\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetSupportTopicItemsByTopicQueryResponse implements IGetSupportTopicItemsByTopicQueryResponse {\n result!: GetSupportTopicItemsByTopicVm[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetSupportTopicItemsByTopicQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(GetSupportTopicItemsByTopicVm.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetSupportTopicItemsByTopicQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetSupportTopicItemsByTopicQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetSupportTopicItemsByTopicQueryResponse {\n result: GetSupportTopicItemsByTopicVm[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class GetSupportTopicItemsByTopicVm implements IGetSupportTopicItemsByTopicVm {\n id!: string;\n name!: string;\n lastUpdated!: Date;\n editedBy!: string;\n\n constructor(data?: IGetSupportTopicItemsByTopicVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.lastUpdated = _data[\"lastUpdated\"] ? new Date(_data[\"lastUpdated\"].toString()) : undefined;\n this.editedBy = _data[\"editedBy\"];\n }\n }\n\n static fromJS(data: any): GetSupportTopicItemsByTopicVm {\n data = typeof data === 'object' ? data : {};\n let result = new GetSupportTopicItemsByTopicVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"lastUpdated\"] = this.lastUpdated ? this.lastUpdated.toISOString() : undefined;\n data[\"editedBy\"] = this.editedBy;\n return data;\n }\n}\n\nexport interface IGetSupportTopicItemsByTopicVm {\n id: string;\n name: string;\n lastUpdated: Date;\n editedBy: string;\n}\n\nexport class GetAllSupportTopicVm implements IGetAllSupportTopicVm {\n id!: string;\n name!: string;\n topicItemIds!: string[];\n\n constructor(data?: IGetAllSupportTopicVm) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.topicItemIds = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"topicItemIds\"])) {\n this.topicItemIds = [] as any;\n for (let item of _data[\"topicItemIds\"])\n this.topicItemIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetAllSupportTopicVm {\n data = typeof data === 'object' ? data : {};\n let result = new GetAllSupportTopicVm();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n if (Array.isArray(this.topicItemIds)) {\n data[\"topicItemIds\"] = [];\n for (let item of this.topicItemIds)\n data[\"topicItemIds\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetAllSupportTopicVm {\n id: string;\n name: string;\n topicItemIds: string[];\n}\n\nexport class GetAllSupportTopicsQueryResponse implements IGetAllSupportTopicsQueryResponse {\n result!: GetAllSupportTopicVm[];\n success!: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n\n constructor(data?: IGetAllSupportTopicsQueryResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.result = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"result\"])) {\n this.result = [] as any;\n for (let item of _data[\"result\"])\n this.result!.push(GetAllSupportTopicVm.fromJS(item));\n }\n this.success = _data[\"success\"];\n this.message = _data[\"message\"];\n if (Array.isArray(_data[\"validationErrors\"])) {\n this.validationErrors = [] as any;\n for (let item of _data[\"validationErrors\"])\n this.validationErrors!.push(item);\n }\n if (Array.isArray(_data[\"queryMetrics\"])) {\n this.queryMetrics = [] as any;\n for (let item of _data[\"queryMetrics\"])\n this.queryMetrics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): GetAllSupportTopicsQueryResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetAllSupportTopicsQueryResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.result)) {\n data[\"result\"] = [];\n for (let item of this.result)\n data[\"result\"].push(item.toJSON());\n }\n data[\"success\"] = this.success;\n data[\"message\"] = this.message;\n if (Array.isArray(this.validationErrors)) {\n data[\"validationErrors\"] = [];\n for (let item of this.validationErrors)\n data[\"validationErrors\"].push(item);\n }\n if (Array.isArray(this.queryMetrics)) {\n data[\"queryMetrics\"] = [];\n for (let item of this.queryMetrics)\n data[\"queryMetrics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IGetAllSupportTopicsQueryResponse {\n result: GetAllSupportTopicVm[];\n success: boolean;\n message?: string | undefined;\n validationErrors?: string[] | undefined;\n queryMetrics?: string[] | undefined;\n}\n\nexport class Component2 implements IComponent2 {\n id!: string;\n type!: ComponentType2;\n title!: string;\n content?: any | undefined;\n\n constructor(data?: IComponent2) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.type = _data[\"type\"];\n this.title = _data[\"title\"];\n this.content = _data[\"content\"];\n }\n }\n\n static fromJS(data: any): Component2 {\n data = typeof data === 'object' ? data : {};\n let result = new Component2();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"type\"] = this.type;\n data[\"title\"] = this.title;\n data[\"content\"] = this.content;\n return data;\n }\n}\n\nexport interface IComponent2 {\n id: string;\n type: ComponentType2;\n title: string;\n content?: any | undefined;\n}\n\nexport enum ComponentType2 {\n Text = \"Text\",\n Picture = \"Picture\",\n ImportFromExcel = \"ImportFromExcel\",\n}\n\nexport class SupportTopicItem implements ISupportTopicItem {\n supportTopicId!: string;\n name!: string;\n lastUpdated!: Date;\n editedByUserId!: string;\n editedByUserName!: string;\n components!: Component2[];\n readonly globalPk!: string;\n id!: string;\n pk?: string | undefined;\n\n constructor(data?: ISupportTopicItem) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n if (!data) {\n this.components = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.supportTopicId = _data[\"supportTopicId\"];\n this.name = _data[\"name\"];\n this.lastUpdated = _data[\"lastUpdated\"] ? new Date(_data[\"lastUpdated\"].toString()) : undefined;\n this.editedByUserId = _data[\"editedByUserId\"];\n this.editedByUserName = _data[\"editedByUserName\"];\n if (Array.isArray(_data[\"components\"])) {\n this.components = [] as any;\n for (let item of _data[\"components\"])\n this.components!.push(Component2.fromJS(item));\n }\n (this).globalPk = _data[\"globalPk\"];\n this.id = _data[\"id\"];\n this.pk = _data[\"pk\"];\n }\n }\n\n static fromJS(data: any): SupportTopicItem {\n data = typeof data === 'object' ? data : {};\n let result = new SupportTopicItem();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"supportTopicId\"] = this.supportTopicId;\n data[\"name\"] = this.name;\n data[\"lastUpdated\"] = this.lastUpdated ? this.lastUpdated.toISOString() : undefined;\n data[\"editedByUserId\"] = this.editedByUserId;\n data[\"editedByUserName\"] = this.editedByUserName;\n if (Array.isArray(this.components)) {\n data[\"components\"] = [];\n for (let item of this.components)\n data[\"components\"].push(item.toJSON());\n }\n data[\"globalPk\"] = this.globalPk;\n data[\"id\"] = this.id;\n data[\"pk\"] = this.pk;\n return data;\n }\n}\n\nexport interface ISupportTopicItem {\n supportTopicId: string;\n name: string;\n lastUpdated: Date;\n editedByUserId: string;\n editedByUserName: string;\n components: Component2[];\n globalPk: string;\n id: string;\n pk?: string | undefined;\n}\n\nexport class ValueTuple_2OfGuidAndNullable_1OfDouble implements IValueTuple_2OfGuidAndNullable_1OfDouble {\n item1!: string;\n item2?: number | undefined;\n\n constructor(data?: IValueTuple_2OfGuidAndNullable_1OfDouble) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.item1 = _data[\"item1\"];\n this.item2 = _data[\"item2\"];\n }\n }\n\n static fromJS(data: any): ValueTuple_2OfGuidAndNullable_1OfDouble {\n data = typeof data === 'object' ? data : {};\n let result = new ValueTuple_2OfGuidAndNullable_1OfDouble();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"item1\"] = this.item1;\n data[\"item2\"] = this.item2;\n return data;\n }\n}\n\nexport interface IValueTuple_2OfGuidAndNullable_1OfDouble {\n item1: string;\n item2?: number | undefined;\n}\n\nfunction formatDate(d: Date) {\n return d.getFullYear() + '-' + \n (d.getMonth() < 9 ? ('0' + (d.getMonth()+1)) : (d.getMonth()+1)) + '-' +\n (d.getDate() < 10 ? ('0' + d.getDate()) : d.getDate());\n}\n\nexport interface FileParameter {\n data: any;\n fileName: string;\n}\n\nexport class ApiException extends Error {\n override message: string;\n status: number;\n response: string;\n headers: { [key: string]: any; };\n result: any;\n\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\n super();\n\n this.message = message;\n this.status = status;\n this.response = response;\n this.headers = headers;\n this.result = result;\n }\n\n protected isApiException = true;\n\n static isApiException(obj: any): obj is ApiException {\n return obj.isApiException === true;\n }\n}\n\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable {\n if (result !== null && result !== undefined)\n return _observableThrow(result);\n else\n return _observableThrow(new ApiException(message, status, response, headers, null));\n}\n\nfunction blobToText(blob: any): Observable {\n return new Observable((observer: any) => {\n if (!blob) {\n observer.next(\"\");\n observer.complete();\n } else {\n let reader = new FileReader();\n reader.onload = event => {\n observer.next((event.target as any).result);\n observer.complete();\n };\n reader.readAsText(blob);\n }\n });\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { lastValueFrom } from 'rxjs';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport { IntegrationClient } from '../../../api-client/integration-api.generated';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IntegrationApiService {\n client: IntegrationClient;\n constructor(readonly httpClient: HttpClient, readonly appSettings: AppConfigurationService) {\n this.client = new IntegrationClient(httpClient, appSettings.ReportApiBaseUrl);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { lastValueFrom, throwError } from 'rxjs';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport {\n AccessTokenClient,\n AccessTokenTypes,\n CreateAccessTokenCommandParams,\n CreateAccessTokenCommandResponse,\n DeleteAccessTokenCommandParams,\n DeleteAccessTokenCommandResponse,\n GetAccessTokensByQueryResponse,\n GetAllAccessTokensQueryResponse,\n GetValidateTokenQueryResponse,\n} from '../../../api-client/report-api.generated';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccessTokenApiService {\n client: AccessTokenClient;\n\n constructor(readonly httpClient: HttpClient, readonly appSettings: AppConfigurationService) {\n this.client = new AccessTokenClient(httpClient, appSettings.ReportApiBaseUrl);\n }\n\n async create(name: string, type: AccessTokenTypes, scopeId?: string): Promise {\n const observable$ = this.client.createAccessToken(new CreateAccessTokenCommandParams({ name, type, scopeId }));\n return await lastValueFrom(observable$);\n }\n\n async delete(id: string): Promise {\n const observable$ = this.client.deleteAccessToken(new DeleteAccessTokenCommandParams({ id }));\n return await lastValueFrom(observable$);\n }\n\n async getBy(type: AccessTokenTypes, scopeId: string): Promise {\n const observable$ = this.client.getAccessTokensBy(type, scopeId);\n return await lastValueFrom(observable$);\n }\n\n async getAll(): Promise {\n const observable$ = this.client.getAllAccessTokens();\n return await lastValueFrom(observable$);\n }\n\n async validateToken(token: string): Promise {\n const observable$ = this.client.validateToken(token);\n return await lastValueFrom(observable$);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, lastValueFrom } from 'rxjs';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport {\n AppClient,\n FileParameter,\n GetUserInfoQueryResponse,\n InitializeUserCommandResponse,\n UploadImageVm,\n} from '../../../api-client/report-api.generated';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ReportAppApiService {\n client: AppClient;\n\n constructor(readonly httpClient: HttpClient, readonly appSettings: AppConfigurationService) {\n this.client = new AppClient(httpClient, appSettings.ReportApiBaseUrl);\n }\n\n async getUserInfo(): Promise {\n const observable$ = this.client.getUserInfoVm();\n return await lastValueFrom(observable$);\n }\n\n async setUserCurrentContextOrganizationId(organizationId: string) {\n const observable$ = this.client.setUserCurrentContextOrganizationId(organizationId);\n return await lastValueFrom(observable$);\n }\n\n async initilizeUser(): Promise {\n const observable$ = this.client.initializeAuthenticatgedUser();\n return await lastValueFrom(observable$);\n }\n\n uploadImage(file: FileParameter): Observable {\n return this.client.uploadImage(file);\n }\n async removeImage(blobName: string): Promise {\n const observable$ = this.client.removeImage(blobName);\n return await lastValueFrom(observable$);\n }\n\n getBlobUrl(blobName: string) {\n return `${this.appSettings.ReportApiBaseUrl}/app/image/${blobName}`;\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { lastValueFrom, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport {\n AssetClient,\n CreateAssetCommandParams,\n CreateAssetCommandResponse,\n UpdateAssetCommandParams,\n UpdateAssetCommandResponse,\n GetAssetTypesByOrganizationQueryResponse,\n AssetType,\n GetAssetsByOrganizationAndAvailableForLeasingQueryResponse,\n DeleteAssetVersionCommandParams,\n UpdateAssetBasePropertiesCommandParams,\n UpdateAssetBasePropertiesCommandResponse,\n GetAssetsByOrganizationAndTypeQueryResponse,\n SearchAssetByOrganizationAndTypeQueryResponse,\n VesselType,\n VehicleCraftMachineryType,\n PowerSource,\n FacilityType,\n RiskCategory,\n SectorType,\n CountryCodes,\n DeleteAssetsByFilterCommandResponse,\n} from '../../../api-client/report-api.generated';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AssetApiService {\n client: AssetClient;\n\n constructor(readonly httpClient: HttpClient, readonly appSettings: AppConfigurationService) {\n this.client = new AssetClient(httpClient, appSettings.ReportApiBaseUrl);\n }\n\n async createAsset(body: CreateAssetCommandParams): Promise {\n const observable$ = this.client.createAsset(body).pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async updateAsset(body: UpdateAssetCommandParams): Promise {\n const observable$ = this.client.updateAsset(body).pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async updateAssetBaseProperties(\n body: UpdateAssetBasePropertiesCommandParams\n ): Promise {\n const observable$ = this.client.updateAssetBaseProperties(body).pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async getAssetsByOrganizationAndType(\n subOrganizationId: string | undefined,\n assetType: AssetType\n ): Promise {\n const observable$ = this.client.getAssetsByOrganizationAndType(subOrganizationId, assetType).pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async getAssetsByOrganizationAndAvailableForLeasing(): Promise {\n const observable$ = this.client.getAssetsByOrganizationAndAvailableForLeasing().pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async deleteAsset(id: string) {\n const observable$ = this.client.deleteAsset(id).pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async deleteAssetVersion(id: string, versionId: string) {\n const observable$ = this.client\n .deleteAssetVersion(new DeleteAssetVersionCommandParams({ assetId: id, versionId: versionId }))\n .pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async getAssetTypesByOrganization(\n subOrganizationId: string | undefined\n ): Promise {\n const observable$ = this.client.getAssetTypesByOrganization(subOrganizationId).pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async getAssetById(id: string, versionId: string) {\n const observable$ = this.client.getAssetById(id, versionId).pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async getAssetVersions(id: string) {\n const observable$ = this.client.getAssetVersionsById(id).pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async getAllAssets() {\n const observable$ = this.client.getAllAssets().pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async getAllAssetOptions() {\n const observable$ = this.client.getAssetList();\n return await lastValueFrom(observable$);\n }\n\n async searchAssetByType(\n assetType: AssetType,\n name?: string | undefined,\n countryCodes?: CountryCodes[] | undefined,\n searchOrgOrSubId?: string[] | undefined,\n vesselTypes?: VesselType[] | undefined,\n vehicleTypes?: VehicleCraftMachineryType[] | undefined,\n powerSources?: PowerSource[] | undefined,\n facilityTypes?: FacilityType[] | undefined,\n sectors?: SectorType[] | undefined,\n socialRisks?: RiskCategory[] | undefined,\n environmentRisks?: RiskCategory[],\n orderBy?: string | undefined,\n pageNumber?: number | undefined,\n pageSize?: number | undefined\n ): Promise {\n const observable$ = this.client\n .searchAssetByOrganizationAndType(\n assetType,\n name,\n countryCodes,\n searchOrgOrSubId,\n vesselTypes,\n vehicleTypes,\n powerSources,\n facilityTypes,\n sectors,\n socialRisks,\n environmentRisks,\n orderBy,\n pageNumber,\n pageSize\n )\n .pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async searchAsset(\n params: ISearchAssetByOrganizationAndTypeParams,\n orderBy?: string | undefined,\n pageNumber?: number | undefined,\n pageSize?: number | undefined\n ): Promise {\n const observable$ = this.client\n .searchAssetByOrganizationAndType(\n params.AssetType,\n params.Name,\n params.CountryCodes,\n params.SearchOrgIds,\n params.VesselType,\n params.VehicleTypes,\n params.PowerSources,\n params.FacilityTypes,\n params.Sectors,\n params.SocialRisks,\n params.EnvironmentRisks,\n orderBy,\n pageNumber,\n pageSize\n )\n .pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async deleteAssetsByFilter(params: DeleteAssetsByFilterParams): Promise {\n const observable$ = this.client\n .deleteAssetsByFilter(\n params.AssetType,\n params.Name,\n params.CountryCodes,\n params.SearchOrgIds,\n params.VesselType,\n params.VehicleTypes,\n params.PowerSources,\n params.FacilityTypes,\n params.Sectors,\n params.SocialRisks,\n params.EnvironmentRisks\n )\n .pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n}\n\nexport class SearchAssetByOrganizationAndTypeParams implements ISearchAssetByOrganizationAndTypeParams {\n AssetType!: AssetType;\n Name?: string | undefined;\n CountryCodes?: CountryCodes[] | undefined;\n SearchOrgIds?: string[] | undefined;\n VesselType?: VesselType[] | undefined;\n VehicleTypes?: VehicleCraftMachineryType[] | undefined;\n PowerSources?: PowerSource[] | undefined;\n FacilityType?: FacilityType[] | undefined;\n Sectors?: SectorType[] | undefined;\n SocialRisks?: RiskCategory[] | undefined;\n EnvironmentRisks?: RiskCategory[];\n constructor(data?: ISearchAssetByOrganizationAndTypeParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n}\n\nexport interface ISearchAssetByOrganizationAndTypeParams {\n AssetType: AssetType;\n Name?: string | undefined;\n CountryCodes?: CountryCodes[] | undefined;\n SearchOrgIds?: string[] | undefined;\n VesselType?: VesselType[] | undefined;\n VehicleTypes?: VehicleCraftMachineryType[] | undefined;\n PowerSources?: PowerSource[] | undefined;\n FacilityTypes?: FacilityType[] | undefined;\n Sectors?: SectorType[] | undefined;\n SocialRisks?: RiskCategory[] | undefined;\n EnvironmentRisks?: RiskCategory[];\n}\n\nexport class DeleteAssetsByFilterParams {\n AssetType!: AssetType;\n Name?: string | undefined;\n CountryCodes?: CountryCodes[] | undefined;\n SearchOrgIds?: string[] | undefined;\n VesselType?: VesselType[] | undefined;\n VehicleTypes?: VehicleCraftMachineryType[] | undefined;\n PowerSources?: PowerSource[] | undefined;\n FacilityTypes?: FacilityType[] | undefined;\n Sectors?: SectorType[] | undefined;\n SocialRisks?: RiskCategory[] | undefined;\n EnvironmentRisks?: RiskCategory[];\n constructor(data?: IDeleteAssetsByFilterParams) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property)) (this)[property] = (data)[property];\n }\n }\n }\n}\n\nexport class IDeleteAssetsByFilterParams {\n AssetType!: AssetType;\n Name?: string | undefined;\n CountryCodes?: CountryCodes[] | undefined;\n SearchOrgIds?: string[] | undefined;\n VesselType?: VesselType[] | undefined;\n VehicleTypes?: VehicleCraftMachineryType[] | undefined;\n PowerSources?: PowerSource[] | undefined;\n FacilityTypes?: FacilityType[] | undefined;\n Sectors?: SectorType[] | undefined;\n SocialRisks?: RiskCategory[] | undefined;\n EnvironmentRisks?: RiskCategory[];\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { catchError, lastValueFrom, throwError } from 'rxjs';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport {\n CalcFactorClient,\n CalcFactorType,\n DeleteCalcFactorVersionCommandParams,\n GetCalcFactorByIdQueryResponse,\n GetCalcFactorsByTypeQueryResponse,\n UpdateCalcFactorCommandParams,\n UpdateCalcFactorCommandResponse,\n} from '../../../api-client/report-api.generated';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CalcFactorApiService {\n client: CalcFactorClient;\n\n constructor(readonly httpClient: HttpClient, readonly appSettings: AppConfigurationService) {\n this.client = new CalcFactorClient(httpClient, appSettings.ReportApiBaseUrl);\n }\n\n async updateCalcFactor(body: UpdateCalcFactorCommandParams): Promise {\n const observable$ = this.client.updateCalcFactor(body);\n return await lastValueFrom(observable$);\n }\n\n async getCalcFactorsByType(factorType: CalcFactorType): Promise {\n const observable$ = this.client.getCalcFactorsByType(factorType);\n return await lastValueFrom(observable$);\n }\n\n async updateOrganizationCalcFactor(body: UpdateCalcFactorCommandParams): Promise {\n const observable$ = this.client.updateOrganizationCalcFactor(body);\n return await lastValueFrom(observable$);\n }\n\n async getOrganizationCalcFactorsByType(factorType: CalcFactorType): Promise {\n const observable$ = this.client.getOrganizationCalcFactorsByType(factorType);\n return await lastValueFrom(observable$);\n }\n\n async getCalcFactorById(factorId: string, versionId: string): Promise {\n const observable$ = this.client.getCalcFactorById(factorId, versionId);\n return await lastValueFrom(observable$);\n }\n\n async getOrganizationCalcFactorById(factorId: string, versionId: string): Promise {\n const observable$ = this.client.getOrganizationCalcFactorById(factorId, versionId);\n return await lastValueFrom(observable$);\n }\n\n async getCalcFactorVersions(id: string) {\n const observable$ = this.client.getCalcFactorVersionsById(id).pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async getOrganizationCalcFactorVersions(id: string) {\n const observable$ = this.client.getOrganizationCalcFactorVersionsById(id).pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async deleteCalcFactorVersion(factorId: string, versionId: string) {\n const observable$ = this.client\n .deleteCalcFactorVersion(new DeleteCalcFactorVersionCommandParams({ factorId: factorId, versionId: versionId }))\n .pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n async deleteOrganizationCalcFactorVersion(factorId: string, versionId: string) {\n const observable$ = this.client\n .deleteOrganizationCalcFactorVersion(\n new DeleteCalcFactorVersionCommandParams({ factorId: factorId, versionId: versionId })\n )\n .pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n}\n","import {\n CalculatedDataClient,\n CalculateIndicatorYearlyCalculatedDataCommandParams,\n CalculateIndicatorYearlyCalculatedDataCommandResponse,\n GetCalcDataByIndicatorQueryResponse,\n GetCalcDataSubstrateDataQueryResponse,\n TimePeriodType,\n} from '../../../api-client/report-api.generated';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { lastValueFrom } from 'rxjs';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CalculatedDataApiService {\n client: CalculatedDataClient;\n\n constructor(readonly httpClient: HttpClient, readonly appSettings: AppConfigurationService) {\n this.client = new CalculatedDataClient(httpClient, appSettings.ReportApiBaseUrl);\n }\n\n async createIndicatorData(\n indicatorId: string,\n year: number\n ): Promise {\n const observable$ = this.client.calculateIndicatorYearlyCalculatedData(\n new CalculateIndicatorYearlyCalculatedDataCommandParams({ indicatorId, year })\n );\n return await lastValueFrom(observable$);\n }\n\n async getByIndicatorIdCalculatedData(\n includeNestedSubOrganizations: boolean,\n indicatorId: string,\n periodType: TimePeriodType,\n subOrganizationId?: string,\n yearFrom?: number,\n yearTo?: number\n ): Promise {\n const observable$ = this.client.getCalcDataByIndicator(\n indicatorId,\n yearFrom,\n yearTo,\n subOrganizationId,\n includeNestedSubOrganizations,\n periodType,\n undefined\n );\n return await lastValueFrom(observable$);\n }\n\n async getCalculatedDataSubstrateData(\n indicatorId: string,\n subOrganizationId: string | undefined,\n includeNestedSubOrganizations: boolean,\n timePeriodType: TimePeriodType,\n year: number,\n period: number | undefined\n ): Promise {\n const observable$ = this.client.getCalcDataSubstrateData(\n indicatorId,\n subOrganizationId,\n includeNestedSubOrganizations,\n timePeriodType,\n year,\n period\n );\n return await lastValueFrom(observable$);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { lastValueFrom, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport {\n DataCategoryClient,\n DataRecordCategory,\n GetDataCategoryByDataRecordCategoryQueryResponse,\n GetListDataCategoriesQueryResponse,\n UpdateDataCategoryCommandParams,\n UpdateDataCategoryCommandResponse,\n} from '../../../api-client/report-api.generated';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DataCategoryApiService {\n client: DataCategoryClient;\n\n constructor(readonly httpClient: HttpClient, readonly appSettings: AppConfigurationService) {\n this.client = new DataCategoryClient(httpClient, appSettings.ReportApiBaseUrl);\n }\n\n async getAllDataCategories(orderBy?: string | undefined): Promise {\n const observable$ = this.client.getListDataCategories(orderBy).pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async getDataCategoryByDataRecordCategory(\n dataRecordCategory: DataRecordCategory\n ): Promise {\n const observable$ = this.client.getDataCategoryByDataRecordCategory(dataRecordCategory).pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async updateDataCategory(body: UpdateDataCategoryCommandParams): Promise {\n const observable$ = this.client.updateDataCategory(body).pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { lastValueFrom, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport { AnswerDto, ChatAIClient } from '../../../api-client/report-api.generated';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ChatAIApiService {\n client: ChatAIClient;\n\n constructor(readonly httpClient: HttpClient, readonly appSettings: AppConfigurationService) {\n this.client = new ChatAIClient(httpClient, appSettings.ReportApiBaseUrl);\n }\n\n async getBotAnswer(question: string): Promise {\n const observable$ = this.client.ask(question).pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { lastValueFrom, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport { CountryClient, GetAllCountriesQueryResponse } from '../../../api-client/report-api.generated';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CountryApiService {\n client: CountryClient;\n\n constructor(readonly httpClient: HttpClient, readonly appSettings: AppConfigurationService) {\n this.client = new CountryClient(httpClient, appSettings.ReportApiBaseUrl);\n }\n\n async getAllCountries(): Promise {\n const observable$ = this.client.getAllCountries().pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { lastValueFrom, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport { CurrencyClient, GetAllCurrenciesQueryResponse } from '../../../api-client/report-api.generated';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CurrencyApiService {\n client: CurrencyClient;\n\n constructor(readonly httpClient: HttpClient, readonly appSettings: AppConfigurationService) {\n this.client = new CurrencyClient(httpClient, appSettings.ReportApiBaseUrl);\n }\n\n async getAllCurrencies(): Promise {\n const observable$ = this.client.getAllCurrencies().pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { lastValueFrom, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport {\n DataProfileClient,\n CreateDataProfileCommandParams,\n CreateDataProfileCommandResponse,\n UpdateDataProfileCommandParams,\n UpdateDataProfileCommandResponse,\n DeleteDataProfileCommandResponse,\n DataProfileType,\n GetDataProfilesByTypeQueryResponse,\n GetAllDataProfilesQueryResponse,\n} from '../../../api-client/report-api.generated';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DataProfileApiService {\n client: DataProfileClient;\n\n constructor(readonly httpClient: HttpClient, readonly appSettings: AppConfigurationService) {\n this.client = new DataProfileClient(httpClient, appSettings.ReportApiBaseUrl);\n }\n\n async createDataProfile(body: CreateDataProfileCommandParams): Promise {\n const observable$ = this.client.createDataProfile(body).pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async updateDataProfile(body: UpdateDataProfileCommandParams): Promise {\n const observable$ = this.client.updateDataProfile(body).pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async deleteDataProfile(profileId: string): Promise {\n const observable$ = this.client.deleteDataProfile(profileId).pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async getDataProfilesByType(dataRecordType: DataProfileType): Promise {\n const observable$ = this.client.getDataProfilesByType(dataRecordType).pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async getAllDataProfiles(): Promise {\n const observable$ = this.client.getAllDataProfiles().pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { lastValueFrom, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport {\n DataRecordClient,\n DataRecordType,\n GetDataRecordsByAssetQueryResponse,\n CreateDataRecordCommandParams,\n CreateDataRecordCommandResponse,\n UpdateDataRecordCommandParams,\n UpdateDataRecordCommandResponse,\n DeleteDataRecordCommandResponse,\n GetDataRecordsByTypeQueryResponse,\n DataRecordCategory,\n GetDataRecordsByCategoryQueryResponse,\n GetDataRecordsByDataProfileQueryResponse,\n GetDataRecordsByQueryResponse,\n GetAssetDataRecordsOverviewQueryResponse,\n AssetType,\n GetDataRecordsCountByQueryResponse,\n InputType,\n FishSpecies,\n} from '../../../api-client/report-api.generated';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DataRecordApiService {\n client: DataRecordClient;\n\n constructor(readonly httpClient: HttpClient, readonly appSettings: AppConfigurationService) {\n this.client = new DataRecordClient(httpClient, appSettings.ReportApiBaseUrl);\n }\n\n async createDataRecord(body: CreateDataRecordCommandParams): Promise {\n const observable$ = this.client.createDataRecord(body).pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async updateDataRecord(body: UpdateDataRecordCommandParams): Promise {\n const observable$ = this.client.updateDataRecord(body).pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async deleteDataRecord(recordId: string): Promise {\n const observable$ = this.client.deleteDataRecord(recordId).pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async deleteDataRecordsBy(\n inputType: InputType | undefined,\n type: DataRecordType | undefined,\n category: DataRecordCategory | undefined,\n dataProfileId: string | undefined,\n assetIds: string[] | undefined,\n assetTypes: AssetType[] | undefined,\n orderBy: string | undefined,\n dateFrom: Date | undefined,\n dateTo: Date | undefined\n ) {\n const observable$ = this.client\n .deleteDataRecordsBy(inputType, type, category, dataProfileId, assetIds, assetTypes, orderBy, dateFrom, dateTo)\n .pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async getDataRecordsByAssetAndType(\n assetId: string,\n dataRecordType: DataRecordType\n ): Promise {\n const observable$ = this.client.getDataRecordsByAssetAndType(assetId, dataRecordType).pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async getDataRecordsByType(dataRecordType: DataRecordType): Promise {\n const observable$ = this.client.getDataRecordsByType(dataRecordType).pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async getDataRecordsByCategory(\n dataRecordCategory: DataRecordCategory\n ): Promise {\n const observable$ = this.client.getDataRecordsByCategory(dataRecordCategory).pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async getDataRecordsByProfile(dataProfileId: string): Promise {\n const observable$ = this.client.getDataRecordsByDataProfile(dataProfileId).pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async getAssetRecordsOverview(assetId: string): Promise {\n const observable$ = this.client.getAssetRecordsOverview(assetId).pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async getDataRecordsByFilter(\n inputType: InputType | undefined,\n type: DataRecordType | undefined,\n category: DataRecordCategory | undefined,\n dataProfileId: string | undefined,\n assetIds: string[] | undefined,\n assetTypes: AssetType[] | undefined,\n orderBy: string | undefined,\n dateFrom: Date | undefined,\n dateTo: Date | undefined,\n pageNumber: number | undefined,\n pageSize: number | undefined,\n species: FishSpecies | undefined = undefined,\n ): Promise {\n const observable$ = this.client\n .getBy(\n inputType,\n type,\n category,\n dataProfileId,\n assetIds,\n assetTypes,\n species,\n orderBy,\n dateFrom,\n dateTo,\n pageNumber,\n pageSize\n )\n .pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async getDataRecordsCountByFilter(\n inputType: InputType | undefined,\n type: DataRecordType | undefined,\n category: DataRecordCategory | undefined,\n dataProfileId: string | undefined,\n assetIds: string[] | undefined,\n assetTypes: AssetType[] | undefined,\n dateFrom: Date | undefined,\n dateTo: Date | undefined\n ): Promise {\n const observable$ = this.client.countBy(\n inputType,\n type,\n category,\n dataProfileId,\n assetIds,\n assetTypes,\n dateFrom,\n dateTo\n );\n return await lastValueFrom(observable$);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport {\n CalculateIndicatorCommandParams,\n CalculateIndicatorCommandResponse,\n CreateIndicatorCommandParams,\n CreateIndicatorCommandResponse,\n DeleteIndicatorCommandResponse,\n GetAllIndicatorsQueryResponse,\n GetAllNamesIndicatorsQueryResponse,\n GetByIdIndicatorQueryResponse,\n GetTargetValuesQueryResponse,\n IndicatorCategory,\n IndicatorClient,\n UpdateIndicatorTargetCommandParams,\n UpdateIndicatorTargetCommandResponse,\n} from '../../../api-client/report-api.generated';\nimport { lastValueFrom } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IndicatorApiService {\n client: IndicatorClient;\n\n constructor(readonly httpClient: HttpClient, readonly appSettings: AppConfigurationService) {\n this.client = new IndicatorClient(httpClient, appSettings.ReportApiBaseUrl);\n }\n\n async createIndicator(body: CreateIndicatorCommandParams): Promise {\n const observable$ = this.client.createIndicator(body);\n return await lastValueFrom(observable$);\n }\n\n async removeIndicator(id: string): Promise {\n const observable$ = this.client.deleteIndicator(id);\n return await lastValueFrom(observable$);\n }\n\n async getAllIndicators(\n name: string | undefined,\n category: IndicatorCategory[] | undefined,\n orderBy: string | undefined,\n pageNumber: number | undefined,\n pageSize: number | undefined\n ): Promise {\n const observable$ = this.client.getAllIndicators(name, category, orderBy, pageNumber, pageSize);\n return await lastValueFrom(observable$);\n }\n\n async getAllNamesIndicators(): Promise {\n const observable$ = this.client.getAllNamesIndicators();\n return await lastValueFrom(observable$);\n }\n\n async getIndicatorById(id: string): Promise {\n const observable$ = this.client.getIndicatorById(id);\n return await lastValueFrom(observable$);\n }\n\n async updateIndicatorTarget(body: UpdateIndicatorTargetCommandParams): Promise {\n const observable$ = this.client.updateIndicatorTarget(body);\n return await lastValueFrom(observable$);\n }\n\n async getTargetValues(indicatorId: string, subOrganizationId?: string): Promise {\n const observable$ = this.client.getTargetValues(indicatorId, subOrganizationId);\n return await lastValueFrom(observable$);\n }\n\n async calculateIndicator(indicatorId: string): Promise {\n const observable$ = this.client.calculateIndicator(\n new CalculateIndicatorCommandParams({ indicatorId: indicatorId })\n );\n return await lastValueFrom(observable$);\n }\n}\n","import {\n CalculateIndicatorDataCommandParams,\n CalculateIndicatorDataCommandResponse,\n CreateIndicatorDataCommandParams,\n CreateIndicatorDataCommandResponse,\n DeleteIndicatorDataByCommandResponse,\n DeleteIndicatorDataCommandResponse,\n GetByIdIndicatorDataQueryResponse,\n GetIndicatorDataByQueryResponse,\n IndicatorDataClient,\n UpdateIndicatorDataCommandParams,\n UpdateIndicatorDataCommandResponse,\n} from '../../../api-client/report-api.generated';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { lastValueFrom } from 'rxjs';\nimport { AssetType, InputType } from 'src/api-client/integration-api.generated';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IndicatorDataApiService {\n client: IndicatorDataClient;\n\n constructor(readonly httpClient: HttpClient, readonly appSettings: AppConfigurationService) {\n this.client = new IndicatorDataClient(httpClient, appSettings.ReportApiBaseUrl);\n }\n\n async createIndicatorData(body: CreateIndicatorDataCommandParams): Promise {\n const observable$ = this.client.createIndicatorData(body);\n return await lastValueFrom(observable$);\n }\n\n async updateIndicatorData(body: UpdateIndicatorDataCommandParams): Promise {\n const observable$ = this.client.updateIndicatorData(body);\n return await lastValueFrom(observable$);\n }\n\n async deleteIndicatorData(id: string): Promise {\n const observable$ = this.client.deleteIndicatorData(id);\n return await lastValueFrom(observable$);\n }\n\n async getIndicatorDataById(indicatorDataId: string): Promise {\n const observable$ = this.client.getIndicatorDataById(indicatorDataId);\n return await lastValueFrom(observable$);\n }\n\n async calculateIndicatorData(\n body: CalculateIndicatorDataCommandParams\n ): Promise {\n const observable$ = this.client.calculateIndicatorData(body);\n return await lastValueFrom(observable$);\n }\n\n async getIndicatorDataBy(\n indicatorId: string,\n dateFrom: Date | undefined,\n dateTo: Date | undefined,\n assetIds: string[] | undefined,\n assetTypes: AssetType[] | undefined,\n inputType: InputType | undefined,\n orderBy: string | undefined,\n pageNumber: number | undefined,\n pageSize: number | undefined\n ): Promise {\n const observable$ = this.client.getIndicatorDataBy(\n indicatorId,\n dateFrom,\n dateTo,\n assetIds,\n assetTypes,\n inputType,\n orderBy,\n pageNumber,\n pageSize\n );\n return await lastValueFrom(observable$);\n }\n\n async deleteIndicatorDataBy(\n indicatorId: string,\n dateFrom: Date | undefined,\n dateTo: Date | undefined,\n assetTypes: AssetType[] | undefined,\n assetIds: string[] | undefined,\n inputType: InputType | undefined,\n ): Promise {\n const observable$ = this.client.deleteIndicatorDataByFilter(\n indicatorId,\n inputType,\n dateFrom,\n dateTo,\n undefined,\n assetTypes,\n assetIds\n );\n return await lastValueFrom(observable$);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport {\n GetAllIndicatorDataSourcesQueryResponse,\n GetRawDataSourcesCompatibleWithIndicatorDefinitionQueryResponse,\n GetIndicatorDefinitionAsDataSourcesCompatibleWithIndicatorDefinitionQueryResponse,\n IndicatorDataSourceClient,\n} from '../../../api-client/report-api.generated';\nimport { lastValueFrom } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IndicatorDataSourceApiService {\n client: IndicatorDataSourceClient;\n\n constructor(readonly httpClient: HttpClient, readonly appSettings: AppConfigurationService) {\n this.client = new IndicatorDataSourceClient(httpClient, appSettings.ReportApiBaseUrl);\n }\n\n async getAll(): Promise {\n const observable$ = this.client.getAllIndicatorDataSources();\n return await lastValueFrom(observable$);\n }\n\n async getRawDataSourcesCompatibleWithIndicatorDefinition(\n indicatorDefinitionId: string\n ): Promise {\n const observable$ = this.client.getRawDataSourcesCompatibleWithIndicatorDefinition(indicatorDefinitionId);\n return await lastValueFrom(observable$);\n }\n\n async getIndicatorDefinitionDataSourcesCompatibleWithIndicatorDefinition(\n indicatorDefinitionId: string\n ): Promise {\n const observable$ =\n this.client.getIndicatorDefinitionAsDataSourcesCompatibleWithIndicatorDefinition(indicatorDefinitionId);\n return await lastValueFrom(observable$);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport {\n CreateIndicatorDefinitionCommandParams,\n CreateIndicatorDefinitionCommandResponse,\n DeleteIndicatorDefinitionCommandParams,\n DeleteIndicatorDefinitionCommandResponse,\n DynamicRowsDataSource,\n GetAllIndicatorDefinitionsQueryResponse,\n GetAllNamesIndicatorDefinitionsQueryResponse,\n GetByIdIndicatorDefinitionQueryResponse,\n GetDynamicRowsQueryResponse,\n IndicatorCategory,\n IndicatorDefinitionAccessibility,\n IndicatorDefinitionClient,\n UpdateIndicatorDefinitionCommandParams,\n UpdateIndicatorDefinitionCommandResponse,\n} from '../../../api-client/report-api.generated';\nimport { lastValueFrom } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IndicatorDefinitionApiService {\n client: IndicatorDefinitionClient;\n\n constructor(readonly httpClient: HttpClient, readonly appSettings: AppConfigurationService) {\n this.client = new IndicatorDefinitionClient(httpClient, appSettings.ReportApiBaseUrl);\n }\n\n async createIndicatorDefinition(\n body: CreateIndicatorDefinitionCommandParams\n ): Promise {\n const observable$ = this.client.createIndicatorDefinition(body);\n return await lastValueFrom(observable$);\n }\n\n async updateIndicatorDefinition(\n body: UpdateIndicatorDefinitionCommandParams\n ): Promise {\n const observable$ = this.client.updateIndicatorDefinition(body);\n return await lastValueFrom(observable$);\n }\n\n async deleteIndicatorDefinition(indicatorId: string): Promise {\n const observable$ = this.client.deleteIndicatorDefinition(\n indicatorId,\n new DeleteIndicatorDefinitionCommandParams({ id: indicatorId })\n );\n return await lastValueFrom(observable$);\n }\n\n async getAll(\n onlyOrganizationIndicatorDefinitions: boolean,\n name: string | undefined,\n category: IndicatorCategory[] | undefined,\n accessibility: IndicatorDefinitionAccessibility[] | undefined,\n orderBy: string | undefined,\n pageNumber: number | undefined,\n pageSize: number | undefined\n ): Promise {\n const observable$ = this.client.getAllIndicatorDefinitions(\n onlyOrganizationIndicatorDefinitions,\n name,\n category,\n accessibility,\n orderBy,\n pageNumber,\n pageSize\n );\n return await lastValueFrom(observable$);\n }\n\n async getAllNames(\n onlyOrganizationIndicatorDefinitions: boolean = true\n ): Promise {\n const observable$ = this.client.getAllNamesIndicatorDefinitions(\n onlyOrganizationIndicatorDefinitions,\n undefined,\n undefined,\n undefined,\n undefined,\n undefined,\n undefined\n );\n return await lastValueFrom(observable$);\n }\n\n async getById(indicatorId: string): Promise {\n const observable$ = this.client.getIndicatorDefinitionById(indicatorId);\n return await lastValueFrom(observable$);\n }\n\n async getDynamicRows(dynamicRowsDataSource: DynamicRowsDataSource): Promise {\n const observable$ = this.client.getDynamicRows(dynamicRowsDataSource);\n return await lastValueFrom(observable$);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, lastValueFrom } from 'rxjs';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport {\n CreateOrganizationCommandResponse,\n DeleteOrganizationCommandParams,\n DeleteOrganizationCommandResponse,\n GetByIdQueryResponse,\n OrganizationClient,\n UpdateOrganizationCommandResponse,\n CreateSubOrganizationCommandParams,\n CreateSubOrganizationCommandResponse,\n UpdateSubOrganizationCommandParams,\n UpdateSubOrganizationCommandResponse,\n DeleteSubOrganizationCommandParams,\n DeleteSubOrganizationCommandResponse,\n GetOrgWithSuborgFlattenedListQueryResponse,\n GetOrganizationListQueryResponse,\n CreateOrganizationCommandParams,\n UpdateOrganizationCommandParams,\n GetOrganizationsAndSuborganizationsFilteredByQueryResponse,\n CountryCodes,\n} from '../../../api-client/report-api.generated';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OrganizationApiService {\n client: OrganizationClient;\n\n constructor(readonly httpClient: HttpClient, readonly appSettings: AppConfigurationService) {\n this.client = new OrganizationClient(httpClient, appSettings.ReportApiBaseUrl);\n }\n\n async createOrganization(body: CreateOrganizationCommandParams): Promise {\n const observable$ = this.client.createOrganization(body);\n return await lastValueFrom(observable$);\n }\n async updateOrganization(body: UpdateOrganizationCommandParams): Promise {\n const observable$ = this.client.updateOrganization(body);\n return await lastValueFrom(observable$);\n }\n async deleteOrganization(data: DeleteOrganizationCommandParams): Promise {\n const observable$ = this.client.deleteOrganization(data);\n return await lastValueFrom(observable$);\n }\n\n async getOrganizationById(id: string): Promise {\n const observable$ = this.client.getOrganizationById(id);\n return await lastValueFrom(observable$);\n }\n\n async getOrganizationsAndSuborganizationsFilteredBy(\n organizationId?: string,\n name?: string,\n countryCodes?: CountryCodes[],\n orderBy?: string,\n pageNumber?: number,\n pageSize?: number,\n ): Promise {\n const observable$ = this.client.getOrganizationsAndSuborganizationsFilteredBy(\n organizationId,\n name,\n countryCodes,\n orderBy,\n pageNumber,\n pageSize,\n );\n return await lastValueFrom(observable$);\n }\n\n async getOrganizationList(): Promise {\n const observable$ = this.client.getOrganizationList();\n return await lastValueFrom(observable$);\n }\n\n async getSubOrganizationList(id: string): Promise {\n const observable$ = this.client.getOrgWithSuborgFlattenedList(id);\n return await lastValueFrom(observable$);\n }\n\n async getSubOrganizationTree(\n organizationId: string,\n name?: string,\n countryCodes?: CountryCodes[],\n orderBy?: string,\n pageNumber?: number,\n pageSize?: number,\n ): Promise {\n const observable$ = this.client.getOrganizationsAndSuborganizationsFilteredBy(\n organizationId,\n name,\n countryCodes,\n orderBy,\n pageNumber,\n pageSize,\n );\n return await lastValueFrom(observable$);\n }\n\n createSubOrganization(data: CreateSubOrganizationCommandParams): Observable {\n return this.client.createSubOrganization(data);\n }\n\n updateSubOrganization(data: UpdateSubOrganizationCommandParams): Observable {\n return this.client.updateSubOrganization(data);\n }\n\n deleteSubOrganization(data: DeleteSubOrganizationCommandParams): Observable {\n return this.client.deleteSubOrganization(data);\n }\n}\n","import { lastValueFrom } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport {\n CreateRegionCommandParams,\n CreateRegionCommandResponse,\n DeleteRegionCommandResponse,\n GetAllNamesRegionsQueryResponse,\n GetListRegionsQueryResponse,\n RegionClient,\n UpdateRegionCommandParams,\n UpdateRegionCommandResponse,\n} from '../../../api-client/report-api.generated';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RegionClientApiService {\n client: RegionClient;\n\n constructor(readonly httpClient: HttpClient, readonly appSettings: AppConfigurationService) {\n this.client = new RegionClient(httpClient, appSettings.ReportApiBaseUrl);\n }\n\n async create(body: CreateRegionCommandParams): Promise {\n const observable$ = this.client.createRegion(body);\n return await lastValueFrom(observable$);\n }\n\n async update(body: UpdateRegionCommandParams): Promise {\n const observable$ = this.client.updateRegion(body);\n return await lastValueFrom(observable$);\n }\n\n async delete(id: string): Promise {\n const observable$ = this.client.deleteRegion(id);\n return await lastValueFrom(observable$);\n }\n\n async getAllRegionNames(): Promise {\n const observable$ = this.client.getAllNamesRegions();\n return await lastValueFrom(observable$);\n }\n async getAllRegions(orderBy?: string | undefined): Promise {\n const observable$ = this.client.getListRegions(orderBy);\n return await lastValueFrom(observable$);\n }\n}\n","import {\n ChangeTopicDeactivatedCommandParams,\n CreateReportBasedOnTemplateCommandParams,\n CreateReportCommandParams,\n DuplicateReportCommandResponse,\n UpdateReportCommandParams,\n} from './../../../api-client/report-api.generated';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, lastValueFrom, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport {\n MoveMainSubjectCommandResponse,\n MoveTopicCommandResponse,\n ReportClient,\n ReportTopic,\n GetCompleteReportDataVm,\n DeleteTopicCommandParams,\n DeleteTopicCommandResponse,\n DeleteMainSubjectCommandParams,\n DeleteMainSubjectCommandResponse,\n GetReportsQueryResponse,\n CreateReportCommandResponse,\n ReportMainLevel,\n UpdateReportCommandResponse,\n GetReportByIdQueryResponse,\n MoveTopicCommandParams,\n MoveMainSubjectCommandParams,\n DeleteReportCommandResponse,\n} from '../../../api-client/report-api.generated';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ReportApiService {\n client: ReportClient;\n\n constructor(private httpClient: HttpClient, readonly appSettings: AppConfigurationService) {\n this.client = new ReportClient(httpClient, appSettings.ReportApiBaseUrl);\n }\n\n all(): Observable {\n return this.client.getAllReports().pipe(\n catchError(error => {\n console.log(error.errors);\n // this.notificationService.showResponseErrors(error.error?.errors);\n return throwError(() => error);\n })\n );\n }\n\n async getByReportId(reportId: string): Promise {\n const observable$ = this.client.getReportById(reportId).pipe(\n catchError(error => {\n console.log(error.errors);\n // this.notificationService.showResponseErrors(error.error?.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async getCompleteReportById(reportId: string): Promise {\n const observable$ = this.client.getCompleteReportById(reportId).pipe(\n catchError(error => {\n console.log(error.errors);\n // this.notificationService.showResponseErrors(error.error?.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async getCompleteTokenAuthReportById(reportId: string, token: string): Promise {\n const observable$ = this.client.getCompleteTokenAuthReportById(reportId, token).pipe(\n catchError(error => {\n console.log(error.errors);\n // this.notificationService.showResponseErrors(error.error?.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n removeById(reportId: string): Observable {\n return this.client.deleteReport(reportId).pipe(\n catchError(error => {\n console.log(error.errors);\n // this.notificationService.showResponseErrors(error.error?.errors);\n return throwError(() => error);\n })\n );\n }\n\n async duplicateById(reportId: string): Promise {\n const observable$ = this.client.duplicateReport(reportId).pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async create(body: CreateReportCommandParams): Promise {\n const observable$ = this.client.createReport(body);\n return await lastValueFrom(observable$);\n }\n\n async edit(body: UpdateReportCommandParams): Promise {\n const observable$ = this.client.updateReport(body);\n return await lastValueFrom(observable$);\n }\n\n async createBaseOnTemplate(body: CreateReportBasedOnTemplateCommandParams): Promise {\n const observable$ = this.client.createBaseOnTemplate(body);\n return await lastValueFrom(observable$);\n }\n\n addMainLevel(reportId: string, name: string): Observable {\n return this.client.addMainSubject(reportId, name).pipe(\n catchError(error => {\n console.log(error.errors);\n // this.notificationService.showResponseErrors(error.error?.errors);\n return throwError(() => error);\n })\n );\n }\n\n updateMainLevel(reportId: string, mainLevelId: string, name: string): Observable {\n return this.client.updateMainSubject(reportId, mainLevelId, name).pipe(\n catchError(error => {\n console.log(error.errors);\n // this.notificationService.showResponseErrors(error.error?.errors);\n return throwError(() => error);\n })\n );\n }\n\n deleteMainLevel(reportId: string, mainLevelId: string): Observable {\n return this.client\n .deleteMainSubject(\n new DeleteMainSubjectCommandParams({\n reportId: reportId,\n mainLevelId: mainLevelId,\n })\n )\n .pipe(\n catchError(error => {\n console.log(error.errors);\n // this.notificationService.showResponseErrors(error.error?.errors);\n return throwError(() => error);\n })\n );\n }\n\n addTopic(reportId: string, mainLevelId: string, name: string): Observable {\n return this.client.addTopic(reportId, mainLevelId, name).pipe(\n catchError(error => {\n console.log(error.errors);\n // this.notificationService.showResponseErrors(error.error?.errors);\n return throwError(() => error);\n })\n );\n }\n\n editTopicName(reportId: string, mainLevelId: string, topicId: string, name: string): Observable {\n return this.client.editTopic(reportId, mainLevelId, topicId, name).pipe(\n catchError(error => {\n console.log(error.errors);\n // this.notificationService.showResponseErrors(error.error?.errors);\n return throwError(() => error);\n })\n );\n }\n\n deleteTopic(reportId: string, mainLevelId: string, topicId: string): Observable {\n return this.client\n .deleteTopic(\n new DeleteTopicCommandParams({\n reportId: reportId,\n mainLevelId: mainLevelId,\n topicId: topicId,\n })\n )\n .pipe(\n catchError(error => {\n console.log(error.errors);\n // this.notificationService.showResponseErrors(error.error?.errors);\n return throwError(() => error);\n })\n );\n }\n\n deactivateTopic(\n reportId: string,\n mainLevelId: string,\n topicId: string,\n deactivated: boolean\n ): Observable {\n return this.client.changeTopicDeactivated(\n new ChangeTopicDeactivatedCommandParams({\n reportId: reportId,\n mainLevelId: mainLevelId,\n topicId: topicId,\n deactivated: deactivated,\n })\n );\n }\n\n moveMainLevel(body: MoveMainSubjectCommandParams): Observable {\n return this.client.moveMainSubject(body).pipe(\n catchError(error => {\n console.error(error.errors);\n return throwError(() => error);\n })\n );\n }\n\n moveTopic(body: MoveTopicCommandParams): Observable {\n return this.client.moveTopic(body).pipe(\n catchError(error => {\n console.error(error.errors);\n return throwError(() => error);\n })\n );\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport { GetAllSectorsQueryResponse, SectorClient } from '../../../api-client/report-api.generated';\nimport { lastValueFrom } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SectorApiService {\n client: SectorClient;\n\n constructor(readonly httpClient: HttpClient, readonly appSettings: AppConfigurationService) {\n this.client = new SectorClient(httpClient, appSettings.ReportApiBaseUrl);\n }\n\n async getAll(): Promise {\n const observable$ = this.client.getAllSectors();\n return await lastValueFrom(observable$);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport { GetAllSupportTopicsQueryResponse, SupportTopicClient } from '../../../api-client/report-api.generated';\nimport { lastValueFrom } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SupportTopicApiService {\n client: SupportTopicClient;\n\n constructor(readonly httpClient: HttpClient, readonly appSettings: AppConfigurationService) {\n this.client = new SupportTopicClient(httpClient, appSettings.ReportApiBaseUrl);\n }\n\n async all(): Promise {\n const observable$ = this.client.getAllSupportTopics();\n return await lastValueFrom(observable$);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport {\n Component,\n CreateSupportComponentCommandParams,\n CreateSupportComponentCommandResponse,\n CreateSupportTopicItemCommandParams,\n CreateSupportTopicItemCommandResponse,\n DeleteSupportComponentCommandParams,\n DeleteSupportComponentCommandResponse,\n DeleteSupportTopicItemCommandParams,\n DeleteSupportTopicItemCommandResponse,\n GetSupportTopicItemsByTopicQueryResponse,\n MoveSupportComponentCommandParams,\n MoveSupportComponentCommandResponse,\n MoveSupportTopicItemCommandParams,\n MoveSupportTopicItemCommandResponse,\n SupportTopicItem,\n SupportTopicItemClient,\n UpdateSupportComponentCommandParams,\n UpdateSupportComponentCommandResponse,\n UpdateSupportTopicItemCommandParams,\n UpdateSupportTopicItemCommandResponse,\n} from '../../../api-client/report-api.generated';\nimport { lastValueFrom } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SupportTopicItemApiService {\n client: SupportTopicItemClient;\n\n constructor(readonly httpClient: HttpClient, readonly appSettings: AppConfigurationService) {\n this.client = new SupportTopicItemClient(httpClient, appSettings.ReportApiBaseUrl);\n }\n\n // TopicItems\n\n async getTopicItemsByTopic(supportTopicId: string): Promise {\n const observable$ = this.client.getSupportTopicItemsByTopic(supportTopicId);\n return await lastValueFrom(observable$);\n }\n\n async getTopicItem(supportTopicItemId: string): Promise {\n const observable$ = this.client.getSupportTopicItem(supportTopicItemId);\n return await lastValueFrom(observable$);\n }\n\n async createTopicItem(body: CreateSupportTopicItemCommandParams): Promise {\n const observable$ = this.client.createSupportTopicItem(body);\n return await lastValueFrom(observable$);\n }\n\n async updateTopicItem(body: UpdateSupportTopicItemCommandParams): Promise {\n const observable$ = this.client.updateSupportTopicItem(body);\n return await lastValueFrom(observable$);\n }\n\n async deleteTopicItem(body: DeleteSupportTopicItemCommandParams): Promise {\n const observable$ = this.client.deleteSupportTopicItem(body);\n return await lastValueFrom(observable$);\n }\n\n async moveTopicItem(body: MoveSupportTopicItemCommandParams): Promise {\n const observable$ = this.client.moveSupportTopicItem(body);\n return await lastValueFrom(observable$);\n }\n\n // Components\n\n async getTopicItemComponents(supportTopicItemId: string): Promise {\n const observable$ = this.client.getSupportTopicItemComponents(supportTopicItemId);\n return await lastValueFrom(observable$);\n }\n\n async createComponent(body: CreateSupportComponentCommandParams): Promise {\n const observable$ = this.client.createSupportComponent(body);\n return await lastValueFrom(observable$);\n }\n\n async updateComponent(body: UpdateSupportComponentCommandParams): Promise {\n const observable$ = this.client.updateSupportComponent(body);\n return await lastValueFrom(observable$);\n }\n\n async deleteComponent(body: DeleteSupportComponentCommandParams): Promise {\n const observable$ = this.client.deleteSupportComponent(body);\n return await lastValueFrom(observable$);\n }\n\n async moveComponent(body: MoveSupportComponentCommandParams): Promise {\n const observable$ = this.client.moveSupportComponent(body);\n return await lastValueFrom(observable$);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { lastValueFrom, Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport {\n CanCreateAsGlobalTemplateQueryResponse,\n FileParameter,\n GetTemplatesQueryResponse,\n ReportTemplate,\n TemplateClient,\n} from '../../../api-client/report-api.generated';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TemplateApiService {\n client: TemplateClient;\n\n constructor(readonly httpClient: HttpClient, readonly appSettings: AppConfigurationService) {\n this.client = new TemplateClient(httpClient, appSettings.ReportApiBaseUrl);\n }\n\n saveReportAsTemplate(\n name: string,\n shortDescription: string,\n description: string,\n reportId: string,\n global: boolean,\n coverPhoto?: FileParameter\n ) {\n return this.client.saveReportAsTemplate(name, shortDescription, description, reportId, global, coverPhoto);\n }\n\n removeTemplate(templateId: string): Observable {\n return this.client.removeTemplate(templateId);\n }\n\n getAllTemplates(includeGlobal: boolean): Observable {\n return this.client.getAllTemplates(includeGlobal);\n }\n\n getTemplate(templateId: string): Promise {\n return lastValueFrom(this.client.getTemplate(templateId));\n }\n\n update(\n templateId: string,\n name: string,\n shortDescription: string,\n description: string,\n global: boolean,\n coverPhoto?: FileParameter\n ) {\n return this.client.updateTemplate(templateId, name, shortDescription, description, global, coverPhoto);\n }\n\n canCreateAsGlobalTemplate(sourceReportId: string): Promise {\n return lastValueFrom(this.client.canCreateAsGlobalTemplate(sourceReportId));\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, lastValueFrom, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport {\n GetResponsiblePersonTopicItemsQueryResponse,\n CreateTopicItemCommandResponse,\n CreateTopicItemCommandParams,\n TopicItemClient,\n ReportTopicItemVm,\n TopicItemVm,\n DeleteTopicItemCommandParams,\n DeleteTopicItemCommandResponse,\n MoveTopicItemCommandParams,\n MoveTopicItemCommandResponse,\n UpdateTopicItemStatusCommandResponse,\n UpdateTopicItemCommandParams,\n UpdateTopicItemCommandResponse,\n CreateComponentCommandParams,\n CreateComponentCommandResponse,\n UpdateTopicItemStatusCommandParams,\n GetTopicItemsComponentsVm,\n UpdateComponentCommandParams,\n UpdateComponentCommandResponse,\n MoveComponentCommandParams,\n MoveComponentCommandResponse,\n DeleteComponentCommandParams,\n DeleteComponentCommandResponse,\n UpdateTopicItemResponsiblePersonCommandParams,\n UpdateTopicItemResponsiblePersonCommandResponse,\n UpdateTopicItemVisibilityCommandParams,\n UpdateTopicItemVisibilityCommandResponse,\n RefreshTopicItemNewIndicatorValuesCommandResponse,\n ReportAllTopicItemVm,\n AddIndicatorToComponentCommandResponse,\n AddIndicatorToComponentCommandParams,\n RemoveIndicatorFromComponentCommandResponse,\n RemoveIndicatorFromComponentCommandParams,\n RemoveIndicatorComponentCommandResponse,\n RemoveIndicatorComponentCommandParams,\n} from '../../../api-client/report-api.generated';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TopicItemApiService {\n client: TopicItemClient;\n\n constructor(readonly httpClient: HttpClient, readonly appSettings: AppConfigurationService) {\n this.client = new TopicItemClient(httpClient, appSettings.ReportApiBaseUrl);\n }\n\n async addTopicItem(body: CreateTopicItemCommandParams): Promise {\n const observable$ = this.client.createTopicItem(body).pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async updateTopicItem(body: UpdateTopicItemCommandParams): Promise {\n const observable$ = this.client.updateTopicItem(body).pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n deleteTopicItem(body: DeleteTopicItemCommandParams): Observable {\n return this.client.removeTopicItem(body).pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n }\n\n async allReportTopicItems(reportId: string): Promise {\n const observable$ = this.client.getReportAllTopicItems(reportId).pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n allTopicItems(reportId: string, mainLevelId: string, topicId: string): Observable {\n return this.client.getTopicTopicItems(reportId, mainLevelId, topicId).pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n }\n\n getTopicItemDetails(topicItemId: string): Observable {\n return this.client.getTopicItem(topicItemId).pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n }\n\n async getResponsiblePersonTopicItems(): Promise {\n const observable$ = this.client.getYourTopicItemsYouAreResponsibleFor();\n return await lastValueFrom(observable$);\n }\n\n moveTopicItem(body: MoveTopicItemCommandParams): Observable {\n return this.client.moveTopicItem(body).pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n }\n\n updateStatus(body: UpdateTopicItemStatusCommandParams): Observable {\n return this.client.updateStatus(body).pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n }\n\n updateResponsiblePerson(\n body: UpdateTopicItemResponsiblePersonCommandParams\n ): Observable {\n return this.client.updateResponsiblePerson(body).pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n }\n\n updateVisibility(body: UpdateTopicItemVisibilityCommandParams): Observable {\n return this.client.updateVisibility(body).pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n }\n\n addComponent(body: CreateComponentCommandParams): Observable {\n return this.client.addComponent(body).pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n }\n\n updateComponent(body: UpdateComponentCommandParams): Observable {\n return this.client.updateComponent(body).pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n }\n\n moveComponent(body: MoveComponentCommandParams): Observable {\n return this.client.moveComponent(body).pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n }\n\n removeComponent(body: DeleteComponentCommandParams): Observable {\n return this.client.removeComponent(body).pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n }\n\n getTopicItemComponents(topicItemId: string, reportId: string): Observable {\n return this.client.getTopicItemComponents(topicItemId, reportId).pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n }\n\n async refreshTopicItemNewIndicatorValues(\n topicItemId: string\n ): Promise {\n const observable$ = this.client.refreshTopicItemNewIndicatorValues(topicItemId).pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async addIndicatorToComponent(\n topicItemId: string,\n componentId: string,\n indicatorId: string\n ): Promise {\n const observable$ = this.client\n .addIndicatorToComponent(\n new AddIndicatorToComponentCommandParams({\n topicItemId: topicItemId,\n componentId: componentId,\n indicatorId: indicatorId,\n })\n )\n .pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n\n return await lastValueFrom(observable$);\n }\n\n async removeIndicatorFromComponent(\n topicItemId: string,\n componentId: string,\n indicatorId: string\n ): Promise {\n const observable$ = this.client\n .removeIndicatorFromComponent(\n new RemoveIndicatorFromComponentCommandParams({\n topicItemId: topicItemId,\n componentId: componentId,\n indicatorId: indicatorId,\n })\n )\n .pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n\n return await lastValueFrom(observable$);\n }\n\n async removeIndicatorComponent(\n topicItemId: string,\n componentId: string\n ): Promise {\n const observable$ = this.client\n .removeIndicatorComponent(\n new RemoveIndicatorComponentCommandParams({\n topicItemId: topicItemId,\n componentId: componentId,\n })\n )\n .pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n\n return await lastValueFrom(observable$);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { lastValueFrom, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport {\n CreateUnitCommandParams,\n CreateUnitCommandResponse,\n DeleteUnitCommandResponse,\n GetAllUnitsQueryResponse,\n GetUnitByKeyQueryResponse,\n UnitClient,\n UpdateUnitCommandParams,\n UpdateUnitCommandResponse,\n} from '../../../api-client/report-api.generated';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UnitApiService {\n client: UnitClient;\n\n constructor(readonly httpClient: HttpClient, readonly appSettings: AppConfigurationService) {\n this.client = new UnitClient(httpClient, appSettings.ReportApiBaseUrl);\n }\n async createUnit(body: CreateUnitCommandParams): Promise {\n const observable$ = this.client.createUnit(body);\n return await lastValueFrom(observable$);\n }\n\n async updateUnit(body: UpdateUnitCommandParams): Promise {\n const observable$ = this.client.updateUnit(body);\n return await lastValueFrom(observable$);\n }\n\n async deleteUnit(key: string): Promise {\n const observable$ = this.client.deleteUnit(key);\n return await lastValueFrom(observable$);\n }\n\n async getAllUnits(orderBy?: string | undefined): Promise {\n const observable$ = this.client.getAllUnits(orderBy).pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n async getUnitByKey(key: string): Promise {\n const observable$ = this.client.getUnitByKey(key).pipe(\n catchError(error => {\n console.log(error.errors);\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, lastValueFrom, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport {\n UserClient,\n CreateUserCommandParams,\n CreateUserCommandResponse,\n UpdateUserCommandParams,\n UpdateUserCommandResponse,\n DeleteUserCommandParams,\n DeleteUserCommandResponse,\n GetUserByIdQueryResponse,\n UpdateUserProfileCommandResponse,\n UpdateUserProfileCommandParams,\n GetOrganizationUsersQueryResponse,\n GetUsersFilteredByQueryResponse,\n UpdateUserOnboardedCommandResponse,\n UserRole,\n} from '../../../api-client/report-api.generated';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UserApiService {\n client: UserClient;\n\n constructor(readonly httpClient: HttpClient, readonly appSettings: AppConfigurationService) {\n this.client = new UserClient(httpClient, appSettings.ReportApiBaseUrl);\n }\n\n createUser(data: CreateUserCommandParams): Observable {\n return this.client.createUser(data).pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n }\n\n updateUser(data: UpdateUserCommandParams): Observable {\n return this.client.updateUser(data).pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n }\n\n async updateUserProfile(data: UpdateUserProfileCommandParams): Promise {\n const observable$ = this.client.updateUserProfile(data).pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n deleteUser(data: DeleteUserCommandParams): Observable {\n return this.client.deleteUser(data).pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n }\n\n async getUserDetailsById(id: string): Promise {\n const observable$ = this.client.getUserById(id).pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n\n getOrganizationById(id: string): Observable {\n return this.client.getUserById(id).pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n }\n\n getUsersByOrganizationId(id: string): Observable {\n return this.client.getOrganizationUsers(id).pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n }\n\n getUsersFilteredBy(\n organizationId?: string,\n nameOrEmail?: string,\n userRole?: UserRole[],\n orderBy?: string,\n pageNumber?: number,\n pageSize?: number,\n ): Observable {\n return this.client.getUsersFilteredBy(\n organizationId,\n nameOrEmail,\n userRole,\n orderBy,\n pageNumber,\n pageSize,\n ).pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n }\n\n async setOnboardedUser(): Promise {\n const observable$ = this.client.setOnboardedUser().pipe(\n catchError(error => {\n return throwError(() => error);\n })\n );\n return await lastValueFrom(observable$);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AppAuthService } from '../core/app-auth.service';\nimport { AppConfigurationService } from '../core/app-configuration.service';\nimport { AppInfoService } from '../core/app-info.service';\nimport { IMenuItem } from '../shared/ui/context-menu/context-menu.component';\nimport { getInitials } from '../shared/utils/user-utils';\nimport { IOption } from '../static-data/options';\nimport { Permission } from 'src/api-client/report-api.generated';\n\n@Component({\n selector: 'esg-app-layout',\n templateUrl: './app-layout.component.html',\n styleUrls: ['./app-layout.component.scss'],\n})\nexport class AppLayoutComponent implements OnInit {\n userContextOpen = false;\n userContextHover = false;\n widthAlertText =\n 'We have detected that your screen width is\\nlower than 1366 pixels. The application will\\nwork properly, but it is optimized for screens\\nwider than 1366 pixels';\n organizationDropdownCollapsed = true;\n organizationDropdownHover = false;\n\n get getInitials() {\n return getInitials(this.appInfoState.userInfo.value?.name || '');\n }\n\n constructor(\n public appAuth: AppAuthService,\n public appInfoState: AppInfoService,\n public settingsService: AppConfigurationService,\n private router: Router\n ) {}\n\n ngOnInit(): void {\n this.appInfoState.initSmallWidthConfirmation();\n }\n\n confirmSmallWidth() {\n this.appInfoState.confirmSmallWidth();\n }\n\n handleCloseOnboardingDialog() {\n this.appInfoState.onboardUser();\n }\n\n handleOpenContextMenu(event: Event) {\n event.stopPropagation();\n this.userContextOpen = !this.userContextOpen;\n }\n\n handleOpenOrganizationDropdown(event: Event) {\n event.stopPropagation();\n this.organizationDropdownCollapsed = !this.organizationDropdownCollapsed;\n }\n\n handleToggleOrganizationDropdown(collapse: boolean) {\n this.organizationDropdownCollapsed = collapse;\n }\n\n handleSetOrganizationContext(organizationOption: IOption) {\n this.appInfoState.setOrganizationContext(organizationOption.value);\n this.router.navigate(['/home']);\n }\n\n userContextMenuProvider = (): IMenuItem[] => {\n const menuItems: IMenuItem[] = [];\n\n if (this.appInfoState.hasPermission(Permission.Admin_Panel)) {\n menuItems.push({\n id: '1',\n label: 'Settings',\n onClick: () => {\n this.router.navigate(['/admin']);\n this.userContextOpen = false;\n },\n });\n }\n menuItems.push({\n id: '2',\n label: 'Log out',\n onClick: () => {\n this.handleLogout();\n this.userContextOpen = false;\n },\n });\n return menuItems;\n };\n handleLogout() {\n this.appAuth.logout();\n }\n}\n","
\n \n
\n \n
\n \n
\n
\n
\n\n
\n
\n
App initialization...
\n
\n
\n\n\n \n\n \n\n","import { Component, EventEmitter, Output } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Permission } from 'src/api-client/report-api.generated';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { IndicatorsPageStateService } from 'src/app/pages/indicators/indicators-page-state.service';\nimport { IMenuItem } from 'src/app/shared/ui/context-menu/context-menu.component';\nimport { getInitials } from 'src/app/shared/utils/user-utils';\nimport { IOption } from 'src/app/static-data/options';\n\n@Component({\n selector: 'esg-navbar',\n templateUrl: './navbar.component.html',\n styleUrl: './navbar.component.scss',\n})\nexport class NavbarComponent {\n @Output() onLogout = new EventEmitter();\n\n userContextOpen = false;\n organizationDropdownCollapsed = true;\n assetFormOpen = false;\n recordFormOpen = false;\n reportFormOpen = false;\n\n get getInitials() {\n return getInitials(this.appInfoState.userInfo.value?.name || '');\n }\n\n get hasAdminPanelPermission() {\n return this.appInfoState.hasPermission(Permission.Admin_Panel);\n }\n\n constructor(\n private router: Router,\n private indicatorPageStateService: IndicatorsPageStateService,\n public appInfoState: AppInfoService,\n public settingsService: AppConfigurationService\n ) {}\n\n handleOpenContextMenu(event: Event) {\n event.stopPropagation();\n this.userContextOpen = !this.userContextOpen;\n }\n\n handleOpenAssetForm() {\n this.assetFormOpen = true;\n }\n\n handleCloseAssetForm() {\n this.assetFormOpen = false;\n }\n\n handleOpenRecordForm() {\n this.recordFormOpen = true;\n }\n\n handleCloseRecordForm() {\n this.recordFormOpen = false;\n }\n\n handleOpenReportForm() {\n this.reportFormOpen = true;\n }\n\n handleCloseReportForm() {\n this.reportFormOpen = false;\n }\n\n async handleSetOrganizationContext(organizationOption: IOption) {\n await this.appInfoState.setOrganizationContext(organizationOption.value);\n this.indicatorPageStateService.getAllIndicatorsCount();\n this.router.navigate(['/home']);\n }\n\n userContextMenuProvider = (): IMenuItem[] => [\n {\n id: '1',\n label: 'Log out',\n onClick: () => {\n this.handleOnLogout();\n this.userContextOpen = false;\n },\n },\n ];\n\n handleOnLogout() {\n this.onLogout.emit();\n }\n}\n","\n\n\n\n","import { Component } from '@angular/core';\nimport { IndicatorsPageStateService } from 'src/app/pages/indicators/indicators-page-state.service';\n\n@Component({\n selector: 'esg-side-navigation',\n templateUrl: './side-navigation.component.html',\n styleUrl: './side-navigation.component.scss',\n})\nexport class SideNavigationComponent {\n constructor(public state: IndicatorsPageStateService) {}\n}\n","\n \n
\n \n
\n
\n Your reports\n \n
\n
\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { LoginPageComponent } from './pages-auth/login-page/login-page.component';\n\nconst routes: Routes = [\n { path: 'login', component: LoginPageComponent },\n { path: '**', redirectTo: '/home' },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, {})],\n exports: [RouterModule],\n})\nexport class AppRoutingModule {}\n","import { Component, OnInit } from '@angular/core';\nimport { MsalBroadcastService, MsalService } from '@azure/msal-angular';\nimport { EventMessage, EventType, InteractionStatus } from '@azure/msal-browser';\nimport { Subject } from 'rxjs';\nimport { filter, takeUntil, tap } from 'rxjs/operators';\nimport { AppAuthService } from './core/app-auth.service';\nimport { AppInfoService } from './core/app-info.service';\nimport { AppConfigurationService } from './core/app-configuration.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AccessTokenApiService } from './api-client/report-api/access-token-service';\nimport { RootPathOfTheSharePage } from './report-preview/report-preview.module';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n})\nexport class AppComponent implements OnInit {\n private readonly _destroying$ = new Subject();\n isIframe = false;\n loginDisplay = false;\n userInfoLoading = true;\n assignedToOrganization = false;\n loadInitUserInfoRequested = false;\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private appAuth: AppAuthService,\n private authService: MsalService,\n public appInfoState: AppInfoService,\n private msalBroadcastService: MsalBroadcastService,\n public settingsService: AppConfigurationService,\n private accessTokenApiService: AccessTokenApiService\n ) {}\n\n ngOnInit() {\n this.initUserAuthentication();\n this.initTokenAuthentication();\n }\n\n initTokenAuthentication() {\n this.route.queryParams.subscribe(async params2 => {\n if (params2['t']) {\n const response = await this.accessTokenApiService.validateToken(params2['t']);\n this.assignedToOrganization = true;\n }\n });\n }\n\n async initUserAuthentication() {\n this.authService.handleRedirectObservable().subscribe();\n this.isIframe = window !== window.parent && !window.opener; // Remove this line to use Angular Universal\n\n await this.setLoginDisplay();\n\n this.authService.instance.enableAccountStorageEvents(); // Optional - This will enable ACCOUNT_ADDED and ACCOUNT_REMOVED events emitted when a user logs in or out of another tab or window\n\n this.msalBroadcastService.msalSubject$\n .pipe(\n filter(\n (msg: EventMessage) =>\n msg.eventType === EventType.ACCOUNT_ADDED || msg.eventType === EventType.ACCOUNT_REMOVED\n )\n )\n .subscribe(async (result: EventMessage) => {\n if (this.authService.instance.getAllAccounts().length === 0) {\n window.location.pathname = '/';\n } else {\n await this.setLoginDisplay();\n }\n });\n\n this.msalBroadcastService.inProgress$\n .pipe(\n tap((status: InteractionStatus) => console.log('Interaction Status:', status)), // Log the interaction status\n filter((status: InteractionStatus) => status === InteractionStatus.None),\n takeUntil(this._destroying$)\n )\n .subscribe(async () => {\n await this.setLoginDisplay();\n await this.checkAndSetActiveAccount();\n });\n }\n\n async setLoginDisplay() {\n this.loginDisplay = this.authService.instance.getAllAccounts().length > 0;\n console.log('Login Display:', this.loginDisplay);\n if (this.loginDisplay) {\n this.appAuth.setUserAccount();\n }\n }\n\n async checkAndSetActiveAccount() {\n /**\n * If no active account set but there are accounts signed in, sets first account to active account\n * To use active account set here, subscribe to inProgress$ first in your component\n * Note: Basic usage demonstrated. Your app may require more complicated account selection logic\n */\n let activeAccount = this.authService.instance.getActiveAccount();\n if (!activeAccount && this.authService.instance.getAllAccounts().length > 0) {\n let accounts = this.authService.instance.getAllAccounts();\n activeAccount = accounts[0];\n this.authService.instance.setActiveAccount(activeAccount);\n }\n if (activeAccount) {\n var userInfoResponse = await this.appInfoState.loadInitUserInfo();\n this.assignedToOrganization = userInfoResponse.result.userInfo.organizationAssigned;\n this.userInfoLoading = false;\n console.log('Load Init User Info:', userInfoResponse);\n }\n }\n\n ngOnDestroy(): void {\n this._destroying$.next(undefined);\n this._destroying$.complete();\n }\n}\n","\n\n\n","import { APP_INITIALIZER, NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { AppConfigurationService } from './core/app-configuration.service';\n\n// Import MSAL and MSAL browser libraries.\nimport {\n MsalBroadcastService,\n MsalGuard,\n MsalInterceptor,\n MsalModule,\n MsalRedirectComponent,\n MsalService,\n MSAL_GUARD_CONFIG,\n MSAL_INSTANCE,\n MSAL_INTERCEPTOR_CONFIG,\n} from '@azure/msal-angular';\n\n// Import the Angular HTTP interceptor.\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { AdminModule } from './pages/admin/admin.module';\nimport { PagesAuthModule } from './pages-auth/layout.module';\nimport { DataCollectModule } from './pages/data-collect/data-collect.module';\nimport { AssetsModule } from './pages/assets/assets.module';\nimport { ReportModule } from './pages/report/report.module';\nimport { SupportModule } from './pages/support/support.module';\nimport { HomeModule } from './pages/home/home.module';\nimport { ReportDetailsModule } from './pages/report-details/report-details.module';\nimport { UiModule } from './shared/ui/ui.module';\nimport { AppLayoutComponent } from './app-layout/app-layout.component';\nimport { NotificationModule } from './shared/services/notification/notification.module';\nimport { ErrorHandlingInterceptor } from './core/error-handling-interceptor';\nimport { ReportPreviewModule } from './report-preview/report-preview.module';\nimport { SharedComponentsModule } from './shared/components/shared-components.module';\nimport { MSALGuardConfigFactory, MSALInstanceFactory, MSALInterceptorConfigFactory } from './auth-config';\nimport { ExampleModule } from './pages/example/example.module';\nimport { IndicatorsModule } from './pages/indicators/indicators.module';\nimport { SideNavigationComponent } from './app-layout/side-navigation/side-navigation.component';\nimport { NavbarComponent } from './app-layout/navbar/navbar.component';\n\nexport function initSynchronousFactory(appConfigurationService: AppConfigurationService) {\n return async () => {\n var response = await fetch('app-configuration');\n var result = await response.json();\n appConfigurationService.init(result);\n };\n}\n\n@NgModule({\n declarations: [AppComponent, AppLayoutComponent, NavbarComponent, SideNavigationComponent],\n imports: [\n BrowserModule,\n HttpClientModule,\n DataCollectModule,\n AssetsModule,\n IndicatorsModule,\n ReportModule,\n ReportDetailsModule,\n AdminModule,\n SupportModule,\n HomeModule,\n ExampleModule,\n AppRoutingModule,\n PagesAuthModule,\n UiModule,\n ReportPreviewModule,\n NotificationModule,\n SharedComponentsModule,\n MsalModule,\n ],\n providers: [\n {\n provide: APP_INITIALIZER,\n useFactory: initSynchronousFactory,\n deps: [AppConfigurationService],\n multi: true,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: MsalInterceptor,\n multi: true,\n },\n {\n provide: MSAL_INSTANCE,\n useFactory: MSALInstanceFactory,\n deps: [AppConfigurationService],\n },\n {\n provide: MSAL_GUARD_CONFIG,\n useFactory: MSALGuardConfigFactory,\n deps: [AppConfigurationService],\n },\n {\n provide: MSAL_INTERCEPTOR_CONFIG,\n useFactory: MSALInterceptorConfigFactory,\n deps: [AppConfigurationService],\n },\n MsalService,\n MsalGuard,\n MsalBroadcastService,\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ErrorHandlingInterceptor,\n multi: true,\n },\n ],\n bootstrap: [AppComponent, MsalRedirectComponent],\n})\nexport class AppModule {}\n","import { MsalGuardConfiguration, MsalInterceptorConfiguration } from '@azure/msal-angular';\nimport {\n BrowserCacheLocation,\n InteractionType,\n IPublicClientApplication,\n LogLevel,\n PublicClientApplication,\n} from '@azure/msal-browser';\nimport { AppConfigurationService } from './core/app-configuration.service';\n\nconst isIE = window.navigator.userAgent.indexOf('MSIE ') > -1 || window.navigator.userAgent.indexOf('Trident/') > -1; // Remove this line to use Angular Universal\n\nexport function loggerCallback(logLevel: LogLevel, message: string) {\n console.log(logLevel, message);\n if (logLevel === LogLevel.Error) {\n // window.location.reload();\n }\n}\n\nexport function MSALInstanceFactory(appConfiguration: AppConfigurationService): IPublicClientApplication {\n return new PublicClientApplication({\n auth: {\n clientId: appConfiguration.B2CClientId,\n authority: appConfiguration.B2CSignInAuthority,\n redirectUri: appConfiguration.AppBaseUrl,\n postLogoutRedirectUri: '/',\n knownAuthorities: [appConfiguration.B2CAuthorityDomain],\n },\n cache: {\n cacheLocation: BrowserCacheLocation.LocalStorage,\n storeAuthStateInCookie: isIE, // set to true for IE 11\n },\n\n system: {\n loggerOptions: {\n loggerCallback,\n logLevel: LogLevel.Error,\n piiLoggingEnabled: false,\n },\n },\n });\n}\n\n// https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-angular/docs/v2-docs/msal-interceptor.md\nexport function MSALInterceptorConfigFactory(appConfiguration: AppConfigurationService): MsalInterceptorConfiguration {\n const apiBaseUrl = appConfiguration.ReportApiBaseUrl;\n \n return {\n interactionType: InteractionType.Redirect,\n protectedResourceMap: new Map | null>([\n [`${apiBaseUrl}/app/app-info`, null],\n [`${apiBaseUrl}/access-token/validate-token`, null],\n [`${apiBaseUrl}/report/complete/token-auth`, null],\n [`${apiBaseUrl}`, [appConfiguration.B2CWebApiScopeUrl]],\n ]),\n authRequest: {},\n };\n}\n\n// https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-angular/docs/v2-docs/msal-guard.md\nexport function MSALGuardConfigFactory({}: AppConfigurationService): MsalGuardConfiguration {\n return {\n interactionType: InteractionType.Redirect,\n };\n}\n","import { Type } from '@angular/core';\nimport { IDynamicContentData } from './dynamic-content-data';\nimport {\n IPictureContentActions,\n IPictureContentData,\n IPictureContentStates,\n PictureComponent,\n} from './content-item/picture/picture.component';\nimport {\n ITextAreaContentActions,\n ITextAreaContentData,\n ITextAreaContentStates,\n TextAreaComponent,\n} from './content-item/text-area/text-area.component';\nimport {\n IImportFromExcelContentActions,\n IImportFromExcelContentData,\n IImportFromExcelContentStates,\n ImportFromExcelComponent,\n} from './content-item/import-from-excel/import-from-excel.component';\nimport {\n IIndicatorContentActions,\n IIndicatorContentData,\n IIndicatorContentStates,\n IndicatorContentComponent,\n} from './content-item/indicator-content/indicator-content.component';\nimport {\n TextDisclosureComponent,\n ITextDisclosureStates,\n ITextDisclosureData,\n ITextDisclosureActions,\n} from './content-item/text-disclosure/text-disclosure.component';\nimport { ComponentType } from 'src/api-client/report-api.generated';\n\nexport type ContentActionsTypes =\n | IPictureContentActions\n | ITextAreaContentActions\n | IImportFromExcelContentActions\n | IIndicatorContentActions\n | ITextDisclosureActions;\nexport type ContentStatesTypes =\n | IPictureContentStates\n | ITextAreaContentStates\n | IImportFromExcelContentStates\n | IIndicatorContentStates\n | ITextDisclosureStates;\nexport type ContentDataTypes =\n | IPictureContentData\n | ITextAreaContentData\n | IImportFromExcelContentData\n | IIndicatorContentData\n | ITextDisclosureData;\n\nexport const ContentConfigurations: {\n [key: string]: any;\n} = {\n [ComponentType.Text]: TextAreaComponent,\n [ComponentType.Picture]: PictureComponent,\n [ComponentType.ImportFromExcel]: ImportFromExcelComponent,\n [ComponentType.Indicator]: IndicatorContentComponent,\n [ComponentType.Narrative]: TextDisclosureComponent,\n};\n\nexport function ComponentFactory(\n type: ComponentType\n): Type> {\n const component = ContentConfigurations[type];\n if (!component) {\n throw Error('lacking component configuration for compoent type: ' + type);\n }\n return component;\n}\n","import { Component, EventEmitter, Output } from '@angular/core';\nimport { ComponentType } from 'src/api-client/report-api.generated';\n\n@Component({\n selector: 'esg-content-context-menu',\n templateUrl: './content-context-menu.component.html',\n styleUrl: './content-context-menu.component.scss',\n})\nexport class ContentContextMenuComponent {\n @Output() onAddContent = new EventEmitter();\n\n open: boolean = false;\n dropUp: boolean = false;\n\n handleClick(event: Event) {\n event.stopPropagation();\n this.open = !this.open;\n }\n\n handleClose() {\n this.open = false;\n }\n\n handleAddIndicator(event: MouseEvent) {\n event.stopPropagation();\n this.onAddContent.emit(ComponentType.Indicator);\n this.open = false;\n }\n\n handleAddNarrative(event: MouseEvent) {\n event.stopPropagation();\n this.onAddContent.emit(ComponentType.Narrative);\n this.open = false;\n }\n\n handleAddText(event: MouseEvent) {\n event.stopPropagation();\n this.onAddContent.emit(ComponentType.Text);\n this.open = false;\n }\n\n handleAddImage(event: MouseEvent) {\n event.stopPropagation();\n this.onAddContent.emit(ComponentType.Picture);\n this.open = false;\n }\n\n handleAddImportFromExcel(event: MouseEvent) {\n event.stopPropagation();\n this.onAddContent.emit(ComponentType.ImportFromExcel);\n this.open = false;\n }\n\n handleIntersection(tabEntry: IntersectionObserverEntry) {\n if (tabEntry.intersectionRatio < 1) {\n this.dropUp = true;\n }\n }\n}\n","\n\n
\n \n Add indicator\n
\n
\n \n Add Text\n
\n
\n \n Add Image\n
\n
\n \n Import excel\n
\n\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { SafeResourceUrl } from '@angular/platform-browser';\n\n@Component({\n selector: 'esg-content-topbar',\n templateUrl: './content-topbar.component.html',\n styleUrls: ['./content-topbar.component.scss'],\n})\nexport class ContentTopbarComponent implements OnInit {\n @Input() text: string = '';\n @Input() imgSrc?: SafeResourceUrl;\n @Input() showTypeIcon: boolean = true;\n @Output() onDelete = new EventEmitter();\n\n constructor() {}\n\n ngOnInit(): void {}\n\n handleDelete() {\n this.onDelete.emit();\n }\n}\n","\n\n\n{{ text }}\n\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'esg-empty-content',\n templateUrl: './empty-content.component.html',\n host: { '(click)': 'handleOnClick($event)' },\n\n styleUrls: ['./empty-content.component.scss'],\n})\nexport class EmptyContentComponent implements OnInit {\n @Input() infoText: string = '';\n @Input({ required: true }) addText!: string;\n @Output() onClick = new EventEmitter();\n\n constructor() {}\n\n ngOnInit(): void {}\n\n handleOnClick(event: Event) {\n event.stopPropagation();\n this.onClick.emit();\n }\n}\n","\n {{ infoText }}\n {{ addText }}\n\n","import { Component, Input, OnInit } from '@angular/core';\nimport { DynamicContentBase, IContentCommonActions, IContentCommonStates } from '../../dynamic-content-data';\nimport { HeaderColumn, TableDataConfig } from 'src/app/shared/components/table-data/table-data.component';\nimport { read, utils } from 'xlsx';\nimport { ImportDataOutput } from 'src/app/shared/components/data-import-from-excel/data-import-from-excel.component';\n\nexport interface IImportFromExcelContentActions extends IContentCommonActions {}\n\nexport interface IImportFromExcelContentStates extends IContentCommonStates {}\n\nexport interface IImportFromExcelContentData {\n tableConfig: TableDataConfig;\n rows: string[][];\n}\n\n@Component({\n selector: 'esg-import-from-excel',\n templateUrl: './import-from-excel.component.html',\n styleUrls: ['../content-item.component.scss', './import-from-excel.component.scss'],\n})\nexport class ImportFromExcelComponent\n extends DynamicContentBase\n implements OnInit\n{\n importFromExcelDialog = false;\n tableConfig!: TableDataConfig;\n rows!: string[][];\n tableColumns?: string;\n\n textAreaStyles = {\n 'font-size': '14px',\n color: '#333333',\n border: 'none',\n padding: '20px 16px 4px 8px',\n };\n textAreaStylesFocus = {\n 'font-size': '14px',\n color: '#333333',\n border: '1px solid #0071E3',\n background: '#EDF5FD99',\n padding: '19px 15px 3px 7px',\n borderRadius: '4px',\n };\n\n toolbarStyles = {\n position: 'absolute',\n left: '50%',\n transform: 'translate(-50%, 0)',\n top: '-18px',\n zIndex: '3',\n boxShadow: '0px 4px 16px rgba(0, 0, 0, 0.25)',\n borderRadius: '4px',\n };\n toolbarHidden = {\n display: 'none',\n };\n\n emptyText = '

Add text here

';\n\n get getHeadersAsString() {\n if (this.tableConfig?.headers?.length) {\n return this.tableConfig.headers.map(header => header.label).join(', ');\n } else return '';\n }\n\n get showEmptyContent() {\n return !this.tableConfig || !this.tableConfig.headers.length;\n }\n\n constructor() {\n super();\n }\n\n ngOnInit(): void {\n if (this.data) {\n this.tableConfig = this.data?.tableConfig;\n this.rows = this.data.rows;\n }\n }\n\n handleComponentClick(event: Event) {\n this.onSetActive.emit(true);\n }\n\n handleOutsideClick() {\n this.onSetActive.emit(false);\n }\n\n handleUpdateVisibility() {\n this.onChange(this.contentId, !this.isVisibleInReport, {}, this.data);\n }\n\n handleImportFromExcel() {\n this.importFromExcelDialog = true;\n }\n\n importDataFromExcel(data: ImportDataOutput) {\n var contentData: IImportFromExcelContentData = {\n tableConfig: {\n headers: data.columns.map(c => ({\n label: c.selectedColumnName,\n })),\n },\n rows: data.records.map(r => {\n return data.columns.map(c => {\n if (r[c.destinationColumnAlphabetical]?.type === 'date') {\n return r[c.destinationColumnAlphabetical]?.value?.toLocaleDateString() || '';\n }\n return r[c.destinationColumnAlphabetical]?.value != undefined ? r[c.destinationColumnAlphabetical].value : '';\n });\n }),\n };\n this.tableConfig = contentData.tableConfig;\n this.rows = contentData.rows;\n this.tableColumns = `repeat(${contentData.tableConfig.headers.length}, 1fr)`;\n this.onChange(this.contentId, this.isVisibleInReport, {}, contentData);\n this.importFromExcelDialog = false;\n }\n\n importDataFromExcelClose() {\n this.importFromExcelDialog = false;\n }\n}\n","\n

\n \n \n \n \n \n \n \n
\n
\n \n
\n \n Visible\n
\n \n
\n
\n \n
\n \n\n \n
\n
\n \n\n\n
\n
\n \n
\n
\n","import { Component, EventEmitter, Input, Output, SimpleChanges } from '@angular/core';\nimport { IGroupedOptions, IOption } from 'src/app/static-data/options';\nimport { stringToFormattedNumberString } from 'src/app/shared/utils/number-converters';\nimport { CdkDragDrop } from '@angular/cdk/drag-drop';\nimport { IndicatorContentValuesUi, IndicatorPeriodLabelsUi, VisibleValueColumn } from '../indicator-content.component';\n\nexport interface MovedIndicator {\n indicatorId: string;\n prevIndex: number;\n newIndex: number;\n}\n\n@Component({\n selector: 'esg-indicator-content-set',\n templateUrl: './indicator-content-set.component.html',\n styleUrl: './indicator-content-set.component.scss',\n host: {\n '[class.active]': 'active',\n '[class.not-visible]': '!isVisibleInReport',\n },\n})\nexport class IndicatorContentSetComponent {\n @Input({ required: true }) indicatorSet!: IndicatorContentValuesUi[];\n @Input({ required: true }) indicatorIds: string[] = [];\n @Input() indicatorPeriodLabels: IndicatorPeriodLabelsUi = {\n targetLabel: 'Target',\n currentLabel: 'Current',\n previousLabel: 'Previous',\n };\n @Input() visibleColumns: VisibleValueColumn[] = [];\n @Input() indicatorOptions: IGroupedOptions[] = [];\n @Input() active: boolean = false;\n @Input() isVisibleInReport: boolean = true;\n @Input() isDisclosureVisible: boolean = false;\n @Output() onAddIndicator = new EventEmitter();\n @Output() onRemoveIndicator = new EventEmitter();\n @Output() onMoveIndicator = new EventEmitter();\n @Output() onDescriptionClick = new EventEmitter();\n\n indicatorSelectCollapsed: boolean = true;\n expandedRowIds: string[] = [];\n visibleColumnEnum = VisibleValueColumn;\n references: string = '';\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.indicatorIds) {\n this.references = Array.from(\n new Set(\n this.indicatorSet.flatMap(value => value.referenceStandards?.replace(/(\\r\\n|\\n|\\r)/gm, ' | ').split(' | '))\n )\n ).join(' | ');\n }\n }\n\n handleOnAddIndicator(option: IOption) {\n if (this.indicatorIds.some(id => id === option.value)) return;\n this.onAddIndicator.emit(option.value);\n }\n\n handleOnRemoveIndicator(indicatorId: string) {\n if (this.indicatorSet.length > 1) {\n this.onRemoveIndicator.emit(indicatorId);\n }\n }\n\n handleOnIndicatorSelectClick(event: Event) {\n event.preventDefault();\n event.stopPropagation();\n this.indicatorSelectCollapsed = !this.indicatorSelectCollapsed;\n }\n\n handleOnIndicatorSelectCollapse(collapse: boolean) {\n this.indicatorSelectCollapsed = collapse;\n }\n\n handleOnContentDrop(event: CdkDragDrop) {\n this.onMoveIndicator.emit({\n indicatorId: event.item.element.nativeElement.id,\n prevIndex: event.previousIndex,\n newIndex: event.currentIndex,\n });\n }\n\n handleOnExpandRow(id: string) {\n var exists = this.expandedRowIds.some(i => i === id);\n if (exists) {\n this.expandedRowIds = this.expandedRowIds.filter(i => i !== id);\n } else {\n this.expandedRowIds = [...this.expandedRowIds, id];\n }\n }\n\n formatNumberCell(value: string) {\n return stringToFormattedNumberString(value, 0, 7) || '';\n }\n\n isColumnVisible(columnValue: string): boolean {\n if (!this.visibleColumns) return true;\n return this.visibleColumns.some(column => column === columnValue);\n }\n\n handleOnDescriptionClick(event: Event): void {\n event.stopPropagation();\n this.onDescriptionClick.emit();\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n {{ indicatorPeriodLabels.previousLabel }}\n \n {{ indicatorPeriodLabels.currentLabel }}\n \n {{ indicatorPeriodLabels.targetLabel }}\n Unit
\n 1\">\n {{ row.metadata.label }}\n {{ formatNumberCell(row.previousValue.value?.toString() || '') || '-' }}\n \n {{ formatNumberCell(row.currentValue.value?.toString() || '') || '-' }}\n \n {{ formatNumberCell(row.targetValue.value?.toString() || '') || '-' }}\n {{ row.currentValue.unitDetails || row.metadata.unit | formatUnitWithUnicode }}\n \n \n \n \n \n \n
\n \n
\n
\n
\n Reference Standards\n {{ references }}\n
\n \n
\n
\n \n \n \n
\n","import { Component, Input } from '@angular/core';\nimport { formatNumbersInString } from 'src/app/shared/utils/number-converters';\n\nexport interface IndicatorContentSubstrateDataUi {\n tHead: TrUi[];\n tBody: TrUi[];\n}\n\ninterface TrUi {\n items: TrItemUi[];\n}\n\ninterface TrItemUi {\n rowSpan?: number;\n colSpan?: number;\n content?: string;\n isNumber: boolean;\n}\n\n@Component({\n selector: 'esg-indicator-content-substrate-data',\n templateUrl: './indicator-content-substrate-data.component.html',\n styleUrl: './indicator-content-substrate-data.component.scss',\n})\nexport class IndicatorContentSubstrateDataComponent {\n @Input({ required: true }) substrateData!: IndicatorContentSubstrateDataUi;\n\n getFormattedNumbers = formatNumbersInString;\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n {{ cell.content }}\n
\n {{ cell.isNumber ? getFormattedNumbers(cell.content || '', 0, 2) : cell.content || '' }}\n
\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { IOption } from 'src/app/static-data/options';\n\n@Component({\n selector: 'esg-indicator-content-toolbar',\n templateUrl: './indicator-content-toolbar.component.html',\n styleUrl: './indicator-content-toolbar.component.scss',\n})\nexport class IndicatorContentToolbarComponent {\n @Input({ required: true }) visibleColumns!: FormControl;\n @Input() columnOptions: IOption[] = [];\n @Input() noData: boolean = false;\n @Input() isVisible: boolean = true;\n @Input() hasVisibilityOption: boolean = false;\n @Output() onDelete = new EventEmitter();\n @Output() onUpdateVisibility = new EventEmitter();\n\n columnSelectorOpen = false;\n\n constructor() {}\n\n ngOnInit(): void {}\n\n handleOnColumnSelectorToggle(event: Event) {\n event.stopPropagation();\n this.columnSelectorOpen = !this.columnSelectorOpen;\n }\n\n handleOnDelete() {\n this.onDelete.emit();\n }\n\n handleUpdateVisibility() {\n this.onUpdateVisibility.emit(!this.isVisible);\n }\n\n handleSelectOption(option: IOption) {\n if (this.visibleColumns.value.some(o => o.value == option.value)) {\n this.visibleColumns.setValue(this.visibleColumns.value.filter(o => o.value !== option.value));\n } else {\n this.visibleColumns.setValue([...this.visibleColumns.value, option]);\n }\n this.visibleColumns.markAsDirty();\n }\n}\n","
\n
\n \n \n
\n
\n \n Visible\n
\n \n
\n","import { Component } from '@angular/core';\nimport {\n DynamicContentBase,\n IContentCommonActions,\n IContentCommonStates,\n IDisclosure,\n} from '../../dynamic-content-data';\nimport { IGroupedOptions, IOption } from 'src/app/static-data/options';\nimport { FormControl } from '@angular/forms';\nimport { MovedIndicator } from './indicator-content-set/indicator-content-set.component';\nimport { moveItemInArray } from '@angular/cdk/drag-drop';\nimport { IndicatorContentSubstrateDataUi } from './indicator-content-substrate-data/indicator-content-substrate-data.component';\n\nexport enum VisibleValueColumn {\n PreviousValue = 'PreviousValue',\n CurrentValue = 'CurrentValue',\n TargetValue = 'TargetValue',\n}\n\nexport interface IndicatorContentValuesUi {\n indicatorId?: string;\n currentValue: IndicatorContentValueUi;\n metadata: IndicatorContentValueMetaDataUi;\n previousValue: IndicatorContentValueUi;\n targetValue: IndicatorContentValueUi;\n substrateData?: IndicatorContentSubstrateDataUi;\n referenceStandards?: string;\n description?: string;\n}\n\ninterface IndicatorContentSingleValueMetaDataUi {\n label?: string;\n type?: string;\n unit?: string;\n unitDescription?: string;\n groupLabel?: string;\n isVisibleInReport?: boolean;\n}\n\ninterface IndicatorContentValueMetaDataUi extends IndicatorContentSingleValueMetaDataUi {\n tableColumnsMetadata?: IndicatorContentSingleValueMetaDataUi[];\n}\n\ninterface IndicatorContentSingleValueUi {\n type?: string;\n value?: string | number;\n unitDetails?: string;\n errorMessage?: string;\n}\n\ninterface IndicatorContentValueUi extends IndicatorContentSingleValueUi {\n tableRows?: IndicatorContentTableValueRowUi[];\n}\n\nexport interface IndicatorContentTableValueRowUi {\n values?: IndicatorContentSingleValueUi[];\n}\n\nexport interface IIndicatorContentActions extends IContentCommonActions {\n addIndicator: (indicatorId: string) => void;\n deleteIndicator: (indicatorId: string) => void;\n setDisclosures?: (disclosures?: IDisclosure[]) => void;\n}\n\nexport interface IIndicatorContentStates extends IContentCommonStates {\n indicatorPeriodLabels: IndicatorPeriodLabelsUi;\n indicatorOptions: IGroupedOptions[];\n indicatorValues: IndicatorContentValuesUi[];\n}\n\nexport interface IIndicatorContentData {\n indicatorType?: IndicatorContentType;\n visibleColumns: VisibleValueColumn[];\n indicatorIds: string[];\n}\n\nexport enum IndicatorContentType {\n IndicatorSet = 'IndicatorSet',\n IndicatorTableValue = 'IndicatorTableValue',\n Narrative = 'Narrative',\n}\n\nexport interface IndicatorPeriodLabelsUi {\n targetLabel: string;\n currentLabel: string;\n previousLabel: string;\n}\n\n@Component({\n selector: 'esg-indicator-content',\n templateUrl: './indicator-content.component.html',\n styleUrls: ['../content-item.component.scss', './indicator-content.component.scss'],\n})\nexport class IndicatorContentComponent extends DynamicContentBase<\n IIndicatorContentActions,\n IIndicatorContentStates,\n IIndicatorContentData\n> {\n indicatorSelectCollapsed: boolean = true;\n indicatorTypeEnum = IndicatorContentType;\n setColumnOptions: IOption[] = [\n { value: VisibleValueColumn.PreviousValue, label: 'Previous' },\n { value: VisibleValueColumn.CurrentValue, label: 'Current' },\n { value: VisibleValueColumn.TargetValue, label: 'Target' },\n ];\n tableValueColumnOptions: IOption[] = this.setColumnOptions.filter(\n opt => opt.value !== VisibleValueColumn.TargetValue\n );\n visibleColumns: FormControl = new FormControl(this.setColumnOptions, { nonNullable: true });\n\n isDisclosureVisible: boolean = false;\n\n get indicatorLabels(): string {\n return this.states.indicatorValues\n .map(indicator => indicator.metadata.label)\n .filter(label => label)\n .join(', ');\n }\n\n ngOnInit() {\n this.setColumnOptions = [\n { value: VisibleValueColumn.PreviousValue, label: this.states.indicatorPeriodLabels.previousLabel },\n { value: VisibleValueColumn.CurrentValue, label: this.states.indicatorPeriodLabels.currentLabel },\n { value: VisibleValueColumn.TargetValue, label: this.states.indicatorPeriodLabels.targetLabel },\n ];\n this.tableValueColumnOptions = this.setColumnOptions.filter(opt => opt.value !== VisibleValueColumn.TargetValue);\n if (this.data) {\n const currentData = this.data;\n this.visibleColumns.setValue(\n this.setColumnOptions.filter(option => currentData.visibleColumns.some(column => column === option.value))\n );\n this.visibleColumns.valueChanges.subscribe(columns => {\n const updatedIndicator = {\n ...this.data,\n visibleColumns: columns.map(column => column.value as VisibleValueColumn),\n indicatorIds: this.data?.indicatorIds || [],\n };\n this.onChange(\n this.contentId,\n this.isVisibleInReport,\n {\n indicatorPeriodLabels: this.states.indicatorPeriodLabels,\n indicatorOptions: this.states.indicatorOptions,\n indicatorValues: this.states.indicatorValues,\n },\n updatedIndicator\n );\n });\n }\n }\n\n handleComponentClick() {\n this.onSetActive.emit(true);\n this.isDisclosureVisible = false;\n }\n\n handleOutsideClick(target: HTMLElement) {\n if (!target.closest('.text-disclosure-dialog')) {\n this.onSetActive.emit(false);\n this.isDisclosureVisible = false;\n if (this.actions.setDisclosures) {\n this.actions.setDisclosures(undefined);\n }\n }\n }\n\n handleOnDelete() {\n this.onDelete.emit(this.contentId);\n }\n\n handleOnUpdateVisibility(visible: boolean) {\n this.onChange(\n this.contentId,\n visible,\n {\n indicatorPeriodLabels: this.states.indicatorPeriodLabels,\n indicatorOptions: this.states.indicatorOptions,\n indicatorValues: this.states.indicatorValues,\n },\n this.data\n );\n }\n\n handleOnAddIndicator(option: IOption) {\n this.actions.addIndicator(option.value);\n }\n\n handleOnDescriptionClick(): void {\n this.isDisclosureVisible = !this.isDisclosureVisible;\n if (this.actions.setDisclosures) {\n const disclosures: IDisclosure[] = this.states.indicatorValues.map(value => ({\n label: value.metadata.label || '',\n description: value.description || '',\n referenceStandards: value.referenceStandards?.replace(/(\\r\\n|\\n|\\r)/gm, ' | ') || '',\n }));\n this.actions.setDisclosures(this.isDisclosureVisible ? disclosures : undefined);\n }\n }\n\n handleOnIndicatorSelectClick(event: Event) {\n event.preventDefault();\n event.stopPropagation();\n this.indicatorSelectCollapsed = !this.indicatorSelectCollapsed;\n }\n\n handleOnIndicatorSelectCollapse(collapse: boolean) {\n this.indicatorSelectCollapsed = collapse;\n }\n\n handleOnAddIndicatorToSet(indicatorId: string) {\n this.actions.addIndicator(indicatorId);\n }\n\n handleOnRemoveIndicatorFromSet(indicatorId: string) {\n this.actions.deleteIndicator(indicatorId);\n }\n\n handleOnMoveIndicatorInSet(event: MovedIndicator) {\n const indicatorSet = this.states.indicatorValues;\n const indicatorIds = this.data?.indicatorIds || [];\n\n const updatedIndicatorRows = [...indicatorSet];\n const updatedIndicatorIds = [...indicatorIds];\n moveItemInArray(updatedIndicatorRows, event.prevIndex, event.newIndex);\n moveItemInArray(updatedIndicatorIds, event.prevIndex, event.newIndex);\n\n this.onChange(\n this.contentId,\n this.isVisibleInReport,\n {\n indicatorPeriodLabels: this.states.indicatorPeriodLabels,\n indicatorOptions: this.states.indicatorOptions,\n indicatorValues: updatedIndicatorRows,\n },\n {\n indicatorIds: updatedIndicatorIds,\n indicatorType: this.data?.indicatorType,\n visibleColumns: this.data?.visibleColumns || [],\n }\n );\n }\n}\n","
\n @if (reorderMode) {\n \n \n \n \n \n \n } @else {\n \n @if (active) {\n \n } @if (data && data.indicatorType && states.indicatorValues.length) { @if (data.indicatorType ===\n indicatorTypeEnum.IndicatorSet) {\n \n } @else if(data.indicatorType === indicatorTypeEnum.IndicatorTableValue) {\n \n } } @else { @if (active) {\n
\n \n \n \n
\n } @if (!active) {\n \n } }\n
\n }\n\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { FormControl } from '@angular/forms';\n\n@Component({\n selector: 'esg-picture-toolbar',\n templateUrl: './picture-toolbar.component.html',\n styleUrls: ['./picture-toolbar.component.scss'],\n})\nexport class PictureToolbarComponent implements OnInit {\n @Input() altTagControl?: FormControl = undefined;\n @Input() edit: boolean = false;\n @Input() isVisible: boolean = true;\n @Input() hasVisibilityOption: boolean = false;\n @Output() onReplace = new EventEmitter();\n @Output() onCancel = new EventEmitter();\n @Output() onTagUpdate = new EventEmitter();\n @Output() onDelete = new EventEmitter();\n @Output() onUpdateVisibility = new EventEmitter();\n\n @ViewChild('input') private input: ElementRef | undefined;\n inputFocusOut = false;\n\n constructor() {}\n\n ngOnInit(): void {}\n\n handleOnImageEditClick() {\n this.inputFocusOut = false;\n this.edit ? this.onCancel.emit() : this.onReplace.emit();\n }\n\n handleOnDelete() {\n this.inputFocusOut = false;\n this.onDelete.emit();\n }\n\n handleUpdateVisibility() {\n this.onUpdateVisibility.emit(!this.isVisible);\n }\n\n handleOnAltTagClick() {\n if (this.altTagControl && this.altTagControl.disabled && !this.inputFocusOut) {\n this.altTagControl.enable();\n if (!this.altTagControl.disabled && this.input) {\n this.input.nativeElement.focus();\n }\n } else {\n this.inputFocusOut = false;\n }\n }\n\n handleOnAltTagSave(value: string) {\n if (this.altTagControl) {\n this.onTagUpdate.emit(value);\n this.altTagControl.disable();\n }\n }\n\n handleOnAltTagEnter() {\n this.input && this.input.nativeElement.blur();\n this.inputFocusOut = false;\n }\n\n handleOnAltTagBlur(value: string) {\n this.inputFocusOut = true;\n this.handleOnAltTagSave(value);\n }\n}\n","
\n \n \n Alt Tag\n \n
\n \n Visible\n
\n \n
\n\n","import { Component, Input, OnInit } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { DynamicContentBase, IContentCommonActions, IContentCommonStates } from '../../dynamic-content-data';\nimport { IUploadedPhoto, IUploadPhotoComponentTexts } from 'src/app/shared/ui/upload-picture/upload-picture.component';\n\nexport interface IPictureContentActions extends IContentCommonActions {\n uploadPhoto: (file?: File) => void;\n}\n\nexport interface IPictureContentStates extends IContentCommonStates {\n uploadedPhoto?: IUploadedPhoto;\n}\n\nexport interface IPictureContentData {\n blobName: string;\n altText: string;\n}\n\n@Component({\n selector: '[esg-picture]',\n templateUrl: './picture.component.html',\n styleUrls: ['../content-item.component.scss', './picture.component.scss'],\n})\nexport class PictureComponent\n extends DynamicContentBase\n implements OnInit\n{\n dropZoneStyle: Object = { height: '360px' };\n\n componentTexts: IUploadPhotoComponentTexts = {\n firstLineP1: 'Drag and drop an image here or ',\n firstLineP2: ' an image',\n firstLineP1UploadedPhoto: 'Drag and drop an image here or ',\n firstLineP2UploadedPhoto: ' an image',\n secondLine: 'Image can be SVG, JPG or PNG with a minimum width of 1200px',\n };\n\n editing: boolean = false;\n\n fc = {\n altTag: new FormControl({ value: '', disabled: true }),\n };\n formgroup = new FormGroup(this.fc);\n\n get adjustedToolbarTop(): number {\n return this.toolbarTop - 32;\n }\n\n constructor() {\n super();\n }\n\n ngOnInit(): void {\n this.fc.altTag.setValue(this.data?.altText || '');\n if (this.active && !this.states.uploadedPhoto?.url) this.editing = true;\n }\n\n handleImageClick() {\n this.onSetActive.emit(true);\n }\n\n handleOnAltTagChange(tag: string) {\n this.onChange(\n this.contentId,\n this.isVisibleInReport,\n {\n uploadedPhoto: this.states.uploadedPhoto,\n },\n this.data?.blobName ? { blobName: this.data?.blobName, altText: tag || '' } : undefined\n );\n }\n\n handleOnEdit() {\n this.editing = true;\n this.onSetActive.emit(true);\n }\n\n handleOnEditCancel() {\n this.editing = false;\n this.onSetActive.emit(false);\n }\n\n handleOnUpdateVisibility(visible: boolean) {\n this.onChange(\n this.contentId,\n visible,\n {\n uploadedPhoto: this.states.uploadedPhoto,\n },\n this.data?.blobName ? { blobName: this.data?.blobName, altText: this.data?.altText } : undefined\n );\n }\n\n handleOutsideClick() {\n this.active && this.handleOnEditCancel();\n }\n\n async handleUploadCoverPhoto(file: File) {\n await this.actions.uploadPhoto(file);\n this.active && this.handleOnEditCancel();\n }\n\n handleClearPhoto() {\n this.actions.uploadPhoto(undefined);\n }\n}\n","
\n \n \n \n \n \n \n \n \n \n \n
\n \n
\n \n
\n
\n\n\n
\n
\n
\n \n
\n
\n
\n","import { Component, OnInit, SimpleChanges } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\nimport { DynamicContentBase, IContentCommonActions, IContentCommonStates } from '../../dynamic-content-data';\n\nexport interface ITextAreaContentActions extends IContentCommonActions {\n generateText?: (question: string) => Promise;\n}\n\nexport interface ITextAreaContentStates extends IContentCommonStates {}\n\nexport interface ITextAreaContentData {\n textHtml: string;\n}\n\n@Component({\n selector: '[esg-text-area]',\n templateUrl: './text-area.component.html',\n styleUrls: ['../content-item.component.scss', './text-area.component.scss'],\n})\nexport class TextAreaComponent\n extends DynamicContentBase\n implements OnInit\n{\n textAreaStyles = {\n fontSize: '18px',\n lineHeight: '28px',\n color: '#333333',\n border: 'none',\n padding: '20px 16px 4px 8px',\n opacity: '1',\n };\n textAreaStylesFocus = {\n fontSize: '18px',\n lineHeight: '28px',\n color: '#333333',\n border: '1px solid #0071E3',\n background: '#EDF5FD99',\n padding: '19px 15px 3px 7px',\n borderRadius: '4px',\n opacity: '1',\n };\n\n toolbarHidden = {\n display: 'none',\n };\n loading: boolean = false;\n\n fc = {\n content: new FormControl(''),\n };\n formgroup = new FormGroup(this.fc);\n\n get innerText() {\n return this.fc.content.value ? String(this.fc.content.value).replace(/<[^>]+>/gm, '') : '';\n }\n\n get readContent() {\n return this.data?.textHtml;\n }\n\n get toolbarStyles() {\n return {\n position: 'sticky',\n width: 'fit-content',\n marginTop: '-36px',\n marginLeft: '50%',\n transform: 'translate(-50%, 18px)',\n top: `${this.toolbarTop}px`,\n zIndex: '3',\n boxShadow: '0px 4px 16px rgba(0, 0, 0, 0.25)',\n borderRadius: '4px',\n };\n }\n\n get editorStyles() {\n const baseStyles = this.active ? { ...this.textAreaStylesFocus } : { ...this.textAreaStyles };\n if (!this.isVisibleInReport) {\n baseStyles.opacity = '0.4';\n }\n return baseStyles;\n }\n\n constructor() {\n super();\n }\n\n ngOnInit(): void {\n this.initializeContent();\n\n this.formgroup.valueChanges.pipe(debounceTime(400), distinctUntilChanged()).subscribe(result => {\n if (this.formgroup.dirty && !this.formgroup.controls.content.disabled && !this.loading) {\n this.onChange(this.contentId, this.isVisibleInReport, {}, { textHtml: result.content || '' });\n this.formgroup.markAsPristine();\n }\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['data'] && !changes['data'].isFirstChange()) {\n this.initializeContent();\n }\n }\n\n initializeContent() {\n if (this.data?.textHtml) {\n console.log('Initializing with data:', this.data.textHtml);\n this.fc.content.setValue(this.data.textHtml);\n } else {\n console.warn('No initial data provided');\n }\n }\n\n onEditorContentChange(content: string) {\n this.fc.content.setValue(content);\n this.fc.content.markAsDirty();\n }\n\n handleComponentClick() {\n this.onSetActive.emit(true);\n }\n\n handleOutsideClick() {\n this.onSetActive.emit(false);\n }\n\n handleOnUpdateVisibility(visible: boolean) {\n this.onChange(this.contentId, visible, {}, this.data);\n }\n\n handleOnGenerateText(prompt: string) {\n if (this.actions.generateText) {\n this.loading = true;\n this.formgroup.controls.content.setValue('



');\n this.actions\n .generateText(prompt)\n .then(res => {\n this.formgroup.controls.content.setValue('');\n this.loading = false;\n this.typingEffect(res);\n })\n .catch(() => {\n this.loading = false;\n this.formgroup.controls.content.setValue(\n '

ChatGPT is currently not responding. Please try again later.

'\n );\n });\n }\n }\n\n async typingEffect(text: string) {\n this.fc.content.disable();\n const words = text.split(' ');\n try {\n for (let i = 0; i < words.length - 1; i++) {\n this.fc.content.setValue(this.fc.content.value + words[i] + ' ');\n await new Promise(resolve => setTimeout(resolve, 50));\n }\n } catch (error) {\n console.error(error);\n } finally {\n this.fc.content.enable();\n this.fc.content.markAsDirty();\n this.fc.content.setValue(text);\n }\n }\n}\n","
\n \n \n \n \n \n \n \n \n \n \n \n
\n\n\n
\n
\n \n
\n
\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { IGroupedOptions, IOption } from 'src/app/static-data/options';\nimport { TextDisclosureValuesUi } from '../text-disclosure.component';\n\ninterface Style {\n [key: string]: string;\n}\n\n@Component({\n selector: '[esg-text-disclosure-footer]',\n templateUrl: './text-disclosure-footer.component.html',\n styleUrls: ['./text-disclosure-footer.component.scss'],\n})\nexport class TextDisclosureFooterComponent implements OnInit {\n @Input() isVisible: boolean = true;\n @Input() active: boolean = false;\n @Input() isTextDisclosureVisible: boolean = false;\n @Input() indicatorOptions: IGroupedOptions[] = [];\n @Input() indicatorValue?: TextDisclosureValuesUi = undefined;\n @Output() onUpdateVisibility = new EventEmitter();\n @Output() onAddIndicator = new EventEmitter();\n @Output() onToggleModal = new EventEmitter();\n\n indicatorSelectCollapsed: boolean = true;\n stickyToolbar: boolean = false;\n dialogStyle: Style = { 'margin-top': '72px', 'padding-bottom': '72px' };\n\n constructor() {}\n\n get references() {\n return this.indicatorValue?.referenceStandards?.replace(/(\\r\\n|\\n|\\r)/gm, ' | ') || '';\n }\n get description() {\n return this.indicatorValue?.description;\n }\n\n ngOnInit(): void {}\n\n ngAfterViewChecked(): void {}\n\n handleOnIndicatorSelectClick(event: Event) {\n event.preventDefault();\n event.stopPropagation();\n this.indicatorSelectCollapsed = !this.indicatorSelectCollapsed;\n }\n\n handleOnIndicatorSelectCollapse(collapse: boolean) {\n this.indicatorSelectCollapsed = collapse;\n }\n\n toggleModal(event: Event): void {\n event.preventDefault();\n this.onToggleModal.emit(event);\n }\n}\n","
\n
\n Disclosure Reference: \n {{ references }}\n
\n \n \n @if (active) {\n
\n \n \n \n
\n }\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport {\n DynamicContentBase,\n IContentCommonActions,\n IContentCommonStates,\n IDisclosure,\n} from '../../dynamic-content-data';\nimport { IGroupedOptions, IOption } from 'src/app/static-data/options';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { debounceTime, distinctUntilChanged } from 'rxjs';\nimport { IndicatorContentType } from '../indicator-content/indicator-content.component';\n\nexport interface ITextDisclosureActions extends IContentCommonActions {\n addIndicator: (indicatorId: string) => void;\n deleteIndicator: (indicatorId: string) => void;\n generateText?: (question: string) => Promise;\n setDisclosures?: (disclosures?: IDisclosure[]) => void;\n}\n\nexport interface TextDisclosureValuesUi {\n indicatorId?: string;\n referenceStandards?: string;\n description?: string;\n}\n\nexport interface ITextDisclosureStates extends IContentCommonStates {\n indicatorOptions: IGroupedOptions[];\n indicatorValue?: TextDisclosureValuesUi | undefined;\n}\n\nexport interface ITextDisclosureData {\n textHtml: string;\n // indicatorId?: string;\n indicatorIds: string[];\n indicatorType?: IndicatorContentType;\n}\n\n@Component({\n selector: 'esg-text-disclosure',\n templateUrl: './text-disclosure.component.html',\n styleUrls: ['../content-item.component.scss', './text-disclosure.component.scss'],\n})\nexport class TextDisclosureComponent\n extends DynamicContentBase\n implements OnInit\n{\n textAreaStyles = {\n fontSize: '18px',\n lineHeight: '28px',\n color: '#333333',\n border: 'none',\n padding: '20px 16px 4px 8px',\n opacity: '1',\n };\n\n textAreaStylesFocus = {\n fontSize: '18px',\n lineHeight: '28px',\n color: '#333333',\n border: '1px solid #0071E3',\n background: '#EDF5FD99',\n padding: '19px 15px 37px 7px',\n borderRadius: '4px',\n opacity: '1',\n };\n\n toolbarHidden = {\n display: 'none',\n };\n loading: boolean = false;\n\n fc = {\n content: new FormControl(''),\n indicatorId: new FormControl(undefined),\n };\n formgroup = new FormGroup(this.fc);\n\n isDisclosureVisible: boolean = false;\n\n get innerText() {\n return this.fc.content.value ? String(this.fc.content.value).replace(/<[^>]+>/gm, '') : '';\n }\n\n get readContent() {\n return this.data?.textHtml;\n }\n\n get toolbarStyles() {\n return {\n position: 'sticky',\n width: 'fit-content',\n marginTop: '-35px',\n marginLeft: '50%',\n transform: 'translate(-50%, 18px)',\n top: `${this.toolbarTop}px`,\n zIndex: '3',\n boxShadow: '0px 4px 16px rgba(0, 0, 0, 0.25)',\n borderRadius: '4px',\n };\n }\n\n get footerStyles() {\n return {\n width: '100%',\n marginTop: !this.active ? '0px' : '-35px',\n borderRadius: '4px',\n transform: 'translate(0, 0)',\n position: 'relative',\n zIndex: '3',\n };\n }\n\n get editorStyles() {\n const baseStyles = this.active ? { ...this.textAreaStylesFocus } : { ...this.textAreaStyles };\n if (!this.isVisibleInReport) {\n baseStyles.opacity = '0.4';\n }\n return baseStyles;\n }\n\n constructor() {\n super();\n }\n\n ngOnInit(): void {\n this.fc.content.setValue(this.data?.textHtml || '');\n this.fc.indicatorId.setValue(this.data?.indicatorIds[0]);\n this.formgroup.valueChanges.pipe(debounceTime(400), distinctUntilChanged()).subscribe(result => {\n if (this.formgroup.dirty && !this.formgroup.controls.content.disabled && !this.loading) {\n const updatedContent = {\n ...this.data,\n indicatorIds: this.data?.indicatorIds || [],\n textHtml: result.content || '',\n };\n\n this.onChange(\n this.contentId,\n this.isVisibleInReport,\n {\n indicatorOptions: this.states.indicatorOptions,\n indicatorValue: this.states.indicatorValue,\n },\n updatedContent\n );\n this.formgroup.markAsPristine();\n }\n });\n }\n\n handleComponentClick() {\n this.onSetActive.emit(true);\n this.isDisclosureVisible = false;\n }\n\n handleOutsideClick(target: HTMLElement) {\n if (!target.closest('.text-disclosure-dialog')) {\n this.onSetActive.emit(false);\n this.isDisclosureVisible = false;\n if (this.actions.setDisclosures) {\n this.actions.setDisclosures(undefined);\n }\n }\n }\n\n handleOnUpdateVisibility(visible: boolean) {\n this.onChange(\n this.contentId,\n visible,\n {\n indicatorOptions: this.states.indicatorOptions,\n indicatorValue: this.states.indicatorValue,\n },\n this.data\n );\n }\n\n handleOnGenerateText(prompt: string) {\n if (this.actions.generateText) {\n this.loading = true;\n this.formgroup.controls.content.setValue('



');\n this.actions\n .generateText(prompt)\n .then(res => {\n this.formgroup.controls.content.setValue('');\n this.loading = false;\n this.typingEffect(res);\n })\n .catch(() => {\n this.loading = false;\n this.formgroup.controls.content.setValue(\n '

ChatGPT is currently not responding. Please try again later.

'\n );\n });\n }\n }\n\n async typingEffect(text: string) {\n this.fc.content.disable();\n const words = text.split(' ');\n try {\n for (let i = 0; i < words.length - 1; i++) {\n this.fc.content.setValue(this.fc.content.value + words[i] + ' ');\n await new Promise(resolve => setTimeout(resolve, 50));\n }\n } catch (error) {\n console.error(error);\n } finally {\n this.fc.content.enable();\n this.fc.content.markAsDirty();\n this.fc.content.setValue(text);\n }\n }\n\n handleOnAddIndicator(option: IOption) {\n this.actions.addIndicator(option.value);\n this.fc.indicatorId.setValue(option.value);\n }\n\n toggleModal(event: Event): void {\n event.preventDefault();\n this.isDisclosureVisible = !this.isDisclosureVisible;\n if (this.actions.setDisclosures) {\n this.actions.setDisclosures(\n this.isDisclosureVisible\n ? [\n {\n label: '',\n description: this.states.indicatorValue?.description || '',\n referenceStandards: '',\n },\n ]\n : undefined\n );\n }\n }\n}\n","
\n \n \n \n \n \n \n \n \n\n \n \n\n
\n \n\n\n
\n
\n \n
\n
\n","import { ContentDataTypes, ContentStatesTypes } from '../content-configuration';\nimport {\n Component,\n Input,\n Output,\n EventEmitter,\n ElementRef,\n SimpleChanges,\n SimpleChange,\n OnChanges,\n} from '@angular/core';\nimport { DynamicContent } from '../dynamic-content';\nimport { IDisclosure } from '../dynamic-content-data';\n\n@Component({\n selector: 'esg-content-list',\n templateUrl: './content-list.component.html',\n styles: [\n `\n .list-of-content {\n display: flex;\n flex-direction: column;\n gap: 48px;\n\n &.reorder {\n gap: 16px;\n }\n }\n `,\n ],\n})\nexport class ContentListComponent implements OnChanges {\n @Input({ required: true }) contentItems!: DynamicContent[];\n @Input({ required: true }) onChange!: (\n contentId: string,\n isVisibleInReport: boolean,\n states: ContentStatesTypes,\n data?: ContentDataTypes\n ) => void;\n @Input() readMode = false;\n @Input() reorderMode = false;\n @Input() hasVisibilityOption = false;\n @Input() isAllContentNotVisible = false;\n @Input() isDisclosureVisible = false;\n @Input() toolbarTop = 85;\n @Output() onDelete = new EventEmitter();\n @Output() onSetDisclosures = new EventEmitter();\n\n activeContentId?: string;\n scrollOnViewCheck: boolean = false;\n\n constructor(private hostRef: ElementRef) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n const items: SimpleChange = changes['contentItems'];\n if (!items || items.firstChange) return;\n else if (items.previousValue && items.previousValue.length < items.currentValue.length) {\n this.handleOnSetActiveId(items.currentValue[items.currentValue.length - 1].contentId);\n this.scrollOnViewCheck = true;\n }\n }\n\n ngAfterViewChecked() {\n if (this.scrollOnViewCheck) {\n this.scrollToBottom();\n }\n }\n\n scrollToBottom(): void {\n this.scrollOnViewCheck = false;\n this.hostRef.nativeElement.scrollIntoView(false);\n }\n\n trackByMethod(index: number, el: any): number {\n return el.contentId && el.contentType;\n }\n\n handleOnSetActiveId(value: string | undefined) {\n this.activeContentId = value;\n this.onSetDisclosures.emit(undefined);\n }\n}\n","
\n \n
\n","import { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[appDynamicContentHost]',\n})\nexport class DynamicContentHostDirective {\n constructor(public viewContainerRef: ViewContainerRef) {}\n}\n","import {\n Component,\n ComponentRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChange,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport {\n ComponentFactory,\n ContentActionsTypes,\n ContentDataTypes,\n ContentStatesTypes,\n} from 'src/app/content/content-configuration';\nimport { DynamicContent } from 'src/app/content/dynamic-content';\nimport { DynamicContentMode, IDynamicContentData } from 'src/app/content/dynamic-content-data';\nimport { DynamicContentHostDirective } from './ad-host.directive';\n\n@Component({\n selector: 'esg-dynamic-content-item',\n template: `\n \n `,\n})\nexport class DynamicContentItemComponent implements OnInit, OnChanges {\n contentRef?: ComponentRef>;\n @Input({ required: true }) item!: DynamicContent;\n @Input() readMode = false;\n @Input() reorderMode = false;\n @Input() active = false;\n @Input() hasVisibilityOption = false;\n @Input() isAllContentNotVisible = false;\n @Input() toolbarTop = 85;\n @Input({ required: true }) onChange!: (\n contentId: string,\n isVisibleInReport: boolean,\n states: ContentStatesTypes,\n data?: ContentDataTypes\n ) => void;\n @Input() isDisclosureVisible = false;\n @Output() onDelete = new EventEmitter();\n @Output() onSetActive = new EventEmitter();\n\n @ViewChild(DynamicContentHostDirective, { static: true }) adHost!: DynamicContentHostDirective;\n\n activeContentId?: string;\n\n constructor() {}\n\n ngOnInit(): void {\n this.loadComponent();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const itemField: SimpleChange = changes['item'];\n const reorderMode: SimpleChange = changes['reorderMode'];\n const active: SimpleChange = changes['active'];\n const isAllContentNotVisible: SimpleChange = changes['isAllContentNotVisible'];\n const isTextDisclosureVisible: SimpleChange = changes['isTextDisclosureVisible'];\n if (\n itemField &&\n itemField.previousValue &&\n JSON.stringify(itemField.previousValue) !== JSON.stringify(itemField.currentValue)\n ) {\n this.setInstance();\n }\n\n if (\n reorderMode &&\n reorderMode.previousValue !== undefined &&\n reorderMode.previousValue !== reorderMode.currentValue\n ) {\n this.setInstance();\n }\n\n if (active && active.previousValue !== undefined && active.previousValue !== active.currentValue) {\n this.setInstance();\n }\n\n if (\n isTextDisclosureVisible &&\n isTextDisclosureVisible.previousValue !== undefined &&\n isTextDisclosureVisible.previousValue !== isTextDisclosureVisible.currentValue\n ) {\n this.setInstance();\n }\n\n if (\n isAllContentNotVisible &&\n isAllContentNotVisible.previousValue !== undefined &&\n isAllContentNotVisible.previousValue !== isAllContentNotVisible.currentValue\n ) {\n this.setInstance();\n }\n }\n\n handleOnSetActive(active: boolean) {\n this.onSetActive.emit(active ? this.item.contentId : undefined);\n }\n\n loadComponent() {\n const viewContainerRef = this.adHost.viewContainerRef;\n viewContainerRef.clear();\n const element = this.item;\n this.contentRef = viewContainerRef.createComponent<\n IDynamicContentData\n >(ComponentFactory(element.contentType));\n this.setInstance();\n }\n\n setInstance() {\n const element = this.item;\n if (this.contentRef) {\n this.contentRef.instance.contentId = element.contentId;\n this.contentRef.instance.mode = this.readMode ? DynamicContentMode.Read : DynamicContentMode.Edit;\n this.contentRef.instance.actions = element.actions;\n this.contentRef.instance.states = element.states;\n this.contentRef.instance.data = element.data;\n this.contentRef.instance.onChange = this.onChange;\n this.contentRef.instance.reorderMode = this.reorderMode;\n this.contentRef.instance.isVisibleInReport = this.isAllContentNotVisible ? false : element.isVisibleInReport;\n this.contentRef.instance.hasVisibilityOption = this.hasVisibilityOption;\n this.contentRef.instance.toolbarTop = this.toolbarTop;\n this.contentRef.instance.active = this.active;\n this.contentRef.instance.isDisclosureVisible = this.isDisclosureVisible;\n this.contentRef.instance.onDelete.subscribe(id => this.onDelete.emit(id));\n this.contentRef.instance.onSetActive.subscribe(active => this.handleOnSetActive(active));\n }\n }\n}\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { ComponentType } from 'src/api-client/report-api.generated';\n\n@Component({\n selector: 'esg-content-menu',\n templateUrl: './content-menu.component.html',\n styleUrls: ['./content-menu.component.scss'],\n})\nexport class ContentMenuComponent implements OnInit {\n @Input() reordering: boolean = false;\n @Input() reorderHidden: boolean = false;\n @Input() allowIndicators: boolean = false;\n @Output() onAddContent = new EventEmitter();\n @Output() onReorder = new EventEmitter();\n\n constructor() {}\n\n ngOnInit(): void {}\n\n handleAddIndicator(event: MouseEvent) {\n event.stopPropagation();\n this.onAddContent.emit(ComponentType.Indicator);\n }\n\n handleAddText(event: MouseEvent) {\n event.stopPropagation();\n this.onAddContent.emit(ComponentType.Text);\n }\n\n handleAddImage(event: MouseEvent) {\n event.stopPropagation();\n this.onAddContent.emit(ComponentType.Picture);\n }\n\n handleAddImportFromExcel(event: MouseEvent) {\n event.stopPropagation();\n this.onAddContent.emit(ComponentType.ImportFromExcel);\n }\n\n handleReorder() {\n this.onReorder.emit();\n }\n}\n","
\n
\n
\n \n
Add Indicator
\n
\n
\n \n
Add text
\n
\n
\n \n
Add image
\n
\n
\n \n
Import from Excel
\n
\n
\n
\n \n \n \n \n \n \n \n \n
Organize
\n
\n Done\n
\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { DynamicContent } from './dynamic-content';\nimport { IMovedContent } from 'src/app/content/dynamic-content-data';\nimport { ContentDataTypes, ContentStatesTypes } from './content-configuration';\nimport { CdkDragDrop } from '@angular/cdk/drag-drop';\nimport { ComponentType } from 'src/api-client/report-api.generated';\n\n@Component({\n selector: 'esg-content',\n templateUrl: './content.component.html',\n styleUrls: ['./content.component.scss'],\n})\nexport class ContentComponent implements OnInit {\n @Input({ required: true }) contentItems!: DynamicContent[];\n @Input({ required: true }) onChange!: (\n contentId: string,\n isVisibleInReport: boolean,\n states: ContentStatesTypes,\n data?: ContentDataTypes\n ) => void;\n @Input() stickyMenu: boolean = false;\n @Input() loading: boolean = false;\n @Input() stickyTopMargin: number = 0;\n @Input() readMode: boolean = false;\n @Input() allowIndicators: boolean = false;\n @Input() hasVisibilityOption = false;\n @Input() contentToolbarTop = 85;\n @Output() onAddContent = new EventEmitter();\n @Output() onDeleteContent = new EventEmitter();\n @Output() onMoveContent = new EventEmitter();\n @Output() onReorder = new EventEmitter();\n\n removeContentId: string | undefined = undefined;\n removeContentMessage = 'Once you delete this component\\nthere is no turning back.';\n\n reordering: boolean = false;\n\n get isOrganizeHidden() {\n return this.contentItems.length < 2;\n }\n\n constructor() {}\n\n ngOnInit(): void {}\n\n handleReorder() {\n this.reordering = !this.reordering;\n this.onReorder.emit(this.reordering);\n }\n\n handleOnDelete() {\n if (this.contentItems.length === 2 && this.reordering) this.handleReorder();\n this.onDeleteContent.emit(this.removeContentId);\n this.removeContentId = undefined;\n }\n\n handleOnContentDrop(event: CdkDragDrop) {\n this.onMoveContent.emit({\n contentId: event.item.element.nativeElement.id,\n prevIndex: event.previousIndex,\n newIndex: event.currentIndex,\n });\n }\n}\n","\n
\n \n
\n
\n \n \n \n \n \n \n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PictureComponent } from './content-item/picture/picture.component';\nimport { PictureToolbarComponent } from './content-item/picture/picture-toolbar/picture-toolbar.component';\nimport { TextAreaComponent } from './content-item/text-area/text-area.component';\nimport { QuillModule } from 'ngx-quill';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { ContentTopbarComponent } from './content-item/content-topbar/content-topbar.component';\nimport { UiModule } from '../shared/ui/ui.module';\nimport { ImportFromExcelComponent } from './content-item/import-from-excel/import-from-excel.component';\nimport { SharedComponentsModule } from '../shared/components/shared-components.module';\nimport { EmptyContentComponent } from './content-item/empty-content/empty-content.component';\nimport { ContentListComponent } from './content-list/content-list.component';\nimport { DynamicContentHostDirective } from './content-list/dynamic-content-item/ad-host.directive';\nimport { DynamicContentItemComponent } from './content-list/dynamic-content-item/dynamic-content-item.component';\nimport { ContentMenuComponent } from './content-menu/content-menu.component';\nimport { ContentComponent } from './content.component';\nimport { DirectiveModule } from '../shared/directives/directive.module';\nimport { IndicatorContentComponent } from './content-item/indicator-content/indicator-content.component';\nimport { IndicatorContentSetComponent } from './content-item/indicator-content/indicator-content-set/indicator-content-set.component';\nimport { IndicatorContentSubstrateDataComponent } from './content-item/indicator-content/indicator-content-substrate-data/indicator-content-substrate-data.component';\nimport { IndicatorContentToolbarComponent } from './content-item/indicator-content/indicator-content-toolbar/indicator-content-toolbar.component';\nimport { FormatUnitWithUnicodePipe } from '../shared/pipes/format-unit-with-unicode.pipe';\nimport { ContentContextMenuComponent } from './content-context-menu/content-context-menu.component';\nimport { TextDisclosureComponent } from './content-item/text-disclosure/text-disclosure.component';\n\n@NgModule({\n declarations: [\n PictureComponent,\n PictureToolbarComponent,\n TextAreaComponent,\n ContentTopbarComponent,\n ImportFromExcelComponent,\n EmptyContentComponent,\n ContentComponent,\n ContentListComponent,\n DynamicContentHostDirective,\n DynamicContentItemComponent,\n ContentMenuComponent,\n IndicatorContentComponent,\n IndicatorContentSetComponent,\n IndicatorContentSubstrateDataComponent,\n IndicatorContentToolbarComponent,\n ContentContextMenuComponent,\n TextDisclosureComponent\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n UiModule,\n QuillModule,\n SharedComponentsModule,\n DirectiveModule,\n FormatUnitWithUnicodePipe,\n ],\n exports: [ContentComponent, ContentListComponent, ContentTopbarComponent, ContentContextMenuComponent],\n})\nexport class ContentModule {}\n","import { Directive, Input, Output, EventEmitter } from '@angular/core';\n\nexport enum DynamicContentMode {\n Read,\n Edit,\n Print,\n}\n\nexport interface IMovedContent {\n contentId: string;\n prevIndex: number;\n newIndex: number;\n}\n\nexport interface IDisclosure {\n label: string;\n description: string;\n referenceStandards: string;\n}\n\nexport interface IContentCommonActions {}\n\nexport interface IContentCommonStates {}\n\nexport interface IDynamicContentData {\n contentId: string;\n isVisibleInReport: boolean;\n hasVisibilityOption: boolean;\n mode: DynamicContentMode;\n actions: TContentActions;\n states: TContentStates;\n data?: TContentData;\n onChange: (contentId: string, isVisibleInReport: boolean, states: TContentStates, data?: TContentData) => void;\n reorderMode: boolean;\n active: boolean;\n toolbarTop: number;\n isDisclosureVisible: boolean;\n isChangeComponentType: boolean;\n onDelete: EventEmitter;\n onSetActive: EventEmitter;\n}\n\n@Directive()\nexport abstract class DynamicContentBase\n implements IDynamicContentData\n{\n Modes = DynamicContentMode;\n @Input({ required: true }) contentId!: string;\n @Input({ required: true }) mode!: DynamicContentMode;\n @Input({ required: true }) actions!: TContentActions;\n @Input({ required: true }) states!: TContentStates;\n @Input() data?: TContentData;\n @Input() isVisibleInReport: boolean = true;\n @Input() hasVisibilityOption: boolean = false;\n @Input() onChange!: (\n contentId: string,\n isVisibleInReport: boolean,\n states: TContentStates,\n data?: TContentData\n ) => void;\n @Input() reorderMode: boolean = false;\n @Input() active: boolean = false;\n @Input() toolbarTop: number = 85;\n @Input() isDisclosureVisible: boolean = false;\n @Input() isChangeComponentType: boolean = false;\n @Output() onDelete = new EventEmitter();\n @Output() onSetActive = new EventEmitter();\n}\n","import { ComponentType } from 'src/api-client/report-api.generated';\nimport { IUploadedPhoto } from '../shared/ui/upload-picture/upload-picture.component';\nimport { IGroupedOptions } from '../static-data/options';\nimport { ContentActionsTypes, ContentDataTypes, ContentStatesTypes } from './content-configuration';\nimport {\n IndicatorContentValuesUi,\n IndicatorPeriodLabelsUi,\n} from './content-item/indicator-content/indicator-content.component';\nimport { IPictureContentData } from './content-item/picture/picture.component';\nimport { IDisclosure } from './dynamic-content-data';\n\nexport class DynamicContent {\n constructor(\n public contentId: string,\n public contentType: ComponentType,\n public isVisibleInReport: boolean,\n public actions: ContentActionsTypes,\n public states: ContentStatesTypes,\n public data?: ContentDataTypes\n ) {}\n}\n\nexport const DynamicComponentFactory = (actions: {\n uploadPhoto: (componentId: string) => (file?: File) => void;\n getUploadedPhoto: (blobName: string) => IUploadedPhoto;\n generateText?: (question: string) => Promise;\n addIndicator?: (componentId: string) => (indicatorId: string) => void;\n deleteIndicator?: (componentId: string) => (indicatorId: string) => void;\n addTextDisclosure?: (componentId: string) => (indicatorId: string) => void;\n setDisclosures?: (disclosures?: IDisclosure[]) => void;\n}) => ({\n [ComponentType.Text]: (id: string, isVisibleInReport: boolean, content?: string) => {\n return new DynamicContent(\n id,\n ComponentType.Text,\n isVisibleInReport,\n {\n generateText: actions.generateText,\n },\n {},\n content ? JSON.parse(content) : undefined\n );\n },\n [ComponentType.Picture]: (id: string, isVisibleInReport: boolean, content?: string) => {\n const componentContent: IPictureContentData = content ? JSON.parse(content) : undefined;\n const uploadedPhoto =\n componentContent && componentContent.blobName ? actions.getUploadedPhoto(componentContent.blobName) : undefined;\n return new DynamicContent(\n id,\n ComponentType.Picture,\n isVisibleInReport,\n {\n uploadPhoto: actions.uploadPhoto(id),\n },\n { uploadedPhoto },\n componentContent\n );\n },\n [ComponentType.ImportFromExcel]: (id: string, isVisibleInReport: boolean, content?: string) => {\n return new DynamicContent(\n id,\n ComponentType.ImportFromExcel,\n isVisibleInReport,\n {},\n {},\n content ? JSON.parse(content) : undefined\n );\n },\n [ComponentType.Indicator]: (\n id: string,\n isVisibleInReport: boolean,\n indicatorPeriodLabels: IndicatorPeriodLabelsUi,\n indicatorOptions: IGroupedOptions[],\n indicatorValues: IndicatorContentValuesUi[],\n content?: string\n ) => {\n return new DynamicContent(\n id,\n ComponentType.Indicator,\n isVisibleInReport,\n {\n addIndicator: actions.addIndicator ? actions.addIndicator(id) : undefined,\n deleteIndicator: actions.deleteIndicator ? actions.deleteIndicator(id) : undefined,\n setDisclosures: actions.setDisclosures,\n },\n {\n indicatorPeriodLabels: indicatorPeriodLabels,\n indicatorOptions: indicatorOptions,\n indicatorValues: indicatorValues,\n },\n content ? JSON.parse(content) : undefined\n );\n },\n [ComponentType.Narrative]: (\n id: string,\n isVisibleInReport: boolean,\n indicatorOptions: IGroupedOptions[],\n indicatorValue: IndicatorContentValuesUi | undefined,\n content?: string\n ) => {\n return new DynamicContent(\n id,\n ComponentType.Narrative,\n isVisibleInReport,\n {\n addIndicator: actions.addTextDisclosure ? actions.addTextDisclosure(id) : undefined,\n deleteIndicator: actions.deleteIndicator ? actions.deleteIndicator(id) : undefined,\n generateText: actions.generateText,\n setDisclosures: actions.setDisclosures,\n },\n {\n indicatorOptions: indicatorOptions,\n indicatorValue: indicatorValue,\n },\n content ? JSON.parse(content) : undefined\n );\n },\n});\n","import { Inject, Injectable } from '@angular/core';\nimport { MsalBroadcastService, MsalGuardConfiguration, MsalService, MSAL_GUARD_CONFIG } from '@azure/msal-angular';\nimport { AccountInfo, InteractionType, RedirectRequest } from '@azure/msal-browser';\nimport { BehaviorSubject } from 'rxjs';\nimport { AppConfigurationService } from './app-configuration.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AppAuthService {\n public interactionEnded = false;\n public userInitialized = false;\n public readonly accountInfo = new BehaviorSubject(undefined);\n accountInfo$ = this.accountInfo.asObservable();\n\n constructor(\n @Inject(MSAL_GUARD_CONFIG) private msalGuardConfig: MsalGuardConfiguration,\n private authService: MsalService,\n private msalBroadcastService: MsalBroadcastService,\n private appConfiguration: AppConfigurationService\n ) {}\n\n setUserAccount() {\n var user =\n this.authService.instance.getAllAccounts().length > 0 ? this.authService.instance.getAllAccounts()[0] : undefined;\n if (user) {\n this.accountInfo.next(user);\n this.userInitialized = true;\n } else {\n this.accountInfo.next(undefined);\n this.userInitialized = false;\n }\n }\n\n login() {\n if (this.msalGuardConfig.authRequest) {\n this.authService.loginRedirect({ ...this.msalGuardConfig.authRequest } as RedirectRequest);\n } else {\n this.authService.loginRedirect();\n }\n }\n\n redirectToUserFlow(userFlowRequest?: RedirectRequest) {\n if (this.msalGuardConfig.interactionType === InteractionType.Popup) {\n console.log(userFlowRequest, this.msalGuardConfig);\n } else {\n if (this.msalGuardConfig.authRequest) {\n this.authService.loginRedirect({ ...this.msalGuardConfig.authRequest, ...userFlowRequest } as RedirectRequest);\n } else {\n this.authService.loginRedirect(userFlowRequest);\n }\n }\n }\n\n changePassword() {\n let resetPasswordFlowRequest = {\n scopes: ['openid'],\n authority: this.appConfiguration.B2CResetPasswordAuthority,\n };\n\n this.redirectToUserFlow(resetPasswordFlowRequest);\n }\n\n logout() {\n this.authService.logoutRedirect({\n postLogoutRedirectUri: '/',\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AppConfigurationVm } from '../../api-client/app-api.generated';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AppConfigurationService {\n private settings!: AppConfigurationVm;\n\n public get AppBaseUrl() {\n return this.settings.appBaseUrl;\n }\n\n public get ReportApiBaseUrl() {\n return this.settings.reportApiUrl;\n }\n\n public get NewNavbarEnabled() {\n return this.settings.newNavbarEnabled;\n }\n\n public get ShowBuildInfoOnMainPage() {\n return this.settings.showBuildInfoOnMainPage;\n }\n\n public get B2CClientId() {\n return this.settings.azureB2CClientId;\n }\n\n public get B2CAuthorityDomain() {\n return this.settings.azureB2CAuthorityDomain;\n }\n\n public get B2CWebApiScopeUrl() {\n return this.settings.azureB2CWebApiScopeUrl;\n }\n\n public get B2CDomain() {\n return this.settings.azureB2CDomain;\n }\n\n public get B2CSignInAuthority() {\n return `https://${this.settings.azureB2CAuthorityDomain}/${this.settings.azureB2CDomain}/B2C_1_sign_in`;\n }\n\n public get B2CResetPasswordAuthority() {\n return `https://${this.settings.azureB2CAuthorityDomain}/${this.settings.azureB2CDomain}/B2C_1_resetpassword`;\n }\n\n init(result: AppConfigurationVm) {\n this.settings = result;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { GetUserInfoQueryResponse, IUserInfoVm, Permission } from 'src/api-client/report-api.generated';\nimport { ReportAppApiService } from '../api-client/report-api/app-api-service';\nimport { OrganizationApiService } from '../api-client/report-api/organization-api-service';\nimport { IOption } from '../static-data/options';\nimport { AppAuthService } from './app-auth.service';\nimport { UserApiService } from '../api-client/report-api/user-api-service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AppInfoService {\n webAppBuildInfo?: string;\n webAppBuildVersion?: string;\n reportApiBuildVersion?: string;\n userInitialized: boolean = false;\n hasConfirmedWidthSize: boolean = false;\n showOrganizationDropdown = false;\n showCreateReport = false;\n showCreateTemplate = false;\n showOnboardingDialog = false;\n organizationOptions: IOption[] = [];\n currentOrganizationOption?: IOption = undefined;\n public readonly userInfo = new BehaviorSubject(undefined);\n public readonly organizationContext = new BehaviorSubject(undefined);\n userInfo$ = this.userInfo.asObservable();\n organizationContext$ = this.organizationContext.asObservable();\n\n get userProfileName() {\n const { value } = this.userInfo;\n return value ? `${value.name}, ${value.organizationName}` : '';\n }\n\n constructor(\n private appAuth: AppAuthService,\n private reportAppApiService: ReportAppApiService,\n private organizationApiService: OrganizationApiService,\n private userApiService: UserApiService\n ) {\n appAuth.accountInfo$.subscribe(result => {\n if (result) {\n this.init();\n }\n });\n }\n\n async init() {\n\n // var webApiResult = await this.reportAppApiService.getAppInfo();\n // this.reportApiBuildVersion = webApiResult?.buildInfo;\n\n await this.loadUserInfo();\n }\n\n async setOrganizationContext(organizationId: string) {\n if (this.hasPermission(Permission.Change_Current_Context_Organization)) {\n const response = await this.reportAppApiService.setUserCurrentContextOrganizationId(organizationId);\n if (response.success) {\n this.loadUserInfo();\n }\n }\n }\n\n initSmallWidthConfirmation() {\n var confirmedWidth = localStorage.getItem('confirmedWidth');\n if (confirmedWidth) this.hasConfirmedWidthSize = confirmedWidth === 'true';\n }\n\n confirmSmallWidth() {\n this.hasConfirmedWidthSize = true;\n localStorage.setItem('confirmedWidth', this.hasConfirmedWidthSize.toString());\n }\n\n onboardUser() {\n this.showOnboardingDialog = false;\n this.userApiService.setOnboardedUser();\n }\n\n hasPermission(permission: Permission): boolean {\n return !!this.userInfo?.value?.permissions?.includes(permission);\n }\n\n async loadUserInfo(): Promise {\n var userInfoResponse = await this.reportAppApiService.getUserInfo();\n\n if (!userInfoResponse?.result) {\n throw new Error(`User data empty`);\n }\n\n if (!userInfoResponse?.result.exists) {\n await this.reportAppApiService.initilizeUser();\n var existingUserInfo = await this.reportAppApiService.getUserInfo();\n\n if (!existingUserInfo.result) {\n throw new Error(`User data empty`);\n }\n\n this.userInfo.next(existingUserInfo.result.userInfo);\n this.organizationContext.next(existingUserInfo.result.userInfo.organizationContextId);\n } else {\n this.userInfo.next(userInfoResponse.result.userInfo);\n this.organizationContext.next(userInfoResponse.result.userInfo.organizationContextId);\n }\n\n if (this.userInfo.value) {\n this.showOnboardingDialog = this.userInfo.value.onboarded ? false : true;\n }\n\n if (this.hasPermission(Permission.Report_Create)) {\n this.showCreateReport = true;\n }\n\n if (this.hasPermission(Permission.Template_Create)) {\n this.showCreateTemplate = true;\n }\n\n if (this.hasPermission(Permission.Change_Current_Context_Organization)) {\n this.showOrganizationDropdown = true;\n this.organizationApiService.getOrganizationList().then(result => {\n if (result.success) {\n this.organizationOptions = result.result.map(org => {\n if (org.organizationId === result.currentContextOrganizationId)\n this.currentOrganizationOption = { value: org.organizationId, label: org.name };\n return {\n value: org.organizationId,\n label: org.name,\n };\n });\n }\n });\n }\n }\n\n async loadInitUserInfo(): Promise {\n let result!: GetUserInfoQueryResponse;\n\n result = await this.reportAppApiService.getUserInfo();\n\n return result;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpEvent, HttpRequest, HttpHandler, HttpErrorResponse } from '@angular/common/http';\nimport { Observable, of } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { NotificationService } from '../shared/services/notification/notification.service';\nimport { Router } from '@angular/router';\n\n@Injectable()\nexport class ErrorHandlingInterceptor implements HttpInterceptor {\n constructor(private notificationService: NotificationService, private router: Router) {}\n intercept(httpRequest: HttpRequest, next: HttpHandler): Observable> {\n return next.handle(httpRequest).pipe(\n // tap(evt => {}),\n catchError((error: any) => {\n if (error instanceof HttpErrorResponse) {\n switch (error.status) {\n case 401:\n this.notificationService.showError('You are not authorized');\n this.router.navigate(['/home']);\n break;\n default:\n this.notificationService.showError(error?.message ? error.message : 'Something went wrong');\n }\n throw error;\n }\n return of(error);\n })\n );\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { CanActivateFn, Router, UrlTree } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { take, map, filter } from 'rxjs/operators';\nimport { UserRole } from 'src/api-client/report-api.generated';\nimport { AppInfoService } from 'src/app/core/app-info.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AdminService {\n constructor(private router: Router, private appInfoState: AppInfoService) {}\n\n canActivate(): Observable {\n return this.appInfoState.userInfo$.pipe(\n filter(userInfo => !!userInfo),\n take(1),\n map(userInfo => {\n if (userInfo && (userInfo.role === UserRole.Admin || userInfo.role === UserRole.SuperAdmin)) {\n return true;\n } else {\n this.router.navigate(['/home']);\n return false;\n }\n })\n );\n }\n}\n\nexport const AdminGuard: CanActivateFn = (): Observable => {\n const permissionsService = new AdminService(inject(Router), inject(AppInfoService));\n return permissionsService.canActivate();\n};\n","import { Injectable, inject } from '@angular/core';\nimport { CanActivateFn, Router, UrlTree } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { take, map, filter } from 'rxjs/operators';\nimport { UserRole } from 'src/api-client/report-api.generated';\nimport { AppInfoService } from 'src/app/core/app-info.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SysAdminService {\n constructor(private router: Router, private appInfoState: AppInfoService) {}\n\n canActivate(): Observable {\n return this.appInfoState.userInfo$.pipe(\n filter(userInfo => !!userInfo),\n take(1),\n map(userInfo => {\n if (userInfo && userInfo.role === UserRole.SuperAdmin) {\n return true;\n } else {\n this.router.navigate(['/home']);\n return false;\n }\n })\n );\n }\n}\n\nexport const SuperAdminGuard: CanActivateFn = (): Observable => {\n const permissionsService = new SysAdminService(inject(Router), inject(AppInfoService));\n return permissionsService.canActivate();\n};\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LoginPageComponent } from './login-page/login-page.component';\nimport { UiModule } from '../shared/ui/ui.module';\nimport { LoadingUserComponent } from './loading-user/loading-user.component';\n\n@NgModule({\n declarations: [LoginPageComponent, LoadingUserComponent],\n imports: [CommonModule, UiModule],\n exports: [LoginPageComponent, LoadingUserComponent],\n})\nexport class PagesAuthModule {}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { AppAuthService } from 'src/app/core/app-auth.service';\n\n@Component({\n selector: 'esg-loading-user',\n templateUrl: './loading-user.component.html',\n styleUrls: ['./loading-user.component.scss'],\n})\nexport class LoadingUserComponent implements OnInit {\n @Input({ required: true }) userInfoLoading!: boolean;\n constructor(private appAuth: AppAuthService) {}\n\n ngOnInit(): void {}\n\n handleLogout() {\n this.appAuth.logout();\n }\n}\n","
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n Do you need assistance to sign in? Please\n contact support\n
\n
\n\n
\n \n

Loading...

\n
\n \n

the app is waiting for an admin to verify you and assign you to an org - please come back later

\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AppAuthService } from 'src/app/core/app-auth.service';\n\n@Component({\n selector: 'esg-login-page',\n templateUrl: './login-page.component.html',\n styleUrls: ['./login-page.component.scss'],\n})\nexport class LoginPageComponent implements OnInit {\n constructor(private appAuth: AppAuthService, private router: Router) {}\n\n ngOnInit(): void {\n this.appAuth.accountInfo$.subscribe(result => {\n if (result) {\n this.router.navigate(['/home']);\n }\n });\n }\n handleLogin() {\n this.appAuth.login();\n }\n}\n","
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n Do you need assistance to sign in? Please\n contact support\n .\n
\n
\n\n
Sign in to Metizoft ESG
\n\n
\n Sign in\n
\n","import { Component } from '@angular/core';\nimport { AccessTokenStateService } from './access-token-state.service';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\n\n@Component({\n selector: 'esg-access-token-page',\n templateUrl: './access-token-page.component.html',\n styleUrl: './access-token-page.component.scss',\n})\nexport class AccessTokenPageComponent {\n constructor(public state: AccessTokenStateService, private notification: NotificationService) {\n state.initAccessTokenPage();\n }\n\n copyText(text: string) {\n const textArea = document.createElement('textarea');\n textArea.value = text;\n document.body.appendChild(textArea);\n textArea.select();\n document.execCommand('Copy');\n textArea.remove();\n\n // Optional: Display some notification that the text was copied\n this.notification.showSuccess('Text copied!');\n }\n}\n","
\n
\n
{{ item.type }}
\n
{{ item.name }}
\n
\n \n {{ item.token }}\n \n \n
\n
{{ item.addedBy }}
\n
{{ item.createdDateTime | date : 'dd/MM/yyyy, HH:mm' }}
\n
\n Delete\n
\n
\n
\n
\n \n \n \n Save\n \n \n Cancel\n \n
\n","import { Injectable } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { AccessTokenTypes, AccessTokenVm, IAccessTokenVm } from 'src/api-client/report-api.generated';\nimport { AccessTokenApiService } from 'src/app/api-client/report-api/access-token-service';\n\ninterface IAccessTokenUi extends IAccessTokenVm {\n added: boolean;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccessTokenStateService {\n list: IAccessTokenUi[] = [];\n showCreateAccessToken = false;\n accessTokenName = new FormControl('', {\n nonNullable: true,\n validators: [Validators.required, Validators.maxLength(50)],\n });\n constructor(public accessTokenApi: AccessTokenApiService) {}\n\n async initAccessTokenPage() {\n var { result } = await this.accessTokenApi.getAll();\n this.list = result.map(i => ({ ...i, added: false }));\n }\n\n async createAccessToken() {\n this.showCreateAccessToken = true;\n }\n\n async cancelCreateAccessToken() {\n this.showCreateAccessToken = false;\n this.accessTokenName.reset();\n }\n\n async saveAccessToken() {\n if (!this.accessTokenName.valid) return;\n var response = await this.accessTokenApi.create(this.accessTokenName.value, AccessTokenTypes.External);\n if (response.success) {\n var accessToken = response.result;\n this.list.push({\n id: accessToken.id,\n type: AccessTokenTypes.External,\n scopeId: accessToken.id,\n name: accessToken.name,\n createdDateTime: accessToken.createdDateTime,\n addedBy: accessToken.addedBy,\n token: accessToken.token,\n added: true,\n });\n }\n this.showCreateAccessToken = false;\n this.accessTokenName.reset();\n }\n\n async deleteAccessToken(id: string) {\n await this.accessTokenApi.delete(id);\n this.list = this.list.filter(x => x.id !== id);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport _ from 'lodash';\nimport {\n CalculationType,\n CreateIndicatorDefinitionCommandParams,\n GetAllIndicatorDefinitionsQueryVm,\n IndicatorCategory,\n IndicatorDefinitionAccessibility,\n IndicatorNumericValueDefinition,\n IndicatorValueType,\n RecordDuration,\n UpdateIndicatorDefinitionCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { IndicatorDefinitionApiService } from 'src/app/api-client/report-api/indicator-definition-api-service';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\nimport { AccessibilityOptions, IOption } from 'src/app/static-data/options';\nimport { IndicatorDefinitionUi } from './admin-indicator-library.component';\nimport { Constants } from 'src/app/static-data/constants';\nimport { PaginationUi } from 'src/app/shared/components/pagination/pagination.component';\nimport { IMenuItem } from 'src/app/shared/ui/context-menu/context-menu.component';\n\ninterface IndicatorDefinitionForm {\n name: FormControl;\n category: FormControl;\n}\n\n@Injectable()\nexport class IndicatorsLibraryStateService {\n indicatorDefinitions: IndicatorDefinitionUi[] = [];\n selectedIndicatorId?: string;\n loading: boolean = false;\n searchValue: string = '';\n categoryOptions: IOption[] = Object.values(IndicatorCategory).map(c => ({ value: c, label: c }));\n accessibilityOptions: IOption[] = AccessibilityOptions;\n searchTimeout: any;\n sortKey: string = '';\n sortDirection: 'asc' | 'desc' | '' = '';\n\n editedIndicatorId?: string;\n indicatorForm?: IndicatorDefinitionForm;\n indicatorFormGroup?: FormGroup;\n\n currentPagination: PaginationUi = {\n currentPage: 1,\n totalPages: 1,\n pageSize: 50,\n totalCount: 0,\n hasPrevious: false,\n hasNext: false,\n };\n\n filteredCategory: FormControl = new FormControl([], { nonNullable: true });\n filteredAccessibility: FormControl = new FormControl([], { nonNullable: true });\n\n showDeleteDialog: boolean = false;\n\n showStickyDivider: boolean = false;\n\n constructor(\n private indicatorDefinitionsApiService: IndicatorDefinitionApiService,\n private notificationService: NotificationService\n ) {\n this.init();\n }\n\n async init() {\n try {\n this.loading = true;\n await this.getIndicators();\n } catch (error) {\n this.notificationService.showError('Failed to Load Indicators');\n } finally {\n this.loading = false;\n }\n }\n\n async getIndicators() {\n const response = await this.indicatorDefinitionsApiService.getAll(\n false,\n this.searchValue,\n Object.values(IndicatorCategory).filter(type => this.filteredCategory.value.find(opt => type === opt.value)),\n Object.values(IndicatorDefinitionAccessibility).filter(type =>\n this.filteredAccessibility.value.find(opt => type === opt.value)\n ),\n this.sortDirection ? this.sortKey + ' ' + this.sortDirection : undefined,\n this.currentPagination.currentPage,\n this.currentPagination.pageSize\n );\n\n this.currentPagination = {\n currentPage: response.result.currentPage,\n totalPages: response.result.totalPages,\n pageSize: response.result.pageSize,\n totalCount: response.result.totalCount,\n hasPrevious: response.result.hasPrevious,\n hasNext: response.result.hasNext,\n };\n\n this.indicatorDefinitions = response.result.items.map(indicator => ({\n id: indicator.id,\n name: indicator.name,\n category: indicator.category,\n valueType: indicator.valueType,\n description: indicator.description,\n tableValueDefinition: indicator.tableValueDefinition,\n numericValueDefinition: indicator.numericValueDefinition,\n frameworkStandards: indicator.frameworkStandards,\n sectors: indicator.sectors,\n isIndicatorFromSystem: indicator.isIndicatorFromSystem,\n rawDataSourceIds: indicator.indicatorRawDataSourceIds,\n indicatorDefinitionDataSourceIds: indicator.indicatorDefinitionAsDataSourceIds,\n organizationAccessIds: indicator.organizationAccessIds,\n recordDuration: indicator.recordDuration,\n accessibility: this.setAccessibility(indicator),\n createdBy: indicator.createdBy,\n }));\n }\n\n filterMenuProvider = (): IMenuItem[] => [\n { id: 'clear', label: 'Clear all filters', onClick: () => this.clearFilters() },\n ];\n\n clearFilters() {\n this.filteredCategory.setValue([]);\n this.filteredAccessibility.setValue([]);\n this.handleFilterChange();\n }\n\n handleFilterChange() {\n this.currentPagination = { ...this.currentPagination, currentPage: 1, hasNext: false, hasPrevious: false };\n this.getIndicators();\n }\n\n handlePaginationChange(newPaginationData: PaginationUi) {\n this.currentPagination = newPaginationData;\n this.getIndicators();\n }\n\n onSearchValueChange(newSearchValue: string) {\n this.searchValue = newSearchValue;\n\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n this.searchTimeout = setTimeout(() => {\n this.handleFilterChange();\n }, 500);\n }\n\n setAccessibility(indicatorDefinition: GetAllIndicatorDefinitionsQueryVm) {\n if (!indicatorDefinition.organizationAccessIds || indicatorDefinition.organizationAccessIds.length === 0) {\n return 'Not set';\n }\n if (\n indicatorDefinition.organizationAccessIds.length === 1 &&\n indicatorDefinition.organizationAccessIds.includes(Constants.GlobalKey)\n ) {\n return 'Global';\n }\n return 'Custom';\n }\n\n selectIndicator(indicatorId: string) {\n this.resetForm();\n this.editedIndicatorId = undefined;\n this.selectedIndicatorId = indicatorId;\n }\n\n closeSelectedIndicator() {\n this.selectedIndicatorId = undefined;\n this.getIndicators();\n }\n\n createIndicator() {\n this.editedIndicatorId = undefined;\n this.indicatorForm = {\n name: new FormControl('', { nonNullable: true, validators: [Validators.required] }),\n category: new FormControl(this.categoryOptions[0], {\n validators: [Validators.required],\n nonNullable: true,\n }),\n };\n this.indicatorFormGroup = new FormGroup(this.indicatorForm);\n }\n\n async createIndicatorSubmit() {\n const category = Object.values(IndicatorCategory).find(type => type === this.indicatorForm?.category.value.value);\n if (!this.indicatorFormGroup || !this.indicatorFormGroup?.valid || !category) {\n this.cancelCreate();\n return;\n }\n\n const name = this.indicatorFormGroup.controls.name.value;\n this.resetForm();\n\n try {\n const response = await this.indicatorDefinitionsApiService.createIndicatorDefinition(\n new CreateIndicatorDefinitionCommandParams({\n name: name,\n category: category,\n valueType: IndicatorValueType.Numeric,\n description: '',\n numericValueDefinition: new IndicatorNumericValueDefinition({\n unit: 'Number',\n unitLabel: '',\n calculationType: CalculationType.Sum,\n }),\n frameworkStandards: '',\n sectors: [],\n indicatorRawDataSourceIds: [],\n indicatorDefinitionAsDataSourceIds: [],\n recordDuration: RecordDuration.DateFromTo,\n })\n );\n if (response.success) {\n this.getIndicators();\n }\n } catch (error) {\n this.notificationService.showError('Failed to create indicator');\n }\n }\n\n cancelCreate() {\n this.resetForm();\n }\n\n editIndicator(indicatorId: string) {\n this.editedIndicatorId = indicatorId;\n const indicator = this.indicatorDefinitions.find(i => i.id === indicatorId);\n if (indicator) {\n this.indicatorForm = {\n name: new FormControl(indicator.name, { nonNullable: true }),\n category: new FormControl(\n this.categoryOptions.find(opt => opt.value === indicator.category) || this.categoryOptions[0],\n { nonNullable: true }\n ),\n };\n this.indicatorFormGroup = new FormGroup(this.indicatorForm);\n }\n }\n\n async updateIndicatorSubmit() {\n const indicator = this.indicatorDefinitions.find(i => i.id === this.editedIndicatorId);\n if (!this.indicatorFormGroup || !this.indicatorFormGroup?.dirty || !this.indicatorFormGroup?.valid || !indicator) {\n this.cancelEdit();\n return;\n }\n\n const name = this.indicatorFormGroup.controls.name.value;\n const category = Object.values(IndicatorCategory).find(type => type === this.indicatorForm?.category.value.value);\n this.editedIndicatorId = undefined;\n this.resetForm();\n\n try {\n const response = await this.indicatorDefinitionsApiService.updateIndicatorDefinition(\n new UpdateIndicatorDefinitionCommandParams({\n id: indicator.id,\n name: name,\n description: indicator.description,\n frameworkStandards: indicator.frameworkStandards,\n category: category || indicator.category,\n sectors: indicator.sectors,\n tableValueDefinition: indicator.tableValueDefinition,\n numericValueDefinition: indicator.numericValueDefinition,\n indicatorRawDataSourceIds: indicator.rawDataSourceIds,\n indicatorDefinitionAsDataSourceIds: indicator.indicatorDefinitionDataSourceIds,\n organizationAccessIds: indicator.organizationAccessIds,\n valueType: indicator.valueType,\n recordDuration: indicator.recordDuration,\n })\n );\n if (response.success) {\n this.getIndicators();\n }\n } catch (error) {\n this.notificationService.showError('Failed to update indicator');\n }\n }\n\n cancelEdit() {\n this.editedIndicatorId = undefined;\n this.resetForm();\n }\n\n initiateDelete() {\n this.showDeleteDialog = true;\n }\n\n async deleteIndicatorSubmit() {\n this.showDeleteDialog = false;\n const definition = this.indicatorDefinitions.find(def => def.id === this.selectedIndicatorId);\n if (definition) {\n const response = await this.indicatorDefinitionsApiService.deleteIndicatorDefinition(definition.id);\n if (response.success) {\n this.selectedIndicatorId = undefined;\n this.getIndicators();\n } else {\n this.notificationService.showError('Failed to delete indicator', response.message);\n }\n }\n }\n\n cancelDelete() {\n this.showDeleteDialog = false;\n }\n\n resetForm() {\n this.indicatorForm = undefined;\n this.indicatorFormGroup = undefined;\n }\n\n handleStickyDivider(tabEntry: IntersectionObserverEntry) {\n this.showStickyDivider = tabEntry.intersectionRatio === 0;\n }\n\n handleSelectCategory(category: IOption) {\n if (this.indicatorForm && this.indicatorForm.category.value !== category) {\n this.indicatorForm.category.setValue(category);\n this.indicatorForm.category.markAsDirty();\n }\n }\n\n onSortChange(event: { key: string; direction: 'asc' | 'desc' | '' }) {\n this.sortKey = event.key;\n this.sortDirection = event.direction;\n this.getIndicators();\n }\n}\n","import { Component } from '@angular/core';\nimport { IndicatorsLibraryStateService } from './admin-indicator-library-state.service';\nimport {\n IndicatorCategory,\n IndicatorNumericValueDefinition,\n IndicatorTableValueDefinition,\n IndicatorValueType,\n RecordDuration,\n SectorType,\n} from 'src/api-client/report-api.generated';\nimport { IMenuItem } from 'src/app/shared/ui/context-menu/context-menu.component';\n\nexport interface IndicatorDefinitionUi {\n id: string;\n name: string;\n category: IndicatorCategory;\n valueType: IndicatorValueType;\n description: string;\n numericValueDefinition: IndicatorNumericValueDefinition | undefined;\n tableValueDefinition: IndicatorTableValueDefinition | undefined;\n frameworkStandards: string;\n sectors: SectorType[];\n rawDataSourceIds: string[];\n indicatorDefinitionDataSourceIds: string[];\n organizationAccessIds?: string[];\n isIndicatorFromSystem: boolean;\n recordDuration: RecordDuration;\n isUsed?: boolean;\n accessibility?: string;\n createdBy?: string;\n}\n\n@Component({\n selector: 'esg-admin-indicator-library',\n templateUrl: './admin-indicator-library.component.html',\n styleUrl: './admin-indicator-library.component.scss',\n providers: [IndicatorsLibraryStateService],\n})\nexport class AdminIndicatorLibraryComponent {\n get isIndicatorDetailsOpen(): boolean {\n return this.state.selectedIndicatorId !== undefined;\n }\n\n constructor(public state: IndicatorsLibraryStateService) {}\n\n handleIndicatorSingleClick(indicatorId: string) {\n this.state.selectIndicator(indicatorId);\n }\n\n handleIndicatorDoubleClick(indicatorId: string) {\n this.state.editIndicator(indicatorId);\n }\n\n handleCreateIndicatorClick(event: Event) {\n event.stopPropagation();\n this.state.createIndicator();\n }\n\n handleSubmitCreate() {\n this.state.createIndicatorSubmit();\n }\n\n handleCreateIndicatorCancel() {\n this.state.cancelCreate();\n }\n\n handleUpdateIndicatorSubmit() {\n this.state.updateIndicatorSubmit();\n }\n\n handleEditIndicatorCancel() {\n this.state.cancelEdit();\n }\n\n handleInitiateDelete() {\n this.state.initiateDelete();\n }\n\n handleDeleteSubmit() {\n this.state.deleteIndicatorSubmit();\n }\n\n handleCancelDelete() {\n this.state.cancelDelete();\n }\n\n detailsMenuProvider = (): IMenuItem[] => [\n {\n id: 'delete',\n label: 'Delete',\n onClick: () => this.state.initiateDelete(),\n },\n ];\n}\n","\n\n

Indicator Library

\n \n
\n \n \n
\n \n \n \n \n \n \n \n \n
\n \n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n
\n
\n {{ indicator.name }}\n \n {{ indicator.category }}\n \n {{ indicator.accessibility }}\n \n {{ indicator.createdBy }}\n \n \n
\n \n \n \n \n \n
\n \n \n
\n \n \n \n \n \n
\n
\n\n \n\n\n\n\n\n","import { Injectable } from '@angular/core';\nimport {\n CalculationType,\n IndicatorCategory,\n IndicatorNumericValueDefinition,\n IndicatorTableValueDefinition,\n IndicatorValueType,\n RecordDuration,\n SectorType,\n UpdateIndicatorDefinitionCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { IndicatorDefinitionApiService } from 'src/app/api-client/report-api/indicator-definition-api-service';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport {\n AccessibilityOptions,\n AccessibilityTypes,\n DurationOptions,\n IGroupedOptions,\n IOption,\n} from 'src/app/static-data/options';\nimport { SectorApiService } from 'src/app/api-client/report-api/sector-api-service';\nimport { Subscription, debounceTime, pairwise, startWith } from 'rxjs';\nimport { UnitService } from 'src/app/shared/services/unit/unit.service';\nimport { IndicatorDefinitionUi } from '../admin-indicator-library.component';\nimport { defaultStaticTable } from '../indicator-definition-table/default-table-definitions';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\nimport { IndicatorDataSourceApiService } from 'src/app/api-client/report-api/indicator-data-source-api-service';\nimport { FormatUnitWithUnicodePipe } from 'src/app/shared/pipes/format-unit-with-unicode.pipe';\nimport { OrganizationApiService } from 'src/app/api-client/report-api/organization-api-service';\nimport { Constants } from 'src/app/static-data/constants';\n\ninterface IndicatorDefinitionForm {\n name: FormControl;\n accessiblity: FormControl;\n accesibilityCustomOrganiations: FormControl;\n valueType: FormControl;\n unit: FormControl;\n unitLabel: FormControl;\n tableDefinition: FormControl;\n description: FormControl;\n referenceStandars: FormControl;\n category: FormControl;\n sectors: FormControl;\n rawDataSources: FormControl;\n indicatorDefinitionDataSources: FormControl;\n hideIndicatorData: FormControl;\n calculationType: FormControl;\n recordDuration: FormControl;\n}\n\n@Injectable()\nexport class IndicatorDefinitionDetailsStateService {\n private indicatorAccessibilitySubscription?: Subscription;\n private indicatoCustomrAccessibilitySubscription?: Subscription;\n private unitOptionsSubscription?: Subscription;\n private sectorsSubscription?: Subscription;\n private rawSourcesSubscription?: Subscription;\n private indicatorSourcesSubscription?: Subscription;\n readonly valueTypeEnum = IndicatorValueType;\n\n indicatorDefinition?: IndicatorDefinitionUi;\n indicatorForm?: IndicatorDefinitionForm;\n indicatorFormGroup?: FormGroup;\n\n accessibilityTypesEnum = AccessibilityTypes;\n accessibilityOptions: IOption[] = AccessibilityOptions;\n organizationOptions: IOption[] = [];\n\n unitOptions: IOption[] = [];\n sectorOptions: IOption[] = [];\n rawDataSourceOptions: IOption[] = [];\n indicatorDefinitionDataSourceOptions: IOption[] = [];\n categoryOptions: IOption[] = Object.values(IndicatorCategory).map(c => ({ value: c, label: c }));\n valueTypeOptions: IOption[] = [\n { value: IndicatorValueType.Numeric, label: 'Single Value' },\n { value: IndicatorValueType.Table, label: 'Table Value' },\n { value: IndicatorValueType.Narrative, label: 'Narrative Value' },\n ];\n recordDurationOptions = DurationOptions;\n calculationTypeOptions: IOption[] = [\n { value: CalculationType.Sum, label: 'Summarize' },\n { value: CalculationType.Average, label: 'Average (Mean)' },\n { value: CalculationType.LastValue, label: 'Last value' },\n ];\n\n loading: boolean = false;\n isTableDialogOpen = false;\n\n constructor(\n private indicatorDefinitionsApiService: IndicatorDefinitionApiService,\n private indicatorDataSourceClientApiService: IndicatorDataSourceApiService,\n private sectorApiService: SectorApiService,\n private unitService: UnitService,\n private notificationService: NotificationService,\n private formatUnitWithUnicodePipe: FormatUnitWithUnicodePipe,\n private organizationApiService: OrganizationApiService\n ) {\n this.unitOptionsSubscription = this.unitService.units$.subscribe(units => {\n this.unitOptions = Object.values(units).map(unit => ({\n value: unit.key,\n label: this.formatUnitWithUnicodePipe.transform(unit.name) || unit.name,\n }));\n });\n }\n\n async init(indicatorId: string) {\n try {\n this.loading = true;\n await Promise.all([\n this.getOrganizationOptions(),\n this.getCompatibleRawDataSources(indicatorId),\n this.getCompatibleIndicatorDefinitionDataSources(indicatorId),\n this.getSectors(),\n ]);\n await this.getIndicatorDetails(indicatorId);\n } catch (error) {\n this.notificationService.showError('Unable to load indicator details');\n } finally {\n this.loading = false;\n }\n }\n\n async getIndicatorDetails(indicatorId: string) {\n const response = await this.indicatorDefinitionsApiService.getById(indicatorId);\n this.indicatorDefinition = {\n id: response.result.id,\n name: response.result.name,\n category: response.result.category,\n valueType: response.result.valueType,\n description: response.result.description,\n tableValueDefinition: response.result.tableValueDefinition,\n numericValueDefinition: response.result.numericValueDefinition,\n frameworkStandards: response.result.frameworkStandards,\n sectors: response.result.sectors,\n rawDataSourceIds: response.result.indicatorRawDataSourceIds,\n indicatorDefinitionDataSourceIds: response.result.indicatorDefinitionAsDataSourceIds,\n organizationAccessIds: response.result.organizationAccessIds,\n isIndicatorFromSystem: response.result.isIndicatorFromSystem,\n recordDuration: response.result.recordDuration,\n isUsed: response.result.isUsed,\n };\n\n const filteredSectors = response.result.sectors.map(sectorValue => {\n const matchingSector = this.sectorOptions.find(sectorOption => sectorOption.value === sectorValue);\n return matchingSector || { value: sectorValue, label: sectorValue };\n });\n\n // const accessibility = (response.result.organizationAccessIds || [draftOption.value]).map(organizationAccessId => {\n // const accessibilityOption = this.accessibilityOptions.find(option => option.value === organizationAccessId);\n // return accessibilityOption || { value: organizationAccessId, label: organizationAccessId };\n // });\n\n const organizationAccessIds = response.result.organizationAccessIds;\n const accessibility = !organizationAccessIds\n ? AccessibilityOptions[0]\n : organizationAccessIds.length === 1 && organizationAccessIds[0] === Constants.GlobalKey\n ? AccessibilityOptions[1]\n : AccessibilityOptions[2];\n\n const accesibilityCustomOrganiations =\n organizationAccessIds && accessibility.value === AccessibilityTypes.Custom\n ? organizationAccessIds.map(organizationAccessId => {\n const organizationOption = this.organizationOptions.find(option => option.value === organizationAccessId);\n return organizationOption || { value: organizationAccessId, label: organizationAccessId };\n })\n : [];\n\n const rawDataSources = response.result.indicatorRawDataSourceIds.map(sourceId => {\n const matchingSource = this.rawDataSourceOptions.find(source => source.value === sourceId);\n return matchingSource || { value: sourceId, label: sourceId };\n });\n\n const indicatorDefinitionDataSources = response.result.indicatorDefinitionAsDataSourceIds.map(sourceId => {\n const matchingSource = this.indicatorDefinitionDataSourceOptions.find(source => source.value === sourceId);\n return matchingSource || { value: sourceId, label: sourceId };\n });\n\n this.indicatorForm = {\n name: new FormControl(response.result.name, {\n nonNullable: true,\n }),\n accessiblity: new FormControl(accessibility, {\n nonNullable: true,\n }),\n accesibilityCustomOrganiations: new FormControl(accesibilityCustomOrganiations, { nonNullable: true }),\n valueType: new FormControl(\n this.valueTypeOptions.find(opt => opt.value === response.result.valueType) || this.valueTypeOptions[0],\n { nonNullable: true }\n ),\n recordDuration: new FormControl(\n this.recordDurationOptions.find(opt => opt.value === response.result.recordDuration) ||\n this.recordDurationOptions[0],\n {\n nonNullable: true,\n }\n ),\n unit: new FormControl(\n {\n value:\n response.result.valueType === IndicatorValueType.Table\n ? undefined\n : response.result.numericValueDefinition?.unit\n ? this.unitOptions.find(opt => opt.value === response.result.numericValueDefinition?.unit) || {\n value: response.result.numericValueDefinition?.unit,\n label: response.result.numericValueDefinition?.unit,\n }\n : undefined,\n disabled: response.result.valueType === IndicatorValueType.Table,\n },\n {\n nonNullable: true,\n }\n ),\n unitLabel: new FormControl(\n {\n value:\n response.result.valueType === IndicatorValueType.Table\n ? ''\n : response.result.numericValueDefinition?.unitLabel || '',\n disabled: response.result.valueType === IndicatorValueType.Table,\n },\n {\n nonNullable: true,\n }\n ),\n tableDefinition: new FormControl(\n response.result.tableValueDefinition || undefined,\n {\n nonNullable: true,\n }\n ),\n description: new FormControl(response.result.description, {\n nonNullable: true,\n }),\n referenceStandars: new FormControl(response.result.frameworkStandards, {\n nonNullable: true,\n }),\n category: new FormControl(\n this.categoryOptions.find(opt => opt.value === response.result.category) || this.categoryOptions[0],\n {\n nonNullable: true,\n }\n ),\n sectors: new FormControl(filteredSectors, {\n nonNullable: true,\n }),\n rawDataSources: new FormControl(\n { value: rawDataSources, disabled: this.rawDataSourceOptions.length < 1 },\n {\n nonNullable: true,\n }\n ),\n indicatorDefinitionDataSources: new FormControl(\n { value: indicatorDefinitionDataSources, disabled: this.indicatorDefinitionDataSourceOptions.length < 1 },\n {\n nonNullable: true,\n }\n ),\n calculationType: new FormControl(\n {\n value:\n response.result.valueType === IndicatorValueType.Table\n ? undefined\n : this.calculationTypeOptions.find(\n opt => opt.value === response.result.numericValueDefinition?.calculationType\n ) || this.calculationTypeOptions[0],\n disabled: response.result.valueType === IndicatorValueType.Table,\n },\n {\n nonNullable: true,\n }\n ),\n hideIndicatorData: new FormControl(false, { nonNullable: true }),\n };\n\n this.indicatorForm.hideIndicatorData.setValue(response.result.hideIndicatorData || false);\n this.indicatorFormGroup = new FormGroup(this.indicatorForm);\n\n this.sectorsSubscription = this.indicatorForm.sectors.valueChanges.pipe(debounceTime(500)).subscribe(() => {\n this.updateIndicator();\n });\n\n this.rawSourcesSubscription = this.indicatorForm.rawDataSources.valueChanges\n .pipe(debounceTime(500))\n .subscribe(() => {\n this.updateIndicator();\n });\n\n this.indicatorSourcesSubscription = this.indicatorForm.indicatorDefinitionDataSources.valueChanges\n .pipe(debounceTime(500))\n .subscribe(() => {\n this.updateIndicator();\n });\n\n this.indicatorAccessibilitySubscription = this.indicatorForm.accessiblity.valueChanges\n .pipe(debounceTime(500))\n .subscribe(() => {\n this.updateIndicator();\n });\n\n this.indicatoCustomrAccessibilitySubscription = this.indicatorForm.accesibilityCustomOrganiations.valueChanges\n .pipe(debounceTime(500))\n .subscribe(() => {\n this.updateIndicator();\n });\n }\n\n async getSectors() {\n const response = await this.sectorApiService.getAll();\n this.sectorOptions = response.result.map(s => ({ value: s.type, label: s.name }));\n }\n\n async getOrganizationOptions() {\n const response = await this.organizationApiService.getOrganizationList();\n this.organizationOptions = response.result\n .filter(o => o.organizationId !== Constants.GlobalKey)\n .map(org => ({ value: org.organizationId, label: org.name }));\n }\n\n async getCompatibleRawDataSources(indicatorDefinitionId: string) {\n const response = await this.indicatorDataSourceClientApiService.getRawDataSourcesCompatibleWithIndicatorDefinition(\n indicatorDefinitionId\n );\n this.rawDataSourceOptions = response.result.map(source => ({ value: source.id, label: source.name }));\n if (this.rawDataSourceOptions.length) {\n this.indicatorFormGroup?.controls.rawDataSources.enable();\n }\n }\n\n async getCompatibleIndicatorDefinitionDataSources(indicatorDefinitionId: string) {\n const response =\n await this.indicatorDataSourceClientApiService.getIndicatorDefinitionDataSourcesCompatibleWithIndicatorDefinition(\n indicatorDefinitionId\n );\n this.indicatorDefinitionDataSourceOptions = response.result.map(source => ({\n value: source.id,\n label: source.name,\n }));\n if (this.indicatorDefinitionDataSourceOptions.length) {\n this.indicatorFormGroup?.controls.indicatorDefinitionDataSources.enable();\n }\n }\n\n async updateIndicator() {\n const category = Object.values(IndicatorCategory).find(type => type === this.indicatorForm?.category.value.value);\n if (\n this.indicatorDefinition &&\n this.indicatorFormGroup &&\n this.indicatorFormGroup.valid &&\n this.indicatorFormGroup.dirty &&\n category\n ) {\n this.indicatorFormGroup.markAsPristine();\n const valueType = this.indicatorFormGroup.controls.valueType.value.value as IndicatorValueType;\n let oganizationAccessIds: string[] | undefined = undefined;\n\n switch (this.indicatorFormGroup.controls.accessiblity.value.value) {\n case AccessibilityTypes.Global:\n oganizationAccessIds = [Constants.GlobalKey];\n break;\n case AccessibilityTypes.Custom:\n oganizationAccessIds = this.indicatorFormGroup.controls.accesibilityCustomOrganiations.value.map(\n o => o.value\n );\n if (oganizationAccessIds.length === 0) {\n oganizationAccessIds = undefined;\n }\n break;\n }\n const response = await this.indicatorDefinitionsApiService.updateIndicatorDefinition(\n new UpdateIndicatorDefinitionCommandParams({\n id: this.indicatorDefinition.id,\n name: this.indicatorFormGroup.controls.name.value,\n description: this.indicatorFormGroup.controls.description.value,\n frameworkStandards: this.indicatorFormGroup.controls.referenceStandars.value,\n category: category,\n sectors: this.indicatorFormGroup.controls.sectors.value.map(s => s.value as SectorType),\n numericValueDefinition:\n valueType === IndicatorValueType.Table\n ? this.indicatorDefinition.numericValueDefinition\n : new IndicatorNumericValueDefinition({\n unit: this.indicatorFormGroup.controls.unit.value?.value || '',\n unitLabel: this.indicatorFormGroup.controls.unitLabel.value,\n calculationType: (this.indicatorFormGroup.controls.calculationType.value?.value ||\n CalculationType.Average) as CalculationType,\n }),\n tableValueDefinition:\n valueType === IndicatorValueType.Table\n ? this.indicatorFormGroup.controls.tableDefinition.value\n : this.indicatorDefinition.tableValueDefinition,\n indicatorRawDataSourceIds: this.indicatorFormGroup.controls.rawDataSources.value.map(s => s.value),\n indicatorDefinitionAsDataSourceIds: this.indicatorFormGroup.controls.indicatorDefinitionDataSources.value.map(\n s => s.value\n ),\n organizationAccessIds: oganizationAccessIds,\n valueType: valueType,\n recordDuration: this.indicatorFormGroup.controls.recordDuration.value.value as RecordDuration,\n hideIndicatorData:\n this.indicatorFormGroup.controls.hideIndicatorData.value !== null &&\n this.indicatorFormGroup.controls.hideIndicatorData.value !== undefined\n ? this.indicatorFormGroup.controls.hideIndicatorData.value\n : undefined,\n })\n );\n if (response.validationErrors) {\n this.notificationService.showError(response.validationErrors.join('\\n'));\n } else {\n this.closeTableDialog();\n }\n }\n }\n\n async updateAndResetSources() {\n this.indicatorForm?.rawDataSources.setValue([]);\n this.indicatorForm?.indicatorDefinitionDataSources.setValue([]);\n this.indicatorForm?.rawDataSources.disable();\n this.indicatorForm?.indicatorDefinitionDataSources.disable();\n await this.updateIndicator();\n if (this.indicatorDefinition?.id) {\n await Promise.all([\n this.getCompatibleRawDataSources(this.indicatorDefinition.id),\n this.getCompatibleIndicatorDefinitionDataSources(this.indicatorDefinition.id),\n ]);\n }\n }\n\n handleNameChange(value: string) {\n if (this.indicatorDefinition) {\n this.indicatorDefinition.name = value;\n this.indicatorFormGroup?.markAsDirty();\n this.updateIndicator();\n }\n }\n\n handleValueTypeChange(option: IOption) {\n if (!this.indicatorForm || this.indicatorForm.valueType.value === option) return;\n\n this.indicatorForm.valueType.setValue(option);\n this.indicatorForm.valueType.markAsDirty();\n\n if (option.value === IndicatorValueType.Table) {\n if (!this.indicatorForm.tableDefinition.value) {\n this.indicatorForm.tableDefinition.setValue(defaultStaticTable);\n }\n this.indicatorForm.unit.disable();\n this.indicatorForm.unitLabel.disable();\n this.indicatorForm.calculationType.disable();\n this.indicatorForm.unit.setValue(undefined);\n this.indicatorForm.unitLabel.setValue('');\n this.indicatorForm.calculationType.setValue(undefined);\n } else {\n this.indicatorForm.unit.enable();\n this.indicatorForm.unitLabel.enable();\n this.indicatorForm.calculationType.enable();\n this.indicatorForm.unit.setValue(\n this.unitOptions.find(opt => opt.value === this.indicatorDefinition?.numericValueDefinition?.unit)\n );\n this.indicatorForm.unitLabel.setValue(this.indicatorDefinition?.numericValueDefinition?.unitLabel || '');\n this.indicatorForm.calculationType.setValue(\n this.calculationTypeOptions.find(\n opt => opt.value === this.indicatorDefinition?.numericValueDefinition?.calculationType\n )\n );\n }\n this.updateAndResetSources();\n }\n\n handleSelectUnit(unit: IOption) {\n if (this.indicatorForm && this.indicatorForm.unit.value !== unit) {\n this.indicatorForm.unit.setValue(unit);\n this.indicatorForm.unit.markAsDirty();\n this.indicatorForm.unitLabel.setValue(unit.label);\n this.indicatorForm.unitLabel.markAsDirty();\n this.updateAndResetSources();\n }\n }\n\n handleSelectCalculationType(option: IOption) {\n if (this.indicatorForm && this.indicatorForm.calculationType.value !== option) {\n this.indicatorForm.calculationType.setValue(option);\n this.indicatorForm.calculationType.markAsDirty();\n this.updateAndResetSources();\n }\n }\n\n handleTableDefinitionChange(tableDefinition: IndicatorTableValueDefinition) {\n if (this.indicatorForm) {\n this.indicatorForm.tableDefinition.setValue(tableDefinition);\n this.indicatorForm.tableDefinition.markAsDirty();\n this.updateAndResetSources();\n }\n }\n\n handleDropdownChange(formControl: FormControl, option: IOption) {\n if (option !== formControl.value) {\n formControl.setValue(option);\n formControl.markAsDirty();\n this.updateIndicator();\n }\n }\n\n openTableDialog() {\n this.isTableDialogOpen = true;\n }\n\n closeTableDialog() {\n this.isTableDialogOpen = false;\n }\n\n handleHideIndicatorDataChange() {\n if (this.indicatorForm) {\n this.indicatorForm.hideIndicatorData.setValue(!this.indicatorForm?.hideIndicatorData.value);\n this.indicatorForm.hideIndicatorData.markAsDirty();\n this.updateIndicator();\n }\n }\n\n ngOnDestroy() {\n this.indicatorAccessibilitySubscription?.unsubscribe();\n this.unitOptionsSubscription?.unsubscribe();\n this.sectorsSubscription?.unsubscribe();\n this.rawSourcesSubscription?.unsubscribe();\n this.indicatorSourcesSubscription?.unsubscribe();\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { IndicatorDefinitionDetailsStateService } from './indicator-definition-details-state.service';\nimport { FormatUnitWithUnicodePipe } from 'src/app/shared/pipes/format-unit-with-unicode.pipe';\n\n@Component({\n selector: 'esg-indicator-definition-details',\n templateUrl: './indicator-definition-details.component.html',\n styleUrl: './indicator-definition-details.component.scss',\n providers: [FormatUnitWithUnicodePipe, IndicatorDefinitionDetailsStateService],\n})\nexport class IndicatorDefinitionDetailsComponent {\n @Input({ required: true }) selectedIndicatorId!: string;\n\n constructor(public state: IndicatorDefinitionDetailsStateService) {}\n\n ngOnInit(): void {\n this.state.init(this.selectedIndicatorId);\n }\n\n onTableSetupClick() {\n this.state.openTableDialog();\n }\n\n onTableSetupClose() {\n this.state.closeTableDialog();\n }\n}\n","\n\n
\n Basic Details\n Name\n
\n \n
\n Accessibility\n
\n \n \n
\n Indicator value\n
\n \n \n Table Setup\n \n
\n \n Hide data tab\n
\n \n
\n Record Duration\n
\n \n
\n Unit\n
\n \n
\n Unit Label\n
\n \n
\n Calculation\n
\n \n
\n Disclosure Reference\n
\n \n
\n Description\n
\n \n
\n Tags\n Main Topic\n
\n \n
\n Relevant Sectors\n
\n \n
\n Raw Data Sources\n
\n \n
\n Indicator Data Sources\n
\n \n
\n
\n \n Disclosure Reference\n
\n \n
\n Description\n
\n \n
\n Tags\n Main Topic\n
\n \n
\n Relevant Sectors\n
\n \n
\n
\n
\n \n
\n","import {\n CalculationType,\n CellValueType,\n ColumnDefinition,\n DynamicRowsDataSource,\n IndicatorTableValueDefinition,\n RowDefinition,\n RowsType,\n} from 'src/api-client/report-api.generated';\n\nexport const defaultStaticTable = new IndicatorTableValueDefinition({\n tableLabel: '',\n editableSchema: true,\n columns: [\n new ColumnDefinition({\n columnId: 'staticColumn',\n header: 'Fixed Column',\n description: 'Description',\n unit: '',\n type: CellValueType.StaticText,\n }),\n new ColumnDefinition({\n columnId: 'numeric',\n header: 'Number',\n description: 'Number input',\n unit: 'Number',\n calculationType: CalculationType.Sum,\n type: CellValueType.Numeric,\n }),\n new ColumnDefinition({\n columnId: 'currency',\n header: 'Currency',\n description: 'Currency input',\n unit: 'USD',\n calculationType: CalculationType.Average,\n type: CellValueType.Currency,\n }),\n ],\n rows: [\n new RowDefinition({\n rowId: 'static1',\n header: 'Static 1',\n description: '',\n }),\n new RowDefinition({\n rowId: 'static2',\n header: 'Static 2',\n description: '',\n }),\n ],\n rowsType: RowsType.Static,\n});\n\nexport const defaultDynamicTable = new IndicatorTableValueDefinition({\n tableLabel: 'Default Table',\n editableSchema: true,\n columns: [\n new ColumnDefinition({\n columnId: 'regions',\n header: 'Regions',\n description: 'Description',\n unit: '',\n type: CellValueType.StaticText,\n }),\n new ColumnDefinition({\n columnId: 'numeric',\n header: 'Number',\n description: 'Number input',\n unit: 'Number',\n type: CellValueType.Numeric,\n }),\n new ColumnDefinition({\n columnId: 'currency',\n header: 'Currency',\n description: 'Currency input',\n unit: 'USD',\n type: CellValueType.Currency,\n }),\n ],\n rows: [],\n rowsType: RowsType.Dynamic,\n dynamicRowsDataSource: DynamicRowsDataSource.OrganizationRegionNames,\n});\n","import { Component, EventEmitter, Input, Output, OnChanges, SimpleChanges } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { Subscription, debounceTime } from 'rxjs';\nimport {\n IColumnDefinition,\n IRowDefinition,\n CellValueType,\n IndicatorTableValueDefinition,\n DynamicRowsDataSource,\n RowsType,\n RowDefinition,\n} from 'src/api-client/report-api.generated';\nimport {\n GenericColumnType,\n GenericColumnUi,\n GenericRowUi,\n} from 'src/app/shared/table/generic-table/generic-table.types';\nimport { IOption } from 'src/app/static-data/options';\nimport { KeyboardShortcutsDirective } from 'src/app/shared/directives/keyboard-shortcuts.directive';\nimport { IndicatorDefinitionApiService } from 'src/app/api-client/report-api/indicator-definition-api-service';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\n\ninterface IndicatorJsonTableInput {\n columns: IColumnDefinition[];\n rows: IRowDefinition[];\n dynamicRowsDataSource?: DynamicRowsDataSource;\n}\n\n@Component({\n selector: 'esg-indicator-definition-table',\n templateUrl: './indicator-definition-table.component.html',\n styleUrls: ['./indicator-definition-table.component.scss'],\n host: {\n '(onEnterKey)': 'handleOnEnter()',\n },\n hostDirectives: [{ directive: KeyboardShortcutsDirective, outputs: ['onEnterKey'] }],\n})\nexport class IndicatorDefinitionTableComponent implements OnChanges {\n private jsonSubscription?: Subscription;\n @Input() tableDefinition?: IndicatorTableValueDefinition;\n @Output() onSubmit = new EventEmitter();\n @Output() onCancel = new EventEmitter();\n\n columns: GenericColumnUi[] = [];\n rows: GenericRowUi[] = [];\n dynamicRowsDataSource?: DynamicRowsDataSource;\n\n jsonTable = new FormControl('', { nonNullable: true, validators: [Validators.required] });\n jsonInputStyle = { color: '#00EFFF', background: '#000000', border: 'none', resize: 'none', padding: '40px 60px' };\n inputHasBeenFocused: boolean = false;\n\n currencyFavouriteOptions: IOption[] = [\n {\n value: 'USD',\n label: 'USD',\n },\n {\n value: 'EUR',\n label: 'EUR',\n },\n {\n value: 'GBP',\n label: 'GBP',\n },\n {\n value: 'NOK',\n label: 'NOK',\n },\n ];\n\n constructor(\n private indicatorDefinitionsApiService: IndicatorDefinitionApiService,\n private notificationService: NotificationService\n ) {}\n\n handleOnCancel() {\n this.onCancel.emit();\n }\n\n handleOnEnter() {\n if (!this.jsonTable.valid || !this.jsonTable.dirty) {\n this.onCancel.emit();\n } else {\n this.handleOnSubmit();\n }\n }\n\n handleOnSubmit() {\n try {\n const parsedJson = JSON.parse(this.jsonTable.value);\n const newTableDefinition = IndicatorTableValueDefinition.fromJS(parsedJson);\n const dynamicRowsDataSource = Object.values(DynamicRowsDataSource).find(\n value => value === newTableDefinition.dynamicRowsDataSource\n );\n const rowsType = dynamicRowsDataSource ? RowsType.Dynamic : RowsType.Static;\n\n this.onSubmit.emit(\n new IndicatorTableValueDefinition({\n ...newTableDefinition,\n dynamicRowsDataSource: dynamicRowsDataSource,\n editableSchema: this.tableDefinition?.editableSchema ?? true,\n tableLabel: this.tableDefinition?.tableLabel ?? '',\n rowsType: rowsType,\n })\n );\n } catch (error) {\n this.jsonTable.setErrors({ invalidJson: error });\n }\n }\n\n ngOnInit() {\n this.jsonSubscription = this.jsonTable.valueChanges.pipe(debounceTime(500)).subscribe(value => {\n this.onJsonInputChange(value);\n });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.tableDefinition && this.tableDefinition) {\n this.updateJson(this.tableDefinition);\n this.convertDefinitionToTable(this.tableDefinition);\n }\n }\n\n updateJson(tableDefinition: IndicatorTableValueDefinition) {\n const newFormat: IndicatorJsonTableInput = {\n columns: tableDefinition.columns,\n rows: tableDefinition.rows,\n dynamicRowsDataSource: tableDefinition.dynamicRowsDataSource,\n };\n const jsonString = JSON.stringify(newFormat, null, 2);\n this.jsonTable.setValue(jsonString, { emitEvent: false });\n this.clearJsonInputError();\n }\n\n async onJsonInputChange(value: string) {\n try {\n const newTableDefinition: IndicatorTableValueDefinition = IndicatorTableValueDefinition.fromJS(JSON.parse(value));\n if (this.dynamicRowsDataSource !== newTableDefinition.dynamicRowsDataSource) {\n this.dynamicRowsDataSource = newTableDefinition.dynamicRowsDataSource;\n if (this.dynamicRowsDataSource && Object.values(DynamicRowsDataSource).includes(this.dynamicRowsDataSource)) {\n const dynamicRows = await this.getDynamicRowsFromDataSource(this.dynamicRowsDataSource);\n if (dynamicRows) {\n newTableDefinition.rows = dynamicRows;\n this.updateJson(newTableDefinition);\n }\n }\n }\n this.convertDefinitionToTable(newTableDefinition);\n this.clearJsonInputError();\n } catch (error) {\n this.jsonTable.setErrors({ invalidJson: error });\n }\n }\n\n convertDefinitionToTable(tableDefinition: IndicatorTableValueDefinition) {\n const tableDefinitionHasRows = tableDefinition.rows && tableDefinition.rows.length > 0;\n this.columns =\n tableDefinition.columns.map((col: IColumnDefinition, index) => ({\n header: col.header,\n description: col.description,\n columnId: col.columnId,\n type:\n tableDefinitionHasRows && index === 0\n ? GenericColumnType.StaticText\n : this.mapCellValueTypeToGenericType(col.type),\n width: undefined,\n unit: col.unit,\n })) || [];\n\n this.rows = tableDefinitionHasRows\n ? tableDefinition.rows.map((row: IRowDefinition) => ({\n rowId: row.rowId,\n values: this.columns.map((column, index) => {\n if (index === 0) {\n return {\n columnId: column.columnId,\n value: row.header,\n unit: row.unit || column.unit,\n };\n } else {\n let defaultValue: string | number | undefined = '';\n if (column.type === GenericColumnType.Numeric) {\n defaultValue = '';\n } else if (column.type === GenericColumnType.Selector && column.options && column.options.length > 0) {\n defaultValue = column.options[0].value;\n }\n return {\n columnId: column.columnId,\n value: defaultValue,\n unit: column.unit,\n };\n }\n }),\n }))\n : [\n {\n rowId: 'example',\n values: this.columns.map((column, index) => {\n let defaultValue: string | number | undefined = '';\n if (column.type === GenericColumnType.Numeric) {\n defaultValue = '';\n } else if (column.type === GenericColumnType.Selector && column.options && column.options.length > 0) {\n defaultValue = column.options[0].value;\n }\n return {\n columnId: column.columnId,\n value: defaultValue,\n unit: column.unit,\n };\n }),\n },\n ];\n }\n\n async getDynamicRowsFromDataSource(\n dynamicRowsDataSource: DynamicRowsDataSource\n ): Promise {\n try {\n const response = await this.indicatorDefinitionsApiService.getDynamicRows(dynamicRowsDataSource);\n return response.result;\n } catch (error) {\n this.notificationService.showError('Failed to get row from data source');\n return undefined;\n }\n }\n\n private clearJsonInputError() {\n this.jsonTable.setErrors(null);\n }\n\n private mapCellValueTypeToGenericType(type: CellValueType): GenericColumnType {\n switch (type) {\n case CellValueType.StaticText:\n return GenericColumnType.Generic;\n case CellValueType.Numeric:\n return GenericColumnType.Numeric;\n case CellValueType.Currency:\n return GenericColumnType.Currency;\n default:\n return GenericColumnType.Generic;\n }\n }\n\n ngOnDestroy() {\n this.jsonSubscription?.unsubscribe();\n }\n}\n","\n
\n \n
\n

Indicator Table setup

\n \n
\n \n {{ jsonTable.errors?.['invalidJson'] }}\n \n Cancel\n \n Save Table\n \n
\n
\n
\n
\n","import { Injectable } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { IUserInfoVm, Permission, UserRole } from 'src/api-client/report-api.generated';\nimport { AppInfoService } from 'src/app/core/app-info.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AdminPageStateService {\n private userInfoSub!: Subscription;\n\n hasOrganizationReadPermission = false;\n hasUserReadPermission = false;\n hasAccessTokenReadPermission = false;\n hasSettingsReadPermission = false;\n showClientSettings = false;\n showSuperAdminSettings = false;\n userInfo?: IUserInfoVm;\n constructor(public appInfoState: AppInfoService) {\n this.userInfoSub = this.appInfoState.userInfo$.subscribe(result => {\n this.userInfo = result;\n this.showClientSettings = result?.role === UserRole.Admin || result?.role === UserRole.SuperAdmin;\n this.showSuperAdminSettings = result?.role === UserRole.SuperAdmin;\n this.hasOrganizationReadPermission = this.appInfoState.hasPermission(Permission.Report_Organization_Read);\n this.hasUserReadPermission = this.appInfoState.hasPermission(Permission.Report_User_Read);\n this.hasAccessTokenReadPermission = this.appInfoState.hasPermission(Permission.AccessToken_Read);\n this.hasSettingsReadPermission = this.appInfoState.hasPermission(Permission.Settings_Read);\n });\n }\n\n ngOnDestroy() {\n this.userInfoSub.unsubscribe();\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { AdminPageStateService } from './admin-page-state.service';\nimport { UnitService } from 'src/app/shared/services/unit/unit.service';\n\n@Component({\n selector: 'esg-admin-page',\n templateUrl: './admin-page.component.html',\n styleUrls: ['./admin-page.component.scss'],\n providers: [UnitService],\n})\nexport class AdminPageComponent implements OnInit {\n constructor(public appState: AppInfoService, public state: AdminPageStateService) {}\n\n ngOnInit(): void {}\n}\n","
\n \n
\n

Settings

\n
\n
\n
\n \n \n
\n
\n \n Organization\n \n Regions\n \n Users\n \n Calculation Factors\n \n Access token\n \n
\n
\n \n
\n
\n \n All organizations\n \n \n All users\n \n \n Indicator Library\n \n \n Raw Data Categories\n \n \n Calculation Factors\n \n \n Units\n \n
\n
\n
\n
\n
\n \n
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AdminPageComponent } from './admin-page.component';\nimport { RouterModule } from '@angular/router';\nimport { MsalGuard } from '@azure/msal-angular';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { OrganizationsComponent } from './organizations/organizations.component';\nimport { UsersComponent } from './users/users.component';\nimport { ProfileComponent } from './profile/profile.component';\nimport { UiModule } from '../../shared/ui/ui.module';\nimport { OrganizationFormComponent } from './organizations/organization-form/organization-form.component';\nimport { OrganizationListComponent } from './organizations/organization-list/organization-list.component';\nimport { OrganizationDetailsComponent } from './organizations/organization-details/organization-details.component';\nimport { UserFormComponent } from './users/user-form/user-form.component';\nimport { UserListComponent } from './users/user-list/user-list.component';\nimport { UserDetailsComponent } from './users/user-details/user-details.component';\nimport { AppLayoutComponent } from 'src/app/app-layout/app-layout.component';\nimport { LabelValueComponent } from './profile/label-value/label-value.component';\nimport { OrganizationTbodyComponent } from './organizations/organization-list/organization-tbody/organization-tbody.component';\nimport { SubOrganizationRowComponent } from './organizations/organization-list/sub-organization-row/sub-organization-row.component';\nimport { SubOrganizationFormComponent } from './organizations/organization-list/sub-organization-form/sub-organization-form.component';\nimport { TableModule } from 'src/app/shared/table/table.module';\nimport { DirectiveModule } from 'src/app/shared/directives/directive.module';\nimport { SharedComponentsModule } from 'src/app/shared/components/shared-components.module';\nimport { DataCollectCategoriesComponent } from './data-collect-categories/data-collect-categories.component';\nimport { DataCollectCategoryDetailsComponent } from './data-collect-categories/data-collect-category-details/data-collect-category-details.component';\nimport { SuperAdminGuard } from '../../core/guards/super-admin-guard';\nimport { AdminGuard } from '../../core/guards/admin-guard';\nimport { AllOrganizationsComponent } from './organizations/all-organizations/all-organizations.component';\nimport { AllUsersComponent } from './users/all-users/all-users.component';\nimport { RegionsComponent } from './regions/regions.component';\nimport { KeyboardShortcutsDirective } from 'src/app/shared/directives/keyboard-shortcuts.directive';\nimport { AdminIndicatorLibraryComponent } from './admin-indicator-library/admin-indicator-library.component';\nimport { IndicatorDefinitionDetailsComponent } from './admin-indicator-library/indicator-definition-details/indicator-definition-details.component';\nimport { AccessTokenPageComponent } from './access-token/access-token-page.component';\nimport { IndicatorDefinitionTableComponent } from './admin-indicator-library/indicator-definition-table/indicator-definition-table.component';\nimport { FormatUnitWithUnicodePipe } from 'src/app/shared/pipes/format-unit-with-unicode.pipe';\nimport { UnitsComponent } from './units/units.component';\nimport { FormatUnitWithHtmlPipe } from 'src/app/shared/pipes/format-unit-with-html.pipe';\nimport { FactorVersionMenuComponent } from './calculation-factors/shared/factor-version-menu/factor-version-menu.component';\nimport { FactorVersionFormComponent } from './calculation-factors/shared/factor-version-form/factor-version-form.component';\nimport { CalcFactorRecordsTableComponent } from './calculation-factors/shared/factor-records-table/factor-records-table.component';\nimport { AirEmissionFactorDetailComponent } from './calculation-factors/air-emissions-factors/air-emissions-factor-detail/air-emissions-factor-detail.component';\nimport { AirTravelFactorDetailComponent } from './calculation-factors/air-travel-factors/air-travel-factor-detail/air-travel-factor-detail.component';\nimport { ChildLabourFactorDetailComponent } from './calculation-factors/child-labour-factors/child-labour-factor-detail/child-labour-factor-detail.component';\nimport { CorruptionRiskFactorDetailComponent } from './calculation-factors/corruption-risk-factors/corruption-risk-factor-detail/corruption-risk-factor-detail.component';\nimport { FuelCombustionFactorDetailComponent } from './calculation-factors/fuel-combustion-factors/fuel-combustion-factor-detail/fuel-combustion-factor-detail.component';\nimport { FuelEnergyFactorDetailComponent } from './calculation-factors/fuel-energy-factors/fuel-energy-factor-detail/fuel-energy-factor-detail.component';\nimport { FreedomRightsFactorDetailComponent } from './calculation-factors/freedom-rights-factors/freedom-rights-factor-detail/freedom-rights-factor-detail.component';\nimport { ElectricityFactorDetailComponent } from './calculation-factors/electricity-factors/electricity-factor-detail/electricity-factor-detail.component';\nimport { LabourRightsFactorDetailComponent } from './calculation-factors/labour-rights-factors/labour-rights-factor-detail/labour-rights-factor-detail.component';\nimport { GlobalWarmingPotentialFactorDetailComponent } from './calculation-factors/global-warming-potential-factors/global-warming-potential-factor-detail/global-warming-potential-factor-detail.component';\nimport { HotelNightsFactorDetailComponent } from './calculation-factors/hotel-nights-factors/hotel-nights-factor-detail/hotel-nights-factor-detail.component';\nimport { PurchasedFishFactorDetailComponent } from './calculation-factors/purchased-fish/purchased-fish-factor-detail/purchased-fish-factor-detail.component';\nimport { WasteFactorDetailComponent } from './calculation-factors/waste-factors/waste-factor-detail/waste-factor-detail.component';\nimport { EnvScreeningSectorFactorDetailComponent } from './calculation-factors/env-screening-sector-factors/env-screening-sector-factor-detail/env-screening-sector-factor-detail.component';\nimport { EmployeeCommutingFactorDetailComponent } from './calculation-factors/employee-commuting-factors/employee-commuting-factor-detail/employee-commuting-factor-detail.component';\n\n@NgModule({\n declarations: [\n AdminPageComponent,\n OrganizationsComponent,\n AllOrganizationsComponent,\n UsersComponent,\n AllUsersComponent,\n ProfileComponent,\n OrganizationFormComponent,\n OrganizationListComponent,\n OrganizationDetailsComponent,\n UserFormComponent,\n UserListComponent,\n UserDetailsComponent,\n LabelValueComponent,\n OrganizationTbodyComponent,\n SubOrganizationRowComponent,\n SubOrganizationFormComponent,\n DataCollectCategoriesComponent,\n DataCollectCategoryDetailsComponent,\n RegionsComponent,\n AdminIndicatorLibraryComponent,\n IndicatorDefinitionDetailsComponent,\n AccessTokenPageComponent,\n IndicatorDefinitionTableComponent,\n UnitsComponent,\n FactorVersionMenuComponent,\n FactorVersionFormComponent,\n CalcFactorRecordsTableComponent,\n AirEmissionFactorDetailComponent,\n AirTravelFactorDetailComponent,\n ChildLabourFactorDetailComponent,\n CorruptionRiskFactorDetailComponent,\n ElectricityFactorDetailComponent,\n EmployeeCommutingFactorDetailComponent,\n EnvScreeningSectorFactorDetailComponent,\n FuelCombustionFactorDetailComponent,\n FuelEnergyFactorDetailComponent,\n FreedomRightsFactorDetailComponent,\n GlobalWarmingPotentialFactorDetailComponent,\n LabourRightsFactorDetailComponent,\n HotelNightsFactorDetailComponent,\n PurchasedFishFactorDetailComponent,\n WasteFactorDetailComponent,\n ],\n imports: [\n CommonModule,\n UiModule,\n SharedComponentsModule,\n ReactiveFormsModule,\n TableModule,\n DirectiveModule,\n KeyboardShortcutsDirective,\n FormatUnitWithUnicodePipe,\n FormatUnitWithHtmlPipe,\n RouterModule.forChild([\n {\n path: `admin`,\n component: AppLayoutComponent,\n canActivate: [MsalGuard],\n children: [\n {\n path: ``,\n component: AdminPageComponent,\n children: [\n { path: '', redirectTo: 'profile', pathMatch: 'full' },\n { path: 'access-token', component: AccessTokenPageComponent, canActivate: [SuperAdminGuard] },\n { path: 'profile', component: ProfileComponent },\n { path: 'organization', component: OrganizationsComponent, canActivate: [AdminGuard] },\n { path: 'regions', component: RegionsComponent, canActivate: [AdminGuard] },\n { path: 'users', component: UsersComponent, canActivate: [AdminGuard] },\n {\n path: 'calculation-factors',\n canActivate: [AdminGuard],\n loadChildren: () =>\n import('./calculation-factors/calculation-factors.routes').then(\n mod => mod.CUSTOMER_CALCULATION_FACTORS_ROUTES\n ),\n },\n { path: 'all-organizations', component: AllOrganizationsComponent, canActivate: [SuperAdminGuard] },\n { path: 'all-users', component: AllUsersComponent, canActivate: [SuperAdminGuard] },\n { path: 'categories', component: DataCollectCategoriesComponent, canActivate: [SuperAdminGuard] },\n { path: 'indicator-library', component: AdminIndicatorLibraryComponent, canActivate: [SuperAdminGuard] },\n { path: 'units', component: UnitsComponent, canActivate: [SuperAdminGuard] },\n {\n path: 'global-calculation-factors',\n canActivate: [SuperAdminGuard],\n loadChildren: () =>\n import('./calculation-factors/calculation-factors.routes').then(\n mod => mod.GLOBAL_CALCULATION_FACTORS_ROUTES\n ),\n },\n ],\n },\n ],\n },\n ]),\n ],\n exports: [\n CalcFactorRecordsTableComponent,\n AirEmissionFactorDetailComponent,\n AirTravelFactorDetailComponent,\n ChildLabourFactorDetailComponent,\n CorruptionRiskFactorDetailComponent,\n ElectricityFactorDetailComponent,\n EmployeeCommutingFactorDetailComponent,\n EnvScreeningSectorFactorDetailComponent,\n FuelCombustionFactorDetailComponent,\n FuelEnergyFactorDetailComponent,\n FreedomRightsFactorDetailComponent,\n GlobalWarmingPotentialFactorDetailComponent,\n LabourRightsFactorDetailComponent,\n HotelNightsFactorDetailComponent,\n PurchasedFishFactorDetailComponent,\n WasteFactorDetailComponent,\n ],\n})\nexport class AdminModule {}\n","import { Injectable } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport {\n CalcFactorType,\n FuelAirEmissionFactorVm,\n UpdateFuelAirEmissionFactorCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { IOption } from 'src/app/static-data/options';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\nimport {\n FactorDetailForm,\n CalculationFactorDetailStateService,\n} from '../../calculation-factor-detail-state.service';\nimport { CustomFormValidators } from 'src/app/shared/utils/custom-form-validators';\n\ninterface AirEmissionFactorsDetailForm extends FactorDetailForm {\n fuelType: FormControl;\n fuelUnit: FormControl;\n referenceStandard: FormControl;\n sO2_kg_per_unit: FormControl;\n nOxFactor_kg_per_unit: FormControl;\n pM25_kg_per_unit: FormControl;\n}\n\n@Injectable()\nexport class AirEmissionFactorsDetailStateService extends CalculationFactorDetailStateService {\n fc?: AirEmissionFactorsDetailForm;\n calcFactorTitle = 'Air emission factor';\n calcFactorType = CalcFactorType.FuelAirEmissionFactor;\n global: boolean = false;\n\n async init(factorId: string, global: boolean) {\n this.global = global;\n this.loading = true;\n this.factorId = factorId;\n await Promise.all([this.getCalcFactorVersions(this.global)]);\n this.loading = false;\n }\n\n async getFactorVersion(versionId: string) {\n const response = this.global\n ? await this.caclFactorApiService.getCalcFactorById(this.factorId, versionId)\n : await this.caclFactorApiService.getOrganizationCalcFactorById(this.factorId, versionId);\n const factor = response.result as FuelAirEmissionFactorVm;\n this.organizationId = factor.organizationId;\n this.fc = {\n versionValidFromYear: new FormControl(factor.versionValidFrom.getFullYear().toString(), {\n validators: [Validators.required, CustomFormValidators.numericString],\n nonNullable: true,\n }),\n referenceStandard: new FormControl(factor.referenceStandard || '', { nonNullable: true }),\n sourceName: new FormControl(factor.sourceName || '', { nonNullable: true }),\n sourceUrl: new FormControl(factor.sourceURL || '', { nonNullable: true }),\n fuelType: new FormControl(\n { value: { value: factor.fuelType, label: factor.fuelType }, disabled: true },\n { validators: [Validators.required], nonNullable: true }\n ),\n fuelUnit: new FormControl(\n { value: { value: factor.fuelUnit, label: factor.fuelUnit }, disabled: true },\n { nonNullable: true }\n ),\n sO2_kg_per_unit: new FormControl(factor.sO2_kg_per_ton.toString(), {\n nonNullable: false,\n }),\n nOxFactor_kg_per_unit: new FormControl(factor.nOxFactor_kg_per_ton.toString(), {\n nonNullable: false,\n }),\n pM25_kg_per_unit: new FormControl(factor.pM25_kg_per_ton.toString(), {\n nonNullable: false,\n }),\n };\n\n this.formgroup = new FormGroup(this.fc);\n }\n\n getFactorParams(versionId: string): UpdateFuelAirEmissionFactorCommandParams | undefined {\n if (this.factorId && this.formgroup?.valid && this.fc) {\n return new UpdateFuelAirEmissionFactorCommandParams({\n id: this.factorId,\n type: this.calcFactorType,\n referenceStandard: this.fc.referenceStandard.value,\n versionId: versionId,\n versionValidFromYear: this.fc.versionValidFromYear.value\n ? formattedStringToNumber(this.fc.versionValidFromYear.value.toString())\n : undefined,\n sourceName: this.fc.sourceName.value || undefined,\n sourceURL: this.fc.sourceUrl.value || undefined,\n sO2_kg_per_ton: formattedStringToNumber(this.fc.sO2_kg_per_unit.value || '') || 0,\n nOxFactor_kg_per_ton: formattedStringToNumber(this.fc.nOxFactor_kg_per_unit.value || '') || 0,\n pM25_kg_per_ton: formattedStringToNumber(this.fc.pM25_kg_per_unit.value || '') || 0,\n });\n }\n return undefined;\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { AirEmissionFactorsDetailStateService } from './air-emissions-factor-detail-state.service';\nimport { CalculationFactorDetail } from '../../calculation-factor-detail.component';\n\n@Component({\n selector: 'esg-air-emissions-factor-detail',\n templateUrl: './air-emissions-factor-detail.component.html',\n styleUrls: ['../../calculation-factor-detail.component.scss'],\n providers: [AirEmissionFactorsDetailStateService],\n})\nexport class AirEmissionFactorDetailComponent extends CalculationFactorDetail implements OnInit {\n @Input({ required: true }) factorId!: string;\n @Input({ required: true }) global!: boolean;\n constructor(public state: AirEmissionFactorsDetailStateService) {\n super(state);\n }\n ngOnInit(): void {\n this.state.init(this.factorId, this.global);\n }\n}\n","
\n \n

{{ state.fc?.fuelType?.value?.label }}

\n
\n \n
\n Fuel Unit\n
\n {{state.fc.fuelUnit.value.label}}\n
\n Version valid from\n
\n \n
\n Reference standard\n
\n \n
\n Source name\n
\n \n
\n Source URL\n
\n \n
\n SO2\n
\n \n
\n CH4\n
\n \n
\n PM2.5\n
\n \n
\n
\n \n \n
\n
\n \n
\n\n","import { Injectable } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport {\n BusinessAirTravelFactorVm,\n CalcFactorType,\n UpdateBusinessAirTravelFactorCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { DistanceTypeOptions, IOption } from 'src/app/static-data/options';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\nimport {\n FactorDetailForm,\n CalculationFactorDetailStateService,\n} from '../../calculation-factor-detail-state.service';\nimport { CustomFormValidators } from 'src/app/shared/utils/custom-form-validators';\n\ninterface AirTravelFactorsDetailForm extends FactorDetailForm {\n method: FormControl;\n haulType: FormControl;\n cO2_ton: FormControl;\n}\n\n@Injectable()\nexport class AirTravelFactorsDetailStateService extends CalculationFactorDetailStateService {\n fc?: AirTravelFactorsDetailForm;\n calcFactorTitle = 'Air travel factor';\n calcFactorType = CalcFactorType.BusinessAirTravelFactor;\n global: boolean = false;\n\n async init(factorId: string, global: boolean) {\n this.global = global;\n this.loading = true;\n this.factorId = factorId;\n await Promise.all([this.getCalcFactorVersions(this.global)]);\n this.loading = false;\n }\n\n async getFactorVersion(versionId: string) {\n const response = this.global\n ? await this.caclFactorApiService.getCalcFactorById(this.factorId, versionId)\n : await this.caclFactorApiService.getOrganizationCalcFactorById(this.factorId, versionId);\n const factor = response.result as BusinessAirTravelFactorVm;\n this.organizationId = factor.organizationId;\n this.fc = {\n versionValidFromYear: new FormControl(factor.versionValidFrom.getFullYear().toString(), {\n validators: [Validators.required, CustomFormValidators.numericString],\n nonNullable: true,\n }),\n referenceStandard: new FormControl(factor.referenceStandard || '', { nonNullable: true }),\n sourceName: new FormControl(factor.sourceName || '', { nonNullable: true }),\n sourceUrl: new FormControl(factor.sourceURL || '', { nonNullable: true }),\n method: new FormControl(\n { value: { value: factor.method, label: factor.method }, disabled: true },\n { validators: [Validators.required], nonNullable: true }\n ),\n haulType: new FormControl(\n {\n value: DistanceTypeOptions.find(type => type.value === factor.haulType),\n disabled: true,\n },\n {\n nonNullable: true,\n }\n ),\n cO2_ton: new FormControl(factor.cO2_ton.toString(), {\n validators: [Validators.required, CustomFormValidators.numericString],\n nonNullable: true,\n }),\n };\n\n this.formgroup = new FormGroup(this.fc);\n }\n\n getFactorParams(versionId: string): UpdateBusinessAirTravelFactorCommandParams | undefined {\n if (this.factorId && this.formgroup?.valid && this.fc) {\n return new UpdateBusinessAirTravelFactorCommandParams({\n id: this.factorId,\n type: this.calcFactorType,\n referenceStandard: this.fc.referenceStandard.value,\n versionId: versionId,\n versionValidFromYear: this.fc.versionValidFromYear.value\n ? formattedStringToNumber(this.fc.versionValidFromYear.value.toString())\n : undefined,\n sourceName: this.fc.sourceName.value || undefined,\n sourceURL: this.fc.sourceUrl.value || undefined,\n cO2_ton: formattedStringToNumber(this.fc.cO2_ton.value || '') || 0,\n });\n }\n return undefined;\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { AirTravelFactorsDetailStateService } from './air-travel-factor-detail-state.service';\nimport { CalculationFactorDetail } from '../../calculation-factor-detail.component';\n\n@Component({\n selector: 'esg-air-travel-factor-detail',\n templateUrl: './air-travel-factor-detail.component.html',\n styleUrls: ['../../calculation-factor-detail.component.scss'],\n providers: [AirTravelFactorsDetailStateService],\n})\nexport class AirTravelFactorDetailComponent extends CalculationFactorDetail implements OnInit {\n @Input({ required: true }) factorId!: string;\n @Input({ required: true }) global!: boolean;\n constructor(public state: AirTravelFactorsDetailStateService) {\n super(state);\n }\n ngOnInit(): void {\n this.state.init(this.factorId, this.global);\n }\n}\n","
\n \n

{{ state.fc?.method?.value?.label }}

\n
\n \n
\n Haul Type\n
\n {{ state.fc.haulType.value?.label }}\n
\n Version valid from\n
\n \n
\n Reference standard\n
\n \n
\n Source name\n
\n \n
\n Source URL\n
\n \n
\n CO2\n
\n \n
\n
\n \n \n
\n
\n \n
\n\n","import { Injectable } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { UpdateCalcFactorCommandParams } from 'src/api-client/report-api.generated';\nimport { IOption } from 'src/app/static-data/options';\nimport { FactorVersionUi } from './shared/factor-version-menu/factor-version-menu.component';\nimport { v4 as uuidv4 } from 'uuid';\nimport { CalcFactorApiService } from 'src/app/api-client/report-api/calc-factor-api-service';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\n\nexport interface FactorDetailForm {\n versionValidFromYear: FormControl;\n referenceStandard: FormControl;\n sourceName: FormControl;\n sourceUrl: FormControl;\n}\n\n@Injectable()\nexport class CalculationFactorDetailStateService {\n factorId!: string;\n factorVersions: FactorVersionUi[] = [];\n activeVersion?: string;\n isFormOpen = false;\n newVersionDate?: Date;\n isValidFromDateOpen = false;\n isDeleteDialogOpen = false;\n organizationId?: string;\n organizationOptions?: IOption[];\n defaultOrganizationCode?: string;\n\n loading: boolean = false;\n\n fc?: FactorDetailForm;\n\n formgroup?: FormGroup;\n\n constructor(protected caclFactorApiService: CalcFactorApiService) {}\n\n async getCalcFactorVersions(global: boolean) {\n if (this.factorId) {\n const response = global\n ? await this.caclFactorApiService.getCalcFactorVersions(this.factorId)\n : await this.caclFactorApiService.getOrganizationCalcFactorVersions(this.factorId);\n this.factorVersions =\n response.result?.map(version => ({\n id: version.versionId,\n year: version.versionValidFrom,\n sourceName: version.sourceName,\n sourceURL: version.sourceUrl,\n })) || [];\n this.factorVersions.sort((a, b) => b.year.getTime() - a.year.getTime());\n if (this.factorVersions.length) {\n if (!this.activeVersion || !this.factorVersions.some(version => version.id === this.activeVersion)) {\n this.activeVersion = this.factorVersions[0].id;\n }\n await this.getFactorVersion(this.activeVersion);\n }\n }\n }\n\n async getFactorVersion(versionId: string) {\n const response = await this.caclFactorApiService.getCalcFactorById(this.factorId, versionId);\n const factor = response.result;\n this.organizationId = factor.organizationId;\n\n this.fc = {\n versionValidFromYear: new FormControl(factor.versionValidFrom.getFullYear().toString(), {\n nonNullable: true,\n }),\n referenceStandard: new FormControl(factor.referenceStandard || '', { nonNullable: true }),\n sourceName: new FormControl(factor.sourceName || '', { nonNullable: true }),\n sourceUrl: new FormControl(factor.sourceURL || '', { nonNullable: true }),\n };\n\n this.formgroup = new FormGroup(this.fc);\n }\n\n handleValidFromChange(date: number) {\n if (this.newVersionDate) {\n this.newVersionDate = new Date(date, 0, 1);\n } else {\n const activeVersionIndex = this.factorVersions.findIndex(version => version.id === this.activeVersion);\n if (date && activeVersionIndex !== -1) {\n this.factorVersions[activeVersionIndex].year = new Date(date, 0, 1);\n this.factorVersions.sort((a, b) => b.year.getTime() - a.year.getTime());\n }\n }\n }\n\n handleValidFromOpen() {\n this.isValidFromDateOpen = true;\n }\n\n handleValidFromClose() {\n this.isValidFromDateOpen = false;\n }\n\n handleVersionClick(versionId: string) {\n this.activeVersion = versionId;\n this.isFormOpen = false;\n this.newVersionDate = undefined;\n this.getFactorVersion(versionId);\n }\n\n async handleNewVersion() {\n const newVersionDate = new Date();\n const newestVersion = this.factorVersions[0].id;\n await this.getFactorVersion(newestVersion);\n this.activeVersion = newestVersion;\n this.newVersionDate = newVersionDate;\n this.fc?.versionValidFromYear.setValue(newVersionDate.getFullYear().toString());\n this.isFormOpen = true;\n }\n\n async handleVersionSubmit(global: boolean) {\n if (this.formgroup?.valid && this.fc?.versionValidFromYear) {\n const wasNewVersion = this.newVersionDate ? true : false;\n const versionId = wasNewVersion ? uuidv4() : this.activeVersion;\n const factorParams = this.getFactorParams(versionId!);\n this.isFormOpen = false;\n this.newVersionDate = undefined;\n if (factorParams) {\n const response = global\n ? await this.updateCalcFactor(factorParams)\n : await this.updateOrganizationFactor(factorParams);\n if (response?.success) {\n this.activeVersion = versionId;\n this.getCalcFactorVersions(global);\n }\n }\n }\n }\n\n async updateCalcFactor(params: UpdateCalcFactorCommandParams) {\n return await this.caclFactorApiService.updateCalcFactor(params);\n }\n\n async updateOrganizationFactor(params: UpdateCalcFactorCommandParams) {\n return await this.caclFactorApiService.updateOrganizationCalcFactor(params);\n }\n\n getFactorParams(versionId: string): UpdateCalcFactorCommandParams | undefined {\n if (this.formgroup?.valid && this.fc?.versionValidFromYear) {\n return new UpdateCalcFactorCommandParams({\n id: this.factorId,\n referenceStandard: this.fc.referenceStandard.value,\n versionId: versionId,\n versionValidFromYear: formattedStringToNumber(this.fc.versionValidFromYear.value),\n sourceName: this.fc.sourceName.value ?? undefined,\n sourceURL: this.fc.sourceUrl.value ?? undefined,\n });\n }\n return undefined;\n }\n\n handleOnDeleteClick() {\n this.isDeleteDialogOpen = true;\n }\n\n handleDeleteDialogClose() {\n this.isDeleteDialogOpen = false;\n }\n\n async handleVersionDelete(global: boolean) {\n this.isDeleteDialogOpen = false;\n if (this.factorId && this.activeVersion) {\n this.isFormOpen = false;\n const response = global\n ? await this.caclFactorApiService.deleteCalcFactorVersion(this.factorId, this.activeVersion)\n : await this.caclFactorApiService.deleteOrganizationCalcFactorVersion(this.factorId, this.activeVersion);\n if (response.success) {\n this.activeVersion = undefined;\n this.getCalcFactorVersions(global);\n }\n }\n }\n\n handleOnFormClick() {\n this.isFormOpen = true;\n }\n\n handleCancel() {\n if (!this.isValidFromDateOpen) {\n this.formgroup?.reset();\n if (!this.newVersionDate && this.fc?.versionValidFromYear.value) {\n const validFromYear = formattedStringToNumber(this.fc?.versionValidFromYear.value);\n if (validFromYear !== undefined) {\n this.handleValidFromChange(validFromYear);\n }\n }\n this.isFormOpen = false;\n this.newVersionDate = undefined;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { CalculationFactorDetailStateService } from './calculation-factor-detail-state.service';\n\n@Component({\n selector: 'esg-calculation-factor-detail',\n template: '',\n})\nexport abstract class CalculationFactorDetail {\n constructor(public state: CalculationFactorDetailStateService) {}\n global: boolean = false;\n\n ngOnInit(global: boolean = false) {\n // this.state.init(true);\n this.global = global;\n }\n\n handleOnSubmit() {\n this.state.handleVersionSubmit(this.global);\n }\n\n async handleVersionDelete() {\n this.state.isDeleteDialogOpen = false;\n if (this.state.factorId && this.state.activeVersion) {\n this.state.isFormOpen = false;\n this.state.handleVersionDelete(this.global);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport {\n CalcFactorType,\n ChildLabourCountryFactorVm,\n UpdateChildLabourCountryFactorCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { IOption } from 'src/app/static-data/options';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\nimport {\n FactorDetailForm,\n CalculationFactorDetailStateService,\n} from '../../calculation-factor-detail-state.service';\nimport { CustomFormValidators } from 'src/app/shared/utils/custom-form-validators';\n\ninterface ChildLabourFactorsDetailForm extends FactorDetailForm {\n country: FormControl;\n score: FormControl;\n}\n\n@Injectable()\nexport class ChildLabourFactorsDetailStateService extends CalculationFactorDetailStateService {\n fc?: ChildLabourFactorsDetailForm;\n calcFactorTitle = 'Chiuld labour factor';\n calcFactorType = CalcFactorType.ChildLabourCountryFactor;\n global: boolean = false;\n\n async init(factorId: string, global: boolean) {\n this.global = global;\n this.loading = true;\n this.factorId = factorId;\n await Promise.all([this.getCalcFactorVersions(this.global)]);\n this.loading = false;\n }\n\n async getFactorVersion(versionId: string) {\n const response = this.global\n ? await this.caclFactorApiService.getCalcFactorById(this.factorId, versionId)\n : await this.caclFactorApiService.getOrganizationCalcFactorById(this.factorId, versionId);\n const factor = response.result as ChildLabourCountryFactorVm;\n this.organizationId = factor.organizationId;\n this.fc = {\n versionValidFromYear: new FormControl(factor.versionValidFrom.getFullYear().toString(), {\n validators: [Validators.required, CustomFormValidators.numericString],\n nonNullable: true,\n }),\n referenceStandard: new FormControl(factor.referenceStandard || '', { nonNullable: true }),\n sourceName: new FormControl(factor.sourceName || '', { nonNullable: true }),\n sourceUrl: new FormControl(factor.sourceURL || '', { nonNullable: true }),\n country: new FormControl(\n { value: { value: factor.countryCode, label: factor.countryName }, disabled: true },\n { validators: [Validators.required], nonNullable: true }\n ),\n score: new FormControl(factor.score.toString(), {\n nonNullable: false,\n }),\n };\n\n this.formgroup = new FormGroup(this.fc);\n }\n\n getFactorParams(versionId: string): UpdateChildLabourCountryFactorCommandParams | undefined {\n if (this.factorId && this.formgroup?.valid && this.fc) {\n return new UpdateChildLabourCountryFactorCommandParams({\n id: this.factorId,\n type: this.calcFactorType,\n referenceStandard: this.fc.referenceStandard.value,\n versionId: versionId,\n versionValidFromYear: this.fc.versionValidFromYear.value\n ? formattedStringToNumber(this.fc.versionValidFromYear.value.toString())\n : undefined,\n sourceName: this.fc.sourceName.value || undefined,\n sourceURL: this.fc.sourceUrl.value || undefined,\n score: formattedStringToNumber(this.fc.score.value || '') || 0,\n });\n }\n return undefined;\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ChildLabourFactorsDetailStateService as ChildLabourFactorsDetailStateService } from './child-labour-factor-detail-state.service';\nimport { CalculationFactorDetail } from '../../calculation-factor-detail.component';\n\n@Component({\n selector: 'esg-child-labour-factor-detail',\n templateUrl: './child-labour-factor-detail.component.html',\n styleUrls: ['../../calculation-factor-detail.component.scss'],\n providers: [ChildLabourFactorsDetailStateService],\n})\nexport class ChildLabourFactorDetailComponent extends CalculationFactorDetail implements OnInit {\n @Input({ required: true }) factorId!: string;\n @Input({ required: true }) global!: boolean;\n constructor(public state: ChildLabourFactorsDetailStateService) {\n super(state);\n }\n ngOnInit(): void {\n this.state.init(this.factorId, this.global);\n }\n}\n","
\n \n

{{ state.fc?.country?.value?.label }}

\n
\n \n
\n Version valid from\n
\n \n
\n Reference standard\n
\n \n
\n Source name\n
\n \n
\n Source URL\n
\n \n
\n Score\n
\n \n
\n
\n \n \n
\n
\n \n
\n\n","import { Injectable } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport {\n CalcFactorType,\n CorruptionRiskCountryFactorVm,\n UpdateCorruptionRiskCountryFactorCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { IOption } from 'src/app/static-data/options';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\nimport {\n FactorDetailForm,\n CalculationFactorDetailStateService,\n} from '../../calculation-factor-detail-state.service';\nimport { CustomFormValidators } from 'src/app/shared/utils/custom-form-validators';\n\ninterface CorruptionRiskFactorsDetailForm extends FactorDetailForm {\n country: FormControl;\n score: FormControl;\n}\n\n@Injectable()\nexport class CorruptionRiskFactorsDetailStateService extends CalculationFactorDetailStateService {\n fc?: CorruptionRiskFactorsDetailForm;\n calcFactorTitle = 'Corruption risk factor';\n calcFactorType = CalcFactorType.CorruptionRiskCountryFactor;\n global: boolean = false;\n\n async init(factorId: string, global: boolean) {\n this.global = global;\n this.loading = true;\n this.factorId = factorId;\n await Promise.all([this.getCalcFactorVersions(this.global)]);\n this.loading = false;\n }\n\n async getFactorVersion(versionId: string) {\n const response = this.global\n ? await this.caclFactorApiService.getCalcFactorById(this.factorId, versionId)\n : await this.caclFactorApiService.getOrganizationCalcFactorById(this.factorId, versionId);\n const factor = response.result as CorruptionRiskCountryFactorVm;\n this.organizationId = factor.organizationId;\n this.fc = {\n versionValidFromYear: new FormControl(factor.versionValidFrom.getFullYear().toString(), {\n validators: [Validators.required, CustomFormValidators.numericString],\n nonNullable: true,\n }),\n referenceStandard: new FormControl(factor.referenceStandard || '', { nonNullable: true }),\n sourceName: new FormControl(factor.sourceName || '', { nonNullable: true }),\n sourceUrl: new FormControl(factor.sourceURL || '', { nonNullable: true }),\n country: new FormControl(\n { value: { value: factor.countryCode, label: factor.countryName }, disabled: true },\n { validators: [Validators.required], nonNullable: true }\n ),\n score: new FormControl(factor.score.toString(), {\n nonNullable: false,\n }),\n };\n\n this.formgroup = new FormGroup(this.fc);\n }\n\n getFactorParams(versionId: string): UpdateCorruptionRiskCountryFactorCommandParams | undefined {\n if (this.factorId && this.formgroup?.valid && this.fc) {\n return new UpdateCorruptionRiskCountryFactorCommandParams({\n id: this.factorId,\n type: this.calcFactorType,\n referenceStandard: this.fc.referenceStandard.value,\n versionId: versionId,\n versionValidFromYear: this.fc.versionValidFromYear.value\n ? formattedStringToNumber(this.fc.versionValidFromYear.value.toString())\n : undefined,\n sourceName: this.fc.sourceName.value || undefined,\n sourceURL: this.fc.sourceUrl.value || undefined,\n score: formattedStringToNumber(this.fc.score.value || '') || 0,\n });\n }\n return undefined;\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { CorruptionRiskFactorsDetailStateService } from './corruption-risk-factor-detail-state.service';\nimport { CalculationFactorDetail } from '../../calculation-factor-detail.component';\n\n@Component({\n selector: 'esg-corruption-risk-factor-detail',\n templateUrl: './corruption-risk-factor-detail.component.html',\n styleUrls: ['../../calculation-factor-detail.component.scss'],\n providers: [CorruptionRiskFactorsDetailStateService],\n})\nexport class CorruptionRiskFactorDetailComponent extends CalculationFactorDetail implements OnInit {\n @Input({ required: true }) factorId!: string;\n @Input({ required: true }) global!: boolean;\n constructor(public state: CorruptionRiskFactorsDetailStateService) {\n super(state);\n }\n ngOnInit(): void {\n this.state.init(this.factorId, this.global);\n }\n}\n","
\n \n

{{ state.fc?.country?.value?.label }}

\n
\n \n
\n Version valid from\n
\n \n
\n Reference standard\n
\n \n
\n Source name\n
\n \n
\n Source URL\n
\n \n
\n Score\n
\n \n
\n
\n \n \n
\n
\n \n
\n\n","import { Injectable } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport {\n ElectricityCountryFactorVm,\n CalcFactorType,\n UpdateElectricityCountryFactorCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { DistanceTypeOptions, IOption } from 'src/app/static-data/options';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\nimport { FactorDetailForm, CalculationFactorDetailStateService } from '../../calculation-factor-detail-state.service';\nimport { CustomFormValidators } from 'src/app/shared/utils/custom-form-validators';\n\ninterface ElectricityFactorsDetailForm extends FactorDetailForm {\n country: FormControl;\n factor: FormControl;\n}\n\n@Injectable()\nexport class ElectricityFactorsDetailStateService extends CalculationFactorDetailStateService {\n fc?: ElectricityFactorsDetailForm;\n calcFactorTitle = 'Air travel factor';\n calcFactorType = CalcFactorType.ElectricityCountryFactor;\n global: boolean = false;\n\n async init(factorId: string, global: boolean) {\n this.global = global;\n this.loading = true;\n this.factorId = factorId;\n await Promise.all([this.getCalcFactorVersions(this.global)]);\n this.loading = false;\n }\n\n async getFactorVersion(versionId: string) {\n const response = this.global\n ? await this.caclFactorApiService.getCalcFactorById(this.factorId, versionId)\n : await this.caclFactorApiService.getOrganizationCalcFactorById(this.factorId, versionId);\n const factor = response.result as ElectricityCountryFactorVm;\n this.organizationId = factor.organizationId;\n this.fc = {\n versionValidFromYear: new FormControl(factor.versionValidFrom.getFullYear().toString(), {\n validators: [Validators.required, CustomFormValidators.numericString],\n nonNullable: true,\n }),\n referenceStandard: new FormControl(factor.referenceStandard || '', { nonNullable: true }),\n sourceName: new FormControl(factor.sourceName || '', { nonNullable: true }),\n sourceUrl: new FormControl(factor.sourceURL || '', { nonNullable: true }),\n country: new FormControl(\n { value: { value: factor.countryCode, label: factor.countryName }, disabled: true },\n { validators: [Validators.required], nonNullable: true }\n ),\n factor: new FormControl(factor.factor?.toString() ?? '', {\n validators: [Validators.required, CustomFormValidators.numericString],\n nonNullable: true,\n }),\n };\n\n this.formgroup = new FormGroup(this.fc);\n }\n\n getFactorParams(versionId: string): UpdateElectricityCountryFactorCommandParams | undefined {\n if (this.factorId && this.formgroup?.valid && this.fc) {\n return new UpdateElectricityCountryFactorCommandParams({\n id: this.factorId,\n type: this.calcFactorType,\n referenceStandard: this.fc.referenceStandard.value,\n versionId: versionId,\n versionValidFromYear: this.fc.versionValidFromYear.value\n ? formattedStringToNumber(this.fc.versionValidFromYear.value.toString())\n : undefined,\n sourceName: this.fc.sourceName.value || undefined,\n sourceURL: this.fc.sourceUrl.value || undefined,\n factor: formattedStringToNumber(this.fc.factor.value || '') || 0,\n });\n }\n return undefined;\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ElectricityFactorsDetailStateService } from './electricity-factor-detail-state.service';\nimport { CalculationFactorDetail } from '../../calculation-factor-detail.component';\n\n@Component({\n selector: 'esg-electricity-factor-detail',\n templateUrl: './electricity-factor-detail.component.html',\n styleUrls: ['../../calculation-factor-detail.component.scss'],\n providers: [ElectricityFactorsDetailStateService],\n})\nexport class ElectricityFactorDetailComponent extends CalculationFactorDetail implements OnInit {\n @Input({ required: true }) factorId!: string;\n @Input({ required: true }) global!: boolean;\n constructor(public state: ElectricityFactorsDetailStateService) {\n super(state);\n }\n ngOnInit(): void {\n this.state.init(this.factorId, this.global);\n }\n}\n","
\n \n

{{ state.fc?.country?.value?.label }}

\n
\n \n
\n Version valid from\n
\n \n
\n Reference standard\n
\n \n
\n Source name\n
\n \n
\n Source URL\n
\n \n
\n CO2\n
\n \n
\n
\n \n \n
\n
\n \n
\n\n","import { Injectable } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport {\n CalcFactorType,\n EmployeeCommutingFactorVm,\n UpdateEmployeeCommutingFactorCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { CommutingModeByTransport, CommutingTransportOptions, IOption } from 'src/app/static-data/options';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\nimport { FactorDetailForm, CalculationFactorDetailStateService } from '../../calculation-factor-detail-state.service';\nimport { CustomFormValidators } from 'src/app/shared/utils/custom-form-validators';\n\ninterface EmployeeCommutingFactorDetailForm extends FactorDetailForm {\n transport: FormControl;\n mode: FormControl;\n referenceStandard: FormControl;\n cO2_kg_km: FormControl;\n}\n\n@Injectable()\nexport class EmployeeCommutingFactorDetailStateService extends CalculationFactorDetailStateService {\n fc?: EmployeeCommutingFactorDetailForm;\n calcFactorTitle = 'Hotel nights factor';\n calcFactorType = CalcFactorType.EmployeeCommutingFactor;\n global: boolean = false;\n\n async init(factorId: string, global: boolean) {\n this.global = global;\n this.loading = true;\n this.factorId = factorId;\n await Promise.all([this.getCalcFactorVersions(this.global)]);\n this.loading = false;\n }\n\n async getFactorVersion(versionId: string) {\n const response = this.global\n ? await this.caclFactorApiService.getCalcFactorById(this.factorId, versionId)\n : await this.caclFactorApiService.getOrganizationCalcFactorById(this.factorId, versionId);\n const factor = response.result as EmployeeCommutingFactorVm;\n this.organizationId = factor.organizationId;\n this.fc = {\n versionValidFromYear: new FormControl(factor.versionValidFrom.getFullYear().toString(), {\n validators: [Validators.required, CustomFormValidators.numericString],\n nonNullable: true,\n }),\n referenceStandard: new FormControl(factor.referenceStandard || '', { nonNullable: true }),\n sourceName: new FormControl(factor.sourceName || '', { nonNullable: true }),\n sourceUrl: new FormControl(factor.sourceURL || '', { nonNullable: true }),\n transport: new FormControl(\n {\n value: CommutingTransportOptions.find(opt => opt.value === factor.transport) || CommutingTransportOptions[0],\n disabled: true,\n },\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n mode: new FormControl(\n {\n value:\n CommutingModeByTransport[factor.transport].find(opt => opt.value === factor.mode) ||\n CommutingModeByTransport[factor.transport][0],\n disabled: true,\n },\n {\n nonNullable: true,\n }\n ),\n cO2_kg_km: new FormControl(factor.cO2_kg_km?.toString() || '', {\n validators: [Validators.required, CustomFormValidators.numericString],\n nonNullable: true,\n }),\n };\n\n this.formgroup = new FormGroup(this.fc);\n }\n\n getFactorParams(versionId: string): UpdateEmployeeCommutingFactorCommandParams | undefined {\n if (this.factorId && this.formgroup?.valid && this.fc) {\n return new UpdateEmployeeCommutingFactorCommandParams({\n id: this.factorId,\n type: this.calcFactorType,\n referenceStandard: this.fc.referenceStandard.value,\n versionId: versionId,\n versionValidFromYear: this.fc.versionValidFromYear.value\n ? formattedStringToNumber(this.fc.versionValidFromYear.value.toString())\n : undefined,\n sourceName: this.fc.sourceName.value || undefined,\n sourceURL: this.fc.sourceUrl.value || undefined,\n cO2_kg_km: formattedStringToNumber(this.fc.cO2_kg_km.value || '') || 0,\n });\n }\n return undefined;\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { EmployeeCommutingFactorDetailStateService } from './employee-commuting-factor-detail-state.service';\nimport { CalculationFactorDetail } from '../../calculation-factor-detail.component';\n\n@Component({\n selector: 'esg-employee-commuting-factor-detail',\n templateUrl: './employee-commuting-factor-detail.component.html',\n styleUrls: ['../../calculation-factor-detail.component.scss'],\n providers: [EmployeeCommutingFactorDetailStateService],\n})\nexport class EmployeeCommutingFactorDetailComponent extends CalculationFactorDetail implements OnInit {\n @Input({ required: true }) factorId!: string;\n @Input({ required: true }) global!: boolean;\n constructor(public state: EmployeeCommutingFactorDetailStateService) {\n super(state);\n }\n ngOnInit(): void {\n this.state.init(this.factorId, this.global);\n }\n}\n","
\n \n

{{ state.fc?.transport?.value?.label }}

\n
\n \n
\n Mode\n
\n \n
\n Version valid from\n
\n \n
\n Reference standard\n
\n \n
\n Source name\n
\n \n
\n Source URL\n
\n \n
\n C02\n
\n \n
\n
\n \n \n
\n
\n \n
\n\n","import { Injectable } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport {\n CalcFactorType,\n EnvScreeningSectorFactorVm,\n UpdateEnvScreeningSectorFactorCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { IOption } from 'src/app/static-data/options';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\nimport { FactorDetailForm, CalculationFactorDetailStateService } from '../../calculation-factor-detail-state.service';\nimport { CustomFormValidators } from 'src/app/shared/utils/custom-form-validators';\n\ninterface EnvScreeningSectorFactorDetailForm extends FactorDetailForm {\n sectorCategory: FormControl;\n sectorType: FormControl;\n referenceStandard: FormControl;\n description: FormControl;\n score: FormControl;\n}\n\n@Injectable()\nexport class EnvScreeningSectorFactorDetailStateService extends CalculationFactorDetailStateService {\n fc?: EnvScreeningSectorFactorDetailForm;\n calcFactorTitle = 'Hotel nights factor';\n calcFactorType = CalcFactorType.EnvScreeningSectorFactor;\n global: boolean = false;\n\n async init(factorId: string, global: boolean) {\n this.global = global;\n this.loading = true;\n this.factorId = factorId;\n await Promise.all([this.getCalcFactorVersions(this.global)]);\n this.loading = false;\n }\n\n async getFactorVersion(versionId: string) {\n const response = this.global\n ? await this.caclFactorApiService.getCalcFactorById(this.factorId, versionId)\n : await this.caclFactorApiService.getOrganizationCalcFactorById(this.factorId, versionId);\n const factor = response.result as EnvScreeningSectorFactorVm;\n this.organizationId = factor.organizationId;\n this.fc = {\n versionValidFromYear: new FormControl(factor.versionValidFrom.getFullYear().toString(), {\n validators: [Validators.required, CustomFormValidators.numericString],\n nonNullable: true,\n }),\n referenceStandard: new FormControl(factor.referenceStandard || '', { nonNullable: true }),\n sourceName: new FormControl(factor.sourceName || '', { nonNullable: true }),\n sourceUrl: new FormControl(factor.sourceURL || '', { nonNullable: true }),\n sectorCategory: new FormControl(\n {\n value: { value: factor.sectorCategory, label: this.camelCaseToSpacedString(factor.sectorCategory) },\n disabled: true,\n },\n { validators: [Validators.required], nonNullable: true }\n ),\n sectorType: new FormControl(\n {\n value: { value: factor.sectorType, label: this.camelCaseToSpacedString(factor.sectorType) },\n disabled: true,\n },\n { validators: [Validators.required], nonNullable: true }\n ),\n description: new FormControl(factor.description, {\n nonNullable: true,\n }),\n score: new FormControl(factor.score.toString(), {\n validators: [Validators.required, Validators.min(1), Validators.max(100)],\n nonNullable: true,\n }),\n };\n\n this.formgroup = new FormGroup(this.fc);\n }\n\n getFactorParams(versionId: string): UpdateEnvScreeningSectorFactorCommandParams | undefined {\n if (this.factorId && this.formgroup?.valid && this.fc) {\n return new UpdateEnvScreeningSectorFactorCommandParams({\n id: this.factorId,\n type: this.calcFactorType,\n referenceStandard: this.fc.referenceStandard.value,\n versionId: versionId,\n versionValidFromYear: this.fc.versionValidFromYear.value\n ? formattedStringToNumber(this.fc.versionValidFromYear.value.toString())\n : undefined,\n sourceName: this.fc.sourceName.value || undefined,\n sourceURL: this.fc.sourceUrl.value || undefined,\n description: this.fc.description.value,\n score: formattedStringToNumber(this.fc.score.value || '') || 0,\n });\n }\n return undefined;\n }\n camelCaseToSpacedString(value: string): string {\n return value.replace(/([a-z])([A-Z])/g, '$1 $2');\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { EnvScreeningSectorFactorDetailStateService } from './env-screening-sector-factor-detail-state.service';\nimport { CalculationFactorDetail } from '../../calculation-factor-detail.component';\n\n@Component({\n selector: 'esg-env-screening-sector-factor-detail',\n templateUrl: './env-screening-sector-factor-detail.component.html',\n styleUrls: ['../../calculation-factor-detail.component.scss'],\n providers: [EnvScreeningSectorFactorDetailStateService],\n})\nexport class EnvScreeningSectorFactorDetailComponent extends CalculationFactorDetail implements OnInit {\n @Input({ required: true }) factorId!: string;\n @Input({ required: true }) global!: boolean;\n constructor(public state: EnvScreeningSectorFactorDetailStateService) {\n super(state);\n }\n ngOnInit(): void {\n this.state.init(this.factorId, this.global);\n }\n}\n","
\n \n

{{ state.fc?.sectorCategory?.value?.label }}

\n
\n \n
\n Sector Type\n
\n \n
\n Version valid from\n
\n \n
\n Reference standard\n
\n \n
\n Description\n
\n \n
\n Source name\n
\n \n
\n Source URL\n
\n \n
\n Score\n
\n \n
\n
\n \n \n
\n
\n \n
\n\n","import { Injectable } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport {\n CalcFactorType,\n FreedomRightsCountryFactorVm,\n UpdateFreedomRightsCountryFactorCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { IOption } from 'src/app/static-data/options';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\nimport {\n FactorDetailForm,\n CalculationFactorDetailStateService,\n} from '../../calculation-factor-detail-state.service';\nimport { CustomFormValidators } from 'src/app/shared/utils/custom-form-validators';\n\ninterface FreedomRightsFactorsDetailsForm extends FactorDetailForm {\n country: FormControl;\n score: FormControl;\n}\n\n@Injectable()\nexport class FreedomRightsFactorsDetailStateService extends CalculationFactorDetailStateService {\n fc?: FreedomRightsFactorsDetailsForm;\n calcFactorTitle = 'Freedom rights factor';\n calcFactorType = CalcFactorType.FreedomRightsCountryFactor;\n global: boolean = false;\n\n async init(factorId: string, global: boolean) {\n this.global = global;\n this.loading = true;\n this.factorId = factorId;\n await Promise.all([this.getCalcFactorVersions(this.global)]);\n this.loading = false;\n }\n\n async getFactorVersion(versionId: string) {\n const response = this.global\n ? await this.caclFactorApiService.getCalcFactorById(this.factorId, versionId)\n : await this.caclFactorApiService.getOrganizationCalcFactorById(this.factorId, versionId);\n const factor = response.result as FreedomRightsCountryFactorVm;\n this.organizationId = factor.organizationId;\n this.fc = {\n versionValidFromYear: new FormControl(factor.versionValidFrom.getFullYear().toString(), {\n validators: [Validators.required, CustomFormValidators.numericString],\n nonNullable: true,\n }),\n referenceStandard: new FormControl(factor.referenceStandard || '', { nonNullable: true }),\n sourceName: new FormControl(factor.sourceName || '', { nonNullable: true }),\n sourceUrl: new FormControl(factor.sourceURL || '', { nonNullable: true }),\n country: new FormControl(\n { value: { value: factor.countryCode, label: factor.countryName }, disabled: true },\n { validators: [Validators.required], nonNullable: true }\n ),\n score: new FormControl(factor.score.toString(), {\n nonNullable: false,\n }),\n };\n\n this.formgroup = new FormGroup(this.fc);\n }\n\n getFactorParams(versionId: string): UpdateFreedomRightsCountryFactorCommandParams | undefined {\n if (this.factorId && this.formgroup?.valid && this.fc) {\n return new UpdateFreedomRightsCountryFactorCommandParams({\n id: this.factorId,\n type: this.calcFactorType,\n referenceStandard: this.fc.referenceStandard.value,\n versionId: versionId,\n versionValidFromYear: this.fc.versionValidFromYear.value\n ? formattedStringToNumber(this.fc.versionValidFromYear.value.toString())\n : undefined,\n sourceName: this.fc.sourceName.value || undefined,\n sourceURL: this.fc.sourceUrl.value || undefined,\n score: formattedStringToNumber(this.fc.score.value || '') || 0,\n });\n }\n return undefined;\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { FreedomRightsFactorsDetailStateService } from './freedom-rights-factor-detail-state.service';\nimport { CalculationFactorDetail } from '../../calculation-factor-detail.component';\n\n@Component({\n selector: 'esg-freedom-rights-factor-detail',\n templateUrl: './freedom-rights-factor-detail.component.html',\n styleUrls: ['../../calculation-factor-detail.component.scss'],\n providers: [FreedomRightsFactorsDetailStateService],\n})\nexport class FreedomRightsFactorDetailComponent extends CalculationFactorDetail implements OnInit {\n @Input({ required: true }) factorId!: string;\n @Input({ required: true }) global!: boolean;\n constructor(public state: FreedomRightsFactorsDetailStateService) {\n super(state);\n }\n ngOnInit(): void {\n this.state.init(this.factorId, this.global);\n }\n}\n","
\n \n

{{ state.fc?.country?.value?.label }}

\n
\n \n
\n Version valid from\n
\n \n
\n Reference standard\n
\n \n
\n Source name\n
\n \n
\n Source URL\n
\n \n
\n Score\n
\n \n
\n
\n \n \n
\n
\n \n
\n\n","import { Injectable } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport {\n FuelCombustionFactorVm,\n UpdateFuelCombustionFactorCommandParams,\n CalcFactorType,\n} from 'src/api-client/report-api.generated';\nimport { IOption } from 'src/app/static-data/options';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\nimport { FactorDetailForm, CalculationFactorDetailStateService } from '../../calculation-factor-detail-state.service';\nimport { CustomFormValidators } from 'src/app/shared/utils/custom-form-validators';\n\ninterface FuelCombustionFactorDetailsForm extends FactorDetailForm {\n fuelType: FormControl;\n fuelUnit: FormControl;\n referenceStandard: FormControl;\n density: FormControl;\n cO2_ton_per_ton: FormControl;\n cH4_kg_per_ton: FormControl;\n n2O_kg_per_ton: FormControl;\n}\n\n@Injectable()\nexport class FuelCombustionFactorDetailStateService extends CalculationFactorDetailStateService {\n fc?: FuelCombustionFactorDetailsForm;\n calcFactorTitle = 'Fuel Combustion Factor';\n calcFactorType = CalcFactorType.FuelCombustionFactor;\n global: boolean = false;\n\n async init(factorId: string, global: boolean) {\n this.global = global;\n this.loading = true;\n this.factorId = factorId;\n await Promise.all([this.getCalcFactorVersions(this.global)]);\n this.loading = false;\n }\n\n async getFactorVersion(versionId: string) {\n const response = this.global\n ? await this.caclFactorApiService.getCalcFactorById(this.factorId, versionId)\n : await this.caclFactorApiService.getOrganizationCalcFactorById(this.factorId, versionId);\n const factor = response.result as FuelCombustionFactorVm;\n this.organizationId = factor.organizationId;\n this.fc = {\n versionValidFromYear: new FormControl(factor.versionValidFrom.getFullYear().toString(), {\n validators: [Validators.required, CustomFormValidators.numericString],\n nonNullable: true,\n }),\n referenceStandard: new FormControl(factor.referenceStandard || '', { nonNullable: true }),\n sourceName: new FormControl(factor.sourceName || '', { nonNullable: true }),\n sourceUrl: new FormControl(factor.sourceURL || '', { nonNullable: true }),\n fuelType: new FormControl(\n { value: { value: factor.fuelType, label: factor.fuelType }, disabled: true },\n { validators: [Validators.required], nonNullable: true }\n ),\n fuelUnit: new FormControl(\n { value: { value: factor.fuelUnit, label: factor.fuelUnit }, disabled: true },\n { nonNullable: true }\n ),\n density: new FormControl(factor.density?.toString() || '', {\n nonNullable: false,\n }),\n cO2_ton_per_ton: new FormControl(factor.cO2_ton_per_ton.toString(), {\n nonNullable: false,\n }),\n cH4_kg_per_ton: new FormControl(factor.cH4_kg_per_ton.toString(), {\n nonNullable: false,\n }),\n n2O_kg_per_ton: new FormControl(factor.n2O_kg_per_ton.toString(), {\n nonNullable: false,\n }),\n };\n\n this.formgroup = new FormGroup(this.fc);\n }\n\n getFactorParams(versionId: string): UpdateFuelCombustionFactorCommandParams | undefined {\n if (this.factorId && this.formgroup?.valid && this.fc) {\n return new UpdateFuelCombustionFactorCommandParams({\n id: this.factorId,\n type: this.calcFactorType,\n referenceStandard: this.fc.referenceStandard.value,\n versionId: versionId,\n versionValidFromYear: this.fc.versionValidFromYear.value\n ? formattedStringToNumber(this.fc.versionValidFromYear.value.toString())\n : undefined,\n sourceName: this.fc.sourceName.value || undefined,\n sourceURL: this.fc.sourceUrl.value || undefined,\n density: formattedStringToNumber(this.fc.density.value || ''),\n cO2_ton_per_ton: formattedStringToNumber(this.fc.cO2_ton_per_ton.value || '') || 0,\n cH4_kg_per_ton: formattedStringToNumber(this.fc.cH4_kg_per_ton.value || '') || 0,\n n2O_kg_per_ton: formattedStringToNumber(this.fc.n2O_kg_per_ton.value || '') || 0,\n });\n }\n return undefined;\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { FuelCombustionFactorDetailStateService } from './fuel-combustion-factor-detail-state.service';\nimport { CalculationFactorDetail } from '../../calculation-factor-detail.component';\n\n@Component({\n selector: 'esg-fuel-combustion-factor-detail',\n templateUrl: './fuel-combustion-factor-detail.component.html',\n styleUrls: ['../../calculation-factor-detail.component.scss'],\n providers: [FuelCombustionFactorDetailStateService],\n})\nexport class FuelCombustionFactorDetailComponent extends CalculationFactorDetail implements OnInit {\n @Input({ required: true }) factorId!: string;\n @Input({ required: true }) global!: boolean;\n constructor(public state: FuelCombustionFactorDetailStateService) {\n super(state);\n }\n ngOnInit(): void {\n this.state.init(this.factorId, this.global);\n }\n}\n","
\n \n

{{ state.fc?.fuelType?.value?.label }}

\n
\n \n
\n Fuel Unit\n
\n {{state.fc.fuelUnit.value.label}}\n
\n Version valid from\n
\n \n
\n Reference standard\n
\n \n
\n Source name\n
\n \n
\n Source URL\n
\n \n
\n Density\n
\n \n
\n CO2\n
\n \n
\n CH4\n
\n \n
\n N2O\n
\n \n
\n
\n \n \n
\n
\n \n
\n\n","import { Injectable } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport {\n FuelEnergyFactorVm,\n UpdateFuelEnergyFactorCommandParams,\n CalcFactorType,\n} from 'src/api-client/report-api.generated';\nimport { IOption } from 'src/app/static-data/options';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\nimport {\n FactorDetailForm,\n CalculationFactorDetailStateService,\n} from '../../calculation-factor-detail-state.service';\nimport { CustomFormValidators } from 'src/app/shared/utils/custom-form-validators';\n\ninterface FuelEnergyFactorsDetailsForm extends FactorDetailForm {\n fuelType: FormControl;\n referenceStandard: FormControl;\n gJ_per_t: FormControl;\n}\n\n@Injectable()\nexport class FuelEnergyFactorsDetailsStateService extends CalculationFactorDetailStateService {\n fc?: FuelEnergyFactorsDetailsForm;\n calcFactorTitle = 'Fuel Energy Factor';\n calcFactorType = CalcFactorType.FuelEnergyFactor;\n global: boolean = false;\n\n async init(factorId: string, global: boolean) {\n this.global = global;\n this.loading = true;\n this.factorId = factorId;\n await Promise.all([this.getCalcFactorVersions(this.global)]);\n this.loading = false;\n }\n\n async getFactorVersion(versionId: string) {\n const response = this.global\n ? await this.caclFactorApiService.getCalcFactorById(this.factorId, versionId)\n : await this.caclFactorApiService.getOrganizationCalcFactorById(this.factorId, versionId);\n const factor = response.result as FuelEnergyFactorVm;\n this.organizationId = factor.organizationId;\n this.fc = {\n versionValidFromYear: new FormControl(factor.versionValidFrom.getFullYear().toString(), {\n validators: [Validators.required, CustomFormValidators.numericString],\n nonNullable: true,\n }),\n referenceStandard: new FormControl(factor.referenceStandard || '', { nonNullable: true }),\n sourceName: new FormControl(factor.sourceName || '', { nonNullable: true }),\n sourceUrl: new FormControl(factor.sourceURL || '', { nonNullable: true }),\n fuelType: new FormControl(\n { value: { value: factor.fuelType, label: factor.fuelType }, disabled: true },\n { validators: [Validators.required], nonNullable: true }\n ),\n gJ_per_t: new FormControl(factor.gJ_per_t.toString(), {\n nonNullable: false,\n }),\n };\n\n this.formgroup = new FormGroup(this.fc);\n }\n\n getFactorParams(versionId: string): UpdateFuelEnergyFactorCommandParams | undefined {\n if (this.factorId && this.formgroup?.valid && this.fc) {\n return new UpdateFuelEnergyFactorCommandParams({\n id: this.factorId,\n type: this.calcFactorType,\n referenceStandard: this.fc.referenceStandard.value,\n versionId: versionId,\n versionValidFromYear: this.fc.versionValidFromYear.value\n ? formattedStringToNumber(this.fc.versionValidFromYear.value.toString())\n : undefined,\n sourceName: this.fc.sourceName.value || undefined,\n sourceURL: this.fc.sourceUrl.value || undefined,\n gJ_per_t: formattedStringToNumber(this.fc.gJ_per_t.value || '') || 0,\n });\n }\n return undefined;\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { FuelEnergyFactorsDetailsStateService as FuelEnergyFactorDetailStateService } from './fuel-energy-factor-detail-state.service';\nimport { CalculationFactorDetail } from '../../calculation-factor-detail.component';\n\n@Component({\n selector: 'esg-fuel-energy-factor-detail',\n templateUrl: './fuel-energy-factor-detail.component.html',\n styleUrls: ['../../calculation-factor-detail.component.scss'],\n providers: [FuelEnergyFactorDetailStateService],\n})\nexport class FuelEnergyFactorDetailComponent extends CalculationFactorDetail implements OnInit {\n @Input({ required: true }) factorId!: string;\n @Input({ required: true }) global!: boolean;\n constructor(public state: FuelEnergyFactorDetailStateService) {\n super(state);\n }\n ngOnInit(): void {\n this.state.init(this.factorId, this.global);\n }\n}\n","
\n \n

{{ state.fc?.fuelType?.value?.label }}

\n
\n \n
\n Version valid from\n
\n \n
\n Reference standard\n
\n \n
\n Source name\n
\n \n
\n Source URL\n
\n \n
\n Factor\n
\n \n
\n
\n \n \n
\n
\n \n
\n\n","import { Injectable } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport {\n GWPValueFactorVm,\n UpdateGWPValueFactorCommandParams,\n CalcFactorType,\n} from 'src/api-client/report-api.generated';\nimport { IOption } from 'src/app/static-data/options';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\nimport { FactorDetailForm, CalculationFactorDetailStateService } from '../../calculation-factor-detail-state.service';\nimport { CustomFormValidators } from 'src/app/shared/utils/custom-form-validators';\nimport { GWPMapping } from 'src/app/static-data/enum-mappings';\n\ninterface GlobalWarmingPotentialFactorDetailsForm extends FactorDetailForm {\n referenceStandard: FormControl;\n gwp: FormControl;\n gwpValue: FormControl;\n}\n\n@Injectable()\nexport class GlobalWarmingPotentialFactorDetailStateService extends CalculationFactorDetailStateService {\n fc?: GlobalWarmingPotentialFactorDetailsForm;\n calcFactorTitle = 'GWP Factor';\n calcFactorType = CalcFactorType.GWPValueFactor;\n global: boolean = false;\n\n async init(factorId: string, global: boolean) {\n this.global = global;\n this.loading = true;\n this.factorId = factorId;\n await Promise.all([this.getCalcFactorVersions(this.global)]);\n this.loading = false;\n }\n\n async getFactorVersion(versionId: string) {\n const response = this.global\n ? await this.caclFactorApiService.getCalcFactorById(this.factorId, versionId)\n : await this.caclFactorApiService.getOrganizationCalcFactorById(this.factorId, versionId);\n const factor = response.result as GWPValueFactorVm;\n this.organizationId = factor.organizationId;\n this.fc = {\n versionValidFromYear: new FormControl(factor.versionValidFrom.getFullYear().toString(), {\n validators: [Validators.required, CustomFormValidators.numericString],\n nonNullable: true,\n }),\n referenceStandard: new FormControl(factor.referenceStandard || '', { nonNullable: true }),\n sourceName: new FormControl(factor.sourceName || '', { nonNullable: true }),\n sourceUrl: new FormControl(factor.sourceURL || '', { nonNullable: true }),\n gwp: new FormControl(GWPMapping[factor.gwp] || '', { nonNullable: true }),\n gwpValue: new FormControl((factor.gwpValue ?? '').toString(), {\n nonNullable: false,\n }),\n };\n\n this.formgroup = new FormGroup(this.fc);\n }\n\n getFactorParams(versionId: string): UpdateGWPValueFactorCommandParams | undefined {\n if (this.factorId && this.formgroup?.valid && this.fc) {\n return new UpdateGWPValueFactorCommandParams({\n id: this.factorId,\n type: this.calcFactorType,\n referenceStandard: this.fc.referenceStandard.value,\n versionId: versionId,\n versionValidFromYear: this.fc.versionValidFromYear.value\n ? formattedStringToNumber(this.fc.versionValidFromYear.value.toString())\n : undefined,\n sourceName: this.fc.sourceName.value || undefined,\n sourceURL: this.fc.sourceUrl.value || undefined,\n gwpValue: formattedStringToNumber(this.fc.gwpValue.value || '') || 0,\n });\n }\n return undefined;\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { GlobalWarmingPotentialFactorDetailStateService } from './global-warming-potential-factor-detail-state.service';\nimport { CalculationFactorDetail } from '../../calculation-factor-detail.component';\n\n@Component({\n selector: 'esg-global-warming-potential-factor-detail',\n templateUrl: './global-warming-potential-factor-detail.component.html',\n styleUrls: ['../../calculation-factor-detail.component.scss'],\n providers: [GlobalWarmingPotentialFactorDetailStateService],\n})\nexport class GlobalWarmingPotentialFactorDetailComponent extends CalculationFactorDetail implements OnInit {\n @Input({ required: true }) factorId!: string;\n @Input({ required: true }) global!: boolean;\n constructor(public state: GlobalWarmingPotentialFactorDetailStateService) {\n super(state);\n }\n ngOnInit(): void {\n this.state.init(this.factorId, this.global);\n }\n}\n","
\n \n

{{ state.fc?.gwp?.value }}

\n
\n \n
\n Version valid from\n
\n \n
\n Reference standard\n
\n \n
\n Source name\n
\n \n
\n Source URL\n
\n \n
\n GWP\n
\n \n
\n
\n \n \n
\n
\n \n
\n\n","import { Injectable } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport {\n CalcFactorType,\n HotelNightsCountryFactorVm,\n UpdateHotelNightsCountryFactorCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { IOption } from 'src/app/static-data/options';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\nimport { FactorDetailForm, CalculationFactorDetailStateService } from '../../calculation-factor-detail-state.service';\nimport { CustomFormValidators } from 'src/app/shared/utils/custom-form-validators';\n\ninterface HotelNightsFactorDetailForm extends FactorDetailForm {\n country: FormControl;\n factor: FormControl;\n}\n\n@Injectable()\nexport class HotelNightsFactorDetailStateService extends CalculationFactorDetailStateService {\n fc?: HotelNightsFactorDetailForm;\n calcFactorTitle = 'Hotel nights factor';\n calcFactorType = CalcFactorType.HotelNightsCountryFactor;\n global: boolean = false;\n\n async init(factorId: string, global: boolean) {\n this.global = global;\n this.loading = true;\n this.factorId = factorId;\n await Promise.all([this.getCalcFactorVersions(this.global)]);\n this.loading = false;\n }\n\n async getFactorVersion(versionId: string) {\n const response = this.global\n ? await this.caclFactorApiService.getCalcFactorById(this.factorId, versionId)\n : await this.caclFactorApiService.getOrganizationCalcFactorById(this.factorId, versionId);\n const factor = response.result as HotelNightsCountryFactorVm;\n this.organizationId = factor.organizationId;\n this.fc = {\n versionValidFromYear: new FormControl(factor.versionValidFrom.getFullYear().toString(), {\n validators: [Validators.required, CustomFormValidators.numericString],\n nonNullable: true,\n }),\n referenceStandard: new FormControl(factor.referenceStandard || '', { nonNullable: true }),\n sourceName: new FormControl(factor.sourceName || '', { nonNullable: true }),\n sourceUrl: new FormControl(factor.sourceURL || '', { nonNullable: true }),\n country: new FormControl(\n { value: { value: factor.countryCode, label: factor.countryName }, disabled: true },\n { validators: [Validators.required], nonNullable: true }\n ),\n factor: new FormControl((factor.factor ?? '').toString(), {\n nonNullable: false,\n }),\n };\n\n this.formgroup = new FormGroup(this.fc);\n }\n\n getFactorParams(versionId: string): UpdateHotelNightsCountryFactorCommandParams | undefined {\n if (this.factorId && this.formgroup?.valid && this.fc) {\n return new UpdateHotelNightsCountryFactorCommandParams({\n id: this.factorId,\n type: this.calcFactorType,\n referenceStandard: this.fc.referenceStandard.value,\n versionId: versionId,\n versionValidFromYear: this.fc.versionValidFromYear.value\n ? formattedStringToNumber(this.fc.versionValidFromYear.value.toString())\n : undefined,\n sourceName: this.fc.sourceName.value || undefined,\n sourceURL: this.fc.sourceUrl.value || undefined,\n factor: formattedStringToNumber(this.fc.factor.value || '') || 0,\n });\n }\n return undefined;\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { HotelNightsFactorDetailStateService } from './hotel-nights-factor-detail-state.service';\nimport { CalculationFactorDetail } from '../../calculation-factor-detail.component';\n\n@Component({\n selector: 'esg-hotel-nights-factor-detail',\n templateUrl: './hotel-nights-factor-detail.component.html',\n styleUrls: ['../../calculation-factor-detail.component.scss'],\n providers: [HotelNightsFactorDetailStateService],\n})\nexport class HotelNightsFactorDetailComponent extends CalculationFactorDetail implements OnInit {\n @Input({ required: true }) factorId!: string;\n @Input({ required: true }) global!: boolean;\n constructor(public state: HotelNightsFactorDetailStateService) {\n super(state);\n }\n ngOnInit(): void {\n this.state.init(this.factorId, this.global);\n }\n}\n","
\n \n

{{ state.fc?.country?.value?.label }}

\n
\n \n
\n Version valid from\n
\n \n
\n Reference standard\n
\n \n
\n Source name\n
\n \n
\n Source URL\n
\n \n
\n C02\n
\n \n
\n
\n \n \n
\n
\n \n
\n\n","import { Injectable } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport {\n CalcFactorType,\n LabourRightsCountryFactorVm,\n UpdateLabourRightsCountryFactorCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { IOption } from 'src/app/static-data/options';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\nimport {\n FactorDetailForm,\n CalculationFactorDetailStateService,\n} from '../../calculation-factor-detail-state.service';\nimport { CustomFormValidators } from 'src/app/shared/utils/custom-form-validators';\n\ninterface LabourRightsFactorDetailForm extends FactorDetailForm {\n country: FormControl;\n score: FormControl;\n}\n\n@Injectable()\nexport class LabourRightsFactorDetailStateService extends CalculationFactorDetailStateService {\n fc?: LabourRightsFactorDetailForm;\n calcFactorTitle = 'Labour rights Factor';\n calcFactorType = CalcFactorType.LabourRightsCountryFactor;\n global: boolean = false;\n\n async init(factorId: string, global: boolean) {\n this.global = global;\n this.loading = true;\n this.factorId = factorId;\n await Promise.all([this.getCalcFactorVersions(this.global)]);\n this.loading = false;\n }\n\n async getFactorVersion(versionId: string) {\n const response = this.global\n ? await this.caclFactorApiService.getCalcFactorById(this.factorId, versionId)\n : await this.caclFactorApiService.getOrganizationCalcFactorById(this.factorId, versionId);\n const factor = response.result as LabourRightsCountryFactorVm;\n this.organizationId = factor.organizationId;\n this.fc = {\n versionValidFromYear: new FormControl(factor.versionValidFrom.getFullYear().toString(), {\n validators: [Validators.required, CustomFormValidators.numericString],\n nonNullable: true,\n }),\n referenceStandard: new FormControl(factor.referenceStandard || '', { nonNullable: true }),\n sourceName: new FormControl(factor.sourceName || '', { nonNullable: true }),\n sourceUrl: new FormControl(factor.sourceURL || '', { nonNullable: true }),\n country: new FormControl(\n { value: { value: factor.countryCode, label: factor.countryName }, disabled: true },\n { validators: [Validators.required], nonNullable: true }\n ),\n score: new FormControl(factor.score.toString(), {\n nonNullable: false,\n }),\n };\n\n this.formgroup = new FormGroup(this.fc);\n }\n\n getFactorParams(versionId: string): UpdateLabourRightsCountryFactorCommandParams | undefined {\n if (this.factorId && this.formgroup?.valid && this.fc) {\n return new UpdateLabourRightsCountryFactorCommandParams({\n id: this.factorId,\n type: this.calcFactorType,\n referenceStandard: this.fc.referenceStandard.value,\n versionId: versionId,\n versionValidFromYear: this.fc.versionValidFromYear.value\n ? formattedStringToNumber(this.fc.versionValidFromYear.value.toString())\n : undefined,\n sourceName: this.fc.sourceName.value || undefined,\n sourceURL: this.fc.sourceUrl.value || undefined,\n score: formattedStringToNumber(this.fc.score.value || '') || 0,\n });\n }\n return undefined;\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { LabourRightsFactorDetailStateService } from './labour-rights-factor-detail-state.service';\nimport { CalculationFactorDetail } from '../../calculation-factor-detail.component';\n\n@Component({\n selector: 'esg-labour-rights-factor-detail',\n templateUrl: './labour-rights-factor-detail.component.html',\n styleUrls: ['../../calculation-factor-detail.component.scss'],\n providers: [LabourRightsFactorDetailStateService],\n})\nexport class LabourRightsFactorDetailComponent extends CalculationFactorDetail implements OnInit {\n @Input({ required: true }) factorId!: string;\n @Input({ required: true }) global!: boolean;\n constructor(public state: LabourRightsFactorDetailStateService) {\n super(state);\n }\n ngOnInit(): void {\n this.state.init(this.factorId, this.global);\n }\n}\n","
\n \n

{{ state.fc?.country?.value?.label }}

\n
\n \n
\n Version valid from\n
\n \n
\n Reference standard\n
\n \n
\n Source name\n
\n \n
\n Source URL\n
\n \n
\n Score\n
\n \n
\n
\n \n \n
\n
\n \n
\n\n","import { Injectable } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport {\n CalcFactorType,\n PurchasedFishFactorVm,\n UpdatePurchasedFishFactorCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { IOption } from 'src/app/static-data/options';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\nimport { FactorDetailForm, CalculationFactorDetailStateService } from '../../calculation-factor-detail-state.service';\nimport { CustomFormValidators } from 'src/app/shared/utils/custom-form-validators';\n\ninterface PurchasedFishFactorDetailForm extends FactorDetailForm {\n species: FormControl;\n cO2_kg_per_unit: FormControl;\n}\n\n@Injectable()\nexport class PurchasedFishFactorDetailStateService extends CalculationFactorDetailStateService {\n fc?: PurchasedFishFactorDetailForm;\n calcFactorTitle = 'Purchased fish factor';\n calcFactorType = CalcFactorType.PurchasedFishFactor;\n global: boolean = false;\n\n async init(factorId: string, global: boolean) {\n this.global = global;\n this.loading = true;\n this.factorId = factorId;\n await Promise.all([this.getCalcFactorVersions(this.global)]);\n this.loading = false;\n }\n\n async getFactorVersion(versionId: string) {\n const response = this.global\n ? await this.caclFactorApiService.getCalcFactorById(this.factorId, versionId)\n : await this.caclFactorApiService.getOrganizationCalcFactorById(this.factorId, versionId);\n const factor = response.result as PurchasedFishFactorVm;\n this.organizationId = factor.organizationId;\n this.fc = {\n versionValidFromYear: new FormControl(factor.versionValidFrom.getFullYear().toString(), {\n validators: [Validators.required, CustomFormValidators.numericString],\n nonNullable: true,\n }),\n referenceStandard: new FormControl(factor.referenceStandard || '', { nonNullable: true }),\n sourceName: new FormControl(factor.sourceName || '', { nonNullable: true }),\n sourceUrl: new FormControl(factor.sourceURL || '', { nonNullable: true }),\n species: new FormControl(\n { value: { value: factor.species, label: factor.species }, disabled: true },\n { validators: [Validators.required], nonNullable: true }\n ),\n cO2_kg_per_unit: new FormControl((factor.cO2_kg_per_unit ?? '').toString(), {\n nonNullable: false,\n }),\n };\n\n this.formgroup = new FormGroup(this.fc);\n }\n\n getFactorParams(versionId: string): UpdatePurchasedFishFactorCommandParams | undefined {\n if (this.factorId && this.formgroup?.valid && this.fc) {\n return new UpdatePurchasedFishFactorCommandParams({\n id: this.factorId,\n type: this.calcFactorType,\n referenceStandard: this.fc.referenceStandard.value,\n versionId: versionId,\n versionValidFromYear: this.fc.versionValidFromYear.value\n ? formattedStringToNumber(this.fc.versionValidFromYear.value.toString())\n : undefined,\n sourceName: this.fc.sourceName.value || undefined,\n sourceURL: this.fc.sourceUrl.value || undefined,\n value: formattedStringToNumber(this.fc.cO2_kg_per_unit.value || '') || 0,\n });\n }\n return undefined;\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { PurchasedFishFactorDetailStateService } from './purchased-fish-factor-detail-state.service';\nimport { CalculationFactorDetail } from '../../calculation-factor-detail.component';\n\n@Component({\n selector: 'esg-purchased-fish-factor-detail',\n templateUrl: './purchased-fish-factor-detail.component.html',\n styleUrls: ['../../calculation-factor-detail.component.scss'],\n providers: [PurchasedFishFactorDetailStateService],\n})\nexport class PurchasedFishFactorDetailComponent extends CalculationFactorDetail implements OnInit {\n @Input({ required: true }) factorId!: string;\n @Input({ required: true }) global!: boolean;\n constructor(public state: PurchasedFishFactorDetailStateService) {\n super(state);\n }\n ngOnInit(): void {\n this.state.init(this.factorId, this.global);\n }\n}\n","
\n \n

{{ state.fc?.species?.value?.label }}

\n
\n \n
\n Version valid from\n
\n \n
\n Reference standard\n
\n \n
\n Source name\n
\n \n
\n Source URL\n
\n \n
\n CO2-E\n
\n \n
\n
\n \n \n
\n
\n \n
\n\n","import { Component, EventEmitter, Input, Output, SimpleChanges } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { CalcFactorVm } from 'src/api-client/report-api.generated';\nimport { RecordBodyRow, RecordHeaderCell, RecordSource } from 'src/app/shared/components/records-table/records-table.component';\nimport { IMenuItem } from 'src/app/shared/ui/context-menu/context-menu.component';\nimport { stringToFormattedNumberString } from 'src/app/shared/utils/number-converters';\nimport { IOption } from 'src/app/static-data/options';\n\n@Component({\n selector: 'esg-factor-records-table',\n templateUrl: './factor-records-table.component.html',\n styleUrls: ['./factor-records-table.component.scss'],\n})\nexport class CalcFactorRecordsTableComponent {\n @Input() headerCells: RecordHeaderCell[] = [];\n @Input() bodyRows: RecordBodyRow[] = [];\n @Input() newlyAddedRowsIds: string[] = [];\n @Input() columnFilter?: FormControl;\n @Input() readOnly: boolean = false;\n @Input() addOnly: boolean = false;\n @Input() isAdding: boolean = false;\n @Input() isSortable: boolean = false;\n @Input() hideAddButton: boolean = false;\n @Input() hideContextMenu: boolean = false;\n @Input() editRecordId?: string;\n @Input() stickyHeaderTopOffset: number = 0;\n @Input() maxDecDigits?: number = 3;\n @Input() intersectionObserverRootMargin: number = 0;\n @Input() stickyHeaderPadding: number = 0;\n\n @Output() onAdding = new EventEmitter();\n @Output() onFormClose = new EventEmitter();\n @Output() onEditing = new EventEmitter();\n @Output() onDetailClick = new EventEmitter();\n @Output() onSubmit = new EventEmitter();\n @Output() onDelete = new EventEmitter();\n @Output() onSortChange = new EventEmitter<{ key: string; direction: 'asc' | 'desc' | '' }>();\n\n readonly RecordSourceEnum = RecordSource;\n hasActiveCell: boolean = false;\n stickyHeaders: boolean = false;\n\n hidableColumnOptions: IOption[] = [];\n sortKey: string = '';\n sortDirection: 'asc' | 'desc' | '' = '';\n selectedFactor: CalcFactorVm | undefined;\n\n get rootObserverMargin() {\n return `${-this.intersectionObserverRootMargin}px 0px 0px 0px`;\n }\n\n constructor() {}\n\n get numberOfVisibleColumns() {\n return this.columnFilter ? this.columnFilter.value.length : this.headerCells.length;\n }\n\n get gridTemplateColumns() {\n if (this.addOnly) {\n if (this.numberOfVisibleColumns === 2) return '136px 124px minmax(150px, min-content) 1fr';\n else return '136px 124px repeat(' + (this.numberOfVisibleColumns - 2) + ', minmax(min-content, 1fr))';\n } else {\n if (this.numberOfVisibleColumns === 2) return '136px 124px minmax(150px, min-content) 1fr 34px';\n else return '136px 124px repeat(' + (this.numberOfVisibleColumns - 2) + ', minmax(min-content, 1fr)) 34px';\n }\n }\n\n get fullGridColumn() {\n if (this.numberOfVisibleColumns === 2) return 'span ' + (this.numberOfVisibleColumns + 3);\n return 'span ' + (this.numberOfVisibleColumns + 2);\n }\n\n get isAddButtonVisible() {\n return !this.hideAddButton && !this.readOnly && !this.isAdding;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.headerCells) {\n this.updateColumnOptions();\n }\n }\n\n private updateColumnOptions() {\n this.hidableColumnOptions = this.headerCells\n .filter(cell => cell.possibleToHide)\n .map(cell => ({ value: cell.columnId, label: cell.label }));\n }\n\n isColumnVisible(id: string): boolean {\n if (!this.columnFilter) return true;\n return this.columnFilter.value.some(column => column.value === id);\n }\n\n trackByRecord(index: number, record: RecordBodyRow) {\n return record.id;\n }\n\n trackByHeaderCell(index: number, cell: RecordHeaderCell) {\n return cell.columnId;\n }\n\n handleFocusInside() {\n this.hasActiveCell = true;\n }\n\n handleOnRowClick(event: Event, id: string) {\n if (this.hasActiveCell || this.readOnly) return;\n event.stopPropagation();\n this.onEditing.emit(id);\n }\n\n handleOnDetailClick(event: Event, id: string) {\n this.onDetailClick.emit(id);\n }\n\n handleOnSubmit() {\n if (!this.hasActiveCell) this.onSubmit.emit();\n else this.hasActiveCell = false;\n }\n\n handleOnFormClose() {\n if (!this.hasActiveCell) this.onFormClose.emit();\n else this.hasActiveCell = false;\n }\n\n handleOnEnter() {\n this.hasActiveCell = false;\n this.onSubmit.emit();\n }\n\n handleOnEscape() {\n this.hasActiveCell = false;\n this.onFormClose.emit();\n }\n\n formatNumberCell(value: string) {\n return stringToFormattedNumberString(value, 0, this.maxDecDigits) || '-';\n }\n\n handleOnAddRecord(event: Event) {\n event.stopPropagation();\n this.onAdding.emit();\n }\n\n userContextMenuProvider = (id: string, connected: boolean = false): IMenuItem[] => [\n {\n id: 'history',\n label: 'History',\n onClick: () => {},\n disabled: true,\n },\n {\n id: 'delete',\n label: 'Delete',\n onClick: () => {\n this.onDelete.emit(id);\n },\n disabled: this.readOnly || connected,\n },\n ];\n\n handleStickyHeaders(tabEntry: IntersectionObserverEntry) {\n if (tabEntry.rootBounds?.top) {\n this.stickyHeaders = tabEntry.boundingClientRect.top < tabEntry.rootBounds.top;\n } else this.stickyHeaders = false;\n }\n\n handleOnSortChange(event: { key: string; direction: 'asc' | 'desc' | '' }) {\n this.sortKey = event.key;\n this.sortDirection = event.direction;\n this.onSortChange.emit(event);\n }\n}\n","\n\n \n \n \n \n \n \n
\n \n (optional)\n \n \n
\n \n \n \n
\n \n (optional)\n \n \n
\n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{ cell.number ? formatNumberCell(cell.value) : cell.value }}\n  {{ cell.unit | formatUnitWithUnicode }}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n
\n \n \n \n \n
\n
\n \n
\n
\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'esg-factor-version-form',\n templateUrl: './factor-version-form.component.html',\n styleUrls: ['./factor-version-form.component.scss'],\n})\nexport class FactorVersionFormComponent {\n @Input() active: boolean = false;\n @Input() saveDisabled: boolean = false;\n @Input() deleteDisabled: boolean = true;\n @Output() onClick = new EventEmitter();\n @Output() onSave = new EventEmitter();\n @Output() onDelete = new EventEmitter();\n @Output() onCancel = new EventEmitter();\n\n handleOnClick() {\n this.onClick.emit();\n }\n\n handleOnOutsideClick() {\n if (this.active) {\n this.onCancel.emit();\n }\n }\n\n handleOnCancel(event: Event) {\n event.stopPropagation();\n this.onCancel.emit();\n }\n\n handleOnSave(event: Event) {\n event.stopPropagation();\n this.onSave.emit();\n }\n\n handleOnDelete(event: Event) {\n event.stopPropagation();\n this.onDelete.emit();\n }\n}\n","\n
\n
\n
\n
\n
\n
\n \n
\n
\n Cancel\n Save\n
\n
\n
\n
\n\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\nexport interface FactorVersionUi {\n id: string;\n year: Date;\n sourceName?: string;\n sourceURL?: string;\n}\n\n@Component({\n selector: 'esg-factor-version-menu',\n templateUrl: './factor-version-menu.component.html',\n styleUrls: ['./factor-version-menu.component.scss']\n})\nexport class FactorVersionMenuComponent {\n @Input({ required: true }) activeVersion!: string;\n @Input({ required: true }) factorVersions!: FactorVersionUi[];\n @Input() newVersion?: Date;\n @Output() onVersionClick = new EventEmitter();\n @Output() onNewVersionClick = new EventEmitter();\n\n handleOnVersionClick(version: string) {\n if (this.activeVersion !== version) {\n this.onVersionClick.emit(version);\n }\n }\n\n handleOnNewVersionClick(event: Event) {\n event.stopPropagation();\n this.onNewVersionClick.emit();\n }\n}\n","Factor versions\n
\n \n
\n\n \n \n \n {{ version.year | date : 'yyyy' }}{{ version.sourceName ? ' - ' + version.sourceName : '' }}\n \n\n
\n \n No previous versions\n
\n\n","import { Injectable } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { WasteFactorVm, UpdateWasteFactorCommandParams, CalcFactorType } from 'src/api-client/report-api.generated';\nimport { IOption, WasteClassOptions, WasteSubClassOptionsByClass } from 'src/app/static-data/options';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\nimport { FactorDetailForm, CalculationFactorDetailStateService } from '../../calculation-factor-detail-state.service';\nimport { CustomFormValidators } from 'src/app/shared/utils/custom-form-validators';\n\ninterface WasteFactorDetailForm extends FactorDetailForm {\n referenceStandard: FormControl;\n class: FormControl;\n subClass: FormControl;\n recycled: FormControl;\n composted: FormControl;\n incinerated: FormControl;\n landfilled: FormControl;\n mixed: FormControl;\n disposedToSea: FormControl;\n density: FormControl;\n}\n\n@Injectable()\nexport class WasteFactorsDetailStateService extends CalculationFactorDetailStateService {\n fc?: WasteFactorDetailForm;\n calcFactorTitle = 'Fuel Energy Factor';\n calcFactorType = CalcFactorType.WasteFactor;\n global: boolean = false;\n\n async init(factorId: string, global: boolean) {\n this.global = global;\n this.loading = true;\n this.factorId = factorId;\n await Promise.all([this.getCalcFactorVersions(this.global)]);\n this.loading = false;\n }\n\n async getFactorVersion(versionId: string) {\n const response = this.global\n ? await this.caclFactorApiService.getCalcFactorById(this.factorId, versionId)\n : await this.caclFactorApiService.getOrganizationCalcFactorById(this.factorId, versionId);\n const factor = response.result as WasteFactorVm;\n this.organizationId = factor.organizationId;\n this.fc = {\n versionValidFromYear: new FormControl(factor.versionValidFrom.getFullYear().toString(), {\n validators: [Validators.required, CustomFormValidators.numericString],\n nonNullable: true,\n }),\n referenceStandard: new FormControl(factor.referenceStandard || '', { nonNullable: true }),\n sourceName: new FormControl(factor.sourceName || '', { nonNullable: true }),\n sourceUrl: new FormControl(factor.sourceURL || '', { nonNullable: true }),\n class: new FormControl(\n {\n value: WasteClassOptions.find(opt => opt.value === factor.class) || WasteClassOptions[0],\n disabled: true,\n },\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n subClass: new FormControl(\n {\n value:\n WasteSubClassOptionsByClass[factor.class].find(opt => opt.value === factor.subClass) ||\n WasteSubClassOptionsByClass[factor.class][0],\n disabled: true,\n },\n {\n nonNullable: true,\n }\n ),\n recycled: new FormControl(factor.recycled?.toString() || '', {\n nonNullable: true,\n }),\n composted: new FormControl(factor.composted?.toString() || '', {\n nonNullable: true,\n }),\n incinerated: new FormControl(factor.incinerated.toString(), {\n validators: [Validators.required, CustomFormValidators.numericString],\n nonNullable: true,\n }),\n landfilled: new FormControl(factor.landfilled.toString(), {\n validators: [Validators.required, CustomFormValidators.numericString],\n nonNullable: true,\n }),\n mixed: new FormControl(factor.mixed.toString(), {\n validators: [Validators.required, CustomFormValidators.numericString],\n nonNullable: true,\n }),\n disposedToSea: new FormControl(factor.disposedToSea?.toString() || '', {\n nonNullable: true,\n }),\n density: new FormControl(factor.density.toString(), {\n validators: [Validators.required, CustomFormValidators.numericString],\n nonNullable: true,\n }),\n };\n\n this.formgroup = new FormGroup(this.fc);\n }\n\n getFactorParams(versionId: string): UpdateWasteFactorCommandParams | undefined {\n if (this.factorId && this.formgroup?.valid && this.fc) {\n return new UpdateWasteFactorCommandParams({\n id: this.factorId,\n type: this.calcFactorType,\n referenceStandard: this.fc.referenceStandard.value,\n versionId: versionId,\n versionValidFromYear: this.fc.versionValidFromYear.value\n ? formattedStringToNumber(this.fc.versionValidFromYear.value.toString())\n : undefined,\n sourceName: this.fc.sourceName.value || undefined,\n sourceURL: this.fc.sourceUrl.value || undefined,\n recycled: formattedStringToNumber(this.fc.recycled.value || ''),\n composted: formattedStringToNumber(this.fc.composted.value || ''),\n incinerated: formattedStringToNumber(this.fc.incinerated.value || '') || 0,\n landfilled: formattedStringToNumber(this.fc.landfilled.value || '') || 0,\n mixed: formattedStringToNumber(this.fc.mixed.value || '') || 0,\n disposedToSea: formattedStringToNumber(this.fc.disposedToSea.value || ''),\n density: formattedStringToNumber(this.fc.density.value || '') || 0,\n });\n }\n return undefined;\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { WasteFactorsDetailStateService as WasteFactorDetailStateService } from './waste-factor-detail-state.service';\nimport { CalculationFactorDetail } from '../../calculation-factor-detail.component';\n\n@Component({\n selector: 'esg-waste-factor-detail',\n templateUrl: './waste-factor-detail.component.html',\n styleUrls: ['../../calculation-factor-detail.component.scss'],\n providers: [WasteFactorDetailStateService],\n})\nexport class WasteFactorDetailComponent extends CalculationFactorDetail implements OnInit {\n @Input({ required: true }) factorId!: string;\n @Input({ required: true }) global!: boolean;\n constructor(public state: WasteFactorDetailStateService) {\n super(state);\n }\n ngOnInit(): void {\n this.state.init(this.factorId, this.global);\n }\n}\n","
\n \n

{{ state.fc?.class?.value?.label }}

\n
\n \n
\n Subclass\n
\n \n
\n Version valid from\n
\n \n
\n Reference standard\n
\n \n
\n Source name\n
\n \n
\n Source URL\n
\n \n
\n Recycled\n
\n \n
\n Composted\n
\n \n
\n Incinerated\n
\n \n
\n Landfilled\n
\n \n
\n Mixed\n
\n \n
\n Disposed to sea\n
\n \n
\n Density\n
\n \n
\n
\n \n \n
\n
\n \n
\n\n","import { Injectable } from '@angular/core';\nimport { DataCategoryApiService } from 'src/app/api-client/report-api/categories-api-service';\nimport { DataCategoriesUi } from './data-collect-categories.component';\nimport { DataCategoryToMainTopic } from 'src/app/static-data/enum-mappings';\nimport * as _ from 'lodash';\n\n@Injectable()\nexport class DataCollectCategoriesStateService {\n categories: DataCategoriesUi[] = [];\n selectedCategory?: string;\n loading: boolean = false;\n sortKey: string = 'name';\n sortDirection: 'asc' | 'desc' | '' = 'asc';\n\n constructor(private dataCategoryApiService: DataCategoryApiService) {\n this.init();\n }\n\n async init() {\n this.loading = true;\n await this.getCategories();\n this.loading = false;\n }\n\n async getCategories() { \n const orderBy= this.sortDirection ? this.sortKey + ' ' + this.sortDirection : undefined;\n const response = await this.dataCategoryApiService.getAllDataCategories(orderBy);\n this.categories = response.result.map(category => ({\n dataRecordCategory: category.dataRecordCategory,\n name: category.name,\n mainTopic: DataCategoryToMainTopic[category.dataRecordCategory],\n lastUpdated: category.lastUpdated,\n editedBy: category.editedBy,\n }));\n }\n\n selectCategory(dataRecordCategory: string) {\n this.selectedCategory = dataRecordCategory;\n }\n\n closeSelectedCategory() {\n this.getCategories();\n this.selectedCategory = undefined;\n }\n\n onSortChange(event: { key: string; direction: 'asc' | 'desc' | '' }) {\n this.sortKey = event.key;\n this.sortDirection = event.direction;\n this.getCategories();\n }\n}\n","import { Component } from '@angular/core';\nimport { DataCollectCategoriesStateService } from './data-collect-categories-state.service';\n\nexport interface DataCategoriesUi {\n dataRecordCategory: string;\n name: string;\n mainTopic: string;\n lastUpdated: Date;\n editedBy: string;\n}\n\n@Component({\n selector: 'esg-data-collect-categories',\n templateUrl: './data-collect-categories.component.html',\n styleUrls: ['./data-collect-categories.component.scss'],\n providers: [DataCollectCategoriesStateService],\n})\nexport class DataCollectCategoriesComponent {\n constructor(public state: DataCollectCategoriesStateService) {}\n\n handleSelectCategory(dataRecordCategory: string) {\n this.state.selectCategory(dataRecordCategory);\n }\n\n handleCloseCategory() {\n this.state.closeSelectedCategory();\n }\n}\n","\n\n

Raw Data Categories

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n
\n
\n {{ category.name }}\n \n {{ category.mainTopic }}\n \n {{ category.lastUpdated | date : 'dd.MM.yyyy' }}\n \n {{ category.editedBy }}\n \n
\n Details\n \n \n \n
\n
\n
\n\n \n\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { DataCategoryApiService } from 'src/app/api-client/report-api/categories-api-service';\nimport { DataCategoryDetailsUi } from './data-collect-category-details.component';\nimport { DataRecordCategory, UpdateDataCategoryCommandParams } from 'src/api-client/report-api.generated';\nimport { FormControl } from '@angular/forms';\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\nimport { Subscription } from 'rxjs';\n\n@Injectable()\nexport class DataCollectCategoryDetailsStateService implements OnDestroy {\n dataCategory!: DataCategoryDetailsUi;\n private guidanceSubscription?: Subscription;\n\n constructor(private dataCategoryApiService: DataCategoryApiService) {}\n\n async init(dataRecordCategory: string) {\n const category = Object.values(DataRecordCategory).find(category => category === dataRecordCategory);\n if (category) {\n const { result } = await this.dataCategoryApiService.getDataCategoryByDataRecordCategory(category);\n this.dataCategory = {\n name: result.name,\n dataRecordCategory: result.dataRecordCategory,\n guidance: new FormControl(result.guidance, { nonNullable: true }),\n };\n this.subscribeToGuidanceChanges();\n }\n }\n\n private subscribeToGuidanceChanges() {\n this.guidanceSubscription = this.dataCategory.guidance.valueChanges\n .pipe(debounceTime(400), distinctUntilChanged())\n .subscribe(result => {\n if (this.dataCategory.guidance.dirty) {\n this.updateGuidance(result || '');\n }\n });\n }\n\n private updateGuidance(guidance: string) {\n const category = Object.values(DataRecordCategory).find(\n category => category === this.dataCategory.dataRecordCategory\n );\n if (category) {\n const commandParams = new UpdateDataCategoryCommandParams({\n name: this.dataCategory.name,\n dataRecordCategory: category,\n guidance: guidance,\n });\n this.dataCategoryApiService.updateDataCategory(commandParams);\n }\n }\n\n ngOnDestroy() {\n if (this.guidanceSubscription) {\n this.guidanceSubscription.unsubscribe();\n }\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { DataCollectCategoryDetailsStateService } from './data-collect-category-details-state.service';\nimport { FormControl } from '@angular/forms';\n\nexport interface DataCategoryDetailsUi {\n name: string;\n dataRecordCategory: string;\n guidance: FormControl;\n}\n\n@Component({\n selector: 'esg-data-collect-category-details',\n templateUrl: './data-collect-category-details.component.html',\n styleUrls: ['./data-collect-category-details.component.scss'],\n providers: [DataCollectCategoryDetailsStateService],\n})\nexport class DataCollectCategoryDetailsComponent {\n @Input({ required: true }) selectedCategory!: string;\n\n textAreaStyles = {\n height: '204px',\n 'font-size': '14px',\n color: '#333333',\n };\n\n constructor(public state: DataCollectCategoryDetailsStateService) {}\n\n ngOnInit(): void {\n this.state.init(this.selectedCategory);\n }\n}\n","
\n

{{ state.dataCategory.name }}

\n \n
\n","import { Injectable } from '@angular/core';\nimport { OrganizationsStateService } from '../organizations-state.service';\nimport { Permission } from 'src/api-client/report-api.generated';\n\n@Injectable()\nexport class AllOrganizationsStateService extends OrganizationsStateService {\n getPermissions() {\n this.userInfoSub = this.appInfoState.userInfo$.subscribe(() => {\n this.hasAddPermission = this.appInfoState.hasPermission(Permission.Report_Organization_Create);\n this.hasEditPermission = this.appInfoState.hasPermission(Permission.Report_Organization_Update);\n this.hasDeletePermission = this.appInfoState.hasPermission(Permission.Report_Organization_Delete);\n });\n }\n\n initData() {\n this.getCountries();\n this.loadOrganizations();\n }\n\n ngOnDestroy() {\n this.userInfoSub.unsubscribe();\n }\n}\n","import { Component } from '@angular/core';\nimport { OrganizationsStateService } from '../organizations-state.service';\nimport { OrganizationsComponent } from '../organizations.component';\nimport { AllOrganizationsStateService } from './all-organizations-state.service';\n\n@Component({\n selector: 'esg-organizations',\n templateUrl: '../organizations.component.html',\n styleUrls: ['../organizations.component.scss'],\n providers: [{ provide: OrganizationsStateService, useClass: AllOrganizationsStateService }],\n})\nexport class AllOrganizationsComponent extends OrganizationsComponent {\n handleSubmitOrganization() {\n if (this.state.selectedOrganization) {\n this.showOrganizationForm = false;\n this.state.selectedOrganization = undefined;\n this.state.loadOrganizations();\n } else {\n this.showOrganizationForm = false;\n this.state.loadOrganizations();\n }\n }\n}\n","

{{ state.hasAddPermission ? 'Organizations' : 'Organization' }}

\n\n\n
\n \n
\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n","import { Component, OnInit, Input } from '@angular/core';\nimport { IOrganizationDetails } from '../organizations-types';\n\n@Component({\n selector: 'esg-organization-details',\n templateUrl: './organization-details.component.html',\n styleUrls: ['./organization-details.component.scss'],\n})\nexport class OrganizationDetailsComponent implements OnInit {\n @Input({ required: true }) organization!: IOrganizationDetails;\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","
\n

{{ organization.name }}

\n
\n Users assigned to this organization:\n \n \n \n \n \n \n \n \n 0\">\n \n \n \n \n \n \n
USEREMAILROLE
{{ item.name }}{{ item.email }}{{ item.role }}
\n
\n
\n","import { Injectable } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { CustomFormValidators } from 'src/app/shared/utils/custom-form-validators';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { IUploadedPhoto } from 'src/app/shared/ui/upload-picture/upload-picture.component';\nimport { ReportAppApiService } from 'src/app/api-client/report-api/app-api-service';\nimport { IOption } from 'src/app/static-data/options';\nimport {\n CountryCodes,\n CreateOrganizationCommandParams,\n CurrencyCodes,\n OrganizationLogo,\n UpdateOrganizationCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { IOrganizationDetailsUi } from './organization-form.component';\nimport { OrganizationApiService } from 'src/app/api-client/report-api/organization-api-service';\nimport { CountryApiService } from 'src/app/api-client/report-api/country-api-service';\nimport { CurrencyApiService } from 'src/app/api-client/report-api/currency-api-service';\nimport { sortOptionsAlphabetically } from 'src/app/shared/utils/array';\n\n@Injectable()\nexport class OrganizationFormStateService {\n countryOptions: IOption[] = [];\n currencyOptions: IOption[] = [];\n\n organizationId?: string;\n fc: IOrganizationDetailsUi = {\n name: new FormControl('', { nonNullable: true, validators: [Validators.required] }),\n logo: new FormControl(null, {\n validators: [Validators.required],\n }),\n logoSquare: new FormControl(null, {\n validators: [Validators.required],\n }),\n countryCode: new FormControl(null, {\n nonNullable: true,\n validators: [Validators.required],\n }),\n currencyCode: new FormControl(null, {\n nonNullable: true,\n validators: [Validators.required],\n }),\n orgID: new FormControl('', { nonNullable: true, validators: [Validators.required] }),\n brandColor: new FormControl('', [CustomFormValidators.hexColor]),\n tableHeadColor: new FormControl('', [CustomFormValidators.hexColor]),\n };\n\n formgroup = new FormGroup(this.fc);\n\n currencyFavouriteOptions: IOption[] = [\n {\n value: CurrencyCodes.USD,\n label: CurrencyCodes.USD,\n },\n {\n value: CurrencyCodes.EUR,\n label: CurrencyCodes.EUR,\n },\n {\n value: CurrencyCodes.GBP,\n label: CurrencyCodes.GBP,\n },\n {\n value: CurrencyCodes.NOK,\n label: CurrencyCodes.NOK,\n },\n ];\n\n showCurrencyWarning: boolean = false;\n organizationCurrency?: CurrencyCodes;\n\n constructor(\n private appApiService: ReportAppApiService,\n private organizationApiService: OrganizationApiService,\n private countryApiService: CountryApiService,\n private currencyApiService: CurrencyApiService,\n private domSanitizer: DomSanitizer\n ) {}\n\n async initOrganizationForm(organizationId?: string) {\n this.organizationId = organizationId;\n await Promise.all([this.getCountries(), this.getCurrencies()]);\n\n if (organizationId) {\n var { result } = await this.organizationApiService.getOrganizationById(organizationId);\n this.fc.name.setValue(result.name);\n this.fc.orgID.setValue(result.orgID);\n this.fc.countryCode.setValue(this.countryOptions.find(c => c.value === result.countryCode) || null);\n this.fc.currencyCode.setValue(this.currencyOptions.find(c => c.value === result.currencyCode) || null);\n this.fc.logo.setValue(result.logo ? await this.getLogo(result.logo) : null);\n this.fc.logoSquare.setValue(result.logoSquare ? await this.getLogo(result.logoSquare) : null);\n this.fc.brandColor.setValue(result.brandColor || null);\n this.fc.tableHeadColor.setValue(result.tableHeadColor || null);\n\n this.organizationCurrency = result.currencyCode;\n }\n }\n\n async getCountries() {\n var { result: allCoutries } = await this.countryApiService.getAllCountries();\n this.countryOptions = allCoutries.map(c => ({ value: c.code, label: c.name }));\n }\n\n async getCurrencies() {\n const response = await this.currencyApiService.getAllCurrencies();\n this.currencyOptions = sortOptionsAlphabetically(\n response.result.map(currency => ({ value: currency.code, label: currency.code }))\n );\n }\n\n handleCountryChange(value: IOption) {\n this.fc.countryCode.markAsDirty();\n this.fc.countryCode.setValue(value);\n }\n\n handleCurrencyChange(value: IOption) {\n this.fc.currencyCode.markAsDirty();\n this.fc.currencyCode.setValue(value);\n }\n\n onColorChange(formControl: FormControl, value: string) {\n formControl.setValue(value);\n }\n\n async submit() {\n if (this.formgroup.valid && this.fc.countryCode.value && this.fc.currencyCode.value) {\n if (this.organizationId) {\n if (this.fc.currencyCode.value.value !== this.organizationCurrency && !this.showCurrencyWarning) {\n this.showCurrencyWarning = true;\n return;\n }\n const result = await this.organizationApiService.updateOrganization(\n new UpdateOrganizationCommandParams({\n id: this.organizationId,\n name: this.fc.name.value,\n orgID: this.fc.orgID.value,\n brandColor: this.fc.brandColor.value || undefined,\n tableHeadColor: this.fc.tableHeadColor.value || undefined,\n countryCode: CountryCodes[this.fc.countryCode.value.value as keyof typeof CountryCodes],\n currencyCode: CurrencyCodes[this.fc.currencyCode.value.value as keyof typeof CurrencyCodes],\n logo: this.fc.logo.value\n ? new OrganizationLogo({\n blobName: this.fc.logo.value?.blobName || '',\n fileName: this.fc.logo.value?.fileName,\n })\n : undefined,\n logoSquare: this.fc.logoSquare.value\n ? new OrganizationLogo({\n blobName: this.fc.logoSquare.value?.blobName || '',\n fileName: this.fc.logoSquare.value?.fileName,\n })\n : undefined,\n })\n );\n } else {\n const result = await this.organizationApiService.createOrganization(\n new CreateOrganizationCommandParams({\n name: this.fc.name.value,\n orgID: this.fc.orgID.value,\n brandColor: this.fc.brandColor.value || undefined,\n tableHeadColor: this.fc.tableHeadColor.value || undefined,\n countryCode: CountryCodes[this.fc.countryCode.value.value as keyof typeof CountryCodes],\n currencyCode: CurrencyCodes[this.fc.currencyCode.value?.value as keyof typeof CurrencyCodes],\n logo: this.fc.logo.value\n ? new OrganizationLogo({\n blobName: this.fc.logo.value?.blobName || '',\n fileName: this.fc.logo.value?.fileName,\n })\n : undefined,\n logoSquare: this.fc.logoSquare.value\n ? new OrganizationLogo({\n blobName: this.fc.logoSquare.value?.blobName || '',\n fileName: this.fc.logoSquare.value?.fileName,\n })\n : undefined,\n })\n );\n }\n }\n }\n\n uploadLogo(file: File) {\n this.appApiService\n .uploadImage({\n fileName: file.name,\n data: file,\n })\n .subscribe(result => {\n let objectUrl = URL.createObjectURL(file);\n var logo: IUploadedPhoto = {\n url: this.domSanitizer.bypassSecurityTrustResourceUrl(objectUrl),\n fileName: file.name,\n blobName: result.blobName,\n };\n this.fc.logo.markAsDirty();\n this.fc.logo.setValue(logo);\n });\n }\n uploadLogoSquare(file: File) {\n this.appApiService\n .uploadImage({\n fileName: file.name,\n data: file,\n })\n .subscribe(result => {\n let objectUrl = URL.createObjectURL(file);\n var logo: IUploadedPhoto = {\n url: this.domSanitizer.bypassSecurityTrustResourceUrl(objectUrl),\n fileName: file.name,\n blobName: result.blobName,\n };\n this.fc.logoSquare.markAsDirty();\n this.fc.logoSquare.setValue(logo);\n });\n }\n\n removeLogo() {\n this.fc.logo.setValue(null);\n }\n removeLogoSquare() {\n this.fc.logoSquare.setValue(null);\n }\n\n onCurrencyWarningClose() {\n this.showCurrencyWarning = false;\n if (this.organizationCurrency) {\n this.fc.currencyCode.setValue(this.currencyOptions.find(c => c.value === this.organizationCurrency) || null);\n }\n }\n\n async onCurrencyWarningConfirm() {\n await this.submit();\n this.showCurrencyWarning = false;\n }\n\n async getLogo(logo: OrganizationLogo): Promise {\n const blobUrl = this.appApiService.getBlobUrl(logo.blobName);\n const safeUrl = this.domSanitizer.bypassSecurityTrustResourceUrl(blobUrl);\n const response = await fetch(blobUrl);\n const blob = await response.blob();\n return {\n url: safeUrl,\n fileName: logo.fileName,\n blobName: logo.blobName,\n file: {\n data: blob,\n fileName: logo.fileName,\n },\n };\n }\n}\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { OrganizationFormStateService } from './organization-form-state.service';\nimport { IUploadedPhoto, IUploadPhotoComponentTexts } from 'src/app/shared/ui/upload-picture/upload-picture.component';\nimport { IOption } from 'src/app/static-data/options';\nimport { FormControl } from '@angular/forms';\n\nexport interface IOrganizationDetailsUi {\n name: FormControl;\n countryCode: FormControl;\n currencyCode: FormControl;\n orgID: FormControl;\n logo: FormControl;\n logoSquare: FormControl;\n brandColor: FormControl;\n tableHeadColor: FormControl;\n}\n\n@Component({\n selector: 'esg-organization-form',\n templateUrl: './organization-form.component.html',\n styleUrls: ['./organization-form.component.scss'],\n providers: [OrganizationFormStateService],\n})\nexport class OrganizationFormComponent implements OnInit {\n @Input() organizationId?: string;\n @Input() countryOptions: IOption[] = [];\n\n @Output() onCancel = new EventEmitter();\n @Output() onSubmited = new EventEmitter();\n\n headerText = 'Create new Organization';\n submitText = 'Create';\n\n componentTexts: IUploadPhotoComponentTexts = {\n firstLineP1: 'Drag and drop a logo here or ',\n firstLineP2: ' a logo',\n firstLineP1UploadedPhoto: 'Drag and drop or ',\n firstLineP2UploadedPhoto: ' to replace logo',\n secondLine: 'Logo must be SVG or transparent PNG and minimum height must be 200px.',\n };\n\n componentTextsSquareUpload: IUploadPhotoComponentTexts = {\n firstLineP1: 'Drag and drop a square logo here or ',\n firstLineP2: ' a logo',\n firstLineP1UploadedPhoto: 'Drag and drop or ',\n firstLineP2UploadedPhoto: ' to replace logo',\n secondLine: 'Logo must be a square SVG or transparent PNG and minimum dimensions
must be 512 x512 px.',\n };\n\n constructor(public state: OrganizationFormStateService) {}\n\n ngOnInit(): void {\n this.initOrganizationForm(this.organizationId);\n if (this.organizationId) {\n this.headerText = 'Edit Organization';\n this.submitText = 'Save changes';\n }\n }\n\n async initOrganizationForm(organizationId?: string) {\n await this.state.initOrganizationForm(organizationId);\n }\n\n handleDialogClose() {\n this.onCancel.emit();\n }\n\n handleUploadLogo(file: File) {\n this.state.uploadLogo(file);\n }\n\n handleRemoveLogo() {\n this.state.removeLogo();\n }\n\n handleRemoveLogoSquare() {\n this.state.removeLogoSquare();\n }\n\n async handleSubmit() {\n await this.state.submit();\n if (!this.state.showCurrencyWarning) this.onSubmited.emit();\n }\n\n async handleCurrencyWarningConfirm() {\n await this.state.onCurrencyWarningConfirm();\n this.onSubmited.emit();\n }\n\n handleCurrencyWarningClose() {\n this.state.onCurrencyWarningClose();\n }\n}\n","\n
{{ headerText }}
\n
\n
1. Details
\n
\n \n \n \n \n
\n
2. Visual preferences for report presentation
\n
\n \n \n
\n
\n Logo for pdf report\n \n
\n
\n Logo for website report (square only)\n \n
\n
\n\n\n","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\nimport { IOption } from 'src/app/static-data/options';\nimport { OrganizationsStateService } from '../organizations-state.service';\n\n@Component({\n selector: 'esg-organization-list',\n templateUrl: './organization-list.component.html',\n styleUrls: ['./organization-list.component.scss'],\n})\nexport class OrganizationListComponent implements OnInit {\n @Input() countryOptions: IOption[] = [];\n @Output() onOrganizationClick = new EventEmitter();\n @Output() onSortChange = new EventEmitter<{ key: string; direction: 'asc' | 'desc' | '' }>();\n\n alertTitle: string = 'Can’t delete sub organization';\n alertMessage: string =\n 'You can’t delete this Sub Organization\\n because it has data connected to it.\\n\\n If you want to remove this Sub Organization\\n you must delete all data connected to it\\n in Data Collect before you delete it.';\n alertButtonText: string = 'Got it';\n\n constructor(public state: OrganizationsStateService) {}\n\n ngOnInit(): void {}\n\n handleOrganizationClick(orgId: string | undefined) {\n if (orgId) {\n this.onOrganizationClick.emit(orgId);\n }\n }\n handleOnSortChange(event: { key: string; direction: 'asc' | 'desc' | '' }) {\n this.state.sortKey = event.key;\n this.state.sortDirection = event.direction;\n this.onSortChange.emit(event);\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
SUB ORGS
\n
\n
USERS
\n
\n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { IOption } from 'src/app/static-data/options';\nimport {\n IOrganization,\n ISubOrganizationCreate,\n ISubOrganizationDelete,\n ISubOrganizationUpdate,\n} from '../../organizations-types';\nimport { SubOrganizationForm } from '../sub-organization-form/sub-organization-form.component';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { CountryCodes } from 'src/api-client/report-api.generated';\n\n@Component({\n selector: '[esg-organization-tbody]',\n templateUrl: './organization-tbody.component.html',\n styleUrls: ['./organization-tbody.component.scss'],\n})\nexport class OrganizationTbodyComponent implements OnInit {\n @Input({ required: true }) organization!: IOrganization;\n @Input() countryOptions: IOption[] = [];\n @Input() active: boolean = false;\n @Output() onOrganizationClick = new EventEmitter();\n @Output() onAddSubOrganization = new EventEmitter();\n @Output() onEditSubOrganization = new EventEmitter();\n @Output() onDeleteSubOrganization = new EventEmitter();\n expanded: boolean = true;\n\n subOrgFc?: SubOrganizationForm;\n subOrgFormGroup?: FormGroup;\n\n constructor() {}\n\n ngOnInit(): void {}\n\n handleExpand(event: Event) {\n if (this.organization.subOrganizations.length === 0) return;\n\n event.stopPropagation();\n this.expanded = !this.expanded;\n }\n\n handleOnAddClick(event: Event) {\n event.stopPropagation();\n this.expanded = true;\n this.subOrgFc = {\n name: new FormControl('', {\n validators: [Validators.required],\n nonNullable: true,\n }),\n orgID: new FormControl('', {\n validators: [Validators.required],\n nonNullable: true,\n }),\n country: new FormControl(\n this.countryOptions.find(opt => opt.value === this.organization.countryCode),\n {\n nonNullable: true,\n }\n ),\n };\n\n this.subOrgFormGroup = new FormGroup(this.subOrgFc);\n }\n\n handleOnSubOrgSubmit() {\n if (this.subOrgFormGroup && this.subOrgFc) {\n const countryCode = Object.values(CountryCodes).find(code => code === this.subOrgFc?.country.value?.value);\n if (this.subOrgFormGroup.valid && countryCode)\n this.onAddSubOrganization.emit({\n subOrganizationName: this.subOrgFc.name.value,\n orgID: this.subOrgFc.orgID.value,\n countryCode: countryCode,\n });\n this.handleOnSubOrgCancel();\n }\n }\n\n handleOnSubOrgCancel() {\n this.subOrgFc = undefined;\n this.subOrgFormGroup = undefined;\n }\n}\n","\n \n \n \n \n {{ organization.name }}\n \n \n {{ organization.countryName }}\n {{ organization.orgID }}\n {{ organization.allSubOrganizationsCount || '-' }}\n {{ organization.usersCount }}\n \n \n \n\n\n \n \n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { IOption } from 'src/app/static-data/options';\n\nexport interface SubOrganizationForm {\n name: FormControl;\n country: FormControl;\n orgID: FormControl;\n}\n\n@Component({\n selector: 'esg-sub-organization-form',\n templateUrl: './sub-organization-form.component.html',\n styleUrls: ['./sub-organization-form.component.scss'],\n})\nexport class SubOrganizationFormComponent implements OnInit {\n @Input({ required: true }) subOrgForm!: SubOrganizationForm;\n @Input() countryOptions: IOption[] = [];\n @Input() indent: number = 0;\n @Input() expanded: boolean = true;\n @Input() showErrors: boolean = false;\n @Output() onSubmit = new EventEmitter();\n @Output() onCancel = new EventEmitter();\n\n constructor() {}\n\n ngOnInit(): void {}\n\n handleSubmit() {\n this.onSubmit.emit();\n }\n\n handleCancel() {\n this.onCancel.emit();\n }\n\n handleCountryChange(option: IOption) {\n if (option !== this.subOrgForm.country.value) {\n this.subOrgForm.country.setValue(option);\n this.subOrgForm.country.markAsDirty();\n }\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { CountryCodes } from 'src/api-client/report-api.generated';\nimport { IOption } from 'src/app/static-data/options';\nimport {\n ISubOrganization,\n ISubOrganizationCreate,\n ISubOrganizationDelete,\n ISubOrganizationUpdate,\n} from '../../organizations-types';\nimport { SubOrganizationForm } from '../sub-organization-form/sub-organization-form.component';\n\nexport enum FormMode {\n Read,\n Edit,\n Add,\n}\n\n@Component({\n selector: 'esg-sub-organization-row',\n templateUrl: './sub-organization-row.component.html',\n styleUrls: ['./sub-organization-row.component.scss'],\n})\nexport class SubOrganizationRowComponent {\n @Input({ required: true }) organization!: ISubOrganization;\n @Input() countryOptions: IOption[] = [];\n @Input() indent: number = 0;\n @Output() onDeleteSubOrganization = new EventEmitter();\n @Output() onEditSubOrganization = new EventEmitter();\n @Output() onAddSubOrganization = new EventEmitter();\n readonly modes = FormMode;\n mode: FormMode = FormMode.Read;\n\n expanded: boolean = true;\n showErrors: boolean = false;\n\n subOrgFc?: SubOrganizationForm;\n subOrgFormGroup?: FormGroup;\n\n constructor() {}\n\n handleExpand(event: Event) {\n event.stopPropagation();\n this.expanded = !this.expanded;\n }\n\n handleOnAddClick(event: Event) {\n event.stopPropagation();\n this.expanded = true;\n this.mode = this.modes.Add;\n this.subOrgFc = {\n name: new FormControl('', {\n validators: [Validators.required],\n nonNullable: true,\n }),\n orgID: new FormControl('', {\n validators: [Validators.required],\n nonNullable: true,\n }),\n country: new FormControl(\n this.countryOptions.find(opt => opt.value === this.organization.countryCode),\n {\n nonNullable: true,\n }\n ),\n };\n\n this.subOrgFormGroup = new FormGroup(this.subOrgFc);\n }\n\n handleOnEditClick(event: Event) {\n event.stopPropagation();\n this.mode = this.modes.Edit;\n this.subOrgFc = {\n name: new FormControl(this.organization.name, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n orgID: new FormControl(this.organization.orgID, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n country: new FormControl(\n this.countryOptions.find(opt => opt.value === this.organization.countryCode),\n {\n nonNullable: true,\n }\n ),\n };\n\n this.subOrgFormGroup = new FormGroup(this.subOrgFc);\n }\n\n handleOnSubOrgEdit() {\n if (this.subOrgFormGroup && this.subOrgFc) {\n const countryCode = Object.values(CountryCodes).find(code => code === this.subOrgFc?.country.value?.value);\n if (this.subOrgFormGroup.valid && countryCode) {\n if (this.subOrgFormGroup.dirty) {\n this.onEditSubOrganization.emit({\n subOrganizationId: this.organization.id,\n subOrganizationName: this.subOrgFc.name.value,\n orgID: this.subOrgFc.orgID.value,\n countryCode: countryCode,\n });\n }\n this.handleOnSubOrgCancel();\n } else {\n this.showErrors = true;\n }\n }\n }\n\n handleOnSubOrgSubmit() {\n if (this.subOrgFormGroup && this.subOrgFc) {\n if (!this.subOrgFormGroup.dirty) {\n this.handleOnSubOrgCancel();\n return;\n }\n\n const countryCode = Object.values(CountryCodes).find(code => code === this.subOrgFc?.country.value?.value);\n if (this.subOrgFormGroup.valid && countryCode) {\n this.onAddSubOrganization.emit({\n parentSubOrganizationId: this.organization.id,\n subOrganizationName: this.subOrgFc.name.value,\n orgID: this.subOrgFc.orgID.value,\n countryCode: countryCode,\n });\n this.handleOnSubOrgCancel();\n } else {\n this.showErrors = true;\n }\n }\n }\n\n handleOnSubOrgCancel() {\n this.subOrgFc = undefined;\n this.subOrgFormGroup = undefined;\n this.mode = this.modes.Read;\n this.showErrors = false;\n }\n\n handleOnDelete() {\n this.onDeleteSubOrganization.emit({\n subOrganizationId: this.organization.id,\n hasAssignedAssets: this.organization.hasAssignedAssets,\n });\n }\n}\n","\n \n \n \n \n {{ organization.name }}\n \n \n \n {{ organization.countryName }}\n \n \n {{ organization.orgID }}\n \n \n {{ organization.allSubOrganizationsCount || '-' }}\n \n \n \n \n \n\n\n\n \n \n\n","import { Injectable } from '@angular/core';\nimport {\n DeleteOrganizationCommandParams,\n CreateSubOrganizationCommandParams,\n DeleteSubOrganizationCommandParams,\n UpdateSubOrganizationCommandParams,\n Permission,\n CountryCodes,\n} from 'src/api-client/report-api.generated';\nimport { CountryApiService } from 'src/app/api-client/report-api/country-api-service';\nimport { OrganizationApiService } from 'src/app/api-client/report-api/organization-api-service';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\nimport { IOption, UserRoleOptions } from 'src/app/static-data/options';\nimport {\n IOrganization,\n IOrganizationDetails,\n ISubOrganizationCreate,\n ISubOrganizationDelete,\n ISubOrganizationUpdate,\n} from './organizations-types';\nimport { Subscription } from 'rxjs';\nimport { PaginationUi } from 'src/app/shared/components/pagination/pagination.component';\nimport { FormControl } from '@angular/forms';\n\n@Injectable()\nexport class OrganizationsStateService {\n private organizationContextSub!: Subscription;\n protected userInfoSub!: Subscription;\n private organizationId?: string;\n private countryFilterOptionInitialized: boolean = false;\n\n organizations: IOrganization[] = [];\n loading: boolean = false;\n countryOptions: IOption[] = [];\n searchValue: string = '';\n sortKey: string = '';\n sortDirection: 'asc' | 'desc' | '' = '';\n\n countryFilterOptions: IOption[] = [];\n\n selectedOrganization?: IOrganizationDetails;\n\n hasAddPermission: boolean = false;\n hasEditPermission: boolean = false;\n hasDeletePermission: boolean = false;\n\n showHasAssetsDialog: boolean = false;\n searchTimeout: any;\n\n currentPagination: PaginationUi = {\n currentPage: 1,\n totalPages: 1,\n pageSize: 50,\n totalCount: 0,\n hasPrevious: false,\n hasNext: false,\n };\n\n filteredCountry: FormControl = new FormControl([], { nonNullable: true });\n\n constructor(\n protected appInfoState: AppInfoService,\n protected organizationApiService: OrganizationApiService,\n protected countryApiService: CountryApiService,\n protected notificationService: NotificationService\n ) {\n this.getPermissions();\n this.initData();\n }\n\n initData() {\n this.getCountries();\n\n this.organizationContextSub = this.appInfoState.organizationContext$.subscribe(organizationId => {\n if (organizationId) {\n this.organizationId = organizationId;\n this.loadOrganizations(organizationId);\n }\n });\n }\n\n getPermissions() {\n this.userInfoSub = this.appInfoState.userInfo$.subscribe(() => {\n this.hasEditPermission = this.appInfoState.hasPermission(Permission.Report_Organization_Update);\n this.hasDeletePermission = this.appInfoState.hasPermission(Permission.Report_Organization_Delete);\n });\n }\n\n async loadOrganizations(organizationId?: string) {\n this.loading = true;\n\n try {\n var result = await this.organizationApiService.getOrganizationsAndSuborganizationsFilteredBy(\n organizationId,\n this.searchValue || undefined,\n Object.values(CountryCodes).filter(type => this.filteredCountry.value.find(opt => type === opt.value)),\n this.sortDirection ? this.sortKey + ' ' + this.sortDirection : undefined,\n this.currentPagination.currentPage,\n this.currentPagination.pageSize\n );\n\n this.currentPagination = {\n currentPage: result.result.currentPage,\n totalPages: result.result.totalPages,\n pageSize: result.result.pageSize,\n totalCount: result.result.totalCount,\n hasPrevious: result.result.hasPrevious,\n hasNext: result.result.hasNext,\n };\n\n this.organizations =\n result.result?.items.map(o => ({\n id: o.id,\n name: o.name ?? '',\n orgID: o.orgID ?? '',\n countryCode: o.countryCode,\n countryName: o.countryName,\n currencyCode: o.currencyCode,\n usersCount: o.userCount ?? 0,\n subOrganizations: o.subOrganizations,\n allSubOrganizationsCount: o.allSubOrganizationsCount ?? 0,\n hasAssignedAssets: o.hasAssignedAssets,\n })) || [];\n\n if (!this.countryFilterOptionInitialized) {\n this.countryFilterOptionInitialized = true;\n this.countryFilterOptions = Array.from(\n new Set(this.organizations.map(org => `${org.countryName}|${org.countryCode}`))\n ).map(item => {\n const [countryName, countryCode] = item.split('|');\n return { value: countryCode, label: countryName };\n });\n }\n } catch (error) {\n this.loading = false;\n }\n this.loading = false;\n }\n\n async loadSpecificOrganization(organizationId: string) {\n const { result } = await this.organizationApiService.getOrganizationsAndSuborganizationsFilteredBy(organizationId);\n if (!result.items.length) return;\n\n const organization = {\n id: result.items[0].id,\n name: result.items[0].name ?? '',\n orgID: result.items[0].orgID ?? '',\n countryCode: result.items[0].countryCode,\n countryName: result.items[0].countryName,\n currencyCode: result.items[0].currencyCode,\n usersCount: result.items[0].userCount ?? 0,\n subOrganizations: result.items[0].subOrganizations,\n allSubOrganizationsCount: result.items[0].allSubOrganizationsCount ?? 0,\n hasAssignedAssets: result.items[0].hasAssignedAssets,\n };\n this.organizations = this.organizations.map(o => (o.id !== organizationId ? o : organization));\n }\n\n getCountries() {\n this.countryApiService.getAllCountries().then(result => {\n if (result.success) {\n this.countryOptions = result.result.map(country => ({ value: country.code, label: country.name }));\n }\n });\n }\n\n async setOrganizationDetails(orgId: string) {\n var { result } = await this.organizationApiService.getOrganizationById(orgId);\n\n if (!result) {\n throw new Error(`Organization data empty for id: ${orgId}`);\n }\n\n this.selectedOrganization = {\n id: result.id,\n name: result.name,\n orgID: result.orgID,\n countryCode: result.countryCode,\n countryName: result.countryName,\n currencyCode: result.currencyCode,\n brandColor: result.brandColor,\n tableHeadColor: result.tableHeadColor,\n logo: result.logo,\n logoSquare: result.logo,\n users: result.users.map(u => ({\n id: u.id || '',\n name: u.name || '',\n email: u.email || '',\n role: UserRoleOptions.find(r => r.value === u.role)?.label || '',\n })),\n };\n }\n\n async deleteOrganization(orgId: string) {\n if (this.hasDeletePermission) {\n const result = await this.organizationApiService.deleteOrganization(\n new DeleteOrganizationCommandParams({ id: orgId })\n );\n\n if (result.success) {\n this.organizations = this.organizations.filter(org => org.id !== orgId);\n } else {\n this.notificationService.showInfo('', result.message);\n }\n }\n }\n\n addSubOrganization(organizationId: string, subOrganization: ISubOrganizationCreate) {\n this.organizationApiService\n .createSubOrganization(\n new CreateSubOrganizationCommandParams({\n organizationId: organizationId,\n parentSubOrganizationId: subOrganization.parentSubOrganizationId,\n subOrganizationName: subOrganization.subOrganizationName,\n orgID: subOrganization.orgID,\n countryCode: subOrganization.countryCode,\n })\n )\n .subscribe(async response => {\n if (response.success) {\n this.loadSpecificOrganization(organizationId);\n }\n });\n }\n\n editSubOrganization(organizationId: string, subOrganization: ISubOrganizationUpdate) {\n this.organizationApiService\n .updateSubOrganization(\n new UpdateSubOrganizationCommandParams({\n organizationId: organizationId,\n subOrganizationId: subOrganization.subOrganizationId,\n subOrganizationName: subOrganization.subOrganizationName,\n orgID: subOrganization.orgID,\n countryCode: subOrganization.countryCode,\n })\n )\n .subscribe(result => {\n if (result.success) {\n this.loadSpecificOrganization(organizationId);\n }\n });\n }\n\n deleteSubOrganization(organizationId: string, subOrganization: ISubOrganizationDelete) {\n this.organizationApiService\n .deleteSubOrganization(\n new DeleteSubOrganizationCommandParams({\n organizationId: organizationId,\n subOrganizationId: subOrganization.subOrganizationId,\n })\n )\n .subscribe(result => {\n if (result.success) {\n this.loadSpecificOrganization(organizationId);\n } else {\n this.notificationService.showError('', result.message);\n }\n });\n }\n\n handlePaginationChange(newPaginationData: PaginationUi) {\n this.currentPagination = newPaginationData;\n this.loadOrganizations(this.organizationId);\n }\n\n handleFilterChange() {\n this.currentPagination = { ...this.currentPagination, currentPage: 1, hasNext: false, hasPrevious: false };\n this.loadOrganizations(this.organizationId);\n }\n\n onSearchValueChange(newSearchValue: string) {\n this.searchValue = newSearchValue;\n\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n this.searchTimeout = setTimeout(() => {\n this.handleFilterChange();\n }, 500);\n }\n\n onSortChange(event: { key: string; direction: 'asc' | 'desc' | '' }) {\n this.sortKey = event.key;\n this.sortDirection = event.direction;\n this.loadOrganizations(this.organizationId);\n }\n\n ngOnDestroy() {\n this.organizationContextSub.unsubscribe();\n this.userInfoSub.unsubscribe();\n }\n}\n","import { Component } from '@angular/core';\nimport { IMenuItem } from 'src/app/shared/ui/context-menu/context-menu.component';\nimport { OrganizationsStateService } from '../organizations/organizations-state.service';\n\n@Component({\n selector: 'esg-organizations',\n templateUrl: './organizations.component.html',\n styleUrls: ['./organizations.component.scss'],\n providers: [OrganizationsStateService],\n})\nexport class OrganizationsComponent {\n showOrganizationForm: boolean = false;\n showOrganizationDetails: boolean = false;\n showRemoveOrganization: boolean = false;\n\n removeOrganizationMessage: string = 'Once you delete this organization\\nthere is no turning back.';\n removeAlertTitle: string = 'Can’t delete organization';\n removeAlertMessage: string = 'You cannot delete this organization\\nbecause it has users assigned to it.';\n\n constructor(public state: OrganizationsStateService) {}\n\n handleSelectOrganization(orgId: string) {\n this.showOrganizationDetails = true;\n this.state.setOrganizationDetails(orgId);\n }\n\n handleFormDialogClose() {\n this.showOrganizationForm = false;\n }\n\n handleDialogClose() {\n this.showOrganizationForm = false;\n this.showRemoveOrganization = false;\n if (this.state.selectedOrganization) this.showOrganizationDetails = true;\n }\n\n handleDetailsDialogClose() {\n this.showOrganizationDetails = false;\n this.state.selectedOrganization = undefined;\n }\n\n handleAddOrganization() {\n this.showOrganizationForm = true;\n }\n\n handleEditOrganization() {\n this.showOrganizationDetails = false;\n this.showOrganizationForm = true;\n }\n\n handleSubmitOrganization() {\n if (this.state.selectedOrganization) {\n this.showOrganizationForm = false;\n this.state.loadOrganizations(this.state.selectedOrganization.id);\n this.state.selectedOrganization = undefined;\n }\n }\n\n handleDeleteOrganization() {\n this.showRemoveOrganization = true;\n }\n\n handleDeleteOrganizationSubmit(orgId: string | undefined) {\n if (orgId) {\n this.state.deleteOrganization(orgId);\n this.state.selectedOrganization = undefined;\n this.showOrganizationDetails = false;\n this.showRemoveOrganization = false;\n }\n }\n\n hasUsers(): boolean {\n if (this.state.selectedOrganization?.users && this.state.selectedOrganization.users.length > 0) return true;\n else return false;\n }\n\n organizationMenuProvider = (): IMenuItem[] => [\n {\n id: 'edit',\n label: 'Edit',\n onClick: () => this.handleEditOrganization(),\n disabled: !this.state.hasEditPermission,\n },\n {\n id: 'delete',\n label: 'Delete',\n onClick: () => this.handleDeleteOrganization(),\n disabled: !this.state.hasDeletePermission,\n },\n ];\n}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'esg-label-value',\n templateUrl: './label-value.component.html',\n styleUrls: ['./label-value.component.scss'],\n})\nexport class LabelValueComponent implements OnInit {\n @Input({ required: true }) label!: string;\n @Input({ required: true }) value!: string;\n constructor() {}\n\n ngOnInit(): void {}\n}\n","
\n
\n {{ label }}\n
\n
\n {{ value }}\n
\n
\n","import { Injectable } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { IUserDetailsVm, IUserInfoVm, UpdateUserProfileCommandParams } from 'src/api-client/report-api.generated';\nimport { UserApiService } from 'src/app/api-client/report-api/user-api-service';\nimport { AppInfoService } from 'src/app/core/app-info.service';\n\n@Injectable()\n// @Injectable({\n// providedIn: 'root',\n// })\nexport class ProfileStateService {\n user?: IUserDetailsVm;\n\n fc = {\n firstName: new FormControl('', { validators: [Validators.required], nonNullable: true }),\n lastName: new FormControl('', { validators: [Validators.required], nonNullable: true }),\n email: new FormControl(\n { value: '', disabled: true },\n { validators: [Validators.required], nonNullable: true }\n ),\n organizationName: new FormControl(\n { value: '', disabled: true },\n { validators: [Validators.required], nonNullable: true }\n ),\n role: new FormControl(\n { value: '', disabled: true },\n { validators: [Validators.required], nonNullable: true }\n ),\n };\n\n formgroup = new FormGroup(this.fc);\n\n constructor(private appInfo: AppInfoService, private userApiService: UserApiService) {\n appInfo.userInfo$.subscribe(userInfo => {\n if (userInfo) {\n this.loadUserDetals(userInfo);\n }\n });\n }\n\n async loadUserDetals(userInfo: IUserInfoVm) {\n const { result } = await this.userApiService.getUserDetailsById(userInfo?.id);\n\n if (!result) {\n throw new Error(`User data empty for id: ${userInfo?.id}`);\n }\n\n this.user = result;\n\n this.fc = {\n firstName: new FormControl(this.user.firstName, { validators: [Validators.required], nonNullable: true }),\n lastName: new FormControl(this.user.lastName, { validators: [Validators.required], nonNullable: true }),\n email: new FormControl(\n { value: this.user.email, disabled: true },\n { validators: [Validators.required], nonNullable: true }\n ),\n organizationName: new FormControl(\n { value: this.user.organizationName, disabled: true },\n { validators: [Validators.required], nonNullable: true }\n ),\n role: new FormControl(\n { value: this.user.role, disabled: true },\n { validators: [Validators.required], nonNullable: true }\n ),\n };\n this.formgroup = new FormGroup(this.fc);\n }\n\n async handleSubmit() {\n const result = await this.userApiService.updateUserProfile(\n new UpdateUserProfileCommandParams({\n firstName: this.fc.firstName.value || '',\n lastName: this.fc.lastName.value || '',\n })\n );\n await this.appInfo.loadUserInfo();\n this.formgroup.markAsPristine();\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { AppAuthService } from 'src/app/core/app-auth.service';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport { ProfileStateService } from './profile-state.service';\n\n@Component({\n selector: 'esg-profile',\n templateUrl: './profile.component.html',\n styleUrls: ['./profile.component.scss'],\n providers: [ProfileStateService],\n})\nexport class ProfileComponent implements OnInit {\n constructor(public state: ProfileStateService, private appAuth: AppAuthService) {}\n\n ngOnInit(): void {}\n\n changePasswordRedirect() {\n this.appAuth.changePassword();\n }\n}\n","
\n \n \n\n \n\n \n\n
\n\n \n
\n \n Save changes\n \n
\n
\n
\n Reset password\n
\n","import { Injectable } from '@angular/core';\nimport { RegionClientApiService } from 'src/app/api-client/report-api/region-api-service';\nimport { RegionUi, ViewModeEnums } from './regions.component';\nimport { FormControl } from '@angular/forms';\nimport { CreateRegionCommandParams, UpdateRegionCommandParams } from 'src/api-client/report-api.generated';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { Subscription } from 'rxjs';\n\n@Injectable()\nexport class RegionsStateService {\n private organizationContextSub!: Subscription;\n regions: RegionUi[] = [];\n loading: boolean = false;\n viewMode?: ViewModeEnums;\n regionNameFormControl = new FormControl('');\n organizationId?: string;\n\n editedRegion?: RegionUi;\n showRemoveRegionFor?: RegionUi;\n showStickyDivider = false;\n sortKey: string = '';\n sortDirection: 'asc' | 'desc' | '' = '';\n\n constructor(private appInfoState: AppInfoService, private regionApiService: RegionClientApiService) {\n this.organizationContextSub = this.appInfoState.organizationContext$.subscribe(organizationId => {\n if (organizationId) {\n this.organizationId = organizationId;\n this.init();\n }\n });\n }\n\n async init() {\n this.loading = true;\n await this.getRegions();\n this.loading = false;\n }\n\n async getRegions() {\n try {\n const orderBy=this.sortDirection ? this.sortKey + ' ' + this.sortDirection : undefined;\n\n const response = await this.regionApiService.getAllRegions(orderBy);\n this.regions = response.result.map(region => ({\n id: region.id,\n name: region.name,\n }));\n } catch (error) {\n this.loading = false;\n }\n }\n\n create() {\n this.viewMode = ViewModeEnums.Create;\n }\n\n async submitCreate() {\n const regionName = this.regionNameFormControl.value;\n this.viewMode = undefined;\n this.regionNameFormControl.setValue('');\n\n if (regionName && this.organizationId) {\n await this.regionApiService.create(\n new CreateRegionCommandParams({\n organizationId: this.organizationId,\n name: regionName,\n })\n );\n this.getRegions();\n }\n }\n\n handleStickyDivider(tabEntry: IntersectionObserverEntry) {\n this.showStickyDivider = tabEntry.intersectionRatio === 0;\n }\n\n cancelCreate() {\n this.viewMode = undefined;\n this.regionNameFormControl.setValue('');\n }\n\n editRegion(region: RegionUi) {\n this.viewMode = ViewModeEnums.Edit;\n this.regionNameFormControl.setValue(region.name);\n this.regionNameFormControl.markAsDirty();\n\n this.editedRegion = region;\n }\n\n async submitEdit() {\n const region = this.editedRegion;\n const newName = this.regionNameFormControl.value;\n this.viewMode = undefined;\n this.regionNameFormControl.setValue('');\n this.editedRegion = undefined;\n\n if (!region || !newName) {\n return;\n }\n\n if (region.name !== newName) {\n await this.regionApiService.update(\n new UpdateRegionCommandParams({\n id: region.id,\n name: newName,\n })\n );\n this.getRegions();\n }\n }\n\n cancelEdit() {\n this.viewMode = undefined;\n this.regionNameFormControl.setValue('');\n this.editedRegion = undefined;\n }\n\n deleteRegion(region: RegionUi) {\n this.showRemoveRegionFor = region;\n }\n\n async deleteRegionSubmit() {\n const regionId = this.showRemoveRegionFor?.id;\n this.showRemoveRegionFor = undefined;\n if (regionId) {\n await this.regionApiService.delete(regionId);\n this.getRegions();\n }\n }\n\n cancelDelete() {\n this.showRemoveRegionFor = undefined;\n }\n\n onSortChange(event: { key: string; direction: 'asc' | 'desc' | '' }) {\n this.sortKey = event.key;\n this.sortDirection = event.direction;\n this.getRegions();\n }\n ngOnDestroy() {\n this.organizationContextSub.unsubscribe();\n }\n}\n","import { Component } from '@angular/core';\nimport { RegionsStateService } from './regions-state.service';\n\nexport interface RegionUi {\n id: string;\n name: string;\n}\n\nexport enum ViewModeEnums {\n Read,\n Create,\n Edit,\n}\n\n@Component({\n selector: 'esg-regions',\n templateUrl: './regions.component.html',\n styleUrls: ['./regions.component.scss'],\n providers: [RegionsStateService],\n})\nexport class RegionsComponent {\n public ViewModes = ViewModeEnums;\n\n constructor(public state: RegionsStateService) {}\n\n handleClickCreate(event: Event) {\n event.stopPropagation();\n this.state.create();\n }\n\n handleSubmitCreate() {\n this.state.submitCreate();\n }\n\n handleCancelCreate() {\n this.state.cancelCreate();\n }\n\n handleEditRegion(region: RegionUi) {\n this.state.editRegion(region);\n }\n\n handleSubmitEdit() {\n this.state.submitEdit();\n }\n\n handleCancelEdit() {\n this.state.cancelEdit();\n }\n\n handleDelete(region: RegionUi) {\n this.state.deleteRegion(region);\n }\n\n handleSubmitDelete() {\n this.state.deleteRegionSubmit();\n }\n\n handleCancelDelete() {\n this.state.cancelDelete();\n }\n}\n","\n\n

Regions

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n
\n
\n {{ region.name }}\n \n \n
\n \n \n \n \n \n
\n \n \n
\n \n \n \n \n \n
\n
\n\n","import { Injectable } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { UnitUi } from './units.component';\nimport { UnitApiService } from 'src/app/api-client/report-api/unit-api-service';\nimport * as _ from 'lodash';\nimport { CreateUnitCommandParams, UpdateUnitCommandParams } from 'src/api-client/report-api.generated';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\n\ninterface UnitForm {\n name: FormControl;\n description: FormControl;\n}\n\n@Injectable()\nexport class UnitsStateService {\n units: UnitUi[] = [];\n loading: boolean = false;\n\n editedUnitKey?: string;\n unitForm?: UnitForm;\n unitFormGroup?: FormGroup;\n\n showRemoveForUnitKey?: string;\n\n showStickyDivider: boolean = false;\n hasSubmitted: boolean = false;\n sortKey: string = 'name_lowercase';\n sortDirection: 'asc' | 'desc' | '' = 'asc';\n\n constructor(private unitService: UnitApiService, private notificationService: NotificationService) {\n this.init();\n }\n\n async init() {\n this.loading = true;\n await this.getUnits();\n this.loading = false;\n }\n\n async getUnits() {\n try {\n const orderBy = this.sortDirection ? this.sortKey + ' ' + this.sortDirection : undefined;\n const response = await this.unitService.getAllUnits(orderBy);\n this.units = response.result.map(unit => ({\n key: unit.key,\n name: unit.name,\n description: unit.description,\n isSystem: unit.isSystem,\n }));\n } catch (error) {\n this.loading = false;\n }\n }\n\n createUnit() {\n this.showRemoveForUnitKey = undefined;\n this.unitForm = {\n name: new FormControl('', { nonNullable: true, validators: [Validators.required] }),\n description: new FormControl('', { nonNullable: true, validators: [Validators.required] }),\n };\n this.unitFormGroup = new FormGroup(this.unitForm);\n }\n\n async createUnitSubmit() {\n this.hasSubmitted = true;\n if (!this.unitFormGroup || !this.unitFormGroup?.dirty) {\n this.cancelCreate();\n return;\n }\n\n if (!this.unitFormGroup?.valid) {\n return;\n }\n\n const unit = new CreateUnitCommandParams({\n key: this.unitFormGroup.controls.name.value,\n name: this.unitFormGroup.controls.name.value,\n description: this.unitFormGroup.controls.description.value,\n });\n this.resetForm();\n\n const response = await this.unitService.createUnit(unit);\n if (response.success) {\n this.getUnits();\n } else if (response.validationErrors) {\n this.notificationService.showError(response.validationErrors.join('\\n'));\n }\n }\n\n cancelCreate() {\n this.resetForm();\n }\n\n editUnit(unitKey: string) {\n this.editedUnitKey = unitKey;\n const unit = this.units.find(i => i.key === unitKey);\n if (unit) {\n this.unitForm = {\n name: new FormControl(unit.name, { nonNullable: true, validators: [Validators.required] }),\n description: new FormControl(unit.description, {\n nonNullable: true,\n validators: [Validators.required],\n }),\n };\n this.unitFormGroup = new FormGroup(this.unitForm);\n }\n }\n\n async updateUnitSubmit() {\n if (!this.editedUnitKey || !this.unitFormGroup || !this.unitFormGroup?.dirty || !this.unitFormGroup?.valid) {\n this.cancelEdit();\n return;\n }\n\n const unit = new UpdateUnitCommandParams({\n key: this.editedUnitKey,\n name: this.unitFormGroup.controls.name.value,\n description: this.unitFormGroup.controls.description.value,\n });\n this.editedUnitKey = undefined;\n this.resetForm();\n\n const response = await this.unitService.updateUnit(unit);\n if (response.success) {\n this.getUnits();\n } else if (response.validationErrors) {\n this.notificationService.showError(response.validationErrors.join('\\n'));\n }\n }\n\n cancelEdit() {\n this.editedUnitKey = undefined;\n this.resetForm();\n }\n\n deleteUnit(unitKey: string) {\n this.showRemoveForUnitKey = unitKey;\n }\n\n async deleteUnitSubmit() {\n const key = this.showRemoveForUnitKey;\n this.showRemoveForUnitKey = undefined;\n if (key) {\n await this.unitService.deleteUnit(key);\n this.getUnits();\n }\n }\n\n cancelDelete() {\n this.showRemoveForUnitKey = undefined;\n }\n\n resetForm() {\n this.unitForm = undefined;\n this.unitFormGroup = undefined;\n\n this.hasSubmitted = false;\n }\n\n handleStickyDivider(tabEntry: IntersectionObserverEntry) {\n this.showStickyDivider = tabEntry.intersectionRatio === 0;\n }\n\n onSortChange(event: { key: string; direction: 'asc' | 'desc' | '' }) {\n this.sortKey = event.key;\n this.sortDirection = event.direction;\n this.getUnits();\n }\n}\n","import { Component } from '@angular/core';\nimport { UnitsStateService } from './units-state.service';\n\nexport interface UnitUi {\n key: string;\n name: string;\n description: string;\n isSystem: boolean;\n}\n\n@Component({\n selector: 'esg-units',\n templateUrl: './units.component.html',\n styleUrls: ['./units.component.scss'],\n providers: [UnitsStateService],\n})\nexport class UnitsComponent {\n constructor(public state: UnitsStateService) {}\n\n handleCreateUnitClick(event: Event) {\n event.stopPropagation();\n this.state.createUnit();\n }\n\n handleSubmitCreate() {\n this.state.createUnitSubmit();\n }\n\n handleCreateUnitCancel() {\n this.state.cancelCreate();\n }\n\n handleDelete(unitKey: string) {\n this.state.deleteUnit(unitKey);\n }\n\n handleSubmitDelete() {\n this.state.deleteUnitSubmit();\n }\n\n handleCancelDelete() {\n this.state.cancelDelete();\n }\n\n trackByUnitKey(index: number, unit: UnitUi): string {\n return unit.key;\n }\n}\n","\n\n

Units

\n \n \n \n \n \n
\n \n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n
\n
\n {{ unit.description }}\n \n \n
\n \n \n
\n \n
\n \n \n \n
\n
\n\n","import { Injectable } from '@angular/core';\nimport { UsersStateService } from '../users-state.service';\n\n@Injectable()\nexport class AllUsersStateService extends UsersStateService {\n initData() {\n this.loadUsers();\n this.loadOrganizationOptions();\n }\n\n ngOnDestroy() {\n this.userInfoSub.unsubscribe();\n }\n}\n","import { Component } from '@angular/core';\nimport { UsersStateService } from '../users-state.service';\nimport { UsersComponent } from '../users.component';\nimport { AllUsersStateService } from './all-users-state.service';\n\n@Component({\n selector: 'esg-users',\n templateUrl: '../users.component.html',\n styleUrls: ['../users.component.scss'],\n providers: [{ provide: UsersStateService, useClass: AllUsersStateService }],\n})\nexport class AllUsersComponent extends UsersComponent {}\n","

Users

\n\n\n
\n \n
\n\n\n\n\n\n\n\n \n\n\n\n","import { Component, OnInit, Input } from '@angular/core';\nimport { IUser } from '../users-state.service';\nimport { UserRoleOptions } from '../../../../static-data/options';\n\n@Component({\n selector: 'esg-user-details',\n templateUrl: './user-details.component.html',\n styleUrls: ['./user-details.component.scss'],\n})\nexport class UserDetailsComponent implements OnInit {\n @Input({ required: true }) user!: IUser;\n\n constructor() {}\n\n ngOnInit(): void {}\n\n getUserRoleLabel() {\n return UserRoleOptions.find(option => option.value === this.user.role)?.label || '';\n }\n}\n","
\n

{{ user.firstName }} {{ user.lastName }}

\n {{ user.email }}\n {{ user.organizationName }}\n {{ getUserRoleLabel() }}\n
\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { IUser } from '../users-state.service';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { UserRoleOptions, IOption } from '../../../../static-data/options';\nimport { UserRole } from 'src/api-client/report-api.generated';\n\n@Component({\n selector: 'esg-user-form',\n templateUrl: './user-form.component.html',\n styleUrls: ['./user-form.component.scss'],\n})\nexport class UserFormComponent implements OnInit {\n @Input() selectedUser?: IUser;\n @Input({ required: true }) organizationOptions!: IOption[];\n @Input() isSuperAdmin: boolean = false;\n @Output() onCancel = new EventEmitter();\n @Output() onAddSubmit = new EventEmitter();\n @Output() onEditSubmit = new EventEmitter();\n\n fc = {\n organizationIdControl: new FormControl(undefined, [Validators.required]),\n firstNameFormControl: new FormControl('', [Validators.required]),\n lastNameFormControl: new FormControl('', [Validators.required]),\n emailFormControl: new FormControl('', [Validators.required]),\n roleFormControl: new FormControl(undefined, [Validators.required]),\n };\n formgroup = new FormGroup(this.fc);\n\n userRoleOptions = UserRoleOptions;\n\n id?: string;\n organizationId?: string;\n firstName?: string;\n lastName?: string;\n email?: string;\n role?: string;\n\n headerText = 'Create new User';\n submitText = 'Create';\n\n constructor() {}\n\n ngOnInit(): void {\n if (!this.isSuperAdmin) {\n this.userRoleOptions = this.userRoleOptions.filter(opt => opt.value !== UserRole.SuperAdmin);\n }\n if (this.organizationOptions.length === 1) {\n this.fc.organizationIdControl.setValue(this.organizationOptions[0]);\n this.fc.organizationIdControl.disable();\n }\n if (this.selectedUser) {\n this.fc.organizationIdControl.setValue(\n this.organizationOptions.find(option => option.value === this.selectedUser?.organizationId)\n );\n this.fc.firstNameFormControl.setValue(this.selectedUser?.firstName || '');\n this.fc.lastNameFormControl.setValue(this.selectedUser?.lastName || '');\n this.fc.emailFormControl.setValue(this.selectedUser?.email || '');\n this.fc.emailFormControl.disable();\n this.fc.roleFormControl.setValue(this.userRoleOptions.find(option => option.value === this.selectedUser?.role));\n this.headerText = 'Edit User';\n this.submitText = 'Save changes';\n }\n }\n\n handleOrganizationChange(value: IOption) {\n this.fc.organizationIdControl.markAsDirty();\n this.fc.organizationIdControl.setValue(value);\n }\n\n handleRoleChange(value: IOption) {\n this.fc.roleFormControl.markAsDirty();\n this.fc.roleFormControl.setValue(value);\n }\n\n handleSubmit() {\n if (this.selectedUser) {\n this.onEditSubmit.emit({\n id: this.selectedUser?.id,\n organizationId: this.fc.organizationIdControl.value?.value,\n organizationName: this.fc.organizationIdControl.value?.label,\n firstName: this.fc.firstNameFormControl.value || '',\n lastName: this.fc.lastNameFormControl.value || '',\n email: this.fc.emailFormControl.value || '',\n role: this.fc.roleFormControl.value?.value,\n });\n } else {\n this.onAddSubmit.emit({\n organizationId: this.fc.organizationIdControl.value?.value,\n organizationName: this.fc.organizationIdControl.value?.label,\n firstName: this.fc.firstNameFormControl.value || '',\n lastName: this.fc.lastNameFormControl.value || '',\n email: this.fc.emailFormControl.value || '',\n role: this.fc.roleFormControl.value?.value,\n });\n }\n }\n}\n","\n
\n
{{ headerText }}
\n
\n
\n \n \n \n
\n
\n \n \n
\n
\n
\n\n","import { Component, OnInit, Output, EventEmitter } from '@angular/core';\nimport { UsersStateService } from '../users-state.service';\nimport { UserRoleOptions } from '../../../../static-data/options';\n\n@Component({\n selector: 'esg-user-list',\n templateUrl: './user-list.component.html',\n styleUrls: ['./user-list.component.scss'],\n})\nexport class UserListComponent implements OnInit {\n @Output() onUserClick = new EventEmitter();\n\n constructor(public state: UsersStateService) {}\n\n ngOnInit(): void {}\n\n handleUserClick(userId: string | undefined) {\n if (userId) {\n this.onUserClick.emit(userId);\n }\n }\n\n handleOnSortChange($event: { key: string; direction: 'asc' | 'desc' | '' }) {\n this.state.onSortChange($event);\n }\n\n getUserRoleLabel(value: string | undefined) {\n return UserRoleOptions.find(option => option.value === value)?.label || '';\n }\n}\n","\n \n \n \n \n
\n \n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n
\n
\n \n \n \n {{ item?.firstName || '' }} {{ item?.lastName || '' }}{{ item.email }}{{ item.organizationName }}{{ getUserRoleLabel(item?.role) }}\n
\n \n \n \n \n
\n
\n","import { Injectable } from '@angular/core';\nimport { UserApiService } from 'src/app/api-client/report-api/user-api-service';\nimport {\n CreateUserCommandParams,\n UpdateUserCommandParams,\n DeleteUserCommandParams,\n UserRole,\n Permission,\n} from 'src/api-client/report-api.generated';\nimport { IOption } from 'src/app/static-data/options';\nimport { OrganizationApiService } from 'src/app/api-client/report-api/organization-api-service';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { Subscription } from 'rxjs';\nimport { PaginationUi } from 'src/app/shared/components/pagination/pagination.component';\nimport { FormControl } from '@angular/forms';\n\nexport interface IUser {\n id?: string;\n organizationId?: string;\n organizationName?: string;\n firstName?: string;\n lastName?: string;\n email?: string;\n role?: string;\n}\n\n@Injectable()\nexport class UsersStateService {\n private organizationContextSub!: Subscription;\n protected userInfoSub!: Subscription;\n private organizationId?: string;\n\n users: IUser[] = [];\n\n selectedUser?: IUser;\n organizationOptions: IOption[] = [];\n\n hasAddPermission: boolean = false;\n hasEditPermission: boolean = false;\n hasDeletePermission: boolean = false;\n isSuperAdmin: boolean = false;\n\n searchValue: string = '';\n searchTimeout: any;\n sortKey: string = '';\n sortDirection: 'asc' | 'desc' | '' = '';\n\n userRoleOptions: IOption[] = Object.values(UserRole).map(c => ({ value: c, label: c }));\n filteredRole: FormControl = new FormControl([], { nonNullable: true });\n\n currentPagination: PaginationUi = {\n currentPage: 1,\n totalPages: 1,\n pageSize: 50,\n totalCount: 0,\n hasPrevious: false,\n hasNext: false,\n };\n\n constructor(\n private userApiService: UserApiService,\n private organizationApiService: OrganizationApiService,\n private notification: NotificationService,\n private appInfo: AppInfoService\n ) {\n this.getPermissions();\n this.initData();\n }\n\n initData() {\n this.organizationContextSub = this.appInfo.organizationContext$.subscribe(organizationId => {\n if (organizationId) {\n this.organizationId=organizationId;\n this.loadUsers(organizationId);\n this.loadOrganizationOptions(organizationId);\n }\n });\n }\n\n getPermissions() {\n this.userInfoSub = this.appInfo.userInfo$.subscribe(result => {\n this.isSuperAdmin = result?.role === UserRole.SuperAdmin;\n this.hasAddPermission = this.appInfo.hasPermission(Permission.Report_User_Create);\n this.hasEditPermission = this.appInfo.hasPermission(Permission.Report_User_Update);\n this.hasDeletePermission = this.appInfo.hasPermission(Permission.Report_User_Delete);\n });\n }\n\n loadUsers(organizationId?: string) {\n this.userApiService\n .getUsersFilteredBy(\n organizationId,\n this.searchValue || undefined,\n Object.values(UserRole).filter(type => this.filteredRole.value.find(opt => type === opt.value)),\n this.sortDirection ? this.sortKey + ' ' + this.sortDirection : undefined,\n this.currentPagination.currentPage,\n this.currentPagination.pageSize\n )\n .subscribe(result => {\n this.currentPagination = {\n currentPage: result.result.currentPage,\n totalPages: result.result.totalPages,\n pageSize: result.result.pageSize,\n totalCount: result.result.totalCount,\n hasPrevious: result.result.hasPrevious,\n hasNext: result.result.hasNext,\n };\n\n this.users =\n result.result?.items.map(user => ({\n id: user.id,\n organizationId: user.organizationId,\n organizationName: user.organizationName || '',\n firstName: user.firstName || '',\n lastName: user.lastName || '',\n email: user.email || '',\n role: user.role || '',\n })) || [];\n });\n }\n\n async loadOrganizationOptions(organizationId?: string) {\n var organizationResult = await this.organizationApiService.getOrganizationsAndSuborganizationsFilteredBy(\n organizationId\n );\n this.organizationOptions = (organizationResult.result.items || []).map(o => ({\n value: o.id || '',\n label: o.name || '',\n }));\n }\n\n async setUserDetails(userId: string) {\n var userDetailsPromise = this.userApiService.getUserDetailsById(userId);\n var userDetails = await userDetailsPromise;\n this.selectedUser = {\n id: userDetails.result?.id,\n firstName: userDetails.result?.firstName,\n lastName: userDetails.result?.lastName,\n email: userDetails.result?.email,\n organizationId: userDetails.result?.organizationId,\n organizationName: userDetails.result?.organizationName,\n role: userDetails.result?.role,\n };\n }\n\n addUser(data: IUser) {\n if (this.hasAddPermission) {\n const userRole = Object.values(UserRole).find(role => role === data.role);\n\n if (!data.firstName || !data.lastName || !data.email || !userRole) {\n throw Error('No valid user data');\n }\n\n this.userApiService\n .createUser(\n new CreateUserCommandParams({\n organizationId: data.organizationId,\n firstName: data.firstName,\n lastName: data.lastName,\n email: data.email,\n role: userRole,\n })\n )\n .subscribe(async result => {\n if (result.success) {\n this.users.push({\n id: result.result || '',\n organizationId: data.organizationId,\n organizationName: data.organizationName,\n firstName: data.firstName,\n lastName: data.lastName,\n email: data.email,\n role: data.role,\n });\n await this.appInfo.loadUserInfo();\n }\n });\n }\n }\n\n editUser(data: IUser) {\n if (this.hasEditPermission) {\n if (data.id && data.firstName && data.lastName && data.organizationId && data.role) {\n this.userApiService\n .updateUser(\n new UpdateUserCommandParams({\n id: data.id,\n organizationId: data.organizationId,\n firstName: data.firstName,\n lastName: data.lastName,\n role: UserRole[data.role as UserRole],\n })\n )\n .subscribe(async result => {\n if (result.success) {\n this.selectedUser = data;\n this.users = this.users.map(user =>\n user.id !== data.id\n ? user\n : {\n ...data,\n }\n );\n await this.appInfo.loadUserInfo();\n } else {\n this.notification.showError('You are not authorized to change role');\n }\n });\n } else {\n throw Error('User editing not possible. Input data not valid.');\n }\n }\n }\n\n deleteUser(userId: string) {\n if (this.hasDeletePermission) {\n this.userApiService.deleteUser(new DeleteUserCommandParams({ id: userId })).subscribe(result => {\n if (result.success) {\n this.users = this.users.filter(user => user.id !== userId);\n this.notification.showSuccess('Success', 'User removed successfully');\n }\n });\n }\n }\n\n handlePaginationChange(newPaginationData: PaginationUi) {\n this.currentPagination = newPaginationData;\n this.loadUsers(this.organizationId);\n }\n\n handleFilterChange() {\n this.currentPagination = { ...this.currentPagination, currentPage: 1, hasNext: false, hasPrevious: false };\n this.loadUsers(this.organizationId);\n }\n\n onSearchValueChange(newSearchValue: string) {\n this.searchValue = newSearchValue;\n\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n this.searchTimeout = setTimeout(() => {\n this.handleFilterChange();\n }, 500);\n }\n\n onSortChange(event: { key: string; direction: 'asc' | 'desc' | '' }) {\n this.sortKey = event.key;\n this.sortDirection = event.direction;\n this.loadUsers(this.organizationId);\n }\n\n ngOnDestroy() {\n this.organizationContextSub.unsubscribe();\n this.userInfoSub.unsubscribe();\n }\n}\n","import { Component } from '@angular/core';\nimport { UsersStateService, IUser } from './users-state.service';\nimport { IMenuItem } from 'src/app/shared/ui/context-menu/context-menu.component';\n\n@Component({\n selector: 'esg-users',\n templateUrl: './users.component.html',\n styleUrls: ['./users.component.scss'],\n providers: [UsersStateService],\n})\nexport class UsersComponent {\n showUserForm: boolean = false;\n showUserDetails: boolean = false;\n showRemoveUser: boolean = false;\n\n removeUserMessage: string = 'Once you delete this user\\nthere is no turning back.';\n removeAlertTitle: string = 'Can’t delete user';\n\n constructor(public state: UsersStateService) {}\n\n handleSelectUser(userId: string) {\n this.showUserDetails = true;\n this.state.setUserDetails(userId);\n }\n\n handleFormDialogClose() {\n this.showUserForm = false;\n }\n\n handleDialogClose() {\n this.showUserForm = false;\n this.showRemoveUser = false;\n if (this.state.selectedUser) this.showUserDetails = true;\n }\n\n handleDetailsDialogClose() {\n this.showUserDetails = false;\n this.state.selectedUser = undefined;\n }\n\n async handleAddUser() {\n this.showUserForm = true;\n }\n\n handleEditUser() {\n this.showUserDetails = false;\n this.showUserForm = true;\n }\n\n handleSubmitAddUser(data: IUser) {\n this.state.addUser(data);\n this.showUserForm = false;\n }\n\n handleSubmitEditUser(editUserData: IUser) {\n this.state.editUser(editUserData);\n this.showUserForm = false;\n this.showUserDetails = true;\n }\n\n handleDeleteUser() {\n this.showRemoveUser = true;\n }\n\n handleDeleteUserSubmit(userId: string | undefined) {\n if (userId) {\n this.state.deleteUser(userId);\n this.state.selectedUser = undefined;\n this.showUserDetails = false;\n this.showRemoveUser = false;\n }\n }\n\n userMenuProvider = (): IMenuItem[] => [\n { id: 'edit', label: 'Edit', onClick: () => this.handleEditUser(), disabled: !this.state.hasEditPermission },\n {\n id: 'delete',\n label: 'Delete',\n onClick: () => this.handleDeleteUser(),\n disabled: !this.state.hasDeletePermission,\n },\n ];\n}\n","import { Injectable } from '@angular/core';\nimport { AssetApiService } from 'src/app/api-client/report-api/asset-api-service';\nimport { OrganizationApiService } from 'src/app/api-client/report-api/organization-api-service';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { CountryApiService } from 'src/app/api-client/report-api/country-api-service';\nimport { AssetType, CreateAssetCommandParams, Permission } from 'src/api-client/report-api.generated';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\nimport { AddAssetOptions, IOption } from 'src/app/static-data/options';\nimport { Subscription } from 'rxjs';\nimport { AssetsMenuStateService } from '../assets-menu/assets-menu-state.service';\nimport { NotificationLinkUi } from 'src/app/shared/ui/notification/notification.component';\nimport { SectorApiService } from 'src/app/api-client/report-api/sector-api-service';\n\n@Injectable()\nexport class AssetFormDialogStateService {\n private userInfoSub!: Subscription;\n private organizationContextSub!: Subscription;\n readonly assetTypeEnum = AssetType;\n\n assetTypeOptions = AddAssetOptions;\n organizationOptions: IOption[] = [];\n countryOptions: IOption[] = [];\n sectorOptions: IOption[] = [];\n organizationCountryMap = new Map();\n\n organizationId?: string;\n\n selectedAssetType?: IOption = undefined;\n\n constructor(\n private appInfo: AppInfoService,\n private assetApiService: AssetApiService,\n private countryApiService: CountryApiService,\n private organizationApiService: OrganizationApiService,\n private sectorApiService: SectorApiService,\n private notificationService: NotificationService,\n private assetsMenuState: AssetsMenuStateService\n ) {\n this.userInfoSub = this.appInfo.userInfo$.subscribe(userInfo => {\n if (userInfo && !this.appInfo.hasPermission(Permission.Change_Current_Context_Organization)) {\n this.organizationId = userInfo.organizationId;\n this.init();\n }\n });\n\n this.organizationContextSub = this.appInfo.organizationContext$.subscribe(organizationId => {\n if (organizationId) {\n this.organizationId = organizationId;\n this.init();\n }\n });\n }\n\n init() {\n this.getOrganizationList();\n this.getCountries();\n this.getSectors();\n }\n\n async submitAssetForm(params: CreateAssetCommandParams) {\n const response = await this.assetApiService.createAsset(params);\n if (response.success) {\n const assetType = Object.values(AssetType).find(type => type === this.selectedAssetType?.value);\n let routerLink: string[] = [];\n\n switch (assetType) {\n case AssetType.Vessel:\n routerLink = ['/assets/vessels'];\n break;\n case AssetType.VehicleCraftMachinery:\n routerLink = ['/assets/vehicles-crafts-machinery'];\n break;\n case AssetType.Supplier:\n routerLink = ['/assets/suppliers'];\n break;\n case AssetType.Facility:\n routerLink = ['/assets/facilities'];\n break;\n case AssetType.Client:\n routerLink = ['/assets/clients'];\n break;\n default:\n routerLink = ['/assets'];\n break;\n }\n const link: NotificationLinkUi = { text: 'Go to asset details.', routerLink: routerLink };\n this.notificationService.showSuccess('1 new asset was added.', '', link);\n this.assetsMenuState.loadAssetTypeCounters();\n if (assetType) this.assetsMenuState.notifyOfNewAsset(assetType);\n }\n }\n\n setSelectAssetType(assetType: IOption) {\n this.selectedAssetType = assetType;\n }\n\n async getOrganizationList() {\n if (this.organizationId) {\n const response = await this.organizationApiService.getSubOrganizationList(this.organizationId);\n this.organizationOptions = response.result.map(org => {\n this.organizationCountryMap.set(\n org.subOrganizationId ? org.subOrganizationId : org.organizationId,\n org.countryCode\n );\n\n return {\n value: org.subOrganizationId ? org.subOrganizationId : org.organizationId,\n label: org.name,\n };\n });\n }\n }\n\n async getCountries() {\n const response = await this.countryApiService.getAllCountries();\n this.countryOptions = response.result.map(country => ({ value: country.code, label: country.name }));\n }\n\n async getSectors() {\n const response = await this.sectorApiService.getAll();\n this.sectorOptions = response.result.map(s => ({ value: s.type, label: s.name }));\n }\n\n ngOnDestroy() {\n this.userInfoSub.unsubscribe();\n this.organizationContextSub.unsubscribe();\n }\n}\n","import { Component, EventEmitter, Output, ViewChild } from '@angular/core';\nimport { AssetFormDialogStateService } from './asset-form-dialog-state.service';\nimport { AssetTableComponent } from '../shared/asset-table/asset-table.component';\nimport { CreateAssetCommandParams } from 'src/api-client/report-api.generated';\n\n@Component({\n selector: 'esg-asset-form-dialog',\n templateUrl: './asset-form-dialog.component.html',\n styleUrls: ['./asset-form-dialog.component.scss'],\n providers: [AssetFormDialogStateService],\n})\nexport class AssetFormDialogComponent {\n @Output() onCancel = new EventEmitter();\n\n @ViewChild(AssetTableComponent)\n private assetComponent?: AssetTableComponent;\n\n get isFormDisabled() {\n return !this.assetComponent?.formgroup?.valid;\n }\n\n constructor(public state: AssetFormDialogStateService) {}\n\n handleCancel() {\n this.onCancel.emit();\n }\n\n handleOnSubmitClick() {\n if (this.assetComponent) {\n this.assetComponent.handleOnFormSubmit();\n }\n }\n\n async handleOnFormSubmit(params: CreateAssetCommandParams) {\n await this.state.submitAssetForm(params);\n this.handleCancel();\n }\n}\n","\n
\n
Create new asset
\n\n
\n
\n 1. Select Asset type\n \n
\n
\n 2. Add Asset properties\n\n \n \n \n \n \n \n \n
\n
\n
\n\n","import { Injectable } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { VesselAsset, UpdateAssetCommandParams } from 'src/api-client/report-api.generated';\nimport { AssetApiService } from 'src/app/api-client/report-api/asset-api-service';\nimport { IOption } from 'src/app/static-data/options';\nimport { DataRecordApiService } from 'src/app/api-client/report-api/data-record-api-service';\nimport { ITabItem } from 'src/app/shared/ui/tabs/tabs.component';\nimport {\n RecordSubCategoryLabel,\n RecordCategoryLabel,\n RecordCategoryPath,\n RecordSubCategoryPath,\n} from 'src/app/static-data/enum-mappings';\nimport { RecordsOverviewUi } from '../shared/records-overview/records-overview.component';\nimport { AssetVersionUi } from '../shared/asset-version-menu/asset-version-menu.component';\nimport { v4 as uuidv4 } from 'uuid';\n\nexport interface AssetDetailsForm {\n versionValidFrom: FormControl;\n name: FormControl;\n organization: FormControl;\n}\n\n@Injectable()\nexport class AssetDetailsStateService {\n assetId!: string;\n assetVersions: AssetVersionUi[] = [];\n activeVersion?: string;\n isFormOpen = false;\n newVersionDate?: Date;\n isValidFromDateOpen = false;\n isDeleteDialogOpen = false;\n recordsOverview: RecordsOverviewUi[] = [];\n mainOrganizationId?: string;\n organizationOptions?: IOption[];\n defaultOrganizationCode?: string;\n\n loading: boolean = false;\n\n fc?: AssetDetailsForm;\n\n formgroup?: FormGroup;\n\n tabs: ITabItem[] = [{ value: 'recordOverview', label: 'Record Overview' }];\n activeTab = this.tabs[0].value;\n\n constructor(protected assetApiService: AssetApiService, protected dataRecordService: DataRecordApiService) {}\n\n async getAssetVersions() {\n if (this.assetId) {\n const response = await this.assetApiService.getAssetVersions(this.assetId);\n this.assetVersions =\n response.result?.map(version => ({ id: version.versionId, value: version.versionValidFrom })) || [];\n this.assetVersions.sort((a, b) => b.value.getTime() - a.value.getTime());\n if (this.assetVersions.length) {\n if (!this.activeVersion || !this.assetVersions.some(version => version.id === this.activeVersion)) {\n this.activeVersion = this.assetVersions[0].id;\n }\n await this.getAssetVersion(this.activeVersion);\n }\n }\n }\n\n async getAssetVersion(versionId: string) {\n const response = await this.assetApiService.getAssetById(this.assetId, versionId);\n const vessel = response.result as VesselAsset;\n this.mainOrganizationId = vessel.organizationId;\n\n this.fc = {\n versionValidFrom: new FormControl(vessel.versionValidFrom, { nonNullable: true }),\n name: new FormControl(vessel.name, { validators: [Validators.required], nonNullable: true }),\n organization: new FormControl(\n this.organizationOptions?.find(org =>\n vessel?.subOrganizationId ? org.value === vessel?.subOrganizationId : org.value === vessel?.organizationId\n ),\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n };\n\n this.formgroup = new FormGroup(this.fc);\n }\n\n handleDropdownChange(formControl: FormControl, option: IOption) {\n if (option !== formControl.value) {\n formControl.setValue(option);\n formControl.markAsDirty();\n }\n }\n\n handleValidFromChange(date: Date) {\n if (this.newVersionDate) {\n this.newVersionDate = date;\n } else {\n const activeVersionIndex = this.assetVersions.findIndex(version => version.id === this.activeVersion);\n if (date && activeVersionIndex !== -1) {\n this.assetVersions[activeVersionIndex].value = date;\n this.assetVersions.sort((a, b) => b.value.getTime() - a.value.getTime());\n }\n }\n }\n\n handleValidFromOpen() {\n this.isValidFromDateOpen = true;\n }\n\n handleValidFromClose() {\n this.isValidFromDateOpen = false;\n }\n\n handleVersionClick(versionId: string) {\n this.activeVersion = versionId;\n this.isFormOpen = false;\n this.newVersionDate = undefined;\n this.getAssetVersion(versionId);\n }\n\n async handleNewVersion() {\n const newVersionDate = new Date();\n const newestVersion = this.assetVersions[0].id;\n await this.getAssetVersion(newestVersion);\n this.activeVersion = newestVersion;\n this.newVersionDate = newVersionDate;\n this.fc?.versionValidFrom.setValue(newVersionDate);\n this.isFormOpen = true;\n }\n\n async handleVersionSubmit() {\n if (this.formgroup?.valid && this.fc?.versionValidFrom) {\n const wasNewVersion = this.newVersionDate ? true : false;\n const versionId = wasNewVersion ? uuidv4() : this.activeVersion;\n this.isFormOpen = false;\n this.newVersionDate = undefined;\n if (!versionId) return;\n const response = await this.updateAsset(versionId);\n if (response?.success) {\n this.activeVersion = versionId;\n this.getAssetVersions();\n }\n }\n }\n\n async updateAsset(versionId: string) {\n if (!this.fc) return;\n return await this.assetApiService.updateAsset(\n new UpdateAssetCommandParams({\n id: this.assetId,\n name: this.fc.name.value,\n versionId: versionId,\n subOrganizationId:\n this.fc.organization.value?.value === this.mainOrganizationId ? undefined : this.fc.organization.value?.value,\n versionValidFrom: this.fc.versionValidFrom.value,\n })\n );\n }\n\n handleOnDeleteClick() {\n this.isDeleteDialogOpen = true;\n }\n\n handleDeleteDialogClose() {\n this.isDeleteDialogOpen = false;\n }\n\n async handleVersionDelete() {\n this.isDeleteDialogOpen = false;\n if (this.assetId && this.activeVersion) {\n this.isFormOpen = false;\n const response = await this.assetApiService.deleteAssetVersion(this.assetId, this.activeVersion);\n if (response.success) {\n this.activeVersion = undefined;\n this.getAssetVersions();\n }\n }\n }\n\n handleOnFormClick() {\n this.isFormOpen = true;\n }\n\n handleCancel() {\n if (!this.isValidFromDateOpen) {\n this.formgroup?.reset();\n if (!this.newVersionDate && this.fc?.versionValidFrom.value) {\n this.handleValidFromChange(this.fc?.versionValidFrom.value);\n }\n this.isFormOpen = false;\n this.newVersionDate = undefined;\n }\n }\n\n async getRecordsOverview() {\n if (this.assetId) {\n const response = await this.dataRecordService.getAssetRecordsOverview(this.assetId);\n this.recordsOverview = response.result.map(row => {\n const subCategory = RecordSubCategoryLabel[row.dataRecordType];\n const categoryLabel = RecordCategoryLabel[row.category] || row.category;\n const link = ['/', 'data-collect', RecordCategoryPath[row.category] || ''];\n const subCategoryPath = RecordSubCategoryPath[row.dataRecordType] || '';\n\n if (subCategoryPath) {\n link.push(subCategoryPath);\n }\n\n const category = subCategory ? `${categoryLabel} / ${subCategory}` : categoryLabel;\n\n return {\n category,\n count: row.recordCount,\n firstDate: row.firstRecordDate,\n lastDate: row.lastRecordDate,\n link,\n recordType: subCategoryPath ? undefined : row.dataRecordType,\n };\n });\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n AssetType,\n OrganizationAssetVm,\n CreateAssetCommandParams,\n UpdateAssetBasePropertiesCommandParams,\n} from 'src/api-client/report-api.generated';\nimport {\n AssetApiService,\n DeleteAssetsByFilterParams,\n SearchAssetByOrganizationAndTypeParams,\n} from 'src/app/api-client/report-api/asset-api-service';\nimport { IOption } from 'src/app/static-data/options';\nimport { OrganizationApiService } from 'src/app/api-client/report-api/organization-api-service';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { AssetUi } from './asset-list.component';\nimport { CountryApiService } from 'src/app/api-client/report-api/country-api-service';\nimport { AssetsMenuStateService } from '../assets-menu/assets-menu-state.service';\nimport { Subscription } from 'rxjs';\nimport { SectorApiService } from 'src/app/api-client/report-api/sector-api-service';\nimport {\n DataRecordOutput,\n ExcelImportValidationMessage,\n FieldConfig,\n ImportDataOutput,\n validateExcelOptionColumn,\n} from 'src/app/shared/components/data-import-from-excel/data-import-from-excel-state.service';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\nimport { AssetCategoryRoutes } from '../assets-page.component';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport { PaginationUi } from 'src/app/shared/components/pagination/pagination.component';\nimport { IMenuItem } from 'src/app/shared/ui/context-menu/context-menu.component';\nimport { FormControl } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\n\n@Injectable()\nexport class AssetListStateService {\n private assetFromDialogSub!: Subscription;\n\n assetDetailsOpen: boolean = false;\n removeDialogOpen: boolean = false;\n assetCategoryRoutes = AssetCategoryRoutes;\n assets: AssetUi[] = [];\n assetType?: AssetType;\n selectedAsset?: AssetUi;\n organizationId?: string;\n organizationOptions: IOption[] = [];\n countryOptions: IOption[] = [];\n sectorOptions: IOption[] = [];\n organizationCountryMap = new Map();\n loading: boolean = false;\n updating: boolean = false;\n\n excelTitle = 'Assets';\n importFromExcelEnabled = false;\n importFromExcelDialog = false;\n importingInProgress = false;\n importingInProgressLabel = 'Importing...';\n importFromExcelFieldConfigs: FieldConfig[] = [\n { propertyName: 'name', title: 'Vessel', type: 'string' },\n { propertyName: 'organization', title: 'Organization', type: 'string' },\n { propertyName: 'versionValidFrom', title: 'Version valid from', type: 'date', optional: true },\n ];\n\n defaultVersionDate: Date = new Date(Date.UTC(2020, 0, 1));\n\n isDeleteDialogOpen: boolean = false;\n\n searchTimeout: any;\n searchValue: string = '';\n sortKey: string = '';\n sortDirection: 'asc' | 'desc' | '' = '';\n currentPagination: PaginationUi = {\n currentPage: 1,\n totalPages: 1,\n pageSize: 25,\n totalCount: 0,\n hasPrevious: false,\n hasNext: false,\n };\n showStickyPaginationDivider: boolean = false;\n filteredOrganization: FormControl = new FormControl([], { nonNullable: true });\n filteredVesselType: FormControl = new FormControl([], { nonNullable: true });\n filteredVehicleType: FormControl = new FormControl([], { nonNullable: true });\n filteredFacitityType: FormControl = new FormControl([], { nonNullable: true });\n filteredPowerSourceType: FormControl = new FormControl([], { nonNullable: true });\n filteredCountries: FormControl = new FormControl([], { nonNullable: true });\n filteredSectors: FormControl = new FormControl([], { nonNullable: true });\n filteredSocialRisks: FormControl = new FormControl([], { nonNullable: true });\n filteredEnvRisks: FormControl = new FormControl([], { nonNullable: true });\n\n get isFilterApplied(): boolean {\n return (\n this.filteredOrganization.value.length > 0 ||\n this.filteredVesselType.value.length > 0 ||\n this.filteredVehicleType.value.length > 0 ||\n this.filteredFacitityType.value.length > 0 ||\n this.filteredPowerSourceType.value.length > 0 ||\n this.filteredCountries.value.length > 0 ||\n this.filteredSectors.value.length > 0 ||\n this.filteredSocialRisks.value.length > 0 ||\n this.filteredEnvRisks.value.length > 0\n );\n }\n\n get deleteDialogMessage() {\n return `You have selected a total of ${this.currentPagination.totalCount} assets to delete. Once you delete these assets, \\n there is no turning back.`;\n }\n\n constructor(\n protected appInfo: AppInfoService,\n protected appConfig: AppConfigurationService,\n protected assetApiService: AssetApiService,\n protected countryApiService: CountryApiService,\n protected organizationApiService: OrganizationApiService,\n protected sectorApiService: SectorApiService,\n protected notificationService: NotificationService,\n public assetsMenuState: AssetsMenuStateService,\n protected router?: Router,\n protected route?: ActivatedRoute\n ) {\n this.assetFromDialogSub = this.assetsMenuState.newAssetSubject$.subscribe(type => {\n this.handleNewAssetFromDialog(type);\n });\n }\n\n async initByOrganization(organizationId: string) {\n this.loading = true;\n this.organizationId = organizationId;\n await Promise.all([this.getAssets(), this.getOrganizationList(), this.getCountries(), this.getSectors()]);\n this.loading = false;\n }\n\n async getAssets() {\n const response = await this.assetApiService.getAssetsByOrganizationAndType(undefined, AssetType.Organization);\n const result = response.result as OrganizationAssetVm[];\n this.assets = result.map(asset => ({\n id: asset.id,\n name: asset.name,\n organizationName: asset.orgOrSuborgName,\n versionValidFrom: asset.versionValidFrom,\n }));\n }\n\n async getOrganizationList() {\n if (this.organizationId) {\n const response = await this.organizationApiService.getSubOrganizationList(this.organizationId);\n this.organizationOptions = response.result.map(org => {\n this.organizationCountryMap.set(\n org.subOrganizationId ? org.subOrganizationId : org.organizationId,\n org.countryCode\n );\n\n return {\n value: org.subOrganizationId ? org.subOrganizationId : org.organizationId,\n label: org.name,\n };\n });\n }\n }\n\n async getCountries() {\n const response = await this.countryApiService.getAllCountries();\n this.countryOptions = response.result.map(country => ({ value: country.code, label: country.name }));\n }\n\n async getSectors() {\n const response = await this.sectorApiService.getAll();\n this.sectorOptions = response.result.map(s => ({ value: s.type, label: s.name }));\n }\n\n async formSubmit(params: CreateAssetCommandParams) {\n if (this.selectedAsset) {\n const selected = this.selectedAsset;\n this.setSelectedAsset(undefined);\n\n const updateParams = new UpdateAssetBasePropertiesCommandParams({\n id: selected.id,\n name: params.name,\n subOrganizationId: params.subOrganizationId,\n });\n const response = await this.assetApiService.updateAssetBaseProperties(updateParams);\n if (response.success) {\n this.getAssets();\n } else {\n this.notificationService.showError(\n `Unable to update ${this.assetType}`,\n response.validationErrors?.join('\\n') || response.message || 'Unknown error'\n );\n }\n } else {\n const createParams = new CreateAssetCommandParams({\n name: params.name,\n organizationId: this.organizationId || '',\n subOrganizationId: params.subOrganizationId,\n versionValidFrom: this.defaultVersionDate,\n });\n this.updating = true;\n const response = await this.assetApiService.createAsset(createParams);\n if (response.success) {\n await this.getAssets();\n this.assetsMenuState.loadAssetTypeCounters();\n } else {\n this.notificationService.showError(\n `Unable to add ${this.assetType}`,\n response.validationErrors?.join('\\n') || response.message || 'Unknown error'\n );\n }\n this.updating = false;\n }\n }\n\n async getNewestAssetVersionId(assetId: string) {\n const { result } = await this.assetApiService.getAssetVersions(assetId);\n\n if (!result || !result.length) {\n return undefined;\n }\n const assetVersions = result.sort((a, b) => b.versionValidFrom.getTime() - a.versionValidFrom.getTime());\n return assetVersions[0];\n }\n\n setSelectedAsset(asset?: AssetUi) {\n this.selectedAsset = asset;\n }\n\n getAssetDetails(asset: AssetUi) {\n this.setSelectedAsset(asset);\n this.assetDetailsOpen = true;\n }\n\n handleCloseAssetDetails() {\n this.setSelectedAsset(undefined);\n this.assetDetailsOpen = false;\n this.getAssets();\n }\n\n handleInitateDelete() {\n this.removeDialogOpen = true;\n }\n\n handleCloseDeleteDialog() {\n this.removeDialogOpen = false;\n if (!this.assetDetailsOpen) {\n this.setSelectedAsset(undefined);\n }\n }\n\n async handleDeleteAssetSubmit(id: string) {\n this.removeDialogOpen = false;\n this.assetDetailsOpen = false;\n this.setSelectedAsset(undefined);\n const response = await this.assetApiService.deleteAsset(id);\n if (response.success) {\n this.assets = this.assets.filter(asset => asset.id !== id);\n }\n }\n\n async handleNewAssetFromDialog(type: AssetType) {\n if (type === this.assetType) {\n this.updating = true;\n await this.getAssets();\n this.updating = false;\n }\n }\n\n async importDataFromExcel(data: ImportDataOutput) {\n this.importingInProgress = true;\n this.importingInProgressLabel = 'Importing...';\n const validationMessages = this.validateOptionColumns(data.records);\n\n if (validationMessages.length) {\n validationMessages.forEach(message => {\n this.notificationService.showError(message.title, message.description);\n });\n this.importingInProgress = false;\n return;\n }\n\n var recordsToAdd = data.records.length;\n var recordsAdded = 0;\n this.importingInProgressLabel = `Imported ${recordsAdded} of ${recordsToAdd}`;\n try {\n const addRecordPromises = data.records.map(async (record, index) => {\n const result = await this.createAssetFromExcel(record);\n if (!result.success) {\n this.notificationService.showError(\n `${this.assetType} from row ${index + 1} not added`,\n result.validationErrors?.join('\\n') || result.message || 'Unknown error'\n );\n }\n ++recordsAdded;\n this.importingInProgressLabel = `Imported ${recordsAdded} of ${recordsToAdd}`;\n return result;\n });\n\n await Promise.all(addRecordPromises);\n\n await this.getAssets();\n this.importingInProgress = false;\n this.importingInProgressLabel = '';\n this.importDataFromExcelClose();\n } catch (e) {\n this.importingInProgress = false;\n this.importingInProgressLabel = '';\n }\n }\n\n importDataFromExcelClose() {\n this.importFromExcelDialog = false;\n }\n\n handleOnImportAssets() {\n this.importFromExcelDialog = true;\n }\n\n createAssetFromExcel(asset: DataRecordOutput) {\n const organizationOption = this.getExcelOptionColumn(\n 'organization',\n this.organizationOptions,\n asset,\n 'Organization'\n );\n\n const body = new CreateAssetCommandParams({\n name: asset.name?.value || '',\n organizationId: this.organizationId || '',\n subOrganizationId: this.organizationId === organizationOption.value ? undefined : organizationOption.value,\n versionValidFrom: asset.versionValidFrom?.value || this.defaultVersionDate,\n });\n return this.assetApiService.createAsset(body);\n }\n\n validateOptionColumns(records: DataRecordOutput[]): ExcelImportValidationMessage[] {\n let validationMessages: ExcelImportValidationMessage[] = [];\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'organization',\n this.organizationOptions,\n records,\n 'Organization'\n );\n return validationMessages;\n }\n\n getExcelOptionColumn(\n propertyName: string,\n options: IOption[],\n record: DataRecordOutput,\n optionLabel: string\n ): IOption {\n const valueInUpperCase = record[propertyName]?.value?.trim().toUpperCase();\n const findOption = options.find(\n o => o.label.toUpperCase() === valueInUpperCase || o.value.toUpperCase() === valueInUpperCase\n );\n\n if (!findOption) {\n this.notificationService.showError(\n 'Not mapped select option',\n `Not mapped select option for ${optionLabel} column in ${record[propertyName]?.rowNo} row`\n );\n throw Error();\n }\n return findOption;\n }\n\n ngOnDestroy() {\n this.assetFromDialogSub.unsubscribe();\n }\n\n onSortChange(event: { key: string; direction: 'asc' | 'desc' | '' }) {\n this.sortKey = event.key;\n this.sortDirection = event.direction;\n this.getAssets();\n }\n\n onSearchValueChange(newSearchValue: string) {\n this.searchValue = newSearchValue;\n\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n this.searchTimeout = setTimeout(() => {\n this.handleFilterChange();\n }, 500);\n }\n\n clearFilters() {\n this.filteredOrganization.setValue([]);\n this.filteredVesselType.setValue([]);\n this.filteredVehicleType.setValue([]);\n this.filteredFacitityType.setValue([]);\n this.filteredPowerSourceType.setValue([]);\n this.filteredCountries.setValue([]);\n this.filteredSectors.setValue([]);\n this.filteredSocialRisks.setValue([]);\n this.filteredEnvRisks.setValue([]);\n this.handleFilterChange();\n }\n\n filterMenuProvider = (): IMenuItem[] => [\n { id: 'clear', label: 'Clear all filters', onClick: () => this.clearFilters() },\n ];\n\n handleDeleteAllFilteredRecordsInitiate() {\n this.isDeleteDialogOpen = true;\n }\n\n handleDeleteAllFilteredRecordsClose() {\n this.isDeleteDialogOpen = false;\n }\n\n handleDeleteAllFilteredRecordsSubmit() {\n this.handleOnDeleteAllFilteredRecords();\n }\n\n handleOnDeleteAllFilteredRecords(params: DeleteAssetsByFilterParams = new DeleteAssetsByFilterParams()) {\n this.isDeleteDialogOpen = false;\n this.assetApiService.deleteAssetsByFilter(params).then(response => {\n if (response.success) {\n this.notificationService.showSuccess(this.currentPagination.totalCount + ' assets were successfully deleted');\n this.getAssets();\n }\n });\n }\n\n handlePageSizeChange(pageSize: number) {\n this.currentPagination.pageSize = pageSize;\n this.currentPagination = { ...this.currentPagination, currentPage: 1, hasNext: false, hasPrevious: false };\n this.getAssets();\n this.setQueryParams();\n }\n\n handlePaginationChange(newPaginationData: PaginationUi) {\n this.currentPagination = newPaginationData;\n this.getAssets();\n this.setQueryParams();\n }\n\n handleFilterChange() {\n this.currentPagination = { ...this.currentPagination, currentPage: 1, hasNext: false, hasPrevious: false };\n this.getAssets();\n this.setQueryParams();\n }\n\n resetPagination() {\n this.currentPagination.totalCount = 0;\n this.currentPagination = {\n ...this.currentPagination,\n currentPage: 1,\n totalPages: 1,\n hasPrevious: false,\n hasNext: false,\n };\n }\n\n setQueryParams() {\n const queryParams = {\n ...this.route?.snapshot.queryParams,\n };\n queryParams['pageSize'] = this.currentPagination.pageSize;\n queryParams['currentPage'] = this.currentPagination.currentPage;\n this.router?.navigate([], { queryParams });\n }\n\n getQueryParams() {\n const queryParams = this.route?.snapshot.queryParams;\n if (queryParams == undefined) return;\n const pageSize = queryParams['pageSize'];\n const currentPage = queryParams['currentPage'];\n\n if (pageSize || currentPage) {\n this.currentPagination = {\n ...this.currentPagination,\n currentPage: currentPage || this.currentPagination.currentPage,\n };\n this.currentPagination.pageSize = pageSize || this.currentPagination.pageSize;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { IOption } from 'src/app/static-data/options';\nimport { AssetListStateService } from './asset-list-state.service';\nimport { IMenuItem } from 'src/app/shared/ui/context-menu/context-menu.component';\nimport { Subscription } from 'rxjs';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { CreateAssetCommandParams, Permission, RiskCategory } from 'src/api-client/report-api.generated';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\n\nexport interface AssetUi {\n id: string;\n name: string;\n orgId?: string;\n type?: string;\n subType?: string;\n organizationName: string;\n versionValidFrom: Date;\n country?: string;\n sector?: string;\n socialRisk?: RiskCategory;\n environmentalRisk?: RiskCategory;\n}\n\nexport interface AssetForm {\n name: FormControl;\n orgId?: FormControl;\n type?: FormControl;\n subType?: FormControl;\n organization: FormControl;\n country?: FormControl;\n sector?: FormControl;\n}\n\n@Component({\n selector: 'esg-asset-list',\n templateUrl: './asset-list.component.html',\n styleUrls: ['./asset-list.component.scss'],\n providers: [AssetListStateService],\n})\nexport class AssetListComponent {\n private userInfoSub!: Subscription;\n private organizationContextSub!: Subscription;\n\n constructor(\n private appInfo: AppInfoService,\n private appConfig: AppConfigurationService,\n public state: AssetListStateService\n ) {}\n\n ngOnInit() {\n this.userInfoSub = this.appInfo.userInfo$.subscribe(userInfo => {\n if (userInfo && !this.appInfo.hasPermission(Permission.Change_Current_Context_Organization)) {\n this.state.initByOrganization(userInfo.organizationId);\n }\n });\n\n this.organizationContextSub = this.appInfo.organizationContext$.subscribe(organizationId => {\n if (organizationId) {\n this.state.initByOrganization(organizationId);\n }\n });\n }\n\n formSubmit(params: CreateAssetCommandParams) {\n this.state.formSubmit(params);\n }\n\n deleteSubmit(id: string) {\n this.state.handleDeleteAssetSubmit(id);\n }\n\n menuProvider = (): IMenuItem[] => [\n { id: 'delete', label: 'Delete', onClick: () => this.state.handleInitateDelete() },\n ];\n\n ngOnDestroy() {\n this.userInfoSub.unsubscribe();\n this.organizationContextSub.unsubscribe();\n }\n\n handleOnSortChange($event: { key: string; direction: 'asc' | 'desc' | '' }) {\n this.state.onSortChange($event);\n }\n}\n","\n\n\n\n","import { Injectable } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport {\n AssetType,\n CountryCodes,\n ClientAsset,\n UpdateClientAssetCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { IOption } from 'src/app/static-data/options';\nimport { AssetDetailsForm, AssetDetailsStateService } from '../../asset-details-state.service';\n\ninterface ClientDetailsForm extends AssetDetailsForm {\n country: FormControl;\n address: FormControl;\n contactPerson: FormControl;\n email: FormControl;\n}\n\n@Injectable()\nexport class ClientDetailsStateService extends AssetDetailsStateService {\n countryOptions: IOption[] = [];\n\n fc?: ClientDetailsForm;\n\n async init(assetId: string, organizationOptions: IOption[], countryOptions: IOption[]) {\n this.loading = true;\n this.assetId = assetId;\n this.organizationOptions = organizationOptions;\n this.countryOptions = countryOptions;\n await Promise.all([this.getAssetVersions(), this.getRecordsOverview()]);\n this.loading = false;\n }\n\n async getAssetVersion(versionId: string) {\n const response = await this.assetApiService.getAssetById(this.assetId, versionId);\n const client = response.result as ClientAsset;\n this.mainOrganizationId = client.organizationId;\n\n this.fc = {\n versionValidFrom: new FormControl(client.versionValidFrom, { nonNullable: true }),\n name: new FormControl(client.name, { validators: [Validators.required], nonNullable: true }),\n organization: new FormControl(\n this.organizationOptions?.find(org =>\n client?.subOrganizationId ? org.value === client?.subOrganizationId : org.value === client?.organizationId\n ),\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n country: new FormControl(\n this.countryOptions.find(country => country.value === client?.countryCode),\n { validators: [Validators.required], nonNullable: true }\n ),\n address: new FormControl(client.address || '', { nonNullable: true }),\n contactPerson: new FormControl(client.contactPerson || '', { nonNullable: true }),\n email: new FormControl(client.email || '', { nonNullable: true }),\n };\n this.formgroup = new FormGroup(this.fc);\n }\n\n async updateAsset(versionId: string) {\n const countryCode = Object.values(CountryCodes).find(code => code === this.fc?.country?.value?.value);\n if (this.fc && countryCode) {\n return await this.assetApiService.updateAsset(\n new UpdateClientAssetCommandParams({\n id: this.assetId,\n type: AssetType.Client,\n name: this.fc.name.value,\n versionId: versionId,\n subOrganizationId:\n this.fc.organization.value?.value === this.mainOrganizationId\n ? undefined\n : this.fc.organization.value?.value,\n address: this.fc.address.value || undefined,\n countryCode: countryCode,\n contactPerson: this.fc.contactPerson.value || undefined,\n email: this.fc.email.value || undefined,\n versionValidFrom: this.fc.versionValidFrom.value,\n })\n );\n } else return undefined;\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { IOption } from 'src/app/static-data/options';\nimport { ClientDetailsStateService } from './client-details-state.service';\n\n@Component({\n selector: 'esg-client-details',\n templateUrl: './client-details.component.html',\n styleUrls: ['../../asset-details.component.scss'],\n providers: [ClientDetailsStateService],\n})\nexport class ClientDetailsComponent {\n @Input({ required: true }) assetId!: string;\n @Input() organizationOptions: IOption[] = [];\n @Input() countryOptions: IOption[] = [];\n\n constructor(public state: ClientDetailsStateService) {}\n ngOnInit(): void {\n this.state.init(this.assetId, this.organizationOptions, this.countryOptions);\n }\n}\n","
\n \n

{{ state.fc?.name?.value }}

\n
\n \n
\n Version valid from\n
\n \n
\n Country\n
\n \n
\n Organization\n
\n \n
\n Address\n
\n \n
\n Contact person\n
\n \n
\n E-mail\n
\n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n\n","import { Injectable } from '@angular/core';\nimport {\n AssetType,\n UpdateClientAssetCommandParams,\n ClientAsset,\n CreateClientAssetCommandParams,\n ClientAssetVm,\n CountryCodes,\n UpdateAssetBasePropertiesCommandParams,\n UpdateClientAssetBasePropertiesCommandParams,\n} from 'src/api-client/report-api.generated';\nimport {\n AssetApiService,\n SearchAssetByOrganizationAndTypeParams,\n} from 'src/app/api-client/report-api/asset-api-service';\nimport { OrganizationApiService } from 'src/app/api-client/report-api/organization-api-service';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { AssetListStateService } from '../asset-list-state.service';\nimport { CountryApiService } from 'src/app/api-client/report-api/country-api-service';\nimport { AssetsMenuStateService } from '../../assets-menu/assets-menu-state.service';\nimport { SectorApiService } from 'src/app/api-client/report-api/sector-api-service';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\nimport {\n DataRecordOutput,\n ExcelImportValidationMessage,\n FieldConfig,\n validateExcelOptionColumn,\n} from 'src/app/shared/components/data-import-from-excel/data-import-from-excel-state.service';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport { ActivatedRoute, Router } from '@angular/router';\n\n@Injectable()\nexport class ClientsStateService extends AssetListStateService {\n assetType = AssetType.Client;\n\n constructor(\n appInfo: AppInfoService,\n appConfig: AppConfigurationService,\n assetApiService: AssetApiService,\n countryApiService: CountryApiService,\n organizationApiService: OrganizationApiService,\n sectorApiService: SectorApiService,\n notificationService: NotificationService,\n assetsMenuState: AssetsMenuStateService,\n router?: Router,\n route?: ActivatedRoute\n ) {\n super(\n appInfo,\n appConfig,\n assetApiService,\n countryApiService,\n organizationApiService,\n sectorApiService,\n notificationService,\n assetsMenuState,\n router,\n route\n );\n }\n\n excelTitle = 'Clients';\n importFromExcelFieldConfigs: FieldConfig[] = [\n { propertyName: 'name', title: 'Client name', type: 'string' },\n { propertyName: 'country', title: 'Client’s country', type: 'string' },\n { propertyName: 'organization', title: 'Organization', type: 'string' },\n { propertyName: 'versionValidFrom', title: 'Version valid from', type: 'date', optional: true },\n ];\n\n importFromExcelEnabled = true;\n\n async getAssets() {\n const searchParams = new SearchAssetByOrganizationAndTypeParams({\n AssetType: this.assetType,\n Name: this.searchValue || undefined,\n CountryCodes: Object.values(CountryCodes).filter(type =>\n this.filteredCountries.value.find(opt => type.toString() === opt.value)\n ),\n SearchOrgIds: this.filteredOrganization.value.map(opt => opt.value),\n });\n const response = await this.assetApiService.searchAsset(\n searchParams,\n this.sortDirection ? this.sortKey + ' ' + this.sortDirection : undefined,\n this.currentPagination.currentPage,\n this.currentPagination.pageSize\n );\n const result = response.result.items as ClientAssetVm[];\n this.currentPagination = {\n ...response.result,\n };\n\n this.assets = result.map(asset => ({\n id: asset.id,\n name: asset.name,\n country: asset.countryName,\n organizationName: asset.orgOrSuborgName,\n versionValidFrom: asset.versionValidFrom,\n }));\n }\n\n async formSubmit(params: CreateClientAssetCommandParams) {\n if (this.selectedAsset) {\n const selected = this.selectedAsset;\n this.setSelectedAsset(undefined);\n\n const updateParams = new UpdateClientAssetBasePropertiesCommandParams({\n id: selected.id,\n type: this.assetType,\n name: params.name,\n subOrganizationId: params.subOrganizationId,\n countryCode: params.countryCode,\n });\n const response = await this.assetApiService.updateAssetBaseProperties(updateParams);\n if (response.success) {\n this.getAssets();\n } else {\n this.notificationService.showError(\n `Unable to update ${this.assetType}`,\n response.validationErrors?.join('\\n') || response.message || 'Unknown error'\n );\n }\n } else {\n const createParams = new CreateClientAssetCommandParams({\n type: this.assetType,\n name: params.name,\n organizationId: this.organizationId || '',\n subOrganizationId: params.subOrganizationId,\n countryCode: params.countryCode,\n versionValidFrom: this.defaultVersionDate,\n });\n this.updating = true;\n const response = await this.assetApiService.createAsset(createParams);\n if (response.success) {\n await this.getAssets();\n this.assetsMenuState.loadAssetTypeCounters();\n } else {\n this.notificationService.showError(\n `Unable to add ${this.assetType}`,\n response.validationErrors?.join('\\n') || response.message || 'Unknown error'\n );\n }\n this.updating = false;\n }\n }\n\n createAssetFromExcel(asset: DataRecordOutput) {\n const organizationOption = this.getExcelOptionColumn(\n 'organization',\n this.organizationOptions,\n asset,\n 'Organization'\n );\n const countryOption = this.getExcelOptionColumn('country', this.countryOptions, asset, 'Client’s country');\n\n const body = new CreateClientAssetCommandParams({\n type: this.assetType,\n organizationId: this.organizationId || '',\n subOrganizationId: this.organizationId === organizationOption.value ? undefined : organizationOption.value,\n name: asset.name?.value || '',\n versionValidFrom: asset.versionValidFrom?.value || this.defaultVersionDate,\n countryCode: CountryCodes[countryOption.value as keyof typeof CountryCodes],\n });\n return this.assetApiService.createAsset(body);\n }\n\n validateOptionColumns(records: DataRecordOutput[]): ExcelImportValidationMessage[] {\n let validationMessages: ExcelImportValidationMessage[] = [];\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'organization',\n this.organizationOptions,\n records,\n 'Organization'\n );\n\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'country',\n this.countryOptions,\n records,\n 'Client’s country'\n );\n\n return validationMessages;\n }\n}\n","import { Component } from '@angular/core';\nimport { AssetTableComponent } from '../../../shared/asset-table/asset-table.component';\nimport { IOption } from 'src/app/static-data/options';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { AssetUi } from '../../asset-list.component';\nimport { AssetType, CountryCodes, CreateClientAssetCommandParams } from 'src/api-client/report-api.generated';\n\n@Component({\n selector: 'esg-clients-table',\n templateUrl: './clients-table.component.html',\n styleUrls: ['../../../shared/asset-table/asset-table.component.scss', './clients-table.component.scss'],\n providers: [{ provide: AssetTableComponent, useExisting: ClientsTableComponent }],\n})\nexport class ClientsTableComponent extends AssetTableComponent {\n headerArray = [\n { name: 'name_lowercase', title: 'CLIENT NAME' },\n { name: 'CountryCode', title: 'CLIENT’S COUNTRY' },\n { name: 'OrgOrSuborgName', title: 'ORGANIZATION' },\n ];\n headers = this.headerArray.map(h => h.name);\n initateAdd(event?: Event) {\n event?.stopPropagation();\n this.fc = {\n name: new FormControl('', [Validators.required]),\n country: new FormControl(this.defaultCountry),\n organization: new FormControl(\n {\n value: this.defaultOrganization,\n disabled: this.defaultOrganization !== undefined && this.organizationOptions.length === 1,\n },\n [Validators.required]\n ),\n };\n this.formgroup = new FormGroup(this.fc);\n }\n\n iniateEdit(asset: AssetUi) {\n if (this.fc) return;\n\n this.onSelectedAssetChange.emit(asset);\n\n const organization =\n this.organizationOptions.find(org => org.label === asset.organizationName) || this.defaultOrganization;\n this.fc = {\n name: new FormControl(asset.name, [Validators.required]),\n country: new FormControl(\n this.countryOptions.find(country => country.label === asset.country) || this.defaultCountry,\n [Validators.required]\n ),\n organization: new FormControl(\n {\n value: organization,\n disabled: organization !== undefined && this.organizationOptions.length === 1,\n },\n [Validators.required]\n ),\n };\n this.formgroup = new FormGroup(this.fc);\n }\n\n handleOnFormSubmit() {\n const countryCode = Object.values(CountryCodes).find(code => code === this.fc?.country?.value?.value);\n if (this.fc && this.formgroup?.valid && countryCode) {\n const subOrganizationId =\n this.organizationId === this.fc.organization.value?.value ? undefined : this.fc.organization.value?.value;\n const params = new CreateClientAssetCommandParams({\n type: AssetType.Client,\n name: this.fc.name.value || '',\n organizationId: this.organizationId || '',\n subOrganizationId: subOrganizationId,\n countryCode: countryCode,\n versionValidFrom: new Date(),\n });\n this.onFormSubmit.emit(params);\n this.resetForm();\n } else this.handleSubmitRejection();\n }\n\n headerTitle(_name: string): string {\n const header = this.headerArray.find(h => h.name === _name);\n return header ? header.title : '';\n }\n}\n","\n \n \n \n
\n \n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{ asset.name }}{{ asset.country }}{{ asset.organizationName }}\n
\n Details\n \n \n \n
\n
\n
\n \n
\n
\n \n \n \n
\n
\n \n
\n
\n \n \n \n \n \n
\n
\n","import { Component } from '@angular/core';\nimport { AssetListComponent } from '../asset-list.component';\nimport { AssetListStateService } from '../asset-list-state.service';\nimport { ClientsStateService } from './clients-state.service';\n\n@Component({\n selector: 'esg-clients',\n templateUrl: './clients.component.html',\n styleUrls: ['../asset-list.component.scss'],\n providers: [{ provide: AssetListStateService, useClass: ClientsStateService }],\n})\nexport class ClientsComponent extends AssetListComponent {}\n","\n\n Select category\n
\n \n \n
\n \n
\n \n \n
\n \n \n \n
\n\n \n\n\n","import { Injectable } from '@angular/core';\nimport {\n AssetType,\n CreateFacilityAssetCommandParams,\n UpdateFacilityAssetCommandParams,\n FacilityAssetVm,\n FacilityAsset,\n CountryCodes,\n FacilityType,\n UpdateFacilityAssetBasePropertiesCommandParams,\n} from 'src/api-client/report-api.generated';\nimport {\n AssetApiService,\n SearchAssetByOrganizationAndTypeParams,\n} from 'src/app/api-client/report-api/asset-api-service';\nimport { CountryApiService } from 'src/app/api-client/report-api/country-api-service';\nimport { OrganizationApiService } from 'src/app/api-client/report-api/organization-api-service';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { AssetListStateService } from '../asset-list-state.service';\nimport { AssetsMenuStateService } from '../../assets-menu/assets-menu-state.service';\nimport { IOption, facilityTypeOptions } from 'src/app/static-data/options';\nimport { SectorApiService } from 'src/app/api-client/report-api/sector-api-service';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\nimport {\n DataRecordOutput,\n ExcelImportValidationMessage,\n FieldConfig,\n validateExcelOptionColumn,\n} from 'src/app/shared/components/data-import-from-excel/data-import-from-excel-state.service';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport { ActivatedRoute, Router } from '@angular/router';\n\n@Injectable({\n providedIn: 'root', // Automatically registers this service globally\n})\nexport class FacilitiesStateService extends AssetListStateService {\n assetType = AssetType.Facility;\n typeOptions: IOption[] = facilityTypeOptions;\n\n constructor(\n appInfo: AppInfoService,\n appConfig: AppConfigurationService,\n assetApiService: AssetApiService,\n countryApiService: CountryApiService,\n organizationApiService: OrganizationApiService,\n sectorApiService: SectorApiService,\n notificationService: NotificationService,\n assetsMenuState: AssetsMenuStateService,\n router?: Router,\n route?: ActivatedRoute\n ) {\n super(\n appInfo,\n appConfig,\n assetApiService,\n countryApiService,\n organizationApiService,\n sectorApiService,\n notificationService,\n assetsMenuState,\n router,\n route\n );\n }\n\n excelTitle = 'Facilities';\n importFromExcelFieldConfigs: FieldConfig[] = [\n { propertyName: 'name', title: 'Facility', type: 'string' },\n { propertyName: 'type', title: 'Facility type', type: 'string' },\n { propertyName: 'organization', title: 'Organization', type: 'string' },\n { propertyName: 'country', title: 'Country', type: 'string' },\n { propertyName: 'versionValidFrom', title: 'Version valid from', type: 'date', optional: true },\n ];\n\n importFromExcelEnabled = true;\n\n async getAssets() {\n const searchParams = new SearchAssetByOrganizationAndTypeParams({\n AssetType: this.assetType,\n Name: this.searchValue || undefined,\n FacilityTypes: Object.values(FacilityType).filter(type =>\n this.filteredFacitityType.value.find(opt => type.toString() === opt.value)\n ),\n SearchOrgIds: this.filteredOrganization.value.map(opt => opt.value),\n CountryCodes: Object.values(CountryCodes).filter(type =>\n this.filteredCountries.value.find(opt => type.toString() === opt.value)\n ),\n });\n const response = await this.assetApiService.searchAsset(\n searchParams,\n this.sortDirection ? this.sortKey + ' ' + this.sortDirection : undefined,\n this.currentPagination.currentPage,\n this.currentPagination.pageSize\n );\n const result = response.result.items as FacilityAssetVm[];\n this.currentPagination = {\n ...response.result,\n };\n this.assets = result.map(asset => ({\n id: asset.id,\n name: asset.name,\n type: this.typeOptions.find(type => type.value === asset.subType)?.label || asset.subType,\n organizationName: asset.orgOrSuborgName,\n versionValidFrom: asset.versionValidFrom,\n country: asset.countryName,\n }));\n }\n\n async formSubmit(params: CreateFacilityAssetCommandParams) {\n if (this.selectedAsset) {\n const selected = this.selectedAsset;\n this.setSelectedAsset(undefined);\n const updateParams = new UpdateFacilityAssetBasePropertiesCommandParams({\n id: selected.id,\n type: this.assetType,\n subType: params.subType,\n name: params.name,\n subOrganizationId: params.subOrganizationId,\n countryCode: params.countryCode,\n });\n const response = await this.assetApiService.updateAssetBaseProperties(updateParams);\n if (response.success) {\n this.getAssets();\n } else {\n this.notificationService.showError(\n `Unable to update ${this.assetType}`,\n response.validationErrors?.join('\\n') || response.message || 'Unknown error'\n );\n }\n } else {\n const createParams = new CreateFacilityAssetCommandParams({\n type: this.assetType,\n subType: params.subType,\n name: params.name,\n organizationId: this.organizationId || '',\n subOrganizationId: params.subOrganizationId,\n countryCode: params.countryCode,\n versionValidFrom: this.defaultVersionDate,\n });\n this.updating = true;\n const response = await this.assetApiService.createAsset(createParams);\n if (response.success) {\n await this.getAssets();\n this.assetsMenuState.loadAssetTypeCounters();\n } else {\n this.notificationService.showError(\n `Unable to add ${this.assetType}`,\n response.validationErrors?.join('\\n') || response.message || 'Unknown error'\n );\n }\n this.updating = false;\n }\n }\n\n createAssetFromExcel(asset: DataRecordOutput) {\n const organizationOption = this.getExcelOptionColumn(\n 'organization',\n this.organizationOptions,\n asset,\n 'Organization'\n );\n const typeOption = this.getExcelOptionColumn('type', this.typeOptions, asset, 'Facility type');\n const countryOption = this.getExcelOptionColumn('country', this.countryOptions, asset, 'Country');\n\n const body = new CreateFacilityAssetCommandParams({\n type: this.assetType,\n organizationId: this.organizationId || '',\n subOrganizationId: this.organizationId === organizationOption.value ? undefined : organizationOption.value,\n name: asset.name?.value || '',\n subType: FacilityType[typeOption.value as keyof typeof FacilityType],\n versionValidFrom: asset.versionValidFrom?.value || this.defaultVersionDate,\n countryCode: CountryCodes[countryOption.value as keyof typeof CountryCodes],\n });\n return this.assetApiService.createAsset(body);\n }\n\n validateOptionColumns(records: DataRecordOutput[]): ExcelImportValidationMessage[] {\n let validationMessages: ExcelImportValidationMessage[] = [];\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'organization',\n this.organizationOptions,\n records,\n 'Organization'\n );\n\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'type',\n this.typeOptions,\n records,\n 'Facility type'\n );\n\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'country',\n this.countryOptions,\n records,\n 'Country'\n );\n\n return validationMessages;\n }\n}\n","import { Component } from '@angular/core';\nimport { AssetTableComponent } from '../../../shared/asset-table/asset-table.component';\nimport { IOption, facilityTypeOptions } from 'src/app/static-data/options';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { AssetUi } from '../../asset-list.component';\nimport {\n AssetType,\n CountryCodes,\n CreateFacilityAssetCommandParams,\n FacilityType,\n} from 'src/api-client/report-api.generated';\n\n@Component({\n selector: 'esg-facilities-table',\n templateUrl: './facilities-table.component.html',\n styleUrls: ['../../../shared/asset-table/asset-table.component.scss', './facilities-table.component.scss'],\n providers: [{ provide: AssetTableComponent, useExisting: FacilitiesTableComponent }],\n})\nexport class FacilitiesTableComponent extends AssetTableComponent {\n headerArray = [\n { name: 'name_lowercase', title: 'FACILITY' },\n { name: 'SubTypeName', title: 'FACILITY TYPE' },\n { name: 'OrgOrSuborgName', title: 'ORGANIZATION' },\n { name: 'CountryCode', title: 'COUNTRY' },\n ];\n headers = this.headerArray.map(h => h.name);\n\n typeOptions: IOption[] = facilityTypeOptions;\n\n initateAdd(event?: Event) {\n event?.stopPropagation();\n this.fc = {\n name: new FormControl('', [Validators.required]),\n type: new FormControl(this.typeOptions[0], [Validators.required]),\n country: new FormControl(this.defaultCountry),\n organization: new FormControl(\n {\n value: this.defaultOrganization,\n disabled: this.defaultOrganization !== undefined && this.organizationOptions.length === 1,\n },\n [Validators.required]\n ),\n };\n this.formgroup = new FormGroup(this.fc);\n }\n\n iniateEdit(asset: AssetUi) {\n if (this.fc) return;\n\n this.onSelectedAssetChange.emit(asset);\n\n const organization =\n this.organizationOptions.find(org => org.label === asset.organizationName) || this.defaultOrganization;\n this.fc = {\n name: new FormControl(asset.name, [Validators.required]),\n type: new FormControl(\n this.typeOptions.find(type => type.label === asset.type || type.value === asset.type) || this.typeOptions[0],\n [Validators.required]\n ),\n country: new FormControl(\n this.countryOptions.find(country => country.label === asset.country) || this.defaultCountry,\n [Validators.required]\n ),\n organization: new FormControl(\n {\n value: organization,\n disabled: organization !== undefined && this.organizationOptions.length === 1,\n },\n [Validators.required]\n ),\n };\n this.formgroup = new FormGroup(this.fc);\n }\n\n handleOnFormSubmit() {\n const countryCode = Object.values(CountryCodes).find(code => code === this.fc?.country?.value?.value);\n const type = Object.values(FacilityType).find(type => type === this.fc?.type?.value?.value);\n if (this.fc && this.formgroup?.valid && countryCode && type) {\n const subOrganizationId =\n this.organizationId === this.fc.organization.value?.value ? undefined : this.fc.organization.value?.value;\n const params = new CreateFacilityAssetCommandParams({\n type: AssetType.Facility,\n name: this.fc.name.value || '',\n subType: type,\n organizationId: this.organizationId || '',\n subOrganizationId: subOrganizationId,\n countryCode: countryCode,\n versionValidFrom: new Date(),\n });\n this.onFormSubmit.emit(params);\n this.resetForm();\n } else this.handleSubmitRejection();\n }\n\n headerTitle(_name: string): string {\n const header = this.headerArray.find(h => h.name === _name);\n return header ? header.title : '';\n }\n}\n","\n \n \n \n
\n \n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{ asset.name }}{{ asset.type }}{{ asset.organizationName }}{{ asset.country }}\n
\n Details\n \n \n \n
\n
\n
\n \n
\n
\n \n \n \n
\n
\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n","import { Component } from '@angular/core';\nimport { FacilitiesStateService } from './facilities-state.service';\nimport { AssetListComponent } from '../asset-list.component';\nimport { AssetListStateService } from '../asset-list-state.service';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\n\n@Component({\n selector: 'esg-facilities',\n templateUrl: './facilities.component.html',\n styleUrls: ['../asset-list.component.scss'],\n providers: [{ provide: AssetListStateService, useClass: FacilitiesStateService }],\n})\nexport class FacilitiesComponent extends AssetListComponent {\n constructor(\n appInfo: AppInfoService,\n appConfig: AppConfigurationService,\n state: AssetListStateService,\n public facilityState: FacilitiesStateService\n ) {\n super(appInfo, appConfig, state);\n }\n}\n","\n\n Select category\n
\n \n \n
\n \n
\n \n \n \n
\n \n \n \n
\n\n \n\n\n","import { Injectable } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport {\n AssetType,\n UpdateFacilityAssetCommandParams,\n FacilityAsset,\n CountryCodes,\n FacilityType,\n} from 'src/api-client/report-api.generated';\nimport { IOption, facilityTypeOptions } from 'src/app/static-data/options';\nimport { formattedStringToNumber, stringToFormattedNumberString } from 'src/app/shared/utils/number-converters';\nimport { AssetDetailsForm, AssetDetailsStateService } from '../../asset-details-state.service';\n\ninterface FacilityDetailsForm extends AssetDetailsForm {\n type: FormControl;\n country: FormControl;\n address: FormControl;\n sqm_m2: FormControl;\n}\n\n@Injectable()\nexport class FacilityDetailsStateService extends AssetDetailsStateService {\n countryOptions: IOption[] = [];\n typeOptions: IOption[] = facilityTypeOptions;\n\n fc?: FacilityDetailsForm;\n\n async init(assetId: string, organizationOptions: IOption[], countryOptions: IOption[]) {\n this.loading = true;\n this.assetId = assetId;\n this.organizationOptions = organizationOptions;\n this.countryOptions = countryOptions;\n await Promise.all([this.getAssetVersions(), this.getRecordsOverview()]);\n this.loading = false;\n }\n\n async getAssetVersion(versionId: string) {\n const response = await this.assetApiService.getAssetById(this.assetId, versionId);\n const facility = response.result as FacilityAsset;\n this.mainOrganizationId = facility.organizationId;\n\n this.fc = {\n versionValidFrom: new FormControl(facility.versionValidFrom, { nonNullable: true }),\n name: new FormControl(facility.name, { validators: [Validators.required], nonNullable: true }),\n organization: new FormControl(\n this.organizationOptions?.find(org =>\n facility?.subOrganizationId\n ? org.value === facility?.subOrganizationId\n : org.value === facility?.organizationId\n ),\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n type: new FormControl(\n this.typeOptions.find(type => type.label === facility.subType || type.value === facility.subType) ||\n this.typeOptions[0],\n { validators: [Validators.required], nonNullable: true }\n ),\n country: new FormControl(\n this.countryOptions.find(country => country.value === facility?.countryCode),\n { validators: [Validators.required], nonNullable: true }\n ),\n address: new FormControl(facility.address || '', { nonNullable: true }),\n sqm_m2: new FormControl(\n facility.sqm_m2 ? stringToFormattedNumberString(facility.sqm_m2.toString()) : '',\n {\n nonNullable: true,\n }\n ),\n };\n this.formgroup = new FormGroup(this.fc);\n }\n\n async updateAsset(versionId: string) {\n const countryCode = Object.values(CountryCodes).find(code => code === this.fc?.country?.value?.value);\n const type = Object.values(FacilityType).find(type => type === this.fc?.type?.value?.value);\n if (this.fc && countryCode && type) {\n return await this.assetApiService.updateAsset(\n new UpdateFacilityAssetCommandParams({\n id: this.assetId,\n type: AssetType.Facility,\n subType: type,\n name: this.fc.name.value,\n versionId: versionId,\n subOrganizationId:\n this.fc.organization.value?.value === this.mainOrganizationId\n ? undefined\n : this.fc.organization.value?.value,\n address: this.fc.address.value || undefined,\n countryCode: countryCode,\n sqm_m2: formattedStringToNumber(this.fc.sqm_m2.value || ''),\n versionValidFrom: this.fc.versionValidFrom.value,\n })\n );\n } else return undefined;\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { FacilityDetailsStateService } from './facility-details-state.service';\nimport { IOption } from 'src/app/static-data/options';\n\n@Component({\n selector: 'esg-facility-details',\n templateUrl: './facility-details.component.html',\n styleUrls: ['../../asset-details.component.scss', './facility-details.component.scss'],\n providers: [FacilityDetailsStateService],\n})\nexport class FacilityDetailsComponent implements OnInit {\n @Input({ required: true }) assetId!: string;\n @Input() organizationOptions: IOption[] = [];\n @Input() countryOptions: IOption[] = [];\n\n constructor(public state: FacilityDetailsStateService) {}\n ngOnInit(): void {\n this.state.init(this.assetId, this.organizationOptions, this.countryOptions);\n }\n}\n","
\n \n

{{ state.fc?.name?.value }}

\n
\n \n
\n Version valid from\n
\n \n
\n Facility type\n
\n \n
\n Address\n
\n \n
\n Country\n
\n \n
\n Organization\n
\n \n
\n Sqm (m²)\n
\n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n\n","import { Injectable } from '@angular/core';\nimport { AssetDetailsStateService } from '../../asset-details-state.service';\n\n@Injectable()\nexport class OrganizationAssetDetailsStateService extends AssetDetailsStateService {\n async init(organizationId: string) {\n this.loading = true;\n this.assetId = organizationId;\n await this.getRecordsOverview();\n this.loading = false;\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { OrganizationAssetDetailsStateService } from './organization-asset-details-state.service';\n\n@Component({\n selector: 'esg-organization-asset-details',\n templateUrl: './organization-asset-details.component.html',\n styleUrls: ['./organization-asset-details.component.scss'],\n providers: [OrganizationAssetDetailsStateService],\n})\nexport class OrganizationAssetDetailsComponent implements OnInit {\n @Input({ required: true }) organizationId!: string;\n @Input() organizationName: string = '';\n @Input() organizationCountry: string = '';\n\n constructor(public state: OrganizationAssetDetailsStateService) {}\n ngOnInit(): void {\n this.state.init(this.organizationId);\n }\n}\n","
\n \n

{{ organizationName }}

\n
\n \n \n
\n
\n \n
\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { OrganizationAssetTree } from '../organization-assets-state.service';\n\n@Component({\n selector: 'esg-nested-organization-asset',\n templateUrl: './nested-organization-asset.component.html',\n styleUrl: './nested-organization-asset.component.scss',\n})\nexport class NestedOrganizationAssetComponent {\n @Input({ required: true }) organization!: OrganizationAssetTree;\n @Input() activeAssetId?: string;\n @Input() indent: number = 0;\n @Input() isTopLevel: boolean = false;\n @Output() onDetailsClick = new EventEmitter();\n\n expanded: boolean = true;\n\n get nextIndent(): number {\n return !this.isTopLevel && this.organization.assetDetails ? this.indent + 50 : this.indent;\n }\n\n handleOnDetailsClick(event: Event) {\n event.stopPropagation();\n this.onDetailsClick.emit(this.organization.id);\n }\n\n handleOnSubOrganizationDetailsClick(id: string) {\n this.onDetailsClick.emit(id);\n }\n\n handleOnExpand(event: Event) {\n event.stopPropagation();\n this.expanded = !this.expanded;\n }\n}\n","\n \n \n \n \n \n \n \n {{ organization.assetDetails?.name }}\n \n {{ organization.assetDetails?.country }}\n \n
\n Details\n \n \n \n
\n \n\n\n \n\n","import { Injectable } from '@angular/core';\nimport { AssetType, CountryCodes, OrganizationAssetVm, UserRole } from 'src/api-client/report-api.generated';\nimport {\n AssetApiService,\n SearchAssetByOrganizationAndTypeParams,\n} from 'src/app/api-client/report-api/asset-api-service';\nimport { Subscription } from 'rxjs';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { AssetUi } from '../asset-list.component';\nimport { AssetCategoryRoutes } from '../../assets-page.component';\nimport { PaginationUi } from 'src/app/shared/components/pagination/pagination.component';\nimport { IOption } from 'src/app/static-data/options';\nimport { FormControl } from '@angular/forms';\nimport { CountryApiService } from 'src/app/api-client/report-api/country-api-service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { IMenuItem } from 'src/app/shared/ui/context-menu/context-menu.component';\nimport { OrganizationApiService } from 'src/app/api-client/report-api/organization-api-service';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\n\nexport interface OrganizationAssetTree {\n id: string;\n assetDetails?: AssetUi;\n subOrganizations: OrganizationAssetTree[];\n}\n\n@Injectable()\nexport class OrganizationAssetsStateService {\n private userInfoSub!: Subscription;\n private organizationContextSub!: Subscription;\n organizationDetailsOpen: boolean = false;\n organizations: OrganizationAssetTree[] = [];\n organizationAssetMap: Map = new Map();\n organizationOrderMap: Map = new Map();\n selectedOrganizationAsset?: AssetUi;\n loading: boolean = false;\n isAdminLinkDisabled: boolean = true;\n\n assetCategoryRoutes = AssetCategoryRoutes;\n\n countryOptions: IOption[] = [];\n filteredCountries: FormControl = new FormControl([], { nonNullable: true });\n searchTimeout: any;\n searchValue: string = '';\n sortKey: string = '';\n sortDirection: 'asc' | 'desc' | '' = '';\n currentPagination: PaginationUi = {\n currentPage: 1,\n totalPages: 1,\n pageSize: 25,\n totalCount: 0,\n hasPrevious: false,\n hasNext: false,\n };\n\n filterMenuProvider = (): IMenuItem[] => [\n { id: 'clear', label: 'Clear all filters', onClick: () => this.clearFilters() },\n ];\n\n constructor(\n private appInfo: AppInfoService,\n private assetApiService: AssetApiService,\n protected countryApiService: CountryApiService,\n protected organizationApiService: OrganizationApiService,\n protected notificationService: NotificationService,\n protected router?: Router,\n protected route?: ActivatedRoute\n ) {\n this.userInfoSub = this.appInfo.userInfo$.subscribe(userInfo => {\n if (userInfo && (userInfo.role === UserRole.Admin || userInfo.role === UserRole.SuperAdmin)) {\n this.isAdminLinkDisabled = false;\n } else {\n this.isAdminLinkDisabled = true;\n }\n });\n this.organizationContextSub = this.appInfo.organizationContext$.subscribe(orgainizationId => {\n if (orgainizationId) {\n this.init(orgainizationId);\n }\n });\n }\n\n async init(organizationId: string) {\n try {\n this.loading = true;\n await this.loadOrganizations(organizationId);\n await this.getOrganizationAssets();\n } catch (error) {\n this.notificationService.showError('Error loading organization assets');\n } finally {\n this.loading = false;\n }\n }\n\n async loadOrganizations(organizationId?: string) {\n const response = await this.organizationApiService.getOrganizationsAndSuborganizationsFilteredBy(\n organizationId,\n undefined,\n undefined,\n undefined,\n undefined,\n undefined\n );\n this.organizations = response.result.items.map(org => ({\n id: org.id,\n subOrganizations: org.subOrganizations,\n }));\n }\n\n async getOrganizationAssets() {\n const searchParams = new SearchAssetByOrganizationAndTypeParams({\n AssetType: AssetType.Organization,\n Name: this.searchValue || undefined,\n CountryCodes: Object.values(CountryCodes).filter(type =>\n this.filteredCountries.value.find(opt => type.toString() === opt.value)\n ),\n });\n const response = await this.assetApiService.searchAsset(\n searchParams,\n this.sortDirection ? this.sortKey + ' ' + this.sortDirection : undefined,\n this.currentPagination.currentPage,\n this.currentPagination.pageSize\n );\n const result = response.result.items as OrganizationAssetVm[];\n this.currentPagination = {\n ...response.result,\n };\n this.updateOrganizationAssetTree(result);\n }\n\n private updateOrganizationAssetTree(assets: OrganizationAssetVm[]) {\n this.organizationAssetMap.clear();\n this.organizationOrderMap.clear();\n assets.forEach((asset, index) => {\n this.organizationAssetMap.set(asset.subOrganizationId ? asset.subOrganizationId : asset.organizationId, {\n id: asset.id,\n name: asset.orgOrSuborgName,\n organizationName: asset.orgOrSuborgName,\n versionValidFrom: asset.versionValidFrom,\n country: asset.countryName,\n });\n this.organizationOrderMap.set(asset.subOrganizationId ? asset.subOrganizationId : asset.organizationId, index);\n });\n this.organizations = this.updateAssetUiInTree(this.organizations);\n }\n\n private updateAssetUiInTree(orgTree: OrganizationAssetTree[]): OrganizationAssetTree[] {\n return orgTree.map(org => {\n const orderedSubOrgs = org.subOrganizations.sort((a, b) => {\n return this.organizationOrderMap.get(a.id)! - this.organizationOrderMap.get(b.id)!;\n });\n return {\n ...org,\n assetDetails: this.organizationAssetMap.get(org.id),\n subOrganizations: this.updateAssetUiInTree(orderedSubOrgs),\n };\n });\n }\n\n async getAssetDetails(organizationId: string) {\n this.selectedOrganizationAsset = this.organizationAssetMap.get(organizationId);\n this.organizationDetailsOpen = true;\n }\n\n handleCloseAssetDetails() {\n this.selectedOrganizationAsset = undefined;\n this.organizationDetailsOpen = false;\n }\n\n async getCountries() {\n const response = await this.countryApiService.getAllCountries();\n this.countryOptions = response.result.map(country => ({ value: country.code, label: country.name }));\n }\n\n onSearchValueChange(newSearchValue: string) {\n this.searchValue = newSearchValue;\n\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n this.searchTimeout = setTimeout(() => {\n this.handleFilterChange();\n }, 500);\n }\n\n setQueryParams() {\n const queryParams = {\n ...this.route?.snapshot.queryParams,\n };\n queryParams['pageSize'] = this.currentPagination.pageSize;\n queryParams['currentPage'] = this.currentPagination.currentPage;\n this.router?.navigate([], { queryParams });\n }\n\n handleFilterChange() {\n this.currentPagination = { ...this.currentPagination, currentPage: 1, hasNext: false, hasPrevious: false };\n this.getOrganizationAssets();\n this.setQueryParams();\n }\n\n handleOnSortChange(event: { key: string; direction: 'asc' | 'desc' | '' }) {\n this.sortKey = event.key;\n this.sortDirection = event.direction;\n this.getOrganizationAssets();\n }\n\n handlePaginationChange(newPaginationData: PaginationUi) {\n this.currentPagination = newPaginationData;\n this.getOrganizationAssets();\n this.setQueryParams();\n }\n\n clearFilters() {\n this.filteredCountries.setValue([]);\n this.handleFilterChange();\n }\n\n ngOnDestroy(): void {\n this.userInfoSub.unsubscribe();\n this.organizationContextSub.unsubscribe();\n }\n}\n","import { Component } from '@angular/core';\nimport { IMenuItem } from 'src/app/shared/ui/context-menu/context-menu.component';\nimport { OrganizationAssetsStateService } from './organization-assets-state.service';\n\n@Component({\n selector: 'esg-organization-assets',\n templateUrl: './organization-assets.component.html',\n styleUrls: ['../../shared/asset-table/asset-table.component.scss', './organization-assets.component.scss'],\n providers: [OrganizationAssetsStateService],\n})\nexport class OrganizationAssetsComponent {\n constructor(public state: OrganizationAssetsStateService) {}\n\n menuProvider = (): IMenuItem[] => [{ id: 'delete', label: 'Delete', onClick: () => {}, disabled: true }];\n\n ngOnInit() {\n this.state.getCountries();\n }\n}\n","\n\n
\n Select category\n \n
\n \n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n
\n
\n
\n \n
\n
\n \n Manage Organizations in Settings\n \n \n
\n \n
\n\n \n\n","import { Injectable } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport {\n AssetType,\n CountryCodes,\n EnvironmentalRiskAssessment,\n RiskCategory,\n SectorType,\n SocialRiskAssessment,\n SupplierAsset,\n SupplierStatus,\n UpdateSupplierAssetCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { IOption, SupplierStatusOptions } from 'src/app/static-data/options';\nimport { AssetDetailsForm, AssetDetailsStateService } from '../../asset-details-state.service';\n\ninterface SuplierDetailsForm extends AssetDetailsForm {\n orgId: FormControl;\n country: FormControl;\n sector: FormControl;\n status: FormControl;\n address: FormControl;\n postalNumber: FormControl;\n city: FormControl;\n contactPerson: FormControl;\n email: FormControl;\n phone: FormControl;\n}\n\n@Injectable()\nexport class SupplierDetailsStateService extends AssetDetailsStateService {\n countryOptions: IOption[] = [];\n sectorOptions: IOption[] = [];\n statusOptions: IOption[] = SupplierStatusOptions;\n socialRiskAssessment?: SocialRiskAssessment;\n environmentalRiskAssessment?: EnvironmentalRiskAssessment;\n fc?: SuplierDetailsForm;\n\n RiskColors: { [key in RiskCategory]: string } = {\n [RiskCategory.Unknown]: '#999999',\n [RiskCategory.VeryHighRisk]: '#EA1F4C',\n [RiskCategory.HighRisk]: '#EA708A',\n [RiskCategory.MediumRisk]: '#FF9900',\n [RiskCategory.LowRisk]: '#72DC9B',\n [RiskCategory.NoRisk]: '#23D468',\n };\n\n RiskLabels: { [key in RiskCategory]: string } = {\n [RiskCategory.Unknown]: 'n/a*',\n [RiskCategory.VeryHighRisk]: 'Very High',\n [RiskCategory.HighRisk]: 'High',\n [RiskCategory.MediumRisk]: 'Medium',\n [RiskCategory.LowRisk]: 'Low',\n [RiskCategory.NoRisk]: 'No Risk',\n };\n\n async init(assetId: string, organizationOptions: IOption[], countryOptions: IOption[], sectorOptions: IOption[]) {\n this.loading = true;\n this.assetId = assetId;\n this.organizationOptions = organizationOptions;\n this.countryOptions = countryOptions;\n this.sectorOptions = sectorOptions;\n await this.getAssetVersions();\n this.loading = false;\n }\n\n async getAssetVersion(versionId: string) {\n const response = await this.assetApiService.getAssetById(this.assetId, versionId);\n const supplier = response.result as SupplierAsset;\n this.socialRiskAssessment = supplier.socialRiskAssessment;\n this.environmentalRiskAssessment = supplier.environmentalRiskAssessment;\n this.mainOrganizationId = supplier.organizationId;\n\n this.fc = {\n versionValidFrom: new FormControl(supplier.versionValidFrom, { nonNullable: true }),\n name: new FormControl(supplier.name, { validators: [Validators.required], nonNullable: true }),\n country: new FormControl(\n this.countryOptions.find(country => country.value === supplier?.countryCode),\n { validators: [Validators.required], nonNullable: true }\n ),\n sector: new FormControl(\n this.sectorOptions.find(s => s.value === supplier?.sector),\n { validators: [Validators.required], nonNullable: true }\n ),\n status: new FormControl(\n this.statusOptions.find(s => s.value === supplier?.status),\n { validators: [Validators.required], nonNullable: true }\n ),\n organization: new FormControl(\n this.organizationOptions?.find(org =>\n supplier?.subOrganizationId\n ? org.value === supplier?.subOrganizationId\n : org.value === supplier?.organizationId\n ),\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n orgId: new FormControl(supplier.orgID || '', { validators: [Validators.required], nonNullable: true }),\n address: new FormControl(supplier.address || '', { nonNullable: true }),\n postalNumber: new FormControl(supplier.postalNumber || '', { nonNullable: true }),\n city: new FormControl(supplier.city || '', { nonNullable: true }),\n contactPerson: new FormControl(supplier.contactPerson || '', { nonNullable: true }),\n email: new FormControl(supplier.email || '', { nonNullable: true }),\n phone: new FormControl(supplier.phone || '', { nonNullable: true }),\n };\n this.formgroup = new FormGroup(this.fc);\n }\n\n async updateAsset(versionId: string) {\n const countryCode = Object.values(CountryCodes).find(code => code === this.fc?.country?.value?.value);\n const sector = this.fc?.sector?.value?.value\n ? SectorType[this.fc.sector?.value?.value as keyof typeof SectorType]\n : undefined;\n const status = this.fc?.status?.value?.value\n ? SupplierStatus[this.fc.status?.value?.value as keyof typeof SupplierStatus]\n : undefined;\n if (this.fc && countryCode && sector && status) {\n return await this.assetApiService.updateAsset(\n new UpdateSupplierAssetCommandParams({\n id: this.assetId,\n type: AssetType.Supplier,\n name: this.fc.name.value,\n versionId: versionId,\n subOrganizationId:\n this.fc.organization.value?.value === this.mainOrganizationId\n ? undefined\n : this.fc.organization.value?.value,\n countryCode: countryCode,\n sector: sector,\n address: this.fc.address.value,\n postalNumber: this.fc.postalNumber.value,\n city: this.fc.city.value,\n contactPerson: this.fc.contactPerson.value,\n email: this.fc.email.value,\n phone: this.fc.phone.value,\n status: status,\n orgID: this.fc.orgId.value,\n versionValidFrom: this.fc.versionValidFrom.value,\n })\n );\n } else return undefined;\n }\n\n getScore(score: number) {\n return isNaN(score) ? 'n/a*' : score;\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { IOption } from 'src/app/static-data/options';\nimport { SupplierDetailsStateService } from './supplier-details-state.service';\n\n@Component({\n selector: 'esg-supplier-details',\n templateUrl: './supplier-details.component.html',\n styleUrls: ['../../asset-details.component.scss', './supplier-details.component.scss'],\n providers: [SupplierDetailsStateService],\n})\nexport class SupplierDetailsComponent {\n @Input({ required: true }) assetId!: string;\n @Input() organizationOptions: IOption[] = [];\n @Input() countryOptions: IOption[] = [];\n @Input() sectorsOptions: IOption[] = [];\n\n constructor(public state: SupplierDetailsStateService) {}\n ngOnInit(): void {\n this.state.init(this.assetId, this.organizationOptions, this.countryOptions, this.sectorsOptions);\n }\n}\n","
\n \n

{{ state.fc?.name?.value }}

\n
\n \n
\n Version valid from\n
\n \n
\n Country\n
\n \n
\n Sector\n
\n \n
\n Status\n
\n \n
\n Supplier to\n
\n \n
\n\n Org ID\n
\n \n
\n Address\n
\n \n
\n Postal number\n
\n \n
\n City\n
\n \n
\n Contact person\n
\n \n
\n E-mail\n
\n \n
\n Phone\n
\n \n
\n
\n \n \n
\n
\n
\n
Supply Chain Assessment
\n
\n
\n \n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
IndexScoreRisk
Labour Rights{{ state.getScore(state.socialRiskAssessment.labourRightsScore) }}\n \n {{ state.RiskLabels[state.socialRiskAssessment.labourRightsRisk] }}\n
Child Labour{{ state.getScore(state.socialRiskAssessment.childLabourScore) }}\n \n {{ state.RiskLabels[state.socialRiskAssessment.childLabourRisk] }}\n
Freedom Rights{{ state.getScore(state.socialRiskAssessment.freedomRightsScore) }}\n \n {{ state.RiskLabels[state.socialRiskAssessment.freedomRightsRisk] }}\n
Corruption Risk{{ state.getScore(state.socialRiskAssessment.corruptionRiskScore) }}\n \n {{ state.RiskLabels[state.socialRiskAssessment.corruptionRisk] }}\n
\n \n *Index is not available for the country of the supplier. Total social risk assessment is not available.\n \n
\n
\n \n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
SectorScoreRisk
{{ state.fc?.sector?.value?.label || '' }}{{ state.getScore(state.environmentalRiskAssessment.score) }}\n \n {{ state.RiskLabels[state.environmentalRiskAssessment.risk] }}\n
\n \n *Index is not available for the sector of the supplier. Total environment risk assessment is not\n available.\n \n
\n
\n
\n

\n Sources:\n
\n All indexes used for screening is converted to a 1-100 index score.\n

\n

\n Social Screening\n
\n \n Global rights Index\n \n
\n \n Freedom House\n \n
\n \n UNICEF Child Labour Indicator\n \n
\n \n Transparency International Corruption Index\n \n

\n\n

\n Environmental Screening\n
\n \n SP Global Risk Atlas\n \n
\n \n GRI Sector Program\n \n

\n
\n
\n
\n
\n \n
\n\n","import { Injectable } from '@angular/core';\nimport {\n AssetType,\n UpdateSupplierAssetCommandParams,\n SupplierAsset,\n CreateSupplierAssetCommandParams,\n SupplierAssetVm,\n SupplierStatus,\n SectorType,\n CountryCodes,\n UpdateSupplierAssetBasePropertiesCommandParams,\n RiskCategory,\n} from 'src/api-client/report-api.generated';\nimport {\n AssetApiService,\n DeleteAssetsByFilterParams,\n SearchAssetByOrganizationAndTypeParams,\n} from 'src/app/api-client/report-api/asset-api-service';\nimport { OrganizationApiService } from 'src/app/api-client/report-api/organization-api-service';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { AssetListStateService } from '../asset-list-state.service';\nimport { CountryApiService } from 'src/app/api-client/report-api/country-api-service';\nimport { AssetsMenuStateService } from '../../assets-menu/assets-menu-state.service';\nimport { SectorApiService } from 'src/app/api-client/report-api/sector-api-service';\nimport {\n DataRecordOutput,\n ExcelImportValidationMessage,\n FieldConfig,\n validateExcelOptionColumn,\n} from 'src/app/shared/components/data-import-from-excel/data-import-from-excel-state.service';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { IOption } from 'src/app/static-data/options';\nimport { IMenuItem } from 'src/app/shared/ui/context-menu/context-menu.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SuppliersStateService extends AssetListStateService {\n assetType = AssetType.Supplier;\n\n excelTitle = 'Suppliers';\n importFromExcelFieldConfigs: FieldConfig[] = [\n { propertyName: 'name', title: 'Supplier', type: 'string' },\n { propertyName: 'country', title: 'Country', type: 'string' },\n { propertyName: 'orgID', title: 'Org ID', type: 'string' },\n { propertyName: 'sector', title: 'Sector', type: 'string' },\n { propertyName: 'organization', title: 'Supplier to', type: 'string' },\n { propertyName: 'versionValidFrom', title: 'Version valid from', type: 'date', optional: true },\n ];\n riskOptions: IOption[] = Object.values(RiskCategory).map(r => ({\n value: r,\n label: r,\n }));\n\n importFromExcelEnabled = true;\n\n constructor(\n appInfo: AppInfoService,\n appConfig: AppConfigurationService,\n assetApiService: AssetApiService,\n countryApiService: CountryApiService,\n sectorApiService: SectorApiService,\n organizationApiService: OrganizationApiService,\n notificationService: NotificationService,\n assetsMenuState: AssetsMenuStateService,\n router?: Router,\n route?: ActivatedRoute\n ) {\n super(\n appInfo,\n appConfig,\n assetApiService,\n countryApiService,\n organizationApiService,\n sectorApiService,\n notificationService,\n assetsMenuState,\n router,\n route\n );\n }\n\n filterMenuProvider = (): IMenuItem[] => [\n { id: 'clear', label: 'Clear all filters', onClick: () => this.clearFilters() },\n {\n id: 'delete',\n label: 'Delete all filtered records',\n onClick: () => this.handleDeleteAllFilteredRecordsInitiate(),\n disabled: this.currentPagination.totalCount === 0 || !this.isFilterApplied,\n },\n ];\n\n async getAssets() {\n const searchParams = new SearchAssetByOrganizationAndTypeParams({\n AssetType: this.assetType,\n Name: this.searchValue || undefined,\n CountryCodes: Object.values(CountryCodes).filter(type =>\n this.filteredCountries.value.find(opt => type.toString() === opt.value)\n ),\n SearchOrgIds: this.filteredOrganization.value.map(opt => opt.value),\n Sectors: Object.values(SectorType).filter(type =>\n this.filteredSectors.value.find(opt => type.toString() === opt.value)\n ),\n SocialRisks: Object.values(RiskCategory).filter(type =>\n this.filteredSocialRisks.value.find(opt => type.toString() === opt.value)\n ),\n EnvironmentRisks: Object.values(RiskCategory).filter(type =>\n this.filteredEnvRisks.value.find(opt => type.toString() === opt.value)\n ),\n });\n const response = await this.assetApiService.searchAsset(\n searchParams,\n this.sortDirection ? this.sortKey + ' ' + this.sortDirection : undefined,\n this.currentPagination.currentPage,\n this.currentPagination.pageSize\n );\n const result = response.result.items as SupplierAssetVm[];\n this.currentPagination = {\n ...response.result,\n };\n this.assets = result.map(asset => ({\n id: asset.id,\n name: asset.name,\n orgId: asset.orgID,\n country: asset.countryName,\n sector: this.sectorOptions.find(sector => sector.value === asset.sectorType)?.label || asset.sectorType,\n organizationName: asset.orgOrSuborgName,\n versionValidFrom: asset.versionValidFrom,\n socialRisk: asset.socialRisk,\n environmentalRisk: asset.environmentalRisk,\n }));\n }\n\n handleDeleteAllFilteredRecordsSubmit() {\n const searchParams = new DeleteAssetsByFilterParams({\n AssetType: this.assetType,\n Name: this.searchValue || undefined,\n CountryCodes: Object.values(CountryCodes).filter(type =>\n this.filteredCountries.value.find(opt => type.toString() === opt.value)\n ),\n SearchOrgIds: this.filteredOrganization.value.map(opt => opt.value),\n Sectors: Object.values(SectorType).filter(type =>\n this.filteredSectors.value.find(opt => type.toString() === opt.value)\n ),\n SocialRisks: Object.values(RiskCategory).filter(type =>\n this.filteredSocialRisks.value.find(opt => type.toString() === opt.value)\n ),\n EnvironmentRisks: Object.values(RiskCategory).filter(type =>\n this.filteredEnvRisks.value.find(opt => type.toString() === opt.value)\n ),\n });\n\n this.isDeleteDialogOpen = false;\n this.assetApiService.deleteAssetsByFilter(searchParams).then(response => {\n if (response.success) {\n this.notificationService.showSuccess(\n this.currentPagination.totalCount + ' suppliers were successfully deleted'\n );\n this.getAssets();\n }\n });\n }\n\n async formSubmit(params: CreateSupplierAssetCommandParams) {\n if (this.selectedAsset) {\n const selected = this.selectedAsset;\n this.setSelectedAsset(undefined);\n\n const updateParams = new UpdateSupplierAssetBasePropertiesCommandParams({\n id: selected.id,\n subOrganizationId: params.subOrganizationId,\n name: params.name,\n type: this.assetType,\n countryCode: params.countryCode,\n sector: params.sector,\n orgID: params.orgID,\n });\n const response = await this.assetApiService.updateAssetBaseProperties(updateParams);\n if (response.success) {\n this.getAssets();\n } else {\n this.notificationService.showError(\n `Unable to update ${this.assetType}`,\n response.validationErrors?.join('\\n') || response.message || 'Unknown error'\n );\n }\n } else {\n const createParams = new CreateSupplierAssetCommandParams({\n type: this.assetType,\n organizationId: this.organizationId || '',\n subOrganizationId: params.subOrganizationId,\n name: params.name,\n orgID: params.orgID,\n versionValidFrom: this.defaultVersionDate,\n countryCode: params.countryCode,\n sector: params.sector,\n status: SupplierStatus.Active,\n });\n this.updating = true;\n const response = await this.assetApiService.createAsset(createParams);\n if (response.success) {\n await this.getAssets();\n this.assetsMenuState.loadAssetTypeCounters();\n } else {\n this.notificationService.showError(\n `Unable to add ${this.assetType}`,\n response.validationErrors?.join('\\n') || response.message || 'Unknown error'\n );\n }\n this.updating = false;\n }\n }\n\n createAssetFromExcel(asset: DataRecordOutput) {\n const organizationOption = this.getExcelOptionColumn(\n 'organization',\n this.organizationOptions,\n asset,\n 'Supplier to'\n );\n const countryOption = this.getExcelOptionColumn('country', this.countryOptions, asset, 'Country');\n const sectorOption = this.getExcelOptionColumn('sector', this.sectorOptions, asset, 'Sector');\n\n const body = new CreateSupplierAssetCommandParams({\n type: this.assetType,\n organizationId: this.organizationId || '',\n subOrganizationId: this.organizationId === organizationOption.value ? undefined : organizationOption.value,\n name: asset.name?.value || '',\n orgID: asset.orgID?.value || '',\n versionValidFrom: asset.versionValidFrom?.value || this.defaultVersionDate,\n countryCode: CountryCodes[countryOption.value as keyof typeof CountryCodes],\n sector: SectorType[sectorOption.value as keyof typeof SectorType],\n status: SupplierStatus.Active,\n });\n return this.assetApiService.createAsset(body);\n }\n\n validateOptionColumns(records: DataRecordOutput[]): ExcelImportValidationMessage[] {\n let validationMessages: ExcelImportValidationMessage[] = [];\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'organization',\n this.organizationOptions,\n records,\n 'Supplier to'\n );\n\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'country',\n this.countryOptions,\n records,\n 'Country'\n );\n\n validationMessages = validateExcelOptionColumn(validationMessages, 'sector', this.sectorOptions, records, 'Sector');\n\n return validationMessages;\n }\n}\n","import { Component } from '@angular/core';\nimport { AssetTableComponent } from '../../../shared/asset-table/asset-table.component';\nimport { IOption } from 'src/app/static-data/options';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { AssetUi } from '../../asset-list.component';\nimport {\n AssetType,\n CountryCodes,\n CreateSupplierAssetCommandParams,\n RiskCategory,\n SectorType,\n SupplierStatus,\n} from 'src/api-client/report-api.generated';\n@Component({\n selector: 'esg-suppliers-table',\n templateUrl: './suppliers-table.component.html',\n styleUrls: ['../../../shared/asset-table/asset-table.component.scss', './suppliers-table.component.scss'],\n providers: [{ provide: AssetTableComponent, useExisting: SuppliersTableComponent }],\n})\nexport class SuppliersTableComponent extends AssetTableComponent {\n initateAdd(event?: Event) {\n event?.stopPropagation();\n this.fc = {\n name: new FormControl('', [Validators.required]),\n orgId: new FormControl('', [Validators.required]),\n sector: new FormControl(undefined, [Validators.required]),\n country: new FormControl(this.defaultCountry),\n organization: new FormControl(\n {\n value: this.defaultOrganization,\n disabled: this.defaultOrganization !== undefined && this.organizationOptions.length === 1,\n },\n [Validators.required]\n ),\n };\n this.formgroup = new FormGroup(this.fc);\n }\n\n iniateEdit(asset: AssetUi) {\n if (this.fc) return;\n\n this.onSelectedAssetChange.emit(asset);\n\n const organization =\n this.organizationOptions.find(org => org.label === asset.organizationName) || this.defaultOrganization;\n const sectorOption = this.sectorOptions.find(\n sector => sector.label === asset.sector || sector.value === asset.sector\n );\n this.fc = {\n name: new FormControl(asset.name, [Validators.required]),\n orgId: new FormControl(asset.orgId || '', [Validators.required]),\n country: new FormControl(\n this.countryOptions.find(country => country.label === asset.country) || this.defaultCountry,\n [Validators.required]\n ),\n sector: new FormControl(sectorOption, [Validators.required]),\n organization: new FormControl(\n {\n value: organization,\n disabled: organization !== undefined && this.organizationOptions.length === 1,\n },\n [Validators.required]\n ),\n };\n this.formgroup = new FormGroup(this.fc);\n }\n\n handleOnFormSubmit() {\n const countryCode = Object.values(CountryCodes).find(code => code === this.fc?.country?.value?.value);\n const sector = this.fc?.sector?.value?.value\n ? SectorType[this.fc.sector?.value?.value as keyof typeof SectorType]\n : undefined;\n const orgId = this.fc?.orgId?.value;\n if (this.fc && this.formgroup?.valid && countryCode && sector && orgId) {\n const subOrganizationId =\n this.organizationId === this.fc.organization.value?.value ? undefined : this.fc.organization.value?.value;\n const params = new CreateSupplierAssetCommandParams({\n type: AssetType.Supplier,\n name: this.fc.name.value || '',\n orgID: orgId,\n organizationId: this.organizationId || '',\n subOrganizationId: subOrganizationId,\n countryCode: countryCode,\n sector: sector,\n status: SupplierStatus.Active,\n versionValidFrom: new Date(),\n });\n this.onFormSubmit.emit(params);\n this.resetForm();\n } else this.handleSubmitRejection();\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n
\n
{{ asset.name }}{{ asset.country }}{{ asset.orgId }}{{ asset.sector }}{{ asset.organizationName }}\n
\n Details\n \n \n \n
\n
\n
\n \n
\n
\n
\n \n \n
\n
\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n \n
\n
","import { Component } from '@angular/core';\nimport { AssetListComponent } from '../asset-list.component';\nimport { AssetListStateService } from '../asset-list-state.service';\nimport { SuppliersStateService } from './suppliers-state.service';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport { AppInfoService } from 'src/app/core/app-info.service';\n\n@Component({\n selector: 'esg-suppliers',\n templateUrl: './suppliers.component.html',\n styleUrls: ['../asset-list.component.scss'],\n providers: [{ provide: AssetListStateService, useClass: SuppliersStateService }],\n})\nexport class SuppliersComponent extends AssetListComponent {\n constructor(\n appInfo: AppInfoService,\n appConfig: AppConfigurationService,\n state: AssetListStateService,\n public supplierState: SuppliersStateService\n ) {\n super(appInfo, appConfig, state);\n }\n}\n","\n\n Select category\n
\n \n \n
\n \n
\n \n \n \n \n \n
\n \n\n \n \n
\n\n \n\n\n","import { Injectable } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport {\n AssetType,\n UpdateVehicleCraftMachineryAssetCommandParams,\n VehicleCraftMachineryAsset,\n PowerSource,\n VehicleCraftMachineryType,\n} from 'src/api-client/report-api.generated';\nimport { IOption, powerSourceOptions } from 'src/app/static-data/options';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\nimport { AssetDetailsForm, AssetDetailsStateService } from '../../asset-details-state.service';\n\ninterface VehicleCraftMachineryDetailsForm extends AssetDetailsForm {\n registrationNumber: FormControl;\n modelYear: FormControl;\n powerSource: FormControl;\n CO2: FormControl;\n NOx: FormControl;\n}\n\n@Injectable()\nexport class VehicleCraftMachineryDetailsStateService extends AssetDetailsStateService {\n powerSourceOptions: IOption[] = powerSourceOptions;\n subType?: VehicleCraftMachineryType;\n\n fc?: VehicleCraftMachineryDetailsForm;\n\n async init(assetId: string, organizationOptions: IOption[]) {\n this.loading = true;\n this.assetId = assetId;\n this.organizationOptions = organizationOptions;\n await Promise.all([this.getAssetVersions(), this.getRecordsOverview()]);\n this.loading = false;\n }\n\n async getAssetVersion(versionId: string) {\n const response = await this.assetApiService.getAssetById(this.assetId, versionId);\n const asset = response.result as VehicleCraftMachineryAsset;\n this.mainOrganizationId = asset.organizationId;\n this.subType = asset.subType;\n\n this.fc = {\n versionValidFrom: new FormControl(asset.versionValidFrom, { nonNullable: true }),\n name: new FormControl(asset.name, { validators: [Validators.required], nonNullable: true }),\n organization: new FormControl(\n this.organizationOptions?.find(org =>\n asset?.subOrganizationId ? org.value === asset?.subOrganizationId : org.value === asset?.organizationId\n ),\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n modelYear: new FormControl(asset.modelYear?.toString() || '', { nonNullable: true }),\n registrationNumber: new FormControl(asset.registrationNumber || '', { nonNullable: true }),\n powerSource: new FormControl(\n this.powerSourceOptions.find(opt => opt.value === asset.powerSource),\n { validators: [Validators.required], nonNullable: true }\n ),\n CO2: new FormControl(asset.cO2?.toString()|| '', { nonNullable: true }),\n NOx: new FormControl(asset.nOx?.toString()|| '', { nonNullable: true })\n };\n\n this.formgroup = new FormGroup(this.fc);\n }\n\n async updateAsset(versionId: string) {\n const powerSource = Object.values(PowerSource).find(type => type === this.fc?.powerSource.value?.value);\n if (this.fc && powerSource && this.subType) {\n return await this.assetApiService.updateAsset(\n new UpdateVehicleCraftMachineryAssetCommandParams({\n id: this.assetId,\n type: AssetType.VehicleCraftMachinery,\n subType: this.subType,\n name: this.fc.name.value,\n versionId: versionId,\n subOrganizationId:\n this.fc.organization.value?.value === this.mainOrganizationId\n ? undefined\n : this.fc.organization.value?.value,\n registrationNumber: this.fc.registrationNumber.value || undefined,\n modelYear: this.fc.modelYear.value ? formattedStringToNumber(this.fc.modelYear.value) : undefined,\n powerSource: powerSource,\n versionValidFrom: this.fc.versionValidFrom.value,\n cO2: this.fc.CO2.value ? formattedStringToNumber(this.fc.CO2.value) : undefined,\n nOx: this.fc.NOx.value ? formattedStringToNumber(this.fc.NOx.value) : undefined,\n })\n );\n } else return undefined;\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { VehicleCraftMachineryDetailsStateService } from './vehicle-craft-machinery-details-state.service';\nimport { IOption } from 'src/app/static-data/options';\n\n@Component({\n selector: 'esg-vehicle-craft-machinery-details',\n templateUrl: './vehicle-craft-machinery-details.component.html',\n styleUrls: ['../../asset-details.component.scss', './vehicle-craft-machinery-details.component.scss'],\n providers: [VehicleCraftMachineryDetailsStateService],\n})\nexport class VehicleCraftMachineryDetailsComponent implements OnInit {\n @Input({ required: true }) assetId!: string;\n @Input() organizationOptions: IOption[] = [];\n\n constructor(public state: VehicleCraftMachineryDetailsStateService) {}\n ngOnInit(): void {\n this.state.init(this.assetId, this.organizationOptions);\n }\n}\n","
\n \n

{{ state.fc?.name?.value }}

\n
\n \n
\n Version valid from\n
\n \n
\n Registration number\n
\n \n
\n Organization\n
\n \n
\n Model year\n
\n \n
\n Power Source\n
\n \n
\n \n CO2\n
\n \n
\n NOx\n
\n \n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n\n","import { Injectable } from '@angular/core';\nimport {\n AssetType,\n VehicleCraftMachineryAssetVm,\n CreateVehicleCraftMachineryAssetCommandParams,\n UpdateVehicleCraftMachineryAssetCommandParams,\n VehicleCraftMachineryAsset,\n VehicleCraftMachineryType,\n PowerSource,\n UpdateVehicleCraftMachineryAssetBasePropertiesCommandParams,\n} from 'src/api-client/report-api.generated';\nimport {\n AssetApiService,\n SearchAssetByOrganizationAndTypeParams,\n} from 'src/app/api-client/report-api/asset-api-service';\nimport { IOption, vehicleCraftMachineryTypeOptions, powerSourceOptions } from 'src/app/static-data/options';\nimport { OrganizationApiService } from 'src/app/api-client/report-api/organization-api-service';\nimport { AssetListStateService } from '../asset-list-state.service';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { CountryApiService } from 'src/app/api-client/report-api/country-api-service';\nimport { AssetsMenuStateService } from '../../assets-menu/assets-menu-state.service';\nimport { SectorApiService } from 'src/app/api-client/report-api/sector-api-service';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\nimport {\n DataRecordOutput,\n ExcelImportValidationMessage,\n FieldConfig,\n validateExcelOptionColumn,\n} from 'src/app/shared/components/data-import-from-excel/data-import-from-excel-state.service';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport { ActivatedRoute, Router } from '@angular/router';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class VehiclesCraftsMachineryStateService extends AssetListStateService {\n assetType = AssetType.VehicleCraftMachinery;\n typeOptions: IOption[] = vehicleCraftMachineryTypeOptions;\n subTypeOptions: IOption[] = powerSourceOptions;\n\n constructor(\n appInfo: AppInfoService,\n appConfig: AppConfigurationService,\n assetApiService: AssetApiService,\n countryApiService: CountryApiService,\n organizationApiService: OrganizationApiService,\n sectorApiService: SectorApiService,\n notificationService: NotificationService,\n assetsMenuState: AssetsMenuStateService,\n router?: Router,\n route?: ActivatedRoute\n ) {\n super(\n appInfo,\n appConfig,\n assetApiService,\n countryApiService,\n organizationApiService,\n sectorApiService,\n notificationService,\n assetsMenuState,\n router,\n route\n );\n }\n\n excelTitle = 'Vehicle, Craft & Machinery';\n importFromExcelFieldConfigs: FieldConfig[] = [\n { propertyName: 'name', title: 'Asset', type: 'string' },\n { propertyName: 'type', title: 'Asset type', type: 'string' },\n { propertyName: 'subType', title: 'Power source', type: 'string' },\n { propertyName: 'organization', title: 'Organization', type: 'string' },\n { propertyName: 'versionValidFrom', title: 'Version valid from', type: 'date', optional: true },\n ];\n\n importFromExcelEnabled = true;\n\n async getAssets() {\n const searchParams = new SearchAssetByOrganizationAndTypeParams({\n AssetType: this.assetType,\n Name: this.searchValue || undefined,\n VehicleTypes: Object.values(VehicleCraftMachineryType).filter(type =>\n this.filteredVehicleType.value.find(opt => type.toString() === opt.value)\n ),\n PowerSources: Object.values(PowerSource).filter(type =>\n this.filteredPowerSourceType.value.find(opt => type.toString() === opt.value)\n ),\n SearchOrgIds: this.filteredOrganization.value.map(opt => opt.value),\n });\n const response = await this.assetApiService.searchAsset(\n searchParams,\n this.sortDirection ? this.sortKey + ' ' + this.sortDirection : undefined,\n this.currentPagination.currentPage,\n this.currentPagination.pageSize\n );\n const result = response.result.items as VehicleCraftMachineryAssetVm[];\n this.currentPagination = {\n ...response.result,\n };\n this.assets = result.map(asset => ({\n id: asset.id,\n name: asset.name,\n type: this.typeOptions.find(type => type.value === asset.subType)?.label || asset.subType,\n subType: this.subTypeOptions.find(type => type.value === asset.powerSource)?.label || asset.powerSource,\n organizationName: asset.orgOrSuborgName,\n versionValidFrom: asset.versionValidFrom,\n }));\n }\n\n async formSubmit(params: CreateVehicleCraftMachineryAssetCommandParams) {\n if (this.selectedAsset) {\n const selected = this.selectedAsset;\n this.setSelectedAsset(undefined);\n\n const updateParams = new UpdateVehicleCraftMachineryAssetBasePropertiesCommandParams({\n id: selected.id,\n type: this.assetType,\n subType: params.subType,\n name: params.name,\n subOrganizationId: params.subOrganizationId,\n powerSource: params.powerSource,\n });\n const response = await this.assetApiService.updateAssetBaseProperties(updateParams);\n if (response.success) {\n this.getAssets();\n } else {\n this.notificationService.showError(\n `Unable to update ${this.assetType}`,\n response.validationErrors?.join('\\n') || response.message || 'Unknown error'\n );\n }\n } else {\n const createParams = new CreateVehicleCraftMachineryAssetCommandParams({\n type: this.assetType,\n subType: params.subType,\n name: params.name,\n powerSource: params.powerSource,\n organizationId: this.organizationId || '',\n subOrganizationId: params.subOrganizationId,\n versionValidFrom: this.defaultVersionDate,\n });\n this.updating = true;\n const response = await this.assetApiService.createAsset(createParams);\n if (response.success) {\n await this.getAssets();\n this.assetsMenuState.loadAssetTypeCounters();\n } else {\n this.notificationService.showError(\n `Unable to add ${this.assetType}`,\n response.validationErrors?.join('\\n') || response.message || 'Unknown error'\n );\n }\n this.updating = false;\n }\n }\n\n createAssetFromExcel(asset: DataRecordOutput) {\n const organizationOption = this.getExcelOptionColumn(\n 'organization',\n this.organizationOptions,\n asset,\n 'Organization'\n );\n const typeOption = this.getExcelOptionColumn('type', this.typeOptions, asset, 'Asset type');\n const subTypeOption = this.getExcelOptionColumn('subType', this.subTypeOptions, asset, 'Power source');\n\n const body = new CreateVehicleCraftMachineryAssetCommandParams({\n type: this.assetType,\n organizationId: this.organizationId || '',\n subOrganizationId: this.organizationId === organizationOption.value ? undefined : organizationOption.value,\n name: asset.name?.value || '',\n subType: VehicleCraftMachineryType[typeOption.value as keyof typeof VehicleCraftMachineryType],\n powerSource: PowerSource[subTypeOption.value as keyof typeof PowerSource],\n versionValidFrom: asset.versionValidFrom?.value || this.defaultVersionDate,\n });\n return this.assetApiService.createAsset(body);\n }\n\n validateOptionColumns(records: DataRecordOutput[]): ExcelImportValidationMessage[] {\n let validationMessages: ExcelImportValidationMessage[] = [];\n\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'organization',\n this.organizationOptions,\n records,\n 'Organization'\n );\n\n validationMessages = validateExcelOptionColumn(validationMessages, 'type', this.typeOptions, records, 'Asset type');\n\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'subType',\n this.subTypeOptions,\n records,\n 'Power source'\n );\n\n return validationMessages;\n }\n}\n","import { Component } from '@angular/core';\nimport { AssetTableComponent } from '../../../shared/asset-table/asset-table.component';\nimport { IOption, powerSourceOptions, vehicleCraftMachineryTypeOptions } from 'src/app/static-data/options';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { AssetUi } from '../../asset-list.component';\nimport {\n AssetType,\n CreateVehicleCraftMachineryAssetCommandParams,\n PowerSource,\n VehicleCraftMachineryType,\n} from 'src/api-client/report-api.generated';\n\n@Component({\n selector: 'esg-vehicles-crafts-machinery-table',\n templateUrl: './vehicles-crafts-machinery-table.component.html',\n styleUrls: [\n '../../../shared/asset-table/asset-table.component.scss',\n './vehicles-crafts-machinery-table.component.scss',\n ],\n providers: [{ provide: AssetTableComponent, useExisting: VehiclesCraftsMachineryTableComponent }],\n})\nexport class VehiclesCraftsMachineryTableComponent extends AssetTableComponent {\n headerArray = [\n { name: 'name_lowercase', title: 'ASSET' },\n { name: 'SubTypeName', title: 'ASSET TYPE' },\n { name: 'PowerSourceName', title: 'POWER SOURCE' },\n { name: 'OrgOrSuborgName', title: 'ORGANIZATION' },\n ];\n headers = this.headerArray.map(h => h.name);\n typeOptions: IOption[] = vehicleCraftMachineryTypeOptions;\n subTypeOptions: IOption[] = powerSourceOptions;\n\n initateAdd(event?: Event) {\n event?.stopPropagation();\n this.fc = {\n name: new FormControl('', [Validators.required]),\n type: new FormControl(this.typeOptions[0], [Validators.required]),\n subType: new FormControl(this.subTypeOptions[0], [Validators.required]),\n organization: new FormControl(\n {\n value: this.defaultOrganization,\n disabled: this.defaultOrganization !== undefined && this.organizationOptions.length === 1,\n },\n [Validators.required]\n ),\n };\n this.formgroup = new FormGroup(this.fc);\n }\n\n iniateEdit(asset: AssetUi) {\n if (this.fc) return;\n\n this.onSelectedAssetChange.emit(asset);\n\n const organization =\n this.organizationOptions.find(org => org.label === asset.organizationName) || this.defaultOrganization;\n this.fc = {\n name: new FormControl(asset.name, [Validators.required]),\n type: new FormControl(\n this.typeOptions.find(type => type.label === asset.type || type.value === asset.type) || this.typeOptions[0],\n [Validators.required]\n ),\n subType: new FormControl(\n this.subTypeOptions.find(subType => subType.label === asset.subType || subType.value === asset.subType) ||\n this.subTypeOptions[0],\n [Validators.required]\n ),\n organization: new FormControl(\n {\n value: organization,\n disabled: organization !== undefined && this.organizationOptions.length === 1,\n },\n [Validators.required]\n ),\n };\n this.formgroup = new FormGroup(this.fc);\n }\n\n handleOnFormSubmit() {\n const type = Object.values(VehicleCraftMachineryType).find(type => type === this.fc?.type?.value?.value);\n const subType = Object.values(PowerSource).find(type => type === this.fc?.subType?.value?.value);\n if (this.fc && this.formgroup?.valid && type && subType) {\n const subOrganizationId =\n this.organizationId === this.fc.organization.value?.value ? undefined : this.fc.organization.value?.value;\n const params = new CreateVehicleCraftMachineryAssetCommandParams({\n type: AssetType.VehicleCraftMachinery,\n subType: type,\n name: this.fc.name.value || '',\n powerSource: subType,\n organizationId: this.organizationId || '',\n subOrganizationId: subOrganizationId,\n versionValidFrom: new Date(),\n });\n\n this.onFormSubmit.emit(params);\n this.resetForm();\n } else this.handleSubmitRejection();\n }\n\n headerTitle(_name: string): string {\n const header = this.headerArray.find(h => h.name === _name);\n return header ? header.title : '';\n }\n}\n","\n \n \n \n
\n \n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{ asset.name }}{{ asset.type }}{{ asset.subType }}{{ asset.organizationName }}\n
\n Details\n \n \n \n
\n
\n
\n \n
\n
\n \n \n \n
\n
\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n","import { Component } from '@angular/core';\nimport { VehiclesCraftsMachineryStateService } from './vehicles-crafts-machinery-state.service';\nimport { AssetListComponent } from '../asset-list.component';\nimport { AssetListStateService } from '../asset-list-state.service';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\n\n@Component({\n selector: 'esg-vehicles-crafts-machinery',\n templateUrl: './vehicles-crafts-machinery.component.html',\n styleUrls: ['../asset-list.component.scss'],\n providers: [{ provide: AssetListStateService, useClass: VehiclesCraftsMachineryStateService }],\n})\nexport class VehiclesCraftsMachineryComponent extends AssetListComponent {\n constructor(\n appInfo: AppInfoService,\n appConfig: AppConfigurationService,\n state: AssetListStateService,\n public vehicleState: VehiclesCraftsMachineryStateService\n ) {\n super(appInfo, appConfig, state);\n }\n}\n","\n\n Select category\n
\n \n \n
\n\n \n
\n \n \n \n
\n \n \n \n
\n\n \n\n\n","import { Injectable } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport {\n AssetType,\n ScrubbersLoopSystem,\n UpdateVesselAssetCommandParams,\n VesselType,\n VesselAsset,\n} from 'src/api-client/report-api.generated';\nimport { IOption, vesselTypeOptions, scrubbersLoopSystem } from 'src/app/static-data/options';\nimport { formattedStringToNumber, stringToFormattedNumberString } from 'src/app/shared/utils/number-converters';\nimport { AssetDetailsForm, AssetDetailsStateService } from '../../asset-details-state.service';\n\ninterface VesselDetailsForm extends AssetDetailsForm {\n imOnumber: FormControl;\n type: FormControl;\n installedPower: FormControl;\n recycleYear: FormControl;\n roRoVessel: FormControl;\n deadWeightTonnage: FormControl;\n grossTonnage: FormControl;\n scrubbersInstalled: FormControl;\n scrubbersSystem: FormControl;\n}\n\n@Injectable()\nexport class VesselDetailsStateService extends AssetDetailsStateService {\n organizationCountryMap = new Map();\n typeOptions: IOption[] = vesselTypeOptions;\n yesNoOptions: IOption[] = [\n { value: 'false', label: 'No' },\n { value: 'true', label: 'Yes' },\n ];\n scrubberSystemOptions: IOption[] = scrubbersLoopSystem;\n\n fc?: VesselDetailsForm;\n\n async init(assetId: string, organizationOptions: IOption[], organizationCountryMap: Map) {\n this.loading = true;\n this.assetId = assetId;\n this.organizationOptions = organizationOptions;\n this.organizationCountryMap = organizationCountryMap;\n await Promise.all([this.getAssetVersions(), this.getRecordsOverview()]);\n this.loading = false;\n }\n\n async getAssetVersion(versionId: string) {\n const response = await this.assetApiService.getAssetById(this.assetId, versionId);\n const vessel = response.result as VesselAsset;\n this.mainOrganizationId = vessel.organizationId;\n\n this.fc = {\n versionValidFrom: new FormControl(vessel.versionValidFrom, { nonNullable: true }),\n name: new FormControl(vessel.name, { validators: [Validators.required], nonNullable: true }),\n imOnumber: new FormControl(vessel.imOnumber?.toString() || '', { nonNullable: true }),\n type: new FormControl(\n this.typeOptions.find(type => type.value === vessel?.vesselType),\n { validators: [Validators.required], nonNullable: true }\n ),\n organization: new FormControl(\n this.organizationOptions?.find(org =>\n vessel?.subOrganizationId ? org.value === vessel?.subOrganizationId : org.value === vessel?.organizationId\n ),\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n installedPower: new FormControl(stringToFormattedNumberString(vessel.installedPower.toString()), {\n nonNullable: true,\n }),\n recycleYear: new FormControl(vessel.toBeRecycledYear?.toString() || '', {\n nonNullable: true,\n }),\n roRoVessel: new FormControl(\n vessel.roRoVessel ? this.yesNoOptions[1] : this.yesNoOptions[0],\n {\n nonNullable: true,\n }\n ),\n deadWeightTonnage: new FormControl(\n stringToFormattedNumberString(vessel.deadWeightTonnage?.toString() || ''),\n {\n nonNullable: true,\n }\n ),\n grossTonnage: new FormControl(stringToFormattedNumberString(vessel.grossTonnage?.toString() || ''), {\n nonNullable: true,\n }),\n scrubbersInstalled: new FormControl(\n vessel.scrubbersInstalled ? this.yesNoOptions[1] : this.yesNoOptions[0],\n {\n nonNullable: true,\n }\n ),\n scrubbersSystem: new FormControl(\n this.scrubberSystemOptions.find(sys => sys.value === vessel?.scrubbersLoopSystem),\n {\n nonNullable: true,\n }\n ),\n };\n\n if (this.fc.organization.value?.value)\n this.defaultOrganizationCode = this.organizationCountryMap.get(this.fc.organization.value.value);\n\n this.formgroup = new FormGroup(this.fc);\n }\n\n setScrubbersInstalled(option: IOption) {\n if (!this.fc) return;\n if (this.fc.scrubbersInstalled.value?.value !== 'true' && option.value === 'true')\n this.fc.scrubbersSystem.setValue(this.scrubberSystemOptions[0]);\n else this.fc.scrubbersSystem.setValue(undefined);\n this.handleDropdownChange(this.fc.scrubbersInstalled, option);\n }\n\n setRoRoVessel(option: IOption) {\n if (!this.fc) return;\n if (this.fc.roRoVessel.value?.value !== 'true' && option.value === 'true') {\n this.fc.grossTonnage.setValue('');\n } else {\n this.fc.deadWeightTonnage.setValue('');\n }\n this.handleDropdownChange(this.fc.roRoVessel, option);\n }\n\n handleOrganizationChange(option: IOption) {\n if (!this.fc) return;\n this.defaultOrganizationCode = this.organizationCountryMap.get(option.value);\n this.handleDropdownChange(this.fc.organization, option);\n }\n\n async updateAsset(versionId: string) {\n const vesselType = Object.values(VesselType).find(type => type === this.fc?.type.value?.value);\n if (!this.fc || !vesselType) return;\n return await this.assetApiService.updateAsset(\n new UpdateVesselAssetCommandParams({\n id: this.assetId,\n imOnumber: formattedStringToNumber(this.fc.imOnumber.value || ''),\n type: AssetType.Vessel,\n vesselType: vesselType,\n name: this.fc.name.value,\n versionId: versionId,\n subOrganizationId:\n this.fc.organization.value?.value === this.mainOrganizationId ? undefined : this.fc.organization.value?.value,\n installedPower: formattedStringToNumber(this.fc.installedPower.value || '') || 0,\n roRoVessel: this.fc.roRoVessel.value?.value === 'true' ? true : false,\n deadWeightTonnage: formattedStringToNumber(this.fc.deadWeightTonnage.value || ''),\n grossTonnage: formattedStringToNumber(this.fc.grossTonnage.value || ''),\n scrubbersInstalled: this.fc.scrubbersInstalled.value?.value === 'true' ? true : false,\n scrubbersLoopSystem: Object.values(ScrubbersLoopSystem).find(\n type => type === this.fc?.scrubbersSystem.value?.value\n ),\n toBeRecycledYear: this.fc.recycleYear.value ? formattedStringToNumber(this.fc.recycleYear.value) : undefined,\n versionValidFrom: this.fc.versionValidFrom.value,\n })\n );\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { VesselDetailsStateService } from './vessel-details-state.service';\nimport { IOption } from 'src/app/static-data/options';\nimport { VesselType } from 'src/api-client/report-api.generated';\n\n@Component({\n selector: 'esg-vessel-details',\n templateUrl: './vessel-details.component.html',\n styleUrls: ['../../asset-details.component.scss', './vessel-details.component.scss'],\n providers: [VesselDetailsStateService],\n})\nexport class VesselDetailsComponent implements OnInit {\n vesselTypes = VesselType;\n @Input({ required: true }) assetId!: string;\n @Input() organizationCountryMap = new Map();\n @Input() organizationOptions: IOption[] = [];\n\n constructor(public state: VesselDetailsStateService) {}\n ngOnInit(): void {\n this.state.init(this.assetId, this.organizationOptions, this.organizationCountryMap);\n }\n}\n","
\n \n

{{ state.fc?.name?.value }}

\n
\n \n
\n Version valid from\n
\n \n
\n Organization\n
\n \n
\n Vessel Type\n
\n \n
\n \n \n {{ state.fc.type.value?.value === vesselTypes.PassengerCruise ? 'Ro-Pax' : 'Ro-Ro' }}\n \n
\n \n
\n \n DeadWeight Tonnage\n
\n \n
\n
\n \n Gross Tonnage\n
\n \n
\n
\n \n IMO\n
\n \n
\n\n Installed power (KW)\n
\n \n
\n Vessel to be recycled in year\n
\n \n
\n Scrubbers installed\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n\n","import { Injectable } from '@angular/core';\nimport {\n AssetType,\n VesselAssetVm,\n CreateVesselAssetCommandParams,\n VesselType,\n UpdateVesselAssetBasePropertiesCommandParams,\n} from 'src/api-client/report-api.generated';\nimport {\n AssetApiService,\n DeleteAssetsByFilterParams,\n SearchAssetByOrganizationAndTypeParams,\n} from 'src/app/api-client/report-api/asset-api-service';\nimport { OrganizationApiService } from 'src/app/api-client/report-api/organization-api-service';\nimport { AssetListStateService } from '../asset-list-state.service';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { CountryApiService } from 'src/app/api-client/report-api/country-api-service';\nimport { AssetsMenuStateService } from '../../assets-menu/assets-menu-state.service';\nimport { IOption, vesselTypeOptions } from 'src/app/static-data/options';\nimport { SectorApiService } from 'src/app/api-client/report-api/sector-api-service';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\nimport {\n DataRecordOutput,\n ExcelImportValidationMessage,\n FieldConfig,\n validateExcelOptionColumn,\n} from 'src/app/shared/components/data-import-from-excel/data-import-from-excel-state.service';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { IMenuItem } from 'src/app/shared/ui/context-menu/context-menu.component';\n\n@Injectable({\n providedIn: 'root', // Automatically registers this service globally\n})\nexport class VesselsStateService extends AssetListStateService {\n assetType = AssetType.Vessel;\n typeOptions: IOption[] = vesselTypeOptions;\n\n constructor(\n appInfo: AppInfoService,\n appConfig: AppConfigurationService,\n assetApiService: AssetApiService,\n countryApiService: CountryApiService,\n organizationApiService: OrganizationApiService,\n sectorApiService: SectorApiService,\n notificationService: NotificationService,\n assetsMenuState: AssetsMenuStateService,\n router: Router,\n route: ActivatedRoute\n ) {\n super(\n appInfo,\n appConfig,\n assetApiService,\n countryApiService,\n organizationApiService,\n sectorApiService,\n notificationService,\n assetsMenuState,\n router,\n route\n );\n }\n\n excelTitle = 'Vessels';\n importFromExcelFieldConfigs: FieldConfig[] = [\n { propertyName: 'name', title: 'Vessel', type: 'string' },\n { propertyName: 'type', title: 'Vessel type', type: 'string' },\n { propertyName: 'organization', title: 'Organization', type: 'string' },\n { propertyName: 'versionValidFrom', title: 'Version valid from', type: 'date', optional: true },\n ];\n\n importFromExcelEnabled = true;\n\n filterMenuProvider = (): IMenuItem[] => [\n { id: 'clear', label: 'Clear all filters', onClick: () => this.clearFilters() },\n {\n id: 'delete',\n label: 'Delete all filtered records',\n onClick: () => this.handleDeleteAllFilteredRecordsInitiate(),\n disabled: this.currentPagination.totalCount === 0 || !this.isFilterApplied,\n },\n ];\n\n async getAssets() {\n const searchParams = new SearchAssetByOrganizationAndTypeParams({\n AssetType: this.assetType,\n Name: this.searchValue || undefined,\n VesselType: Object.values(VesselType).filter(type =>\n this.filteredVesselType.value.find(opt => type.toString() === opt.value)\n ),\n SearchOrgIds: this.filteredOrganization.value.map(opt => opt.value),\n });\n const response = await this.assetApiService.searchAsset(\n searchParams,\n this.sortDirection ? this.sortKey + ' ' + this.sortDirection : undefined,\n this.currentPagination.currentPage,\n this.currentPagination.pageSize\n );\n const result = response.result.items as VesselAssetVm[];\n this.currentPagination = {\n ...response.result,\n };\n this.assets = result.map(asset => ({\n id: asset.id,\n name: asset.name,\n type: this.typeOptions.find(type => type.value === asset.vesselType)?.label || asset.vesselType,\n organizationName: asset.orgOrSuborgName,\n versionValidFrom: asset.versionValidFrom,\n }));\n }\n\n handleDeleteAllFilteredRecordsSubmit() {\n const searchParams = new DeleteAssetsByFilterParams({\n AssetType: this.assetType,\n Name: this.searchValue || undefined,\n SearchOrgIds: this.filteredOrganization.value.map(opt => opt.value),\n VesselType: Object.values(VesselType).filter(type =>\n this.filteredVesselType.value.find(opt => type.toString() === opt.value)\n ),\n });\n\n this.isDeleteDialogOpen = false;\n this.assetApiService.deleteAssetsByFilter(searchParams).then(response => {\n if (response.success) {\n this.notificationService.showSuccess(\n this.currentPagination.totalCount + ' vessels were successfully deleted'\n );\n this.getAssets();\n }\n });\n }\n\n async formSubmit(params: CreateVesselAssetCommandParams) {\n if (this.selectedAsset) {\n const selected = this.selectedAsset;\n this.setSelectedAsset(undefined);\n\n const updateParams = new UpdateVesselAssetBasePropertiesCommandParams({\n id: selected.id,\n type: this.assetType,\n vesselType: params.vesselType,\n name: params.name,\n imOnumber: params.imOnumber,\n subOrganizationId: params.subOrganizationId,\n });\n const response = await this.assetApiService.updateAssetBaseProperties(updateParams);\n if (response.success) {\n this.getAssets();\n } else {\n this.notificationService.showError(\n `Unable to update ${this.assetType}`,\n response.validationErrors?.join('\\n') || response.message || 'Unknown error'\n );\n }\n } else {\n const createParams = new CreateVesselAssetCommandParams({\n type: this.assetType,\n vesselType: params.vesselType,\n name: params.name,\n organizationId: this.organizationId || '',\n subOrganizationId: params.subOrganizationId,\n installedPower: 0,\n scrubbersInstalled: false,\n versionValidFrom: this.defaultVersionDate,\n });\n this.updating = true;\n const response = await this.assetApiService.createAsset(createParams);\n if (response.success) {\n await this.getAssets();\n this.assetsMenuState.loadAssetTypeCounters();\n } else {\n this.notificationService.showError(\n `Unable to add ${this.assetType}`,\n response.validationErrors?.join('\\n') || response.message || 'Unknown error'\n );\n }\n this.updating = false;\n }\n }\n\n createAssetFromExcel(asset: DataRecordOutput) {\n const organizationOption = this.getExcelOptionColumn(\n 'organization',\n this.organizationOptions,\n asset,\n 'Organization'\n );\n const typeOption = this.getExcelOptionColumn('type', this.typeOptions, asset, 'Vessel type');\n\n const body = new CreateVesselAssetCommandParams({\n type: this.assetType,\n organizationId: this.organizationId || '',\n subOrganizationId: this.organizationId === organizationOption.value ? undefined : organizationOption.value,\n name: asset.name?.value || '',\n vesselType: VesselType[typeOption.value as keyof typeof VesselType],\n installedPower: 0,\n scrubbersInstalled: false,\n versionValidFrom: asset.versionValidFrom?.value || this.defaultVersionDate,\n });\n return this.assetApiService.createAsset(body);\n }\n\n validateOptionColumns(records: DataRecordOutput[]): ExcelImportValidationMessage[] {\n let validationMessages: ExcelImportValidationMessage[] = [];\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'organization',\n this.organizationOptions,\n records,\n 'Organization'\n );\n\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'type',\n this.typeOptions,\n records,\n 'Vessel type'\n );\n\n return validationMessages;\n }\n\n onSortChange(event: { key: string; direction: 'asc' | 'desc' | '' }) {\n this.sortKey = event.key;\n this.sortDirection = event.direction;\n this.getAssets();\n }\n}\n","import { Component } from '@angular/core';\nimport { AssetTableComponent } from '../../../shared/asset-table/asset-table.component';\nimport { IOption, vesselTypeOptions } from 'src/app/static-data/options';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { AssetUi } from '../../asset-list.component';\nimport { AssetType, CreateVesselAssetCommandParams, VesselType } from 'src/api-client/report-api.generated';\n\n@Component({\n selector: 'esg-vessels-table',\n templateUrl: './vessels-table.component.html',\n styleUrls: ['../../../shared/asset-table/asset-table.component.scss', './vessels-table.component.scss'],\n providers: [{ provide: AssetTableComponent, useExisting: VesselsTableComponent }],\n})\nexport class VesselsTableComponent extends AssetTableComponent {\n headerArray = [\n { name: 'name_lowercase', title: 'VESSEL' },\n { name: 'VesselTypeName', title: 'VESSEL TYPE' },\n { name: 'OrgOrSuborgName', title: 'ORGANIZATION' },\n ];\n headers = this.headerArray.map(h => h.name);\n\n typeOptions: IOption[] = vesselTypeOptions;\n\n initateAdd(event?: Event) {\n event?.stopPropagation();\n this.fc = {\n name: new FormControl('', [Validators.required]),\n type: new FormControl(this.typeOptions[0], [Validators.required]),\n organization: new FormControl(\n {\n value: this.defaultOrganization,\n disabled: this.defaultOrganization !== undefined && this.organizationOptions.length === 1,\n },\n [Validators.required]\n ),\n };\n this.formgroup = new FormGroup(this.fc);\n }\n\n iniateEdit(asset: AssetUi) {\n if (this.fc) return;\n\n this.onSelectedAssetChange.emit(asset);\n\n const organization =\n this.organizationOptions.find(org => org.label === asset.organizationName) || this.defaultOrganization;\n this.fc = {\n name: new FormControl(asset.name, [Validators.required]),\n type: new FormControl(\n this.typeOptions.find(type => type.label === asset.type || type.value === asset.type) || this.typeOptions[0],\n [Validators.required]\n ),\n organization: new FormControl(\n {\n value: organization,\n disabled: organization !== undefined && this.organizationOptions.length === 1,\n },\n [Validators.required]\n ),\n };\n this.formgroup = new FormGroup(this.fc);\n }\n\n handleOnFormSubmit() {\n const type = Object.values(VesselType).find(type => type === this.fc?.type?.value?.value);\n if (this.fc && this.formgroup?.valid && type) {\n const subOrganizationId =\n this.organizationId === this.fc.organization.value?.value ? undefined : this.fc.organization.value?.value;\n const params = new CreateVesselAssetCommandParams({\n type: AssetType.Vessel,\n vesselType: type,\n name: this.fc.name.value || '',\n organizationId: this.organizationId || '',\n subOrganizationId: subOrganizationId,\n installedPower: 0,\n scrubbersInstalled: false,\n versionValidFrom: new Date(),\n });\n this.onFormSubmit.emit(params);\n this.resetForm();\n } else this.handleSubmitRejection();\n }\n\n headerTitle(_name: string): string {\n const header = this.headerArray.find(h => h.name === _name);\n return header ? header.title : '';\n }\n}\n","\n \n \n \n
\n \n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{ asset.name }}{{ asset.type }}{{ asset.organizationName }}\n
\n Details\n \n \n \n
\n
\n
\n \n
\n
\n \n \n \n
\n
\n \n
\n
\n \n \n \n \n \n
\n
\n","import { Component } from '@angular/core';\nimport { VesselsStateService } from './vessels-state.service';\nimport { AssetListComponent } from '../asset-list.component';\nimport { AssetListStateService } from '../asset-list-state.service';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport { IOption } from 'src/app/static-data/options';\n\n@Component({\n selector: 'esg-vessels',\n templateUrl: './vessels.component.html',\n styleUrls: ['../asset-list.component.scss'],\n providers: [{ provide: AssetListStateService, useClass: VesselsStateService }],\n})\nexport class VesselsComponent extends AssetListComponent {\n constructor(\n appInfo: AppInfoService,\n appConfig: AppConfigurationService,\n state: AssetListStateService,\n public vesselState: VesselsStateService\n ) {\n super(appInfo, appConfig, state);\n }\n}\n","\n\n Select category\n
\n \n \n
\n \n
\n \n \n
\n
\n \n \n \n
\n\n \n\n\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'esg-assets-default',\n templateUrl: './assets-default.component.html',\n styleUrls: ['./assets-default.component.scss'],\n})\nexport class AssetsDefaultComponent {\n noCategoryText: string = 'Please select a category in the \\nleft column to manage assets.';\n\n constructor() {}\n}\n","\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { AssetType, AssetTypeVm } from 'src/api-client/report-api.generated';\nimport { AssetApiService } from 'src/app/api-client/report-api/asset-api-service';\nimport { ObjectArray, toHashTableBy } from 'src/app/shared/utils/object-array';\n\n@Injectable()\nexport class AssetsMenuStateService {\n public readonly newAssetSubject$ = new Subject();\n assetTypeCounters: ObjectArray = {};\n constructor(private assetsApiService: AssetApiService) {}\n\n loadAssetTypeCounters() {\n this.assetsApiService.getAssetTypesByOrganization(undefined).then(response => {\n this.assetTypeCounters = toHashTableBy(response.result, 'assetType');\n });\n }\n\n notifyOfNewAsset(type: AssetType) {\n this.newAssetSubject$.next(type);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { AssetsMenuStateService } from './assets-menu-state.service';\nimport { AssetType } from 'src/api-client/report-api.generated';\n\n// Currently not used\n\n@Component({\n selector: 'esg-assets-menu',\n templateUrl: './assets-menu.component.html',\n styleUrls: ['./assets-menu.component.scss'],\n})\nexport class AssetsMenuComponent implements OnInit {\n assetTypeEnum = AssetType;\n\n constructor(public state: AssetsMenuStateService) {}\n\n ngOnInit(): void {\n this.state.loadAssetTypeCounters();\n }\n\n getAssetTypeCount(assetType: AssetType) {\n return this.state.assetTypeCounters[assetType]?.assetCount === undefined\n ? '-'\n : this.state.assetTypeCounters[assetType]?.assetCount;\n }\n}\n","\n","import { Component } from '@angular/core';\nimport { RouteItemUi } from 'src/app/shared/components/route-selector/route-selector.component';\n\n@Component({\n selector: 'esg-assets-page',\n templateUrl: './assets-page.component.html',\n styleUrls: ['./assets-page.component.scss'],\n})\nexport class AssetsPageComponent {\n constructor() {}\n}\n\nexport const AssetCategoryRoutes: RouteItemUi[] = [\n {\n label: 'Vessels',\n link: ['/assets/vessels'],\n },\n {\n label: 'Vehicles, Crafts & Machinery',\n link: ['/assets/vehicles-crafts-machinery'],\n },\n {\n label: 'Facilities',\n link: ['/assets/facilities'],\n },\n {\n label: 'Organizations',\n link: ['/assets/organizations'],\n },\n {\n label: 'Suppliers',\n link: ['/assets/suppliers'],\n },\n {\n label: 'Clients',\n link: ['/assets/clients'],\n },\n];\n","
\n
\n \n
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { AppLayoutComponent } from 'src/app/app-layout/app-layout.component';\nimport { AssetsPageComponent } from './assets-page.component';\nimport { AssetListComponent } from './asset-list/asset-list.component';\nimport { VesselsComponent } from './asset-list/vessels/vessels.component';\nimport { VehiclesCraftsMachineryComponent } from './asset-list/vehicles-crafts-machinery/vehicles-crafts-machinery.component';\nimport { FacilitiesComponent } from './asset-list/facilities/facilities.component';\nimport { UiModule } from 'src/app/shared/ui/ui.module';\nimport { VesselDetailsComponent } from './asset-list/vessels/vessel-details/vessel-details.component';\nimport { VehicleCraftMachineryDetailsComponent } from './asset-list/vehicles-crafts-machinery/vehicle-craft-machinery-details/vehicle-craft-machinery-details.component';\nimport { MsalGuard } from '@azure/msal-angular';\nimport { FacilityDetailsComponent } from './asset-list/facilities/facility-details/facility-details.component';\nimport { SharedComponentsModule } from 'src/app/shared/components/shared-components.module';\nimport { OrganizationAssetsComponent } from './asset-list/organization-assets/organization-assets.component';\nimport { OrganizationAssetDetailsComponent } from './asset-list/organization-assets/organization-asset-details/organization-asset-details.component';\nimport { AssetsMenuComponent } from './assets-menu/assets-menu.component';\nimport { SuppliersComponent } from './asset-list/suppliers/suppliers.component';\nimport { ClientsComponent } from './asset-list/clients/clients.component';\nimport { ClientDetailsComponent } from './asset-list/clients/client-details/client-details.component';\nimport { SupplierDetailsComponent } from './asset-list/suppliers/supplier-details/supplier-details.component';\nimport { DirectiveModule } from 'src/app/shared/directives/directive.module';\nimport { RecordsOverviewComponent } from './shared/records-overview/records-overview.component';\nimport { TableModule } from 'src/app/shared/table/table.module';\nimport { AssetsDefaultComponent } from './assets-default/assets-default.component';\nimport { AssetVersionFormComponent } from './shared/asset-version-form/asset-version-form.component';\nimport { AssetVersionMenuComponent } from './shared/asset-version-menu/asset-version-menu.component';\nimport { AssetsMenuStateService } from './assets-menu/assets-menu-state.service';\nimport { AssetFormDialogComponent } from './asset-form-dialog/asset-form-dialog.component';\nimport { AssetTableComponent } from './shared/asset-table/asset-table.component';\nimport { VesselsTableComponent } from './asset-list/vessels/vessels-table/vessels-table.component';\nimport { VehiclesCraftsMachineryTableComponent } from './asset-list/vehicles-crafts-machinery/vehicles-crafts-machinery-table/vehicles-crafts-machinery-table.component';\nimport { SuppliersTableComponent } from './asset-list/suppliers/suppliers-table/suppliers-table.component';\nimport { FacilitiesTableComponent } from './asset-list/facilities/facilities-table/facilities-table.component';\nimport { ClientsTableComponent } from './asset-list/clients/clients-table/clients-table.component';\nimport { KeyboardShortcutsDirective } from 'src/app/shared/directives/keyboard-shortcuts.directive';\nimport { SideNavigationComponent } from 'src/app/app-layout/side-navigation/side-navigation.component';\nimport { NestedOrganizationAssetComponent } from './asset-list/organization-assets/organization-asset-row/nested-organization-asset.component';\n\n@NgModule({\n declarations: [\n AssetsPageComponent,\n AssetListComponent,\n VesselsComponent,\n VehiclesCraftsMachineryComponent,\n FacilitiesComponent,\n OrganizationAssetsComponent,\n VesselDetailsComponent,\n VehicleCraftMachineryDetailsComponent,\n FacilityDetailsComponent,\n OrganizationAssetDetailsComponent,\n SuppliersComponent,\n ClientsComponent,\n ClientDetailsComponent,\n SupplierDetailsComponent,\n AssetsMenuComponent,\n RecordsOverviewComponent,\n AssetsDefaultComponent,\n AssetVersionFormComponent,\n AssetVersionMenuComponent,\n AssetTableComponent,\n VesselsTableComponent,\n AssetFormDialogComponent,\n VehiclesCraftsMachineryTableComponent,\n SuppliersTableComponent,\n FacilitiesTableComponent,\n ClientsTableComponent,\n NestedOrganizationAssetComponent,\n ],\n imports: [\n CommonModule,\n UiModule,\n TableModule,\n SharedComponentsModule,\n DirectiveModule,\n KeyboardShortcutsDirective,\n RouterModule.forChild([\n {\n path: `assets`,\n component: AppLayoutComponent,\n children: [\n {\n path: ``,\n component: SideNavigationComponent,\n outlet: 'side',\n },\n {\n path: ``,\n component: AssetsPageComponent,\n children: [\n { path: '', component: AssetsDefaultComponent },\n { path: `vessels`, component: VesselsComponent },\n { path: `vehicles-crafts-machinery`, component: VehiclesCraftsMachineryComponent },\n { path: `facilities`, component: FacilitiesComponent },\n { path: `organizations`, component: OrganizationAssetsComponent },\n { path: `suppliers`, component: SuppliersComponent },\n { path: `clients`, component: ClientsComponent },\n ],\n },\n ],\n canActivate: [MsalGuard],\n },\n ]),\n ],\n exports: [AssetFormDialogComponent],\n providers: [AssetsMenuStateService],\n})\nexport class AssetsModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AssetForm, AssetUi } from '../../asset-list/asset-list.component';\nimport { IOption } from 'src/app/static-data/options';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { CreateAssetCommandParams } from 'src/api-client/report-api.generated';\n\n@Component({\n selector: 'esg-asset-table',\n templateUrl: './asset-table.component.html',\n styleUrls: ['./asset-table.component.scss'],\n})\nexport class AssetTableComponent {\n @Input() assets: AssetUi[] = [];\n @Input() organizationId?: string;\n @Input() selectedAsset?: AssetUi;\n @Input() organizationOptions: IOption[] = [];\n @Input() countryOptions: IOption[] = [];\n @Input() sectorOptions: IOption[] = [];\n @Input() organizationCountryMap = new Map();\n @Input() addOnly = false;\n @Input() isUpdating = false;\n @Input() sortKey: string = '';\n @Input() sortDirection: 'asc' | 'desc' | '' = '';\n @Output() onDetailsClick = new EventEmitter();\n @Output() onSelectedAssetChange = new EventEmitter();\n @Output() onFormSubmit = new EventEmitter();\n @Output() onDelete = new EventEmitter();\n @Output() onSortChange = new EventEmitter<{ key: string; direction: 'asc' | 'desc' | '' }>();\n\n headers: string[] = ['ASSET', 'ORGANIZATION'];\n showErrors: boolean = false;\n fc?: AssetForm;\n formgroup?: FormGroup;\n defaultOrganization?: IOption;\n defaultCountry?: IOption;\n\n showStickyDivider: boolean = false;\n\n ngOnInit(): void {\n this.defaultCountry = this.countryOptions.find(\n country => country.value === this.organizationCountryMap.get(this.organizationId || '')\n );\n this.defaultOrganization = this.organizationOptions.find(org => org.value === this.organizationId);\n if (this.addOnly) this.initateAdd();\n }\n\n handleOnSingleClick(asset: AssetUi) {\n this.resetForm();\n this.onDetailsClick.emit(asset);\n }\n\n handleStickyDivider(tabEntry: IntersectionObserverEntry) {\n this.showStickyDivider = tabEntry.intersectionRatio === 0;\n }\n\n handleOnFormSubmit() {\n if (this.fc && this.formgroup?.valid) {\n const subOrganizationId =\n this.organizationId === this.fc.organization.value?.value ? undefined : this.fc.organization.value?.value;\n const params = new CreateAssetCommandParams({\n name: this.fc.name.value || '',\n organizationId: this.organizationId || '',\n subOrganizationId: subOrganizationId,\n versionValidFrom: new Date(),\n });\n this.onFormSubmit.emit(params);\n this.resetForm();\n } else this.handleSubmitRejection();\n }\n\n handleSubmitRejection() {\n if (this.showErrors && this.selectedAsset) this.handleOnCancel();\n else this.showErrors = true;\n }\n\n handleOnDelete() {\n this.onDelete.emit();\n this.resetForm();\n }\n\n handleOnCancel() {\n this.resetForm();\n this.onSelectedAssetChange.emit(undefined);\n }\n\n resetForm() {\n this.fc = undefined;\n this.formgroup = undefined;\n this.showErrors = false;\n }\n\n initateAdd(event?: Event) {\n event?.stopPropagation();\n this.fc = {\n name: new FormControl('', [Validators.required]),\n organization: new FormControl(\n {\n value: this.defaultOrganization,\n disabled: this.defaultOrganization !== undefined && this.organizationOptions.length === 1,\n },\n [Validators.required]\n ),\n };\n this.formgroup = new FormGroup(this.fc);\n }\n\n iniateEdit(asset: AssetUi) {\n if (this.fc) return;\n\n this.onSelectedAssetChange.emit(asset);\n\n const organization =\n this.organizationOptions.find(org => org.label === asset.organizationName) || this.defaultOrganization;\n this.fc = {\n name: new FormControl(asset.name, [Validators.required]),\n organization: new FormControl(\n {\n value: organization,\n disabled: organization !== undefined && this.organizationOptions.length === 1,\n },\n [Validators.required]\n ),\n };\n this.formgroup = new FormGroup(this.fc);\n }\n\n handleOrganizationChange(organization: IOption, countryCode?: string) {\n if (this.fc) {\n this.fc.organization.setValue(organization);\n if (countryCode) {\n const countryOption = this.countryOptions.find(opt => opt.value === countryCode);\n this.fc.country && countryOption && this.fc.country.setValue(countryOption);\n }\n }\n }\n\n handleOnSortChange($event: { key: string; direction: 'asc' | 'desc' | '' }) {\n this.onSortChange.emit({ key: $event.key, direction: $event.direction });\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{ header }}
{{ asset.name }}{{ asset.organizationName }}\n
\n Details\n \n \n \n
\n
\n
\n \n
\n
\n
\n \n
\n
\n \n \n \n
\n
\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'esg-asset-version-form',\n templateUrl: './asset-version-form.component.html',\n styleUrls: ['./asset-version-form.component.scss'],\n})\nexport class AssetVersionFormComponent {\n @Input() active: boolean = false;\n @Input() saveDisabled: boolean = false;\n @Input() deleteDisabled: boolean = true;\n @Output() onClick = new EventEmitter();\n @Output() onSave = new EventEmitter();\n @Output() onDelete = new EventEmitter();\n @Output() onCancel = new EventEmitter();\n\n handleOnClick() {\n this.onClick.emit();\n }\n\n handleOnOutsideClick() {\n if (this.active) {\n this.onCancel.emit();\n }\n }\n\n handleOnCancel(event: Event) {\n event.stopPropagation();\n this.onCancel.emit();\n }\n\n handleOnSave(event: Event) {\n event.stopPropagation();\n this.onSave.emit();\n }\n\n handleOnDelete(event: Event) {\n event.stopPropagation();\n this.onDelete.emit();\n }\n}\n","\n
\n
\n
\n
\n
\n
\n \n
\n
\n Cancel\n Save\n
\n
\n
\n
\n\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\nexport interface AssetVersionUi {\n id: string;\n value: Date;\n}\n\n@Component({\n selector: 'esg-asset-version-menu',\n templateUrl: './asset-version-menu.component.html',\n styleUrls: ['./asset-version-menu.component.scss'],\n})\nexport class AssetVersionMenuComponent {\n @Input({ required: true }) activeVersion!: string;\n @Input({ required: true }) assetVersions!: AssetVersionUi[];\n @Input() newVersion?: Date;\n @Output() onVersionClick = new EventEmitter();\n @Output() onNewVersionClick = new EventEmitter();\n\n handleOnVersionClick(version: string) {\n if (this.activeVersion !== version) {\n this.onVersionClick.emit(version);\n }\n }\n\n handleOnNewVersionClick(event: Event) {\n event.stopPropagation();\n this.onNewVersionClick.emit();\n }\n}\n","Asset versions\n
\n \n {{ newVersion | date : 'd. MMM yyyy' }}\n
\n\n \n \n {{ version.value | date : 'd. MMM yyyy' }}\n\n
\n \n No previous versions\n
\n\n","import { Component, Input } from '@angular/core';\nimport { stringToFormattedNumberString } from 'src/app/shared/utils/number-converters';\n\nexport interface RecordsOverviewUi {\n category: string;\n count: number;\n firstDate: Date;\n lastDate: Date;\n link?: string[];\n recordType?: string;\n}\n\n@Component({\n selector: 'esg-records-overview',\n templateUrl: './records-overview.component.html',\n styleUrls: ['./records-overview.component.scss'],\n})\nexport class RecordsOverviewComponent {\n @Input({ required: true }) assetId!: string;\n @Input({ required: true }) data!: RecordsOverviewUi[];\n getFormattedNumber = stringToFormattedNumberString;\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
CategoryRecordsFirst recordLast record
\n \n {{ row.category }}\n \n {{ row.category }}\n {{ getFormattedNumber(row.count.toString(), 0, 0) }}{{ row.firstDate | date : 'dd. MMM yyyy' }}{{ row.lastDate | date : 'dd. MMM yyyy' }}
\n","import { Component } from '@angular/core';\nimport { RouteItemUi } from 'src/app/shared/components/route-selector/route-selector.component';\n\n@Component({\n selector: 'esg-data-collect-page',\n templateUrl: './data-collect-page.component.html',\n styleUrls: ['./data-collect-page.component.scss'],\n})\nexport class DataCollectPageComponent {\n constructor() {}\n}\n\nexport const RecordCategoryRoutes: RouteItemUi[] = [\n {\n label: 'Fuel Combustion',\n link: ['/data-collect/fuel-combustion'],\n },\n {\n label: 'Electricity',\n link: ['/data-collect/electricity'],\n },\n {\n label: 'Waste',\n link: ['/data-collect/waste'],\n },\n {\n label: 'Business Travel',\n link: ['/data-collect/business-travel'],\n },\n {\n label: 'Employee commuting',\n link: ['/data-collect/employee-commuting'],\n },\n {\n label: 'Purchased Fish',\n link: ['/data-collect/purchased-fish'],\n },\n {\n label: 'Catched Fish',\n link: ['/data-collect/catched-fish'],\n },\n {\n label: 'Spills to environment',\n link: ['/data-collect/spills-to-environment'],\n },\n {\n label: 'Marine Protected Areas',\n link: ['/data-collect/marine-protected-areas'],\n },\n {\n label: 'Gender, Position and Age Profiles',\n link: ['/data-collect/gender-diversity-equality'],\n },\n {\n label: 'Parental Leave',\n link: ['/data-collect/parental-leave'],\n },\n {\n label: 'Sick Leave',\n link: ['/data-collect/sick-leave'],\n },\n {\n label: 'Work related injuries',\n link: ['/data-collect/work-related-injuries'],\n },\n {\n label: 'Marine Casualties',\n link: ['/data-collect/marine-casualties'],\n },\n {\n label: 'New Hires and Turnovers',\n link: ['/data-collect/new-hires-and-turnovers'],\n },\n {\n label: 'Corruption risk',\n link: ['/data-collect/corruption-risk'],\n },\n {\n label: 'Fines',\n link: ['/data-collect/fines'],\n },\n];\n","
\n
\n \n
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DataCollectPageComponent } from './data-collect-page.component';\nimport { RouterModule } from '@angular/router';\nimport { AppLayoutComponent } from 'src/app/app-layout/app-layout.component';\nimport { UiModule } from 'src/app/shared/ui/ui.module';\nimport { MsalGuard } from '@azure/msal-angular';\nimport { SharedComponentsModule } from 'src/app/shared/components/shared-components.module';\nimport { SpillsToEnvironmentComponent } from './records/spills-to-environment/spills-to-environment.component';\nimport { MarineProtectedAreasComponent } from './records/marine-protected-areas/marine-protected-areas.component';\nimport { RecordsMenuComponent } from './records-menu/records-menu.component';\nimport { WasteComponent } from './records/waste/waste.component';\nimport { SegmentedControlComponent } from './shared/segmented-control/segmented-control.component';\nimport { CorruptionRiskComponent } from './records/corruption-risk/corruption-risk.component';\nimport { FinesComponent } from './records/fines/fines.component';\nimport { LobbyPoliticalContributionComponent } from './records/lobby-political-contribution/lobby-political-contribution.component';\nimport { WhistleblowingComponent } from './records/whistleblowing/whistleblowing.component';\nimport { ElectricityComponent } from './records/electricity/electricity.component';\nimport { EmployeeCommutingComponent } from './profiles/employee-commuting/employee-commuting.component';\nimport { ProfileFormComponent } from './shared/profile-form/profile-form.component';\nimport { EmployeeCommutingDetailsComponent } from './profiles/employee-commuting/employee-commuting-details/employee-commuting-details.component';\nimport { EmployeeCommutingRecordsComponent } from './profiles/employee-commuting/employee-commuting-records/employee-commuting-records.component';\nimport { LeasedAssetsComponent } from './records/leased-assets/leased-assets.component';\nimport { DirectiveModule } from 'src/app/shared/directives/directive.module';\nimport { NewHiresAndTurnoverComponent } from './records/new-hires-and-turnover/new-hires-and-turnover.component';\nimport { GenderDiversityEqualityComponent } from './profiles/gender-diversity-equality/gender-diversity-equality.component';\nimport { GenderDiversityEqualityDetailsComponent } from './profiles/gender-diversity-equality/gender-diversity-equality-details/gender-diversity-equality-details.component';\nimport { TableModule } from 'src/app/shared/table/table.module';\nimport { RecordsDefaultComponent } from './records-default/records-default.component';\nimport { RecordFormDialogComponent } from './record-form-dialog/record-form-dialog.component';\nimport { RecordFormTableComponent } from './shared/record-form-table/record-form-table.component';\nimport { WhistleblowingFormTableComponent } from './records/whistleblowing/whistleblowing-form-table/whistleblowing-form-table.component';\nimport { WasteFormTableComponent } from './records/waste/waste-form-table/waste-form-table.component';\nimport { NewHiresAndTurnoverFormTableComponent } from './records/new-hires-and-turnover/new-hires-and-turnover-form-table/new-hires-and-turnover-form-table.component';\nimport { MarineProtectedAreasFormTableComponent } from './records/marine-protected-areas/marine-protected-areas-form-table/marine-protected-areas-form-table.component';\nimport { LobbyPoliticalContibutionFormTableComponent } from './records/lobby-political-contribution/lobby-political-contibution-form-table/lobby-political-contibution-form-table.component';\nimport { LeasedAssetsFormTableComponent } from './records/leased-assets/leased-assets-form-table/leased-assets-form-table.component';\nimport { FinesFormTableComponent } from './records/fines/fines-form-table/fines-form-table.component';\nimport { ElectricityFormTableComponent } from './records/electricity/electricity-form-table/electricity-form-table.component';\nimport { CorruptionRiskFormTableComponent } from './records/corruption-risk/corruption-risk-form-table/corruption-risk-form-table.component';\nimport { SpillsToEnvironmentFormTableComponent } from './records/spills-to-environment/spills-to-environment-form-table/spills-to-environment-form-table.component';\nimport { AirTravelFormTableComponent } from './records/business-travel/air-travel-form-table/air-travel-form-table.component';\nimport { HotelNightsFormTableComponent } from './records/business-travel/hotel-nights-form-table/hotel-nights-form-table.component';\nimport { VehicleCombustionFormTableComponent } from './records/fuel-combustion/vehicle-combustion-form-table/vehicle-combustion-form-table.component';\nimport { VesselCombustionFormTableComponent } from './records/fuel-combustion/vessel-combustion-form-table/vessel-combustion-form-table.component';\nimport { WorkRelatedInjuriesFormTableComponent } from './records/work-related-injuries/work-related-injuries-form-table/work-related-injuries-form-table.component';\nimport { ParentalLeaveFormTableComponent } from './records/parental-leave/parental-leave-form-table/parental-leave-form-table.component';\nimport { SickLeaveFormTableComponent } from './records/sick-leave/sick-leave-form-table/sick-leave-form-table.component';\nimport { AirTravelComponent } from './records/business-travel/air-travel.component';\nimport { HotelNightsComponent } from './records/business-travel/hotel-nights.component';\nimport { VesselCombustionComponent } from './records/fuel-combustion/vessel-combustion.component';\nimport { VehicleCombustionComponent } from './records/fuel-combustion/vehicle-combustion.component';\nimport { SickLeaveComponent } from './records/sick-leave/sick-leave.component';\nimport { ParentalLeaveComponent } from './records/parental-leave/parental-leave.component';\nimport { WorkRelatedInjuriesComponent } from './records/work-related-injuries/work-related-injuries.component';\nimport { GenderDiversityEqualityFormTableComponent } from './profiles/gender-diversity-equality/gender-diversity-equality-form-table/gender-diversity-equality-form-table.component';\nimport { EmployeeCommutingFormTableComponent } from './profiles/employee-commuting/employee-commuting-form-table/employee-commuting-form-table.component';\nimport { GenderDiversityEqualityRecordsComponent } from './profiles/gender-diversity-equality/gender-diversity-equality-records/gender-diversity-equality-records.component';\nimport { KeyboardShortcutsDirective } from 'src/app/shared/directives/keyboard-shortcuts.directive';\nimport { MarineCasualtyComponent } from './records/marine-casualty/marine-casualty.component';\nimport { MarineCasualtyFormTableComponent } from './records/marine-casualty/marine-casualty-form-table/marine-casualty-form-table.component';\nimport { SideNavigationComponent } from 'src/app/app-layout/side-navigation/side-navigation.component';\nimport { PurchasedFishComponent } from './records/purchased-fish/purchased-fish.component';\nimport { PurchasedFishFormTableComponent } from './records/purchased-fish/purchased-fish-form-table/purchased-fish-form-table.component';\nimport { CatchedFishComponent } from './records/catched-fish/catched-fish.component';\nimport { CatchedFishFormTableComponent } from './records/catched-fish/catched-fish-form-table/catched-fish-form-table.component';\n@NgModule({\n declarations: [\n DataCollectPageComponent,\n WasteComponent,\n SpillsToEnvironmentComponent,\n MarineProtectedAreasComponent,\n VesselCombustionComponent,\n VehicleCombustionComponent,\n RecordsMenuComponent,\n SegmentedControlComponent,\n CorruptionRiskComponent,\n FinesComponent,\n SickLeaveComponent,\n WorkRelatedInjuriesComponent,\n MarineCasualtyComponent,\n AirTravelComponent,\n ParentalLeaveComponent,\n LobbyPoliticalContributionComponent,\n WhistleblowingComponent,\n ElectricityComponent,\n EmployeeCommutingComponent,\n ProfileFormComponent,\n EmployeeCommutingDetailsComponent,\n EmployeeCommutingRecordsComponent,\n LeasedAssetsComponent,\n NewHiresAndTurnoverComponent,\n GenderDiversityEqualityComponent,\n GenderDiversityEqualityDetailsComponent,\n RecordsDefaultComponent,\n RecordFormDialogComponent,\n RecordFormTableComponent,\n WhistleblowingFormTableComponent,\n WasteFormTableComponent,\n SpillsToEnvironmentFormTableComponent,\n NewHiresAndTurnoverFormTableComponent,\n MarineProtectedAreasFormTableComponent,\n LobbyPoliticalContibutionFormTableComponent,\n LeasedAssetsFormTableComponent,\n FinesFormTableComponent,\n ElectricityFormTableComponent,\n CorruptionRiskFormTableComponent,\n AirTravelFormTableComponent,\n HotelNightsComponent,\n HotelNightsFormTableComponent,\n VehicleCombustionFormTableComponent,\n VesselCombustionFormTableComponent,\n WorkRelatedInjuriesFormTableComponent,\n MarineCasualtyFormTableComponent,\n ParentalLeaveFormTableComponent,\n SickLeaveFormTableComponent,\n GenderDiversityEqualityFormTableComponent,\n EmployeeCommutingFormTableComponent,\n GenderDiversityEqualityRecordsComponent,\n PurchasedFishComponent,\n PurchasedFishFormTableComponent,\n CatchedFishComponent,\n CatchedFishFormTableComponent\n ],\n imports: [\n CommonModule,\n UiModule,\n TableModule,\n SharedComponentsModule,\n DirectiveModule,\n KeyboardShortcutsDirective,\n RouterModule.forChild([\n {\n path: `data-collect`,\n component: AppLayoutComponent,\n children: [\n {\n path: ``,\n component: SideNavigationComponent,\n outlet: 'side',\n },\n {\n path: ``,\n component: DataCollectPageComponent,\n children: [\n { path: '', component: RecordsDefaultComponent },\n // Direct Emissions\n {\n path: `fuel-combustion`,\n children: [\n { path: '', redirectTo: 'vessels', pathMatch: 'full' },\n { path: `vessels`, component: VesselCombustionComponent },\n { path: `vehicles-crafts-machinery`, component: VehicleCombustionComponent },\n ],\n },\n // Indirect Emissions\n { path: `electricity`, component: ElectricityComponent },\n { path: `waste`, component: WasteComponent },\n {\n path: `business-travel`,\n children: [\n { path: '', redirectTo: 'air-travel', pathMatch: 'full' },\n { path: `air-travel`, component: AirTravelComponent },\n { path: `hotel-nights`, component: HotelNightsComponent },\n ],\n },\n { path: `employee-commuting`, component: EmployeeCommutingComponent },\n { path: `purchased-fish`, component: PurchasedFishComponent},\n { path: `catched-fish`, component: CatchedFishComponent},\n \n // Embedded Emissions\n { path: `leased-assets`, component: LeasedAssetsComponent },\n // Biodiversity\n { path: `spills-to-environment`, component: SpillsToEnvironmentComponent },\n { path: `marine-protected-areas`, component: MarineProtectedAreasComponent },\n // Employees, Health and Safety\n { path: `gender-diversity-equality`, component: GenderDiversityEqualityComponent },\n { path: `parental-leave`, component: ParentalLeaveComponent },\n { path: `sick-leave`, component: SickLeaveComponent },\n { path: `work-related-injuries`, component: WorkRelatedInjuriesComponent },\n { path: `marine-casualties`, component: MarineCasualtyComponent },\n { path: `new-hires-and-turnovers`, component: NewHiresAndTurnoverComponent },\n // Business Ethics\n { path: `corruption-risk`, component: CorruptionRiskComponent },\n { path: `fines`, component: FinesComponent },\n { path: `lobby-political-contribution`, component: LobbyPoliticalContributionComponent },\n { path: `whistleblowing`, component: WhistleblowingComponent },\n ],\n },\n ],\n canActivate: [MsalGuard],\n },\n ]),\n ],\n exports: [RecordFormDialogComponent],\n})\nexport class DataCollectModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { IOption, ProfileInputOptions } from 'src/app/static-data/options';\nimport { CommutingProfileForm, CommutingProfileUi } from '../employee-commuting-state.service';\nimport { EmployeeCommutingDetailsStateService } from '../employee-commuting-records/employee-commuting-details-state.service';\n\n@Component({\n selector: 'esg-employee-commuting-details',\n templateUrl: './employee-commuting-details.component.html',\n styleUrls: ['./employee-commuting-details.component.scss'],\n providers: [EmployeeCommutingDetailsStateService],\n})\nexport class EmployeeCommutingDetailsComponent {\n @Input({ required: true }) profile!: CommutingProfileUi;\n @Input({ required: true }) formgroup!: FormGroup;\n @Output() onUpdate = new EventEmitter();\n\n inputOptions: IOption[] = ProfileInputOptions;\n\n constructor(public state: EmployeeCommutingDetailsStateService) {}\n\n handleDropdownChange(formControl: FormControl, option: IOption) {\n if (option !== formControl.value) {\n formControl.setValue(option);\n this.onUpdate.emit();\n }\n }\n}\n","
\n \n

\n {{ profile.name }}\n

\n
\n
\n Profile type\n
\n \n
\n Total Employees\n
\n \n
\n Total Home Office Days\n
\n \n
\n Total Commuting Days\n
\n \n
\n
\n \n
\n","import { Component, Input } from '@angular/core';\nimport { RecordForm, RecordFormTableComponent } from '../../../shared/record-form-table/record-form-table.component';\nimport { CommutingModeByTransport, CommutingTransportOptions, IOption } from 'src/app/static-data/options';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport {\n CreateEmployeeCommutingDataRecordCommandParams,\n DataRecordType,\n EmployeeCommutingDataRecord,\n EmployeeCommutingMode,\n EmployeeCommutingTransport,\n InputType,\n UpdateEmployeeCommutingDataRecordCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\nimport { RecordHeaderCell } from 'src/app/shared/components/records-table/records-table.component';\n\ninterface EmployeeCommutingRecordForm extends RecordForm {\n transport: FormControl;\n mode: FormControl;\n employees: FormControl;\n days: FormControl;\n distance_km: FormControl;\n cO2Measured_kg: FormControl;\n}\n\n@Component({\n selector: 'esg-employee-commuting-form-table',\n templateUrl: './employee-commuting-form-table.component.html',\n styleUrls: ['../../../shared/record-form-table/record-form-table.component.scss'],\n providers: [{ provide: RecordFormTableComponent, useExisting: EmployeeCommutingFormTableComponent }],\n})\nexport class EmployeeCommutingFormTableComponent extends RecordFormTableComponent {\n @Input({ required: true }) profileId!: string;\n\n headerCells: RecordHeaderCell[] = [\n { columnId: 'asset', label: 'Asset', description: '', number: false, sortFieldName: 'AssetName' },\n { columnId: 'transport', label: 'Transport', description: 'Type', number: false, sortFieldName: 'TransportName' },\n { columnId: 'mode', label: 'Mode', description: 'Type', number: false, sortFieldName: 'ModeName' },\n { columnId: 'employees', label: 'Employees', description: 'Numbers', number: true },\n { columnId: 'days', label: 'Days', description: 'Numbers', number: true },\n { columnId: 'distance', label: 'Distance', description: 'Kilometres', number: true, sortFieldName: 'distance_km' },\n { columnId: 'measured', label: 'Measured', description: 'kgCO2-e', number: true, sortFieldName: 'cO2Measured_kg' },\n ];\n\n recordFc?: EmployeeCommutingRecordForm = undefined;\n recordFormgroup?: FormGroup = undefined;\n\n commutingTransportOptions: IOption[] = CommutingTransportOptions;\n commutingModeOptions: IOption[] = CommutingModeByTransport[EmployeeCommutingMode.Car];\n\n setRecordsRows() {\n this.dataRecordsRows = (this.dataRecords as EmployeeCommutingDataRecord[]).map(record => ({\n id: record.id,\n cells: [\n {\n columnId: 'asset',\n value: this.assetOptions.flatMap(group => group.options).find(c => c.value === record.assetId)?.label || '',\n number: false,\n },\n {\n columnId: 'transport',\n value: this.commutingTransportOptions.find(c => c.value === record.transport)?.label || '',\n number: false,\n },\n {\n columnId: 'mode',\n value: CommutingModeByTransport[record.transport].find(c => c.value === record.mode)?.label || 'n/a',\n number: false,\n },\n {\n columnId: 'employees',\n value: record.employees.toString(),\n number: true,\n },\n {\n columnId: 'days',\n value: record.days.toString(),\n number: true,\n },\n {\n columnId: 'distance',\n value: record.distance_km.toString(),\n number: true,\n },\n {\n columnId: 'measured',\n value: record.cO2Measured_kg?.toString() || '',\n number: true,\n },\n ],\n }));\n }\n\n handleOnIniateAddRecord() {\n if (this.editRecordId) this.handleCloseForm();\n this.setAddRecordForm();\n }\n\n setAddRecordForm() {\n this.recordFc = {\n startDate: new FormControl(new Date(), {\n nonNullable: true,\n }),\n endDate: new FormControl(new Date(), {\n nonNullable: true,\n }),\n asset: new FormControl(this.getDefaultAssetOption(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n transport: new FormControl(this.commutingTransportOptions[0], {\n validators: [Validators.required],\n nonNullable: true,\n }),\n mode: new FormControl(this.commutingModeOptions[0], {\n nonNullable: true,\n }),\n employees: new FormControl('', {\n validators: [Validators.required],\n nonNullable: true,\n }),\n days: new FormControl('', {\n validators: [Validators.required],\n nonNullable: true,\n }),\n distance_km: new FormControl('', {\n validators: [Validators.required],\n nonNullable: true,\n }),\n cO2Measured_kg: new FormControl('', {\n nonNullable: true,\n }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n\n setEditRecordForm(id: string) {\n this.editRecordId = id;\n const record = this.dataRecords.find(record => record.id === id) as EmployeeCommutingDataRecord;\n this.commutingModeOptions = CommutingModeByTransport[record.transport];\n if (record) {\n this.recordFc = {\n startDate: new FormControl(record.startDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(record.endDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(\n this.assetOptions.flatMap(group => group.options).find(opt => opt.value === record.assetId) ||\n this.getDefaultAssetOption(),\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n transport: new FormControl(\n this.commutingTransportOptions.find(opt => opt.value === record.transport) ||\n this.commutingTransportOptions[0],\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n mode: new FormControl(\n this.commutingModeOptions.find(opt => opt.value === record.mode) || this.commutingModeOptions[0],\n {\n nonNullable: true,\n }\n ),\n employees: new FormControl(record.employees.toString(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n days: new FormControl(record.days.toString(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n distance_km: new FormControl(record.distance_km.toString(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n cO2Measured_kg: new FormControl(record.cO2Measured_kg?.toString() || '', {\n nonNullable: true,\n }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n }\n\n getParams():\n | CreateEmployeeCommutingDataRecordCommandParams\n | UpdateEmployeeCommutingDataRecordCommandParams\n | undefined {\n const transport = Object.values(EmployeeCommutingTransport).find(\n type => type === this.recordFc?.transport.value.value\n );\n const mode = Object.values(EmployeeCommutingMode).find(type => type === this.recordFc?.mode.value?.value);\n if (\n this.recordFormgroup?.valid &&\n this.recordFc &&\n this.profileId &&\n this.recordFc.asset.value?.value &&\n transport\n ) {\n const commuting = {\n dataProfileId: this.profileId,\n type: DataRecordType.EmployeeCommuting,\n assetId: this.recordFc.asset.value.value,\n inputType: InputType.Manual,\n transport: transport,\n mode: mode,\n employees: formattedStringToNumber(this.recordFc.employees.value || '') || 0,\n days: formattedStringToNumber(this.recordFc.days.value || '') || 0,\n distance_km: formattedStringToNumber(this.recordFc.distance_km.value || '') || 0,\n cO2Measured_kg: formattedStringToNumber(this.recordFc.cO2Measured_kg.value || ''),\n };\n if (this.editRecordId) {\n return new UpdateEmployeeCommutingDataRecordCommandParams({ id: this.editRecordId, ...commuting });\n } else {\n return new CreateEmployeeCommutingDataRecordCommandParams(commuting);\n }\n }\n return undefined;\n }\n\n handleTransportChange(option: IOption) {\n const transport = Object.values(EmployeeCommutingTransport).find(type => type === option.value);\n if (this.recordFc && transport) {\n this.commutingModeOptions = CommutingModeByTransport[transport];\n this.handleDropdownChange(this.recordFc.transport, option);\n this.handleDropdownChange(\n this.recordFc.mode,\n this.commutingModeOptions.find(mode => mode.value === this.recordFc?.mode.value?.value) ||\n this.commutingModeOptions[0]\n );\n }\n }\n\n resetForm() {\n super.resetForm();\n this.commutingModeOptions = CommutingModeByTransport[EmployeeCommutingMode.Car];\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n","import { Injectable } from '@angular/core';\nimport {\n DataRecordType,\n AssetType,\n EmployeeCommutingMode,\n DataRecordCategory,\n} from 'src/api-client/report-api.generated';\nimport { IOption, CommutingTransportOptions, CommutingModeByTransport } from 'src/app/static-data/options';\nimport { RecordsStateService } from '../../../records/records-state.service';\n\n@Injectable()\nexport class EmployeeCommutingDetailsStateService extends RecordsStateService {\n recordCategory = DataRecordCategory.IndirectEmissionsEmployeeCommuting;\n\n profileId?: string;\n\n assetCategories = [AssetType.Facility];\n commutingTransportOptions: IOption[] = CommutingTransportOptions;\n commutingModeOptions: IOption[] = CommutingModeByTransport[EmployeeCommutingMode.Car];\n\n get intersectionObserverRootMargin() {\n return 136;\n }\n\n setProfileId(profileId: string) {\n this.profileId = profileId;\n }\n\n async loadRecords() {\n await this.getDataRecords(DataRecordType.EmployeeCommuting, this.profileId);\n }\n\n handleDeleteAllFilteredRecordsSubmit() {\n this.handleOnDeleteAllFilteredRecords(DataRecordType.EmployeeCommuting, this.profileId);\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { EmployeeCommutingDetailsStateService } from './employee-commuting-details-state.service';\n\n@Component({\n selector: 'esg-employee-commuting-records',\n templateUrl: './employee-commuting-records.component.html',\n styleUrls: ['../../../records/records.component.scss'],\n})\nexport class EmployeeCommutingRecordsComponent {\n @Input({ required: true }) profileId!: string;\n constructor(public state: EmployeeCommutingDetailsStateService) {}\n\n ngOnInit(): void {\n this.state.setProfileId(this.profileId);\n this.state.init();\n }\n}\n","\n\n\n\n","import { Injectable } from '@angular/core';\nimport {\n DataProfileType,\n DataRecordCategory,\n EmployeeCommutingDataProfile,\n UpdateEmployeeCommutingDataProfileCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { getTimeLabelFromPeriod } from 'src/app/static-data/time-labels';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ITimePeriodData } from 'src/app/shared/components/time-period/time-period.component';\nimport { IOption, ProfileInputOptions } from 'src/app/static-data/options';\nimport { CreateEmployeeCommutingDataProfileCommandParams } from 'src/api-client/report-api.generated';\nimport { InputType } from 'src/api-client/report-api.generated';\nimport { formattedStringToNumber, stringToFormattedNumberString } from 'src/app/shared/utils/number-converters';\nimport { ProfileForm, ProfilesStateService, ProfileUi } from '../profiles-state.service';\n\nexport interface CommutingProfileForm extends ProfileForm {\n inputType: FormControl;\n timePeriod: FormControl;\n totalEmployees: FormControl;\n totalHomeOfficeDays: FormControl;\n totalCommutingDays: FormControl;\n}\n\nexport interface CommutingProfileUi extends ProfileUi {\n totalCommutingDays: Number;\n totalEmployees: Number;\n totalHomeOfficeDays: Number;\n}\n\n@Injectable()\nexport class EmployeeCommutingStateService extends ProfilesStateService {\n selectedProfile?: CommutingProfileUi;\n profiles: CommutingProfileUi[] = [];\n profileFormgroup?: FormGroup = undefined;\n\n async getProfiles() {\n const response = await this.dataProfileApiService.getDataProfilesByType(DataProfileType.EmployeeCommuting);\n if (response.success)\n this.profiles = response.result.map(profile => {\n const commutingProfile = profile as EmployeeCommutingDataProfile;\n return {\n id: commutingProfile.id,\n name: commutingProfile.timePeriod.period\n ? getTimeLabelFromPeriod(commutingProfile.timePeriod)\n : 'Annual ' + getTimeLabelFromPeriod(commutingProfile.timePeriod),\n description: commutingProfile.description,\n timePeriod: commutingProfile.timePeriod,\n type: commutingProfile.inputType,\n totalCommutingDays: commutingProfile.totalCommutingDays,\n totalEmployees: commutingProfile.totalEmployees,\n totalHomeOfficeDays: commutingProfile.totalHomeOfficeDays,\n };\n });\n }\n\n async getDataCategoryDetails() {\n const { result } = await this.dataCategoryApiService.getDataCategoryByDataRecordCategory(\n DataRecordCategory.IndirectEmissionsEmployeeCommuting\n );\n this.categoryDetails = {\n name: result.name,\n guidance: result.guidance,\n };\n }\n\n initateAdd() {\n this.showFormDialog = true;\n this.profileFormgroup = new FormGroup({\n timePeriod: new FormControl(undefined, {\n nonNullable: true,\n validators: [Validators.required],\n }),\n inputType: new FormControl(ProfileInputOptions[0], {\n nonNullable: true,\n validators: [Validators.required],\n }),\n totalCommutingDays: new FormControl('0', {\n nonNullable: true,\n validators: [Validators.required],\n }),\n totalEmployees: new FormControl('0', {\n nonNullable: true,\n validators: [Validators.required],\n }),\n totalHomeOfficeDays: new FormControl('0', {\n nonNullable: true,\n validators: [Validators.required],\n }),\n });\n }\n\n handleSelectProfile(profile: CommutingProfileUi) {\n this.selectedProfile = profile;\n this.profileFormgroup = new FormGroup({\n timePeriod: new FormControl(profile.timePeriod, {\n nonNullable: true,\n validators: [Validators.required],\n }),\n inputType: new FormControl(\n ProfileInputOptions.find(opt => opt.value === profile.type) || ProfileInputOptions[0],\n {\n nonNullable: true,\n validators: [Validators.required],\n }\n ),\n totalCommutingDays: new FormControl(\n stringToFormattedNumberString(profile.totalCommutingDays.toString()),\n {\n nonNullable: true,\n validators: [Validators.required],\n }\n ),\n totalEmployees: new FormControl(stringToFormattedNumberString(profile.totalEmployees.toString()), {\n nonNullable: true,\n validators: [Validators.required],\n }),\n totalHomeOfficeDays: new FormControl(\n stringToFormattedNumberString(profile.totalHomeOfficeDays.toString()),\n {\n nonNullable: true,\n validators: [Validators.required],\n }\n ),\n });\n }\n\n async formSubmit() {\n if (!this.profileFormgroup) {\n return;\n }\n\n const formOpen = this.showFormDialog;\n const timePeriod = this.profileFormgroup.controls.timePeriod.value;\n const inputType = Object.values(InputType).find(\n type => type === this.profileFormgroup?.controls.inputType.value.value\n );\n\n if (!inputType || !timePeriod) {\n return;\n }\n\n this.handleCancelForm();\n if (this.selectedProfile) {\n await this.dataProfileApiService.updateDataProfile(\n new UpdateEmployeeCommutingDataProfileCommandParams({\n id: this.selectedProfile.id,\n description:\n 'A commuting profile is based on travel patterns for each employee based on average monthly commuting where each employee has 20 commuting days. The total of commuting days in a package is calculated by total employees x 20 minus total home office days',\n type: DataProfileType.EmployeeCommuting,\n inputType: inputType,\n timePeriodType: timePeriod.type,\n year: timePeriod.year,\n period: timePeriod.period,\n totalEmployees: formattedStringToNumber(this.profileFormgroup.controls.totalEmployees.value || '') || 0,\n totalHomeOfficeDays:\n formattedStringToNumber(this.profileFormgroup.controls.totalHomeOfficeDays.value || '') || 0,\n totalCommutingDays:\n formattedStringToNumber(this.profileFormgroup.controls.totalCommutingDays.value || '') || 0,\n })\n );\n if (formOpen) {\n await this.getProfiles();\n this.selectedProfile = this.profiles.find(profile => profile.id === this.selectedProfile?.id);\n }\n } else {\n this.updating = true;\n await this.dataProfileApiService.createDataProfile(\n new CreateEmployeeCommutingDataProfileCommandParams({\n description:\n 'A commuting profile is based on travel patterns for each employee based on average monthly commuting where each employee has 20 commuting days. The total of commuting days in a package is calculated by total employees x 20 minus total home office days',\n type: DataProfileType.EmployeeCommuting,\n inputType: inputType,\n timePeriodType: timePeriod.type,\n year: timePeriod.year,\n period: timePeriod.period,\n totalEmployees: 0,\n totalHomeOfficeDays: 0,\n totalCommutingDays: 0,\n })\n );\n await this.getProfiles();\n this.updating = false;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { EmployeeCommutingStateService } from './employee-commuting-state.service';\n\n@Component({\n selector: 'esg-employee-commuting',\n templateUrl: './employee-commuting.component.html',\n styleUrls: ['../profiles.component.scss'],\n providers: [EmployeeCommutingStateService],\n})\nexport class EmployeeCommutingComponent {\n constructor(public state: EmployeeCommutingStateService) {}\n}\n","Select category\n\n \n\n\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
COMMUTING PROFILEPROFILE TYPE
{{ profile.name }}{{ profile.type }}\n
\n Details\n \n \n \n
\n
\n \n
\n\n \n\n\n\n","import { Injectable } from '@angular/core';\nimport {\n DataRecordType,\n CreateEmployeeGenderDiversityAndEqualityDataRecordCommandParams,\n DataRecordCategory,\n Gender,\n EmploymentType,\n PositionLevel,\n Location,\n ICreateEmployeeGenderDiversityAndEqualityDataRecordCommandParams,\n InputType,\n ContractType,\n} from 'src/api-client/report-api.generated';\nimport {\n ContractOptions,\n EmploymentOptions,\n GenderOptions,\n IOption,\n LocationOptions,\n PositionLevelOptions,\n generateAgeOptions,\n} from 'src/app/static-data/options';\nimport { RecordsStateService } from '../../../records/records-state.service';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { AssetApiService } from 'src/app/api-client/report-api/asset-api-service';\nimport { DataRecordApiService } from 'src/app/api-client/report-api/data-record-api-service';\nimport { DataCategoryApiService } from 'src/app/api-client/report-api/categories-api-service';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { RegionClientApiService } from 'src/app/api-client/report-api/region-api-service';\nimport { sortOptionsAlphabetically } from 'src/app/shared/utils/array';\nimport { FieldConfig } from 'src/app/shared/components/data-import-from-excel/excel-exporter';\nimport {\n ExcelImportValidationMessage,\n ImportDataOutput,\n validateExcelOptionColumn,\n} from 'src/app/shared/components/data-import-from-excel/data-import-from-excel.component';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport { IntegrationApiService } from 'src/app/api-client/integration-api/integration-api-service';\nimport { generateGUID } from 'src/app/shared/utils/guid';\n\n@Injectable()\nexport class GenderDiversityEqualityDetailsRecordsStateService extends RecordsStateService {\n title = 'Employee profile records';\n recordCategory = DataRecordCategory.EmployeesGenderEqualityAndDiversity;\n\n profileId?: string;\n assetId?: string;\n\n regionOptions: IOption[] = [];\n ageOptions = generateAgeOptions();\n employmentOptions = EmploymentOptions;\n contractOptions = ContractOptions;\n genderOptions = GenderOptions;\n positionLevelOptions = PositionLevelOptions;\n locationOptions = LocationOptions;\n\n importFromExcelEnabled = true;\n importFromExcelFieldConfigs: FieldConfig[] = [\n { propertyName: 'employeeId', title: 'Employee', type: 'string' },\n { propertyName: 'yearOfBirth', title: 'Year Of Birth', type: 'number' },\n { propertyName: 'gender', title: 'Gender', type: 'string' },\n { propertyName: 'employment', title: 'Employment', type: 'string', optional: true },\n { propertyName: 'contract', title: 'Contract', type: 'string', optional: true },\n { propertyName: 'position', title: 'Position', type: 'string' },\n { propertyName: 'location', title: 'Location', type: 'string', optional: true },\n { propertyName: 'region', title: 'Region', type: 'string', optional: true },\n { propertyName: 'salary', title: 'Salary', type: 'number', optional: true },\n ];\n\n get intersectionObserverRootMargin() {\n return 136;\n }\n\n importDataFromExcel(data: ImportDataOutput) {\n var dataSetId = generateGUID();\n this.importingInProgress = true;\n let validationMessages: ExcelImportValidationMessage[] = [];\n\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'gender',\n this.genderOptions,\n data.records,\n 'Gender'\n );\n\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'employment',\n this.employmentOptions,\n data.records,\n 'Employment',\n false\n );\n\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'contract',\n this.contractOptions,\n data.records,\n 'Contract',\n false\n );\n\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'position',\n this.positionLevelOptions,\n data.records,\n 'Position Level'\n );\n\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'location',\n this.locationOptions,\n data.records,\n 'Location',\n false\n );\n\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'region',\n this.regionOptions,\n data.records,\n 'Region',\n false\n );\n\n if (validationMessages.length) {\n validationMessages.forEach(message => {\n this.notificationService.showError(message.title, message.description);\n });\n this.importingInProgress = false;\n return;\n }\n\n const addRecordPromises = data.records.map((record, index) => {\n const gender = this.getExcelOptionColumn('gender', this.genderOptions, record, 'Gender');\n const employment = this.employmentOptions.find(\n type =>\n type.label.toUpperCase() === record.employment?.value?.toUpperCase() ||\n type.value.toUpperCase() === record.employment?.value?.toUpperCase()\n );\n const contract = this.contractOptions.find(\n type =>\n type.label.toUpperCase() === record.contract?.value?.toUpperCase() ||\n type.value.toUpperCase() === record.contract?.value?.toUpperCase()\n );\n const positionLevel = this.getExcelOptionColumn('position', this.positionLevelOptions, record, 'Position level');\n const location = this.locationOptions.find(\n type =>\n type.label.toUpperCase() === record.location?.value?.toUpperCase() ||\n type.value.toUpperCase() === record.location?.value?.toUpperCase()\n );\n const region = this.regionOptions.find(\n region =>\n region.label.toUpperCase() === record.region?.value?.toUpperCase() ||\n region.value.toUpperCase() === record.region?.value?.toUpperCase()\n );\n\n const genderRecord: ICreateEmployeeGenderDiversityAndEqualityDataRecordCommandParams = {\n dataProfileId: this.profileId || '',\n dataSetId: dataSetId,\n assetId: this.assetId || '',\n inputType: InputType.ImportedFromExcel,\n type: DataRecordType.EmployeeGenderDiversityAndEquality,\n employee: record.employeeId?.value,\n yearOfBirth: record.yearOfBirth?.value || 0,\n gender: Gender[gender.value as keyof typeof Gender],\n employment: employment ? EmploymentType[employment.value as keyof typeof EmploymentType] : undefined,\n contract: contract ? ContractType[contract.value as keyof typeof ContractType] : undefined,\n positionLevel: PositionLevel[positionLevel.value as keyof typeof PositionLevel],\n location: location ? Location[location.value as keyof typeof Location] : undefined,\n regionId: region?.value,\n salary: record.salary?.value,\n };\n\n return this.dataRecordService.createDataRecord(\n new CreateEmployeeGenderDiversityAndEqualityDataRecordCommandParams({ ...genderRecord })\n );\n });\n Promise.all(addRecordPromises).then(async response => {\n response.forEach((res, index) => {\n if (res) {\n const addedId = res.result?.id;\n if (addedId) {\n this.newlyAddedRowsIds.push(addedId);\n this.delayRemoveAddedId(addedId, 15000);\n }\n }\n });\n await this.loadRecords();\n this.importingInProgress = false;\n this.importDataFromExcelClose();\n });\n }\n\n constructor(\n appInfo: AppInfoService,\n appConfig: AppConfigurationService,\n assetApiService: AssetApiService,\n dataRecordService: DataRecordApiService,\n dataCategoryApiService: DataCategoryApiService,\n private integrationApiService: IntegrationApiService,\n notificationService: NotificationService,\n router: Router,\n route: ActivatedRoute,\n private regionApiService: RegionClientApiService\n ) {\n super(\n appInfo,\n appConfig,\n assetApiService,\n dataRecordService,\n dataCategoryApiService,\n notificationService,\n router,\n route\n );\n }\n\n setProfileId(profileId: string) {\n this.profileId = profileId;\n }\n\n setAssetId(assetId: string) {\n this.assetId = assetId;\n }\n\n async fetchStaticData() {\n await Promise.all([this.getRegions(), this.getDataCategoryDetails()]);\n }\n\n async fetchOptions() {\n await this.getRegions();\n }\n\n async getRegions() {\n const response = await this.regionApiService.getAllRegionNames();\n this.regionOptions = sortOptionsAlphabetically(\n response.result.map(region => ({ value: region.id, label: region.name }))\n );\n }\n\n async loadRecords() {\n await this.getDataRecords(DataRecordType.EmployeeGenderDiversityAndEquality, this.profileId);\n }\n}\n","import { Component, EventEmitter, Input, Output, SimpleChanges } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { IOption, ProfileInputOptions } from 'src/app/static-data/options';\nimport { GenderProfileForm, GenderProfileUi } from '../gender-diversity-equality-state.service';\nimport { timePeriodToDates } from 'src/app/static-data/time-labels';\nimport { GenderDiversityEqualityDetailsRecordsStateService } from './gender-diversity-equality-details-state.service';\nimport { CurrencyCodes } from 'src/api-client/report-api.generated';\n\n@Component({\n selector: 'esg-gender-diversity-equality-details',\n templateUrl: './gender-diversity-equality-details.component.html',\n styleUrls: ['./gender-diversity-equality-details.component.scss'],\n providers: [GenderDiversityEqualityDetailsRecordsStateService],\n})\nexport class GenderDiversityEqualityDetailsComponent {\n @Input({ required: true }) profile!: GenderProfileUi;\n @Input({ required: true }) formgroup!: FormGroup;\n @Input() currencyCode: string = CurrencyCodes.USD;\n @Input() assetOptions: IOption[] = [];\n @Output() onUpdate = new EventEmitter();\n\n inputOptions: IOption[] = ProfileInputOptions;\n startDate?: Date;\n endDate?: Date;\n\n constructor(public state: GenderDiversityEqualityDetailsRecordsStateService) {}\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.profile && changes.profile.currentValue) {\n [this.startDate, this.endDate] = timePeriodToDates(changes.profile.currentValue.timePeriod);\n }\n }\n\n handleDropdownChange(formControl: FormControl, option: IOption) {\n if (option !== formControl.value) {\n formControl.setValue(option);\n this.onUpdate.emit();\n }\n }\n}\n","\n
\n
\n {{ profile.name }}\n \n
\n\n
\n Asset\n
\n \n
\n Valid From\n \n {{ startDate | date : 'dd. MMM yyyy' }}\n \n Valid To\n \n {{ endDate | date : 'dd. MMM yyyy' }}\n \n
\n
\n
\n \n
\n
\n","import { Component, Input, SimpleChanges } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport {\n ContractType,\n CreateEmployeeGenderDiversityAndEqualityDataRecordCommandParams,\n CurrencyCodes,\n DataRecordType,\n EmployeeGenderDiversityAndEqualityDataRecord,\n EmploymentType,\n Gender,\n InputType,\n Location,\n PositionLevel,\n UpdateEmployeeGenderDiversityAndEqualityDataRecordCommandParams,\n} from 'src/api-client/report-api.generated';\nimport {\n RecordForm,\n RecordFormTableComponent,\n} from 'src/app/pages/data-collect/shared/record-form-table/record-form-table.component';\nimport { RecordHeaderCell } from 'src/app/shared/components/records-table/records-table.component';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\nimport {\n ContractOptions,\n EmploymentOptions,\n GenderOptions,\n IOption,\n LocationOptions,\n PositionLevelOptions,\n generateAgeOptions,\n} from 'src/app/static-data/options';\n\ninterface GenderDiversityEqualityRecordForm extends RecordForm {\n employee: FormControl;\n yearOfBirth: FormControl;\n gender: FormControl;\n employment: FormControl;\n contract: FormControl;\n positionLevel: FormControl;\n location: FormControl;\n region: FormControl;\n salary: FormControl;\n}\n\n@Component({\n selector: 'esg-gender-diversity-equality-form-table',\n templateUrl: './gender-diversity-equality-form-table.component.html',\n styleUrls: ['../../../shared/record-form-table/record-form-table.component.scss'],\n})\nexport class GenderDiversityEqualityFormTableComponent extends RecordFormTableComponent {\n @Input({ required: true }) profileId!: string;\n @Input({ required: true }) assetId!: string;\n @Input() currencyCode: string = CurrencyCodes.USD;\n @Input() regionOptions: IOption[] = [];\n\n headerCells: RecordHeaderCell[] = [\n {\n columnId: 'employee',\n label: 'Employee',\n description: 'Name or ID',\n number: false,\n sortFieldName: 'name_lowercase',\n },\n { columnId: 'yearOfBirth', label: 'Year of birth', description: '', number: false },\n { columnId: 'gender', label: 'Gender', description: '', number: false, sortFieldName: 'GenderName' },\n { columnId: 'employment', label: 'Employment', description: '', number: false },\n {\n columnId: 'contract',\n label: 'Contract',\n description: 'Contract type',\n number: false,\n sortFieldName: 'ContractName',\n },\n { columnId: 'positionLevel', label: 'Position', description: 'Position Level', number: false },\n {\n columnId: 'location',\n label: 'Location',\n description: 'Onshore/Offshore',\n number: false,\n sortFieldName: 'LocationName',\n },\n { columnId: 'region', label: 'Region', description: 'Region', number: false, sortFieldName: 'RegionName' },\n { columnId: 'salary', label: 'Salary', description: 'Annual', number: true },\n ];\n\n recordFc?: GenderDiversityEqualityRecordForm = undefined;\n recordFormgroup?: FormGroup = undefined;\n\n ageOptions = generateAgeOptions();\n employmentOptions = EmploymentOptions;\n contractOptions = ContractOptions;\n genderOptions = GenderOptions;\n positionLevelOptions = PositionLevelOptions;\n locationOptions = LocationOptions;\n\n ngOnChanges(changes: SimpleChanges) {\n super.ngOnChanges(changes);\n if (changes.currencyCode) {\n this.setSalaryDescription(changes.currencyCode.currentValue);\n }\n }\n\n setSalaryDescription(currency: string) {\n this.headerCells[this.headerCells.length - 1].description = 'Annual ' + currency;\n }\n\n setRecordsRows() {\n this.dataRecordsRows = (this.dataRecords as EmployeeGenderDiversityAndEqualityDataRecord[]).map(record => ({\n id: record.id,\n cells: [\n {\n columnId: 'employee',\n value: record.employee.toString(),\n number: false,\n },\n {\n columnId: 'yearOfBirth',\n value: record.yearOfBirth.toString(),\n number: false,\n },\n {\n columnId: 'gender',\n value: this.genderOptions.find(c => c.value === record.gender)?.label || '-',\n number: false,\n },\n {\n columnId: 'employment',\n value: this.employmentOptions.find(c => c.value === record.employment)?.label || '-',\n number: false,\n },\n {\n columnId: 'contract',\n value: this.contractOptions.find(c => c.value === record.contract)?.label || '-',\n number: false,\n },\n {\n columnId: 'positionLevel',\n value: this.positionLevelOptions.find(c => c.value === record.positionLevel)?.label || '-',\n number: false,\n },\n {\n columnId: 'location',\n value: this.locationOptions.find(c => c.value === record.location)?.label || '-',\n number: false,\n },\n {\n columnId: 'region',\n value: this.regionOptions.find(c => c.value === record.regionId)?.label || '-',\n number: false,\n },\n {\n columnId: 'salary',\n value: record.salary?.toString() || '-',\n number: true,\n },\n ],\n }));\n }\n\n handleOnIniateAddRecord() {\n if (this.editRecordId) this.handleCloseForm();\n this.setAddRecordForm();\n }\n\n setAddRecordForm() {\n const defaultBirthYear = new Date().getFullYear() - 40;\n const defaultYearOfBirthOption =\n this.ageOptions.find(option => option.label === defaultBirthYear.toString()) || this.ageOptions[0];\n\n this.recordFc = {\n startDate: new FormControl(new Date(), {\n nonNullable: true,\n }),\n endDate: new FormControl(new Date(), {\n nonNullable: true,\n }),\n asset: new FormControl(undefined, {\n nonNullable: true,\n }),\n employee: new FormControl('', {\n validators: [Validators.required],\n nonNullable: true,\n }),\n yearOfBirth: new FormControl(defaultYearOfBirthOption, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n gender: new FormControl(this.genderOptions[0], {\n validators: [Validators.required],\n nonNullable: true,\n }),\n employment: new FormControl(undefined, {\n nonNullable: true,\n }),\n contract: new FormControl(undefined, {\n nonNullable: true,\n }),\n positionLevel: new FormControl(this.positionLevelOptions[2], {\n validators: [Validators.required],\n nonNullable: true,\n }),\n location: new FormControl(this.locationOptions[0], {\n nonNullable: true,\n }),\n region: new FormControl(this.regionOptions.length ? this.regionOptions[0] : undefined, {\n nonNullable: true,\n }),\n salary: new FormControl('', {\n nonNullable: true,\n }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n\n setEditRecordForm(id: string) {\n this.editRecordId = id;\n const record = this.dataRecords.find(record => record.id === id) as EmployeeGenderDiversityAndEqualityDataRecord;\n if (record) {\n this.recordFc = {\n startDate: new FormControl(record.startDate, {\n nonNullable: true,\n }),\n endDate: new FormControl(record.endDate, {\n nonNullable: true,\n }),\n asset: new FormControl(undefined, {\n nonNullable: true,\n }),\n employee: new FormControl(record.employee, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n yearOfBirth: new FormControl(\n this.ageOptions.find(opt => opt.value === record.yearOfBirth.toString()) || this.ageOptions[0],\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n gender: new FormControl(\n this.genderOptions.find(opt => opt.value === record.gender) || this.genderOptions[0],\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n employment: new FormControl(\n this.employmentOptions.find(opt => opt.value === record.employment),\n {\n nonNullable: true,\n }\n ),\n contract: new FormControl(\n this.contractOptions.find(opt => opt.value === record.contract),\n {\n nonNullable: true,\n }\n ),\n positionLevel: new FormControl(\n this.positionLevelOptions.find(opt => opt.value === record.positionLevel) || this.positionLevelOptions[2],\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n location: new FormControl(\n this.locationOptions.find(opt => opt.value === record.location),\n {\n nonNullable: true,\n }\n ),\n region: new FormControl(\n this.regionOptions.find(opt => opt.value === record.regionId),\n {\n nonNullable: true,\n }\n ),\n salary: new FormControl(record.salary?.toString() || '', {\n nonNullable: true,\n }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n }\n\n getParams():\n | CreateEmployeeGenderDiversityAndEqualityDataRecordCommandParams\n | UpdateEmployeeGenderDiversityAndEqualityDataRecordCommandParams\n | undefined {\n const gender = Object.values(Gender).find(type => type === this.recordFc?.gender.value?.value);\n const employment = Object.values(EmploymentType).find(type => type === this.recordFc?.employment.value?.value);\n const contract = Object.values(ContractType).find(type => type === this.recordFc?.contract.value?.value);\n const positionLevel = Object.values(PositionLevel).find(type => type === this.recordFc?.positionLevel.value.value);\n const location = Object.values(Location).find(type => type === this.recordFc?.location.value?.value);\n const validOptions = gender && positionLevel;\n\n if (this.recordFormgroup?.valid && this.recordFc && this.profileId && this.assetId && validOptions) {\n const genderRecord = {\n dataProfileId: this.profileId,\n type: DataRecordType.EmployeeGenderDiversityAndEquality,\n assetId: this.assetId,\n inputType: InputType.Manual,\n employee: this.recordFc.employee.value,\n yearOfBirth: Number(this.recordFc.yearOfBirth.value.value),\n gender: gender,\n employment: employment,\n contract: contract,\n positionLevel: positionLevel,\n location: location,\n regionId: this.recordFc.region.value?.value,\n salary: formattedStringToNumber(this.recordFc.salary.value || ''),\n };\n if (this.editRecordId) {\n return new UpdateEmployeeGenderDiversityAndEqualityDataRecordCommandParams({\n id: this.editRecordId,\n ...genderRecord,\n });\n } else {\n return new CreateEmployeeGenderDiversityAndEqualityDataRecordCommandParams(genderRecord);\n }\n }\n return undefined;\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n","import { Component, Input } from '@angular/core';\nimport { CurrencyCodes } from 'src/api-client/report-api.generated';\nimport { GenderDiversityEqualityDetailsRecordsStateService } from '../gender-diversity-equality-details/gender-diversity-equality-details-state.service';\n\n@Component({\n selector: 'esg-gender-diversity-equality-records',\n templateUrl: './gender-diversity-equality-records.component.html',\n styleUrls: ['../../../records/records.component.scss'],\n})\nexport class GenderDiversityEqualityRecordsComponent {\n @Input({ required: true }) profileId!: string;\n @Input({ required: true }) assetId!: string;\n @Input() currencyCode: string = CurrencyCodes.USD;\n constructor(public state: GenderDiversityEqualityDetailsRecordsStateService) {}\n\n ngOnInit(): void {\n this.state.setProfileId(this.profileId);\n this.state.setAssetId(this.assetId);\n this.state.init();\n }\n}\n","\n\n\n","import { Injectable } from '@angular/core';\nimport {\n DataProfileType,\n DataRecordCategory,\n EmployeeGenderDiversityAndEqualityDataProfile,\n UpdateEmployeeGenderDiversityAndEqualityDataProfileCommandParams,\n CreateEmployeeGenderDiversityAndEqualityDataProfileCommandParams,\n OrganizationAssetVm,\n AssetType,\n CurrencyCodes,\n} from 'src/api-client/report-api.generated';\nimport { getTimeLabelFromPeriod } from 'src/app/static-data/time-labels';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ITimePeriodData } from 'src/app/shared/components/time-period/time-period.component';\nimport { IOption, ProfileInputOptions } from 'src/app/static-data/options';\nimport { InputType } from 'src/api-client/report-api.generated';\nimport { ProfileForm, ProfileUi, ProfilesStateService } from '../profiles-state.service';\nimport { DataProfileApiService } from 'src/app/api-client/report-api/data-profile-api-service';\nimport { DataCategoryApiService } from 'src/app/api-client/report-api/categories-api-service';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { AssetApiService } from 'src/app/api-client/report-api/asset-api-service';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\n\nexport interface GenderProfileForm extends ProfileForm {\n asset: FormControl;\n}\n\nexport interface GenderProfileUi extends ProfileUi {\n organizationAssetId: string;\n}\n\n@Injectable()\nexport class GenderDiversityEqualityStateService extends ProfilesStateService {\n selectedProfile?: GenderProfileUi;\n profiles: GenderProfileUi[] = [];\n profileFormgroup?: FormGroup = undefined;\n assetOptions: IOption[] = [];\n organizationCurrency: CurrencyCodes = CurrencyCodes.USD;\n\n constructor(\n appInfo: AppInfoService,\n appConfig: AppConfigurationService,\n dataProfileApiService: DataProfileApiService,\n dataCategoryApiService: DataCategoryApiService,\n private assetApiService: AssetApiService\n ) {\n super(appInfo, appConfig, dataProfileApiService, dataCategoryApiService);\n this.fetchStaticData();\n }\n\n async fetchStaticData() {\n await Promise.all([this.getOrganizationAssets()]);\n }\n\n async fetchOptions() {\n await Promise.all([this.getOrganizationAssets()]);\n }\n\n async getOrganizationAssets() {\n const organizationResponse = await this.assetApiService.getAssetsByOrganizationAndType(\n undefined,\n AssetType.Organization\n );\n this.assetOptions = organizationResponse.result.map(a => {\n let asset = a as OrganizationAssetVm;\n if (!asset.subOrganizationId) this.organizationCurrency = asset.currencyCode;\n return { value: asset.id, label: asset.orgOrSuborgName };\n });\n }\n\n async getProfiles() {\n const response = await this.dataProfileApiService.getDataProfilesByType(\n DataProfileType.EmployeeGenderDiversityAndEquality\n );\n if (response.success)\n this.profiles = response.result.map(profile => {\n const genderProfile = profile as EmployeeGenderDiversityAndEqualityDataProfile;\n return {\n id: genderProfile.id,\n name: genderProfile.timePeriod.period\n ? getTimeLabelFromPeriod(genderProfile.timePeriod)\n : 'Annual ' + getTimeLabelFromPeriod(genderProfile.timePeriod),\n description: genderProfile.description,\n timePeriod: genderProfile.timePeriod,\n type: genderProfile.inputType,\n organizationAssetId: genderProfile.organizationAssetId,\n };\n });\n }\n\n async getDataCategoryDetails() {\n const { result } = await this.dataCategoryApiService.getDataCategoryByDataRecordCategory(\n DataRecordCategory.EmployeesGenderEqualityAndDiversity\n );\n this.categoryDetails = {\n name: result.name,\n guidance: result.guidance,\n };\n }\n\n initateAdd() {\n if (this.assetOptions.length) {\n this.showFormDialog = true;\n this.profileFormgroup = new FormGroup({\n timePeriod: new FormControl(undefined, {\n nonNullable: true,\n validators: [Validators.required],\n }),\n inputType: new FormControl(ProfileInputOptions[0], {\n nonNullable: true,\n validators: [Validators.required],\n }),\n asset: new FormControl(this.assetOptions[0], {\n nonNullable: true,\n }),\n });\n }\n }\n\n handleSelectProfile(profile: GenderProfileUi) {\n this.selectedProfile = profile;\n this.profileFormgroup = new FormGroup({\n timePeriod: new FormControl(profile.timePeriod, {\n nonNullable: true,\n validators: [Validators.required],\n }),\n inputType: new FormControl(\n ProfileInputOptions.find(opt => opt.value === profile.type) || ProfileInputOptions[0],\n {\n nonNullable: true,\n validators: [Validators.required],\n }\n ),\n asset: new FormControl(\n this.assetOptions.find(opt => opt.value === profile.organizationAssetId) || this.assetOptions[0],\n {\n nonNullable: true,\n }\n ),\n });\n }\n\n async formSubmit() {\n if (!this.profileFormgroup) {\n return;\n }\n\n const formOpen = this.showFormDialog;\n const timePeriod = this.profileFormgroup.controls.timePeriod.value;\n const inputType = Object.values(InputType).find(\n type => type === this.profileFormgroup?.controls.inputType.value.value\n );\n const assetId = this.profileFormgroup.controls.asset.value.value;\n if (!inputType || !timePeriod || !this.assetOptions.length) {\n return;\n }\n\n this.handleCancelForm();\n if (this.selectedProfile) {\n await this.dataProfileApiService.updateDataProfile(\n new UpdateEmployeeGenderDiversityAndEqualityDataProfileCommandParams({\n id: this.selectedProfile.id,\n description: '',\n type: DataProfileType.EmployeeGenderDiversityAndEquality,\n inputType: inputType,\n timePeriodType: timePeriod.type,\n year: timePeriod.year,\n period: timePeriod.period,\n organizationAssetId: assetId,\n })\n );\n if (formOpen) {\n await this.getProfiles();\n this.selectedProfile = this.profiles.find(profile => profile.id === this.selectedProfile?.id);\n }\n } else {\n this.updating = true;\n await this.dataProfileApiService.createDataProfile(\n new CreateEmployeeGenderDiversityAndEqualityDataProfileCommandParams({\n description: '',\n type: DataProfileType.EmployeeGenderDiversityAndEquality,\n inputType: inputType,\n timePeriodType: timePeriod.type,\n year: timePeriod.year,\n period: timePeriod.period,\n organizationAssetId: assetId,\n })\n );\n await this.getProfiles();\n this.updating = false;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { GenderDiversityEqualityStateService } from './gender-diversity-equality-state.service';\n\n@Component({\n selector: 'esg-gender-diversity-equality',\n templateUrl: './gender-diversity-equality.component.html',\n styleUrls: ['../profiles.component.scss', './gender-diversity-equality.component.scss'],\n providers: [GenderDiversityEqualityStateService],\n})\nexport class GenderDiversityEqualityComponent {\n constructor(public state: GenderDiversityEqualityStateService) {}\n}\n","Select category\n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
PROFILE PERIOD
{{ profile.name }}\n
\n Details\n \n \n \n
\n
\n \n
\n\n \n\n\n\n","import { Injectable } from '@angular/core';\nimport {\n DataRecordCategory,\n DataProfile,\n TimePeriod,\n CreateDataProfileCommandParams,\n UpdateDataProfileCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { DataProfileApiService } from 'src/app/api-client/report-api/data-profile-api-service';\nimport { getTimeLabelFromPeriod } from 'src/app/static-data/time-labels';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ITimePeriodData } from 'src/app/shared/components/time-period/time-period.component';\nimport { IOption, ProfileInputOptions } from 'src/app/static-data/options';\nimport { InputType } from 'src/api-client/report-api.generated';\nimport { Subscription } from 'rxjs';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { IMenuItem } from 'src/app/shared/ui/context-menu/context-menu.component';\nimport { DataCategoryApiService } from 'src/app/api-client/report-api/categories-api-service';\nimport { RecordCategoryRoutes } from '../data-collect-page.component';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\n\nexport interface ProfileForm {\n inputType: FormControl;\n timePeriod: FormControl;\n}\n\nexport interface ProfileUi {\n id: string;\n name: string;\n description: string;\n type: InputType;\n timePeriod: TimePeriod;\n}\n\ninterface CategoryDetailsUi {\n name: string;\n guidance: string;\n}\n\n@Injectable()\nexport class ProfilesStateService {\n private organizationContextSub!: Subscription;\n\n recordCategoryRoutes = RecordCategoryRoutes;\n selectedProfile?: ProfileUi;\n categoryDetails: CategoryDetailsUi | undefined = undefined;\n profiles: ProfileUi[] = [];\n loading: boolean = false;\n updating: boolean = false;\n showFormDialog: boolean = false;\n showRemoveDialog: boolean = false;\n profileFormgroup?: FormGroup = undefined;\n organizationId?: string;\n\n constructor(\n private appInfo: AppInfoService,\n private appConfig: AppConfigurationService,\n protected dataProfileApiService: DataProfileApiService,\n protected dataCategoryApiService: DataCategoryApiService\n ) {\n this.organizationContextSub = this.appInfo.organizationContext$.subscribe(organizationId => {\n if (organizationId) {\n this.organizationId = organizationId;\n this.init();\n }\n });\n }\n\n async init() {\n this.loading = true;\n await Promise.all([this.getProfiles(), this.getDataCategoryDetails()]);\n this.loading = false;\n }\n\n async getProfiles() {\n const response = await this.dataProfileApiService.getAllDataProfiles();\n if (response.success)\n this.profiles = response.result.map(profile => {\n const commutingProfile = profile as DataProfile;\n return {\n id: commutingProfile.id,\n name: commutingProfile.timePeriod.period\n ? getTimeLabelFromPeriod(commutingProfile.timePeriod)\n : 'Annual ' + getTimeLabelFromPeriod(commutingProfile.timePeriod),\n description: commutingProfile.description,\n timePeriod: commutingProfile.timePeriod,\n type: commutingProfile.inputType,\n };\n });\n }\n\n async getDataCategoryDetails() {\n const { result } = await this.dataCategoryApiService.getDataCategoryByDataRecordCategory(\n DataRecordCategory.IndirectEmissionsEmployeeCommuting\n );\n this.categoryDetails = {\n name: result.name,\n guidance: result.guidance,\n };\n }\n\n initateAdd() {\n this.showFormDialog = true;\n this.profileFormgroup = new FormGroup({\n timePeriod: new FormControl(undefined, {\n nonNullable: true,\n validators: [Validators.required],\n }),\n inputType: new FormControl(ProfileInputOptions[0], {\n nonNullable: true,\n validators: [Validators.required],\n }),\n });\n }\n\n handleSelectProfile(profile: ProfileUi) {\n this.selectedProfile = profile;\n this.profileFormgroup = new FormGroup({\n timePeriod: new FormControl(profile.timePeriod, {\n nonNullable: true,\n validators: [Validators.required],\n }),\n inputType: new FormControl(\n ProfileInputOptions.find(opt => opt.value === profile.type) || ProfileInputOptions[0],\n {\n nonNullable: true,\n validators: [Validators.required],\n }\n ),\n });\n }\n\n handleInitiateEdit() {\n if (this.selectedProfile && this.profileFormgroup) {\n this.showFormDialog = true;\n }\n }\n\n handleCancelForm() {\n if (!this.selectedProfile) this.profileFormgroup = undefined;\n this.showFormDialog = false;\n }\n\n handleCloseDetails() {\n this.selectedProfile = undefined;\n this.profileFormgroup = undefined;\n this.getProfiles();\n }\n\n async formSubmit() {\n if (!this.profileFormgroup) {\n return;\n }\n\n const formOpen = this.showFormDialog;\n const timePeriod = this.profileFormgroup.controls.timePeriod.value;\n const inputType = Object.values(InputType).find(\n type => type === this.profileFormgroup?.controls.inputType.value.value\n );\n\n if (!inputType || !timePeriod || !this.organizationId) {\n return;\n }\n\n this.handleCancelForm();\n if (this.selectedProfile) {\n await this.dataProfileApiService.updateDataProfile(\n new UpdateDataProfileCommandParams({\n id: this.selectedProfile.id,\n description: '',\n inputType: inputType,\n timePeriodType: timePeriod.type,\n year: timePeriod.year,\n period: timePeriod.period,\n })\n );\n if (formOpen) {\n await this.getProfiles();\n this.selectedProfile = this.profiles.find(profile => profile.id === this.selectedProfile?.id);\n }\n } else {\n this.updating = true;\n await this.dataProfileApiService.createDataProfile(\n new CreateDataProfileCommandParams({\n description: '',\n inputType: inputType,\n timePeriodType: timePeriod.type,\n year: timePeriod.year,\n period: timePeriod.period,\n })\n );\n await this.getProfiles();\n this.updating = false;\n }\n }\n\n handleInitateDelete() {\n this.showRemoveDialog = true;\n }\n\n handleCloseDeleteDialog() {\n this.showRemoveDialog = false;\n }\n\n async handleDelete() {\n this.showRemoveDialog = false;\n if (this.selectedProfile) {\n await this.dataProfileApiService.deleteDataProfile(this.selectedProfile.id);\n this.handleCloseDetails();\n this.getProfiles();\n }\n }\n\n menuProvider = (): IMenuItem[] => [\n { id: 'edit', label: 'Edit', onClick: () => this.handleInitiateEdit() },\n { id: 'delete', label: 'Delete', onClick: () => this.handleInitateDelete() },\n ];\n\n ngOnDestroy() {\n this.organizationContextSub.unsubscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n CreateDataRecordCommandParams,\n CurrencyCodes,\n DataProfileType,\n DataRecordCategory,\n DataRecordType,\n} from 'src/api-client/report-api.generated';\nimport { DataProfileApiService } from 'src/app/api-client/report-api/data-profile-api-service';\nimport { DataRecordApiService } from 'src/app/api-client/report-api/data-record-api-service';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\nimport { NotificationLinkUi } from 'src/app/shared/ui/notification/notification.component';\nimport { RecordCategoryPath, RecordSubCategoryPath } from 'src/app/static-data/enum-mappings';\nimport { IOption } from 'src/app/static-data/options';\nimport { getTimeLabelFromPeriod } from 'src/app/static-data/time-labels';\n\ninterface DataProfileUi {\n id: string;\n organizationAssetId?: string;\n salaryCurrency?: CurrencyCodes;\n}\n\n@Injectable()\nexport class RecordFormDialogStateService {\n readonly categoryEnum = DataRecordCategory;\n readonly subCategoryEnum = DataRecordType;\n\n recordCategoryOptions: IOption[] = [\n { value: DataRecordCategory.DirectEmissionFuelCombustion, label: 'Fuel Combustion' },\n { value: DataRecordCategory.IndirectEmissionsElectricity, label: 'Electricity' },\n { value: DataRecordCategory.IndirectEmissionsWaste, label: 'Waste' },\n { value: DataRecordCategory.IndirectEmissionsBusinessTravel, label: 'Business Travel' },\n { value: DataRecordCategory.IndirectEmissionsEmployeeCommuting, label: 'Employee Commuting', disabled: true },\n { value: DataRecordCategory.EmbeddedEmissionsLeasedAssets, label: 'Leased Assets' },\n { value: DataRecordCategory.BiodiversitySpillsToEnvironment, label: 'Spills to environment' },\n { value: DataRecordCategory.BiodiversityProtectedAreas, label: 'Marine Protected Areas' },\n { value: DataRecordCategory.EmployeesGenderEqualityAndDiversity, label: 'Gender Distribution', disabled: true },\n { value: DataRecordCategory.EmployeesParentalLeave, label: 'Parental Leave' },\n { value: DataRecordCategory.EmployeesSickLeave, label: 'Sick Leave' },\n { value: DataRecordCategory.EmployessWorkRelatedInjuries, label: 'Work Related Injuries' },\n { value: DataRecordCategory.EmployessMarineCasualties, label: 'Marine Casualties' },\n { value: DataRecordCategory.EmployeesNewHiresAndTurnovers, label: 'New Hires & Turnovers' },\n { value: DataRecordCategory.PurchasedFish, label: 'Purchased Fish' },\n ];\n\n recordSubCategoryOptions?: IOption[];\n profileOptions?: IOption[];\n profiles: DataProfileUi[] = [];\n selectedProfile?: IOption = undefined;\n\n selectedCategory?: IOption = undefined;\n selectedSubCategory?: IOption = undefined;\n\n constructor(\n private dataRecordService: DataRecordApiService,\n private dataProfileApiService: DataProfileApiService,\n private notificationService: NotificationService\n ) {}\n\n setSelectedCategory(category: IOption) {\n this.selectedCategory = category;\n switch (category.value) {\n case DataRecordCategory.DirectEmissionFuelCombustion:\n this.recordSubCategoryOptions = [\n { value: DataRecordType.VesselConsumption, label: 'Vessels' },\n { value: DataRecordType.VehicleConsumption, label: 'Vehicles, Crafts & Machinery' },\n ];\n this.setSelectedSubCategory(undefined);\n break;\n case DataRecordCategory.IndirectEmissionsBusinessTravel:\n this.recordSubCategoryOptions = [\n { value: DataRecordType.OrganizationBusinessAirTravel, label: 'Air Travel' },\n { value: DataRecordType.OrganizationBusinessTravelHotelNights, label: 'Hotel Nights' },\n ];\n this.setSelectedSubCategory(undefined);\n break;\n default:\n this.recordSubCategoryOptions = undefined;\n }\n }\n\n async submitRecordForm(params: CreateDataRecordCommandParams) {\n const response = await this.dataRecordService.createDataRecord(params);\n if (response.success) {\n const categoryType = Object.values(DataRecordCategory).find(type => type === this.selectedCategory?.value);\n const subCategoryType = Object.values(DataRecordType).find(type => type === this.selectedSubCategory?.value);\n const routerLink = ['/', 'data-collect'];\n if (categoryType) routerLink.push(RecordCategoryPath[categoryType] || '');\n if (subCategoryType) routerLink.push(RecordSubCategoryPath[subCategoryType] || '');\n const link: NotificationLinkUi = {\n text: 'Go to records.',\n routerLink: routerLink,\n queryParams: { assetId: params.assetId },\n };\n this.notificationService.showSuccess('1 new record was added.', '', link);\n }\n }\n\n setSelectedSubCategory(category?: IOption) {\n this.selectedSubCategory = category;\n }\n\n setSelectedProfile(profile: IOption) {\n this.selectedProfile = profile;\n }\n\n async getProfiles(type: DataProfileType) {\n this.profileOptions = [];\n const response = await this.dataProfileApiService.getDataProfilesByType(type);\n if (response.success)\n this.profiles = response.result.map(profile => {\n this.profileOptions?.push({\n value: profile.id,\n label: profile.timePeriod.period\n ? getTimeLabelFromPeriod(profile.timePeriod)\n : 'Annual ' + getTimeLabelFromPeriod(profile.timePeriod),\n });\n return profile as DataProfileUi;\n });\n }\n}\n","import { ChangeDetectorRef, Component, EventEmitter, Output, SimpleChanges, ViewChild } from '@angular/core';\nimport { RecordFormDialogStateService } from './record-form-dialog-state.service';\nimport { RecordsComponent } from '../records/records.component';\nimport { CreateDataRecordCommandParams } from 'src/api-client/report-api.generated';\nimport { FormGroup } from '@angular/forms';\n\n@Component({\n selector: 'esg-record-form-dialog',\n templateUrl: './record-form-dialog.component.html',\n styleUrls: ['./record-form-dialog.component.scss'],\n providers: [RecordFormDialogStateService],\n})\nexport class RecordFormDialogComponent {\n @Output() onCancel = new EventEmitter();\n\n formGroup?: FormGroup;\n\n @ViewChild(RecordsComponent)\n private recordsComponent?: RecordsComponent;\n\n constructor(private cdr: ChangeDetectorRef, public state: RecordFormDialogStateService) {}\n\n ngAfterViewChecked() {\n this.updateFormGroup();\n }\n\n private updateFormGroup() {\n if (this.formGroup !== this.recordsComponent?.formGroup) {\n this.formGroup = this.recordsComponent?.formGroup;\n this.cdr.detectChanges();\n }\n }\n\n handleCancel() {\n this.onCancel.emit();\n }\n\n handleOnSubmitClick() {\n if (this.recordsComponent) {\n this.recordsComponent.handleOnSubmit();\n }\n }\n\n async handleOnFormSubmit(params: CreateDataRecordCommandParams) {\n await this.state.submitRecordForm(params);\n this.handleCancel();\n }\n}\n","\n
\n
Add new Record
\n\n
\n
\n 1. Select Category\n
\n \n \n \n
\n
\n
\n 2. Add record properties\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'esg-records-default',\n templateUrl: './records-default.component.html',\n styleUrls: ['./records-default.component.scss'],\n})\nexport class RecordsDefaultComponent {\n noCategoryText: string = 'Please select a category in the \\nleft column to add data.';\n\n constructor() {}\n}\n","\n","import { Component } from '@angular/core';\n\n// Currently not used\n\n@Component({\n selector: 'esg-records-menu',\n templateUrl: './records-menu.component.html',\n styleUrls: ['./records-menu.component.scss'],\n})\nexport class RecordsMenuComponent {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","\n","import { Component } from '@angular/core';\nimport { RecordForm, RecordFormTableComponent } from '../../../shared/record-form-table/record-form-table.component';\nimport {\n ConsumptionValueType,\n CreateOrganizationBusinessAirTravelDataRecordCommandParams,\n DataRecordType,\n DistanceType,\n InputType,\n OrganizationBusinessAirTravelDataRecord,\n UpdateOrganizationBusinessAirTravelDataRecordCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { formatDate } from '@angular/common';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ConsumptionValueTypeOptions, DistanceTypeOptions, IOption } from 'src/app/static-data/options';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\nimport { RecordHeaderCell } from 'src/app/shared/components/records-table/records-table.component';\n\ninterface AirTravelRecordForm extends RecordForm {\n consumptionValueType: FormControl;\n distanceType: FormControl;\n numberOfFlights: FormControl;\n consumptionValue: FormControl;\n cO2Measured_kg: FormControl;\n}\n\n@Component({\n selector: 'esg-air-travel-form-table',\n templateUrl: './air-travel-form-table.component.html',\n styleUrls: ['../../../shared/record-form-table/record-form-table.component.scss'],\n providers: [{ provide: RecordFormTableComponent, useExisting: AirTravelFormTableComponent }],\n})\nexport class AirTravelFormTableComponent extends RecordFormTableComponent {\n headerCells: RecordHeaderCell[] = [\n { columnId: 'period', label: 'Period', description: 'From – To Date', number: false, sortFieldName: 'StartDate' },\n { columnId: 'asset', label: 'Asset', description: '', number: false, sortFieldName: 'AssetName' },\n {\n columnId: 'consumptionValueType',\n label: 'Method',\n description: ' ',\n number: false,\n sortFieldName: 'consumptionValueTypeName',\n },\n {\n columnId: 'distanceType',\n label: 'HAUL TYPE',\n description: 'Distance',\n number: false,\n sortFieldName: 'distanceTypeName',\n },\n {\n columnId: 'numberOfFlights',\n label: 'Flights',\n description: 'Number',\n number: true,\n },\n { columnId: 'consumptionValue', label: 'Consumption', description: 'Km or Kg', number: true },\n { columnId: 'cO2Measured_kg', label: 'Measured', description: 'KgCO2', number: true },\n ];\n\n recordFc?: AirTravelRecordForm = undefined;\n recordFormgroup?: FormGroup = undefined;\n\n distanceTypeOptions: IOption[] = DistanceTypeOptions;\n consumptionValueTypeOptions: IOption[] = ConsumptionValueTypeOptions;\n\n getUnitByType(type: ConsumptionValueType) {\n switch (type) {\n case ConsumptionValueType.Distance:\n return 'Km';\n case ConsumptionValueType.Fuel:\n return 'Kg';\n default:\n return '';\n }\n }\n\n get getPlaceholderByType() {\n if (this.recordFc) {\n switch (this.recordFc.consumptionValueType.value.value) {\n case ConsumptionValueType.Distance:\n return 'Kilometres';\n case ConsumptionValueType.Fuel:\n return 'Kilograms';\n default:\n return 'Number';\n }\n }\n return 'Number';\n }\n\n setRecordsRows() {\n this.dataRecordsRows = (this.dataRecords as OrganizationBusinessAirTravelDataRecord[]).map(record => {\n const measured = record.cO2Measured_kg?.toString() || '';\n return {\n id: record.id,\n cells: [\n {\n columnId: 'period',\n value:\n formatDate(record.startDate, 'dd. MMM yyyy', 'en_US') +\n ' - ' +\n formatDate(record.endDate, 'dd. MMM yyyy', 'en_US'),\n number: false,\n },\n {\n columnId: 'asset',\n value: this.assetOptions.flatMap(group => group.options).find(c => c.value === record.assetId)?.label || '',\n number: false,\n },\n { columnId: 'consumptionValueType', value: measured ? '-' : record.consumptionValueType, number: false },\n {\n columnId: 'distanceType',\n value: (measured ? '-' : record.distanceType) || '',\n number: false,\n },\n { columnId: 'numberOfFlights', value: measured ? '' : record.numberOfFlights.toString(), number: true },\n {\n columnId: 'consumptionValue',\n value: measured ? '' : record.consumptionValue.toString(),\n number: true,\n unit: measured ? '' : this.getUnitByType(record.consumptionValueType),\n },\n {\n columnId: 'cO2Measured_kg',\n value: measured,\n number: true,\n },\n ],\n };\n });\n }\n\n setAddRecordForm() {\n this.recordFc = {\n startDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(this.getDefaultAssetOption(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n consumptionValueType: new FormControl(this.consumptionValueTypeOptions[0], {\n validators: [Validators.required],\n nonNullable: true,\n }),\n distanceType: new FormControl(this.distanceTypeOptions[0], {\n validators: [Validators.required],\n nonNullable: true,\n }),\n numberOfFlights: new FormControl('', { validators: [Validators.required], nonNullable: true }),\n consumptionValue: new FormControl('', { validators: [Validators.required], nonNullable: true }),\n cO2Measured_kg: new FormControl('', { nonNullable: true }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n this.recordFc.consumptionValueType.valueChanges.subscribe(value => {\n if (value.value === ConsumptionValueType.Fuel) {\n this.recordFc?.distanceType.setValue(undefined);\n this.recordFc?.distanceType.disable();\n } else {\n this.recordFc?.distanceType.setValue(this.distanceTypeOptions[0]);\n this.recordFc?.distanceType.enable();\n }\n });\n }\n\n setEditRecordForm(id: string) {\n const airRecord = this.dataRecords.find(record => record.id === id) as OrganizationBusinessAirTravelDataRecord;\n const measured = airRecord.cO2Measured_kg?.toString() || '';\n if (airRecord) {\n this.recordFc = {\n startDate: new FormControl(airRecord.startDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(airRecord.endDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(\n this.assetOptions.flatMap(group => group.options).find(opt => opt.value === airRecord.assetId) ||\n this.getDefaultAssetOption(),\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n consumptionValueType: new FormControl(\n {\n value:\n this.consumptionValueTypeOptions.find(type => type.value === airRecord.consumptionValueType) ||\n this.consumptionValueTypeOptions[0],\n disabled: measured ? true : false,\n },\n { nonNullable: true, validators: [Validators.required] }\n ),\n distanceType: new FormControl(\n {\n value:\n this.distanceTypeOptions.find(type => type.value === airRecord.distanceType) ||\n this.distanceTypeOptions[0],\n disabled: airRecord.consumptionValueType === ConsumptionValueType.Fuel ? true : measured ? true : false,\n },\n {\n nonNullable: true,\n validators: [Validators.required],\n }\n ),\n numberOfFlights: new FormControl(\n { value: airRecord.numberOfFlights.toString(), disabled: measured ? true : false },\n {\n nonNullable: true,\n validators: [Validators.required],\n }\n ),\n consumptionValue: new FormControl(\n { value: airRecord.consumptionValue.toString(), disabled: measured ? true : false },\n {\n nonNullable: true,\n validators: [Validators.required],\n }\n ),\n cO2Measured_kg: new FormControl(measured, {\n nonNullable: true,\n }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n this.recordFc.consumptionValueType.valueChanges.subscribe(value => {\n if (value.value === ConsumptionValueType.Fuel) {\n this.recordFc?.distanceType.setValue(undefined);\n this.recordFc?.distanceType.disable();\n } else {\n this.recordFc?.distanceType.setValue(this.distanceTypeOptions[0]);\n this.recordFc?.distanceType.enable();\n }\n });\n }\n }\n\n getParams():\n | CreateOrganizationBusinessAirTravelDataRecordCommandParams\n | UpdateOrganizationBusinessAirTravelDataRecordCommandParams\n | undefined {\n const consumptionValueType = Object.values(ConsumptionValueType).find(\n type => type === this.recordFc?.consumptionValueType.value.value\n );\n const distanceType = Object.values(DistanceType).find(type => type === this.recordFc?.distanceType.value?.value);\n\n if (this.recordFormgroup?.valid && this.recordFc && this.recordFc?.asset.value?.value) {\n const businessTravel = {\n type: DataRecordType.OrganizationBusinessAirTravel,\n assetId: this.recordFc.asset.value.value,\n inputType: InputType.Manual,\n startDate: this.recordFc.startDate.value || new Date(),\n endDate: this.recordFc.endDate.value || new Date(),\n consumptionValueType: consumptionValueType || ConsumptionValueType.Distance,\n distanceType: distanceType,\n numberOfFlights: formattedStringToNumber(this.recordFc.numberOfFlights.value) || 0,\n consumptionValue: formattedStringToNumber(this.recordFc.consumptionValue.value) || 0,\n cO2Measured_kg: formattedStringToNumber(this.recordFc.cO2Measured_kg.value),\n };\n if (this.editRecordId) {\n return new UpdateOrganizationBusinessAirTravelDataRecordCommandParams({\n id: this.editRecordId,\n ...businessTravel,\n });\n } else {\n return new CreateOrganizationBusinessAirTravelDataRecordCommandParams(businessTravel);\n }\n }\n return undefined;\n }\n\n onMeasuredChange(value: string) {\n if (this.recordFc) {\n this.recordFc.cO2Measured_kg.setValue(value);\n if (value) {\n this.recordFc.consumptionValueType.disable();\n this.recordFc.distanceType.disable();\n this.recordFc.numberOfFlights.disable();\n this.recordFc.consumptionValue.disable();\n } else {\n this.recordFc.consumptionValueType.enable();\n this.recordFc.distanceType.enable();\n this.recordFc.numberOfFlights.enable();\n this.recordFc.consumptionValue.enable();\n }\n }\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n","import { Injectable } from '@angular/core';\nimport {\n DataRecordType,\n ConsumptionValueType,\n DistanceType,\n CreateOrganizationBusinessAirTravelDataRecordCommandParams,\n DataRecordCategory,\n ICreateOrganizationBusinessAirTravelDataRecordCommandParams,\n AssetType,\n InputType,\n} from 'src/api-client/report-api.generated';\nimport { ConsumptionValueTypeOptions, DistanceTypeOptions, IOption } from 'src/app/static-data/options';\nimport {\n ExcelImportValidationMessage,\n FieldConfig,\n ImportDataOutput,\n validateExcelOptionColumn,\n} from 'src/app/shared/components/data-import-from-excel/data-import-from-excel.component';\nimport { RecordsStateService } from '../records-state.service';\nimport { DataRecordOutput } from 'src/app/shared/components/data-import-from-excel/data-import-from-excel-state.service';\nimport { generateGUID } from 'src/app/shared/utils/guid';\n\n@Injectable()\nexport class AirTravelStateService extends RecordsStateService {\n title = 'Air Travel';\n recordCategory = DataRecordCategory.IndirectEmissionsBusinessTravel;\n\n importFromExcelFieldConfigs: FieldConfig[] = [\n { propertyName: 'startDate', title: 'Start Date', type: 'date' },\n { propertyName: 'endDate', title: 'End Date', type: 'date' },\n { propertyName: 'asset', title: 'Asset', type: 'string' },\n { propertyName: 'consumptionValueType', title: 'Method', type: 'string', optional: true },\n { propertyName: 'distanceType', title: 'Haul Type', type: 'string', optional: true },\n { propertyName: 'numberOfFlights', title: 'Flights', type: 'number', optional: true },\n { propertyName: 'consumptionValue', title: 'Consumption', type: 'number', optional: true },\n { propertyName: 'cO2Measured_kg', title: 'Measured', type: 'number', optional: true },\n ];\n\n assetCategories = [AssetType.Organization, AssetType.Facility];\n distanceTypeOptions: IOption[] = DistanceTypeOptions;\n consumptionValueTypeOptions: IOption[] = ConsumptionValueTypeOptions;\n\n importFromExcelEnabled = true;\n\n importDataFromExcel(data: ImportDataOutput) {\n var dataSetId = generateGUID();\n this.importingInProgress = true;\n let validationMessages: ExcelImportValidationMessage[] = [];\n\n const assetValidation = this.validateExcelAssets(data.records);\n if (assetValidation) validationMessages.push(assetValidation);\n\n const notMeasuredRecords = data.records.filter(record => !record.cO2Measured_kg?.value);\n\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'consumptionValueType',\n this.consumptionValueTypeOptions,\n notMeasuredRecords,\n 'Method',\n false\n );\n\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'distanceType',\n this.distanceTypeOptions,\n notMeasuredRecords,\n 'Haul Type',\n false\n );\n\n validationMessages = this.validateNotMeasuredData(validationMessages, notMeasuredRecords);\n\n if (validationMessages.length) {\n validationMessages.forEach(message => {\n this.notificationService.showError(message.title, message.description);\n });\n this.importingInProgress = false;\n return;\n }\n\n const addRecordPromises = data.records.map((record, index) => {\n const consumptionValueType =\n this.consumptionValueTypeOptions.find(type => type.label === record.consumptionValueType?.value) ??\n this.consumptionValueTypeOptions[0];\n\n const distanceType =\n this.distanceTypeOptions.find(region => region.label === record.distanceType?.value) ??\n this.distanceTypeOptions[0];\n\n const asset = this.getAssetOptionColumn(record.asset?.value);\n const airTravel: ICreateOrganizationBusinessAirTravelDataRecordCommandParams = {\n type: DataRecordType.OrganizationBusinessAirTravel,\n dataSetId: dataSetId,\n assetId: asset.value,\n inputType: InputType.ImportedFromExcel,\n startDate: record.startDate?.value,\n endDate: record.endDate?.value,\n consumptionValueType: ConsumptionValueType[consumptionValueType.value as keyof typeof ConsumptionValueType],\n distanceType: DistanceType[distanceType.value as keyof typeof DistanceType],\n numberOfFlights: record.numberOfFlights?.value ?? 0,\n consumptionValue: record.consumptionValue?.value ?? 0,\n cO2Measured_kg: record.cO2Measured_kg?.value,\n };\n\n return this.dataRecordService.createDataRecord(\n new CreateOrganizationBusinessAirTravelDataRecordCommandParams({ ...airTravel })\n );\n });\n Promise.all(addRecordPromises).then(async response => {\n response.forEach(res => {\n if (res) {\n const addedId = res.result?.id;\n if (addedId) {\n this.newlyAddedRowsIds.push(addedId);\n this.delayRemoveAddedId(addedId, 15000);\n }\n }\n });\n await this.loadRecords();\n this.importingInProgress = false;\n this.importDataFromExcelClose();\n });\n }\n\n async fetchStaticData() {\n await Promise.all([this.getAssetOptions(), this.getDataCategoryDetails()]);\n }\n\n async loadRecords() {\n await this.getDataRecords(DataRecordType.OrganizationBusinessAirTravel);\n }\n\n handleDeleteAllFilteredRecordsSubmit() {\n this.handleOnDeleteAllFilteredRecords(DataRecordType.OrganizationBusinessAirTravel);\n }\n\n validateNotMeasuredData(\n validationMessages: ExcelImportValidationMessage[],\n records: DataRecordOutput[]\n ): ExcelImportValidationMessage[] {\n const notMappedColumns = records\n .filter(\n record =>\n !record.consumptionValueType?.value ||\n !record.distanceType?.value ||\n !record.numberOfFlights?.value ||\n !record.consumptionValue?.value\n )\n .map(record => record.asset.rowNo);\n\n if (notMappedColumns.length) {\n return [\n ...validationMessages,\n {\n title: 'Not valid imported data',\n description: `Missing data for rows: ${notMappedColumns.join(\n ','\n )}\\n\\nThe columns Method, Haul Type, Flights, and Consumption are required for rows with empty values in the Measured column.`,\n },\n ];\n }\n return validationMessages;\n }\n}\n","import { Component } from '@angular/core';\nimport { AirTravelStateService } from './air-travel-state.service';\nimport { BusinessTravelComponent } from './business-travel.component';\nimport { RecordsComponent } from '../records.component';\n\n@Component({\n selector: 'esg-air-travel',\n templateUrl: './air-travel.component.html',\n styleUrls: ['../records.component.scss'],\n providers: [{ provide: RecordsComponent, useExisting: AirTravelComponent }, AirTravelStateService],\n})\nexport class AirTravelComponent extends BusinessTravelComponent {\n constructor(public state: AirTravelStateService) {\n super(state);\n }\n}\n","\n \n Select category\n \n \n \n \n \n \n
\n \n \n 1\"\n [fc]=\"state.filteredAssetTypes\"\n size=\"small\"\n [options]=\"state.assetTypeOptions\"\n [isFilter]=\"true\"\n placeholder=\"All asset types\"\n (onChange)=\"state.handleAssetTypeFilterChange()\">\n \n \n
\n
\n \n
\n\n\n","import { ITabItem } from 'src/app/shared/ui/tabs/tabs.component';\nimport { RecordsComponent } from '../records.component';\nimport { Component } from '@angular/core';\n\n@Component({ selector: 'esg-business-travel', template: '' })\nexport abstract class BusinessTravelComponent extends RecordsComponent {\n tabs: ITabItem[] = [\n { value: 'air-travel', label: 'Air Travel', link: ['../', 'air-travel'] },\n { value: 'hotel-nights', label: 'Hotel Nights', link: ['../', 'hotel-nights'] },\n ];\n}\n","import { Component } from '@angular/core';\nimport { RecordForm, RecordFormTableComponent } from '../../../shared/record-form-table/record-form-table.component';\nimport {\n CountryCodes,\n CreateOrganizationBusinessTravelHotelNightsDataRecordCommandParams,\n DataRecordType,\n InputType,\n OrganizationBusinessTravelHotelNightsDataRecord,\n UpdateOrganizationBusinessTravelHotelNightsDataRecordCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { IOption } from 'src/app/static-data/options';\nimport { formatDate } from '@angular/common';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\nimport { RecordHeaderCell } from 'src/app/shared/components/records-table/records-table.component';\n\ninterface HotelNightsRecordForm extends RecordForm {\n country: FormControl;\n numberOfNights: FormControl;\n}\n\n@Component({\n selector: 'esg-hotel-nights-form-table',\n templateUrl: './hotel-nights-form-table.component.html',\n styleUrls: ['../../../shared/record-form-table/record-form-table.component.scss'],\n providers: [{ provide: RecordFormTableComponent, useExisting: HotelNightsFormTableComponent }],\n})\nexport class HotelNightsFormTableComponent extends RecordFormTableComponent {\n headerCells: RecordHeaderCell[] = [\n { columnId: 'period', label: 'Period', description: 'From – To Date', number: false, sortFieldName: 'StartDate' },\n { columnId: 'asset', label: 'Asset', description: '', number: false, sortFieldName: 'AssetName' },\n {\n columnId: 'country',\n label: 'Country',\n description: 'Hotel Country',\n number: false,\n sortFieldName: 'CountryCode',\n },\n { columnId: 'numberOfNights', label: 'Hotel Nights', description: 'Nights * Persons', number: true },\n ];\n\n recordFc?: HotelNightsRecordForm = undefined;\n recordFormgroup?: FormGroup = undefined;\n\n setRecordsRows() {\n this.dataRecordsRows = (this.dataRecords as OrganizationBusinessTravelHotelNightsDataRecord[]).map(record => ({\n id: record.id,\n cells: [\n {\n columnId: 'period',\n value:\n formatDate(record.startDate, 'dd. MMM yyyy', 'en_US') +\n ' - ' +\n formatDate(record.endDate, 'dd. MMM yyyy', 'en_US'),\n number: false,\n },\n {\n columnId: 'asset',\n value: this.assetOptions.flatMap(group => group.options).find(c => c.value === record.assetId)?.label || '',\n number: false,\n },\n {\n columnId: 'country',\n value: this.countryOptions.find(country => country.value === record.countryCode)?.label || '',\n number: false,\n },\n {\n columnId: 'numberOfNights',\n value: record.numberOfNights.toString(),\n number: true,\n },\n ],\n }));\n }\n\n setAddRecordForm() {\n const asset = this.getDefaultAssetOption();\n this.recordFc = {\n startDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(asset, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n country: new FormControl(this.getCountryOptionByAssetId(asset?.value), {\n nonNullable: true,\n validators: [Validators.required],\n }),\n numberOfNights: new FormControl('', { nonNullable: true, validators: [Validators.required] }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n\n setEditRecordForm(id: string) {\n const hotelRecord = this.dataRecords.find(\n record => record.id === id\n ) as OrganizationBusinessTravelHotelNightsDataRecord;\n if (hotelRecord) {\n this.recordFc = {\n startDate: new FormControl(hotelRecord.startDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(hotelRecord.endDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(\n this.assetOptions.flatMap(group => group.options).find(opt => opt.value === hotelRecord.assetId) ||\n this.getDefaultAssetOption(),\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n country: new FormControl(\n this.countryOptions.find(type => type.value === hotelRecord.countryCode) || this.countryOptions[0],\n { nonNullable: true, validators: [Validators.required] }\n ),\n numberOfNights: new FormControl(hotelRecord.numberOfNights.toString(), {\n nonNullable: true,\n validators: [Validators.required],\n }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n }\n\n getParams():\n | CreateOrganizationBusinessTravelHotelNightsDataRecordCommandParams\n | UpdateOrganizationBusinessTravelHotelNightsDataRecordCommandParams\n | undefined {\n const countryCode = Object.values(CountryCodes).find(code => code === this.recordFc?.country.value.value);\n if (this.recordFormgroup?.valid && this.recordFc && this.recordFc?.asset.value?.value && countryCode) {\n const hotelNights = {\n type: DataRecordType.OrganizationBusinessAirTravel,\n assetId: this.recordFc.asset.value.value,\n inputType: InputType.Manual,\n startDate: this.recordFc.startDate.value || new Date(),\n endDate: this.recordFc.endDate.value || new Date(),\n countryCode: countryCode,\n numberOfNights: formattedStringToNumber(this.recordFc.numberOfNights.value) || 0,\n };\n if (this.editRecordId) {\n return new UpdateOrganizationBusinessTravelHotelNightsDataRecordCommandParams({\n id: this.editRecordId,\n ...hotelNights,\n });\n } else {\n return new CreateOrganizationBusinessTravelHotelNightsDataRecordCommandParams(hotelNights);\n }\n }\n return undefined;\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n","import { Injectable } from '@angular/core';\nimport {\n DataRecordType,\n CountryCodes,\n CreateOrganizationBusinessTravelHotelNightsDataRecordCommandParams,\n ICreateOrganizationBusinessTravelHotelNightsDataRecordCommandParams,\n DataRecordCategory,\n AssetType,\n InputType,\n} from 'src/api-client/report-api.generated';\nimport { DataRecordApiService } from 'src/app/api-client/report-api/data-record-api-service';\nimport { AssetApiService } from 'src/app/api-client/report-api/asset-api-service';\nimport { CountryApiService } from 'src/app/api-client/report-api/country-api-service';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { DataCategoryApiService } from 'src/app/api-client/report-api/categories-api-service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\nimport {\n ExcelImportValidationMessage,\n FieldConfig,\n ImportDataOutput,\n validateExcelOptionColumn,\n} from 'src/app/shared/components/data-import-from-excel/data-import-from-excel.component';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport { RecordsStateService } from '../records-state.service';\nimport { generateGUID } from 'src/app/shared/utils/guid';\n\n@Injectable()\nexport class HotelNightsStateService extends RecordsStateService {\n recordCategory = DataRecordCategory.IndirectEmissionsBusinessTravel;\n\n assetCategories = [AssetType.Organization, AssetType.Facility];\n importFromExcelEnabled = true;\n\n title = 'Hotel Nights';\n\n constructor(\n appInfo: AppInfoService,\n appConfig: AppConfigurationService,\n assetApiService: AssetApiService,\n dataRecordService: DataRecordApiService,\n dataCategoryApiService: DataCategoryApiService,\n notificationService: NotificationService,\n router: Router,\n route: ActivatedRoute,\n private countryApiService: CountryApiService\n ) {\n super(\n appInfo,\n appConfig,\n assetApiService,\n dataRecordService,\n dataCategoryApiService,\n notificationService,\n router,\n route\n );\n }\n\n importFromExcelFieldConfigs: FieldConfig[] = [\n { propertyName: 'startDate', title: 'Start Date', type: 'date' },\n { propertyName: 'endDate', title: 'End Date', type: 'date' },\n { propertyName: 'asset', title: 'Asset', type: 'string' },\n { propertyName: 'country', title: 'Hotel Country', type: 'string' },\n { propertyName: 'numberOfNights', title: 'Hotel Nights', type: 'number' },\n ];\n\n importDataFromExcel(data: ImportDataOutput) {\n var dataSetId = generateGUID();\n this.importingInProgress = true;\n let validationMessages: ExcelImportValidationMessage[] = [];\n\n const assetValidation = this.validateExcelAssets(data.records);\n if (assetValidation) validationMessages.push(assetValidation);\n\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'country',\n this.countryOptions,\n data.records,\n 'Country'\n );\n\n if (validationMessages.length) {\n validationMessages.forEach(message => {\n this.notificationService.showError(message.title, message.description);\n });\n this.importingInProgress = false;\n return;\n }\n\n const addRecordPromises = data.records.map((record, index) => {\n const countryCode = this.countryOptions.find(opt => opt.label === record.country?.value);\n if (!countryCode) {\n this.notificationService.showError(\n 'Not valid imported data',\n `Country column is not valid for ${index + 1} row`\n );\n return;\n }\n const asset = this.getAssetOptionColumn(record.asset?.value);\n const hotelNights: ICreateOrganizationBusinessTravelHotelNightsDataRecordCommandParams = {\n type: DataRecordType.OrganizationBusinessTravelHotelNights,\n dataSetId: dataSetId,\n assetId: asset.value,\n inputType: InputType.ImportedFromExcel,\n startDate: record.startDate?.value,\n endDate: record.endDate?.value,\n countryCode: CountryCodes[countryCode.value as keyof typeof CountryCodes],\n numberOfNights: record.numberOfNights.value || 0,\n };\n\n return this.dataRecordService.createDataRecord(\n new CreateOrganizationBusinessTravelHotelNightsDataRecordCommandParams({ ...hotelNights })\n );\n });\n Promise.all(addRecordPromises).then(async response => {\n response.forEach(res => {\n if (res) {\n const addedId = res.result?.id;\n if (addedId) {\n this.newlyAddedRowsIds.push(addedId);\n this.delayRemoveAddedId(addedId, 15000);\n }\n }\n });\n await this.loadRecords();\n this.importingInProgress = false;\n this.importDataFromExcelClose();\n });\n }\n\n async fetchStaticData() {\n await Promise.all([this.getAssetOptions(), this.getCountries(), this.getDataCategoryDetails()]);\n }\n\n async fetchOptions() {\n await Promise.all([this.getAssetOptions(), this.getCountries()]);\n }\n\n async getCountries() {\n const response = await this.countryApiService.getAllCountries();\n this.countryOptions = response.result.map(country => ({ value: country.code, label: country.name }));\n }\n\n async loadRecords() {\n await this.getDataRecords(DataRecordType.OrganizationBusinessTravelHotelNights);\n }\n\n handleDeleteAllFilteredRecordsSubmit() {\n this.handleOnDeleteAllFilteredRecords(DataRecordType.OrganizationBusinessTravelHotelNights);\n }\n}\n","import { Component } from '@angular/core';\nimport { BusinessTravelComponent } from './business-travel.component';\nimport { HotelNightsStateService } from './hotel-nights-state.service';\nimport { RecordsComponent } from '../records.component';\n\n@Component({\n selector: 'esg-hotel-nights',\n templateUrl: './hotel-nights.component.html',\n styleUrls: ['../records.component.scss'],\n providers: [{ provide: RecordsComponent, useExisting: HotelNightsComponent }, HotelNightsStateService],\n})\nexport class HotelNightsComponent extends BusinessTravelComponent {\n constructor(public state: HotelNightsStateService) {\n super(state);\n }\n}\n","\n \n Select category\n \n \n \n \n \n \n
\n \n \n 1\"\n [fc]=\"state.filteredAssetTypes\"\n size=\"small\"\n [options]=\"state.assetTypeOptions\"\n [isFilter]=\"true\"\n placeholder=\"All asset types\"\n (onChange)=\"state.handleAssetTypeFilterChange()\">\n \n \n
\n
\n \n
\n\n\n","import { Component } from '@angular/core';\nimport { RecordForm, RecordFormTableComponent } from '../../../shared/record-form-table/record-form-table.component';\nimport { RecordHeaderCell } from 'src/app/shared/components/records-table/records-table.component';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { IOption, PurchasedFishTypeOptions } from 'src/app/static-data/options';\nimport { CreateCatchedFishDataRecordCommandParams, DataRecordType, FishSpecies, InputType, CatchedFishDataRecord, UpdateCatchedFishDataRecordCommandParams } from 'src/api-client/report-api.generated';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\nimport { formatDate } from '@angular/common';\n\ninterface CatchedFishRecordForm extends RecordForm {\n species: FormControl,\n weight_kg: FormControl,\n}\n\n@Component({\n selector: 'esg-catched-fish-form-table',\n templateUrl: './catched-fish-form-table.component.html',\n styleUrls: ['../../../shared/record-form-table/record-form-table.component.scss'],\n providers: [{ provide: RecordFormTableComponent, useExisting: CatchedFishFormTableComponent }],\n})\nexport class CatchedFishFormTableComponent extends RecordFormTableComponent {\n headerCells: RecordHeaderCell[] = [\n { columnId: 'period', label: 'Period', description: 'From – To Date', number: false, sortFieldName: 'StartDate' },\n { columnId: 'asset', label: 'Asset', description: '', number: false, sortFieldName: 'AssetName' },\n { columnId: 'catched_fish', label: 'Catched Fish', description: 'TH Sub', number: false, sortFieldName: 'CatchedFish'},\n { columnId: 'amount', label: 'Amount Catched', description: 'kg', number: true, sortFieldName: 'CatchedAmount'},\n ];\n\n recordFc?: CatchedFishRecordForm = undefined;\n recordFormgroup?: FormGroup = undefined;\n\n catchedFishTypeOptions: IOption[] = PurchasedFishTypeOptions;\n\n setRecordsRows(): void {\n this.dataRecordsRows = (this.dataRecords as CatchedFishDataRecord[]).map(record => ({\n id: record.id,\n cells: [\n {\n columnId: 'period',\n value:\n formatDate(record.startDate, 'dd. MMM yyyy', 'en_US') +\n ' - ' +\n formatDate(record.endDate, 'dd. MMM yyyy', 'en_US'),\n number: false,\n },\n {\n columnId: 'asset',\n value: this.assetOptions.flatMap(group => group.options).find(c => c.value === record.assetId)?.label || '',\n number: false,\n },\n {\n columnId: 'catched_fish', \n value: record.species.toString(),\n number: false,\n },\n {\n columnId: 'amount',\n value: record.weight_kg?.toString() || '',\n number: true\n },\n ],\n })); \n }\n\n setAddRecordForm() {\n this.recordFc = {\n startDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n species: new FormControl(this.catchedFishTypeOptions[0], {\n validators: [Validators.required],\n nonNullable: true, \n }),\n weight_kg: new FormControl('', { validators: [Validators.required], nonNullable: true }),\n asset: new FormControl(this.getDefaultAssetOption(), { nonNullable: true })\n }\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n\n setEditRecordForm(id: string): void {\n const record = this.dataRecords.find(record => record.id === id) as CatchedFishDataRecord;\n if (record) {\n this.recordFc = {\n startDate: new FormControl(record.startDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(record.endDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(\n this.assetOptions.flatMap(group => group.options).find(opt => opt.value === record.assetId) ||\n this.getDefaultAssetOption(),\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n species: new FormControl(\n this.catchedFishTypeOptions.find(option => option.value === record.species ) \n || this.catchedFishTypeOptions[0], \n {nonNullable: true}),\n weight_kg: new FormControl(record.weight_kg?.toString() || '', {nonNullable: true, validators: [Validators.required]})\n }\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n }\n\n getParams(): \n | CreateCatchedFishDataRecordCommandParams \n | UpdateCatchedFishDataRecordCommandParams \n | undefined {\n console.log('params =', this.recordFormgroup)\n const species = Object.values(FishSpecies).find(type => type === this.recordFc?.species.value.value)\n if ( this.recordFormgroup?.valid && this.recordFc && this.recordFc.asset.value?.value) {\n const fish = {\n type: DataRecordType.CatchedFish,\n assetId: this.recordFc.asset.value.value,\n inputType: InputType.Manual,\n startDate: this.recordFc.startDate.value || new Date(),\n endDate: this.recordFc.endDate.value || new Date(),\n species: species || FishSpecies.Angler,\n weight_kg: formattedStringToNumber(this.recordFc.weight_kg.value) || 0,\n };\n if(this.editRecordId) {\n return new UpdateCatchedFishDataRecordCommandParams({\n id: this.editRecordId,\n ...fish,\n });\n } else {\n return new CreateCatchedFishDataRecordCommandParams(fish);\n }\n }\n return undefined;\n \n }\n}","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n","import { Injectable } from '@angular/core';\nimport { RecordsStateService } from '../records-state.service';\nimport { DataRecordType, AssetType, DataRecordCategory, FishSpecies } from 'src/api-client/report-api.generated';\nimport { FormControl } from '@angular/forms';\nimport { IOption, PurchasedFishTypeOptions } from 'src/app/static-data/options';\n\n@Injectable()\nexport class CatchedFishStateService extends RecordsStateService {\n title = 'Purchased Fish';\n rocordCategory = DataRecordCategory.IndirectEmissionsElectricity;\n assetCategories = [AssetType.Vessel];\n importFromExcelEnabled = true;\n\n filteredCatchedFishType: FormControl = new FormControl(PurchasedFishTypeOptions[0], {\n nonNullable: true,\n });\n catchedFishTypeOptions: IOption[] = PurchasedFishTypeOptions;\n\n handleCatchedFishTypeChange(value: IOption) {\n this.filteredCatchedFishType.setValue(value);\n this.handleFilterChange();\n }\n\n async loadRecords(): Promise {\n await this.getDataRecords(\n DataRecordType.CatchedFish,\n undefined,\n this.filteredCatchedFishType.value.value as FishSpecies\n );\n }\n}\n","import { Component } from \"@angular/core\";\nimport { CatchedFishStateService } from \"./catched-fish-state.service\";\nimport { RecordsComponent } from \"../records.component\";\n\n@Component({\n selector: 'esg-catched-fish',\n templateUrl: './catched-fish.component.html', \n styleUrls: ['../records.component.scss'],\n\tproviders: [{ provide: RecordsComponent, useExisting: CatchedFishComponent }, CatchedFishStateService],\n})\n// export class CatchedFishComponent {\nexport class CatchedFishComponent extends RecordsComponent {\n\tconstructor(public state: CatchedFishStateService) {\n\t\tsuper(state)\n\t}\n}","\n \n Select category\n \n \n \n \n \n
\n \n \n 1\"\n [fc]=\"state.filteredAssetTypes\"\n size=\"small\"\n [options]=\"state.assetTypeOptions\"\n [isFilter]=\"true\"\n placeholder=\"All asset types\"\n (onChange)=\"state.handleAssetTypeFilterChange()\">\n \n \n
\n
\n \n
\n\n\n","import { Component, SimpleChanges } from '@angular/core';\nimport { RecordForm, RecordFormTableComponent } from '../../../shared/record-form-table/record-form-table.component';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { IOption } from 'src/app/static-data/options';\nimport {\n CreateOrganizationCorruptionRiskDataRecordCommandParams,\n CurrencyCodes,\n DataRecordType,\n InputType,\n OrganizationCorruptionRiskDataRecord,\n UpdateOrganizationCorruptionRiskDataRecordCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { formatDate } from '@angular/common';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\nimport { RecordHeaderCell } from 'src/app/shared/components/records-table/records-table.component';\n\ninterface CorruptionRiskRecordForm extends RecordForm {\n callsAtPort: FormControl;\n netRevenue: FormControl;\n facilitation: FormControl;\n}\n\n@Component({\n selector: 'esg-corruption-risk-form-table',\n templateUrl: './corruption-risk-form-table.component.html',\n styleUrls: ['../../../shared/record-form-table/record-form-table.component.scss'],\n providers: [{ provide: RecordFormTableComponent, useExisting: CorruptionRiskFormTableComponent }],\n})\nexport class CorruptionRiskFormTableComponent extends RecordFormTableComponent {\n headerCells: RecordHeaderCell[] = [\n { columnId: 'period', label: 'Period', description: 'From – To Date', number: false, sortFieldName: 'StartDate' },\n { columnId: 'asset', label: 'Asset', description: '', number: false, sortFieldName: 'AssetName' },\n { columnId: 'callsAtPort', label: 'Calls At Port', description: 'Number', number: true },\n { columnId: 'netRevenue', label: 'Net Revenue', description: this.organizationCurrency, number: true },\n { columnId: 'facilitation', label: 'Facilitation', description: 'Number', number: true },\n ];\n\n recordFc?: CorruptionRiskRecordForm = undefined;\n recordFormgroup?: FormGroup = undefined;\n\n ngOnChanges(changes: SimpleChanges) {\n super.ngOnChanges(changes);\n if (changes.organizationCurrency) {\n this.setCurrencyDescription(changes.organizationCurrency.currentValue);\n }\n }\n\n setCurrencyDescription(currency: string) {\n const currencyHeaderCell = this.headerCells.findIndex(cell => cell.columnId === 'netRevenue');\n this.headerCells[currencyHeaderCell].description = currency;\n }\n\n setRecordsRows() {\n this.dataRecordsRows = (this.dataRecords as OrganizationCorruptionRiskDataRecord[]).map(record => ({\n id: record.id,\n cells: [\n {\n columnId: 'period',\n value:\n formatDate(record.startDate, 'dd. MMM yyyy', 'en_US') +\n ' - ' +\n formatDate(record.endDate, 'dd. MMM yyyy', 'en_US'),\n number: false,\n },\n {\n columnId: 'asset',\n value: this.assetOptions.flatMap(group => group.options).find(c => c.value === record.assetId)?.label || '',\n number: false,\n },\n { columnId: 'callsAtPort', value: record.callsAtPort.toString(), number: true },\n { columnId: 'netRevenue', value: record.netRevenue.toString(), number: true, unit: record.currencyCode },\n { columnId: 'facilitation', value: record.facilitation.toString(), number: true },\n ],\n }));\n }\n\n setAddRecordForm() {\n this.recordFc = {\n startDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(this.getDefaultAssetOption(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n callsAtPort: new FormControl('', { nonNullable: true }),\n netRevenue: new FormControl('', { nonNullable: true }),\n facilitation: new FormControl('', { nonNullable: true }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n\n setEditRecordForm(id: string) {\n const record = this.dataRecords.find(record => record.id === id) as OrganizationCorruptionRiskDataRecord;\n if (record) {\n this.recordFc = {\n startDate: new FormControl(record.startDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(record.endDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(\n this.assetOptions.flatMap(group => group.options).find(opt => opt.value === record.assetId) ||\n this.getDefaultAssetOption(),\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n callsAtPort: new FormControl(record.callsAtPort.toString(), { nonNullable: true }),\n netRevenue: new FormControl(record.netRevenue.toString(), { nonNullable: true }),\n facilitation: new FormControl(record.facilitation.toString(), { nonNullable: true }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n }\n\n getParams():\n | CreateOrganizationCorruptionRiskDataRecordCommandParams\n | UpdateOrganizationCorruptionRiskDataRecordCommandParams\n | undefined {\n if (this.recordFormgroup?.valid && this.recordFc && this.recordFc.asset.value?.value) {\n const corruption = {\n type: DataRecordType.OrganizationCorruptionRisk,\n assetId: this.recordFc.asset.value.value,\n inputType: InputType.Manual,\n startDate: this.recordFc.startDate.value || new Date(),\n endDate: this.recordFc.endDate.value || new Date(),\n callsAtPort: formattedStringToNumber(this.recordFc.callsAtPort.value || '') || 0,\n netRevenue: formattedStringToNumber(this.recordFc.netRevenue.value || '') || 0,\n facilitation: formattedStringToNumber(this.recordFc.facilitation.value || '') || 0,\n currencyCode: this.organizationCurrency,\n };\n if (this.editRecordId) {\n return new UpdateOrganizationCorruptionRiskDataRecordCommandParams({ id: this.editRecordId, ...corruption });\n } else {\n return new CreateOrganizationCorruptionRiskDataRecordCommandParams(corruption);\n }\n }\n return undefined;\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n","import { Injectable } from '@angular/core';\nimport { AssetType, DataRecordCategory } from 'src/api-client/report-api.generated';\nimport { RecordsStateService } from '../records-state.service';\n\n@Injectable()\nexport class CorruptionRiskStateService extends RecordsStateService {\n recordCategory = DataRecordCategory.BusinessEthicsCorruptionRisk;\n\n assetCategories = [AssetType.Organization];\n}\n","import { Component } from '@angular/core';\nimport { CorruptionRiskStateService } from './corruption-risk-state.service';\nimport { RecordsComponent } from '../records.component';\n\n@Component({\n selector: 'esg-corruption-risk',\n templateUrl: './corruption-risk.component.html',\n styleUrls: ['../records.component.scss'],\n providers: [{ provide: RecordsComponent, useExisting: CorruptionRiskComponent }, CorruptionRiskStateService],\n})\nexport class CorruptionRiskComponent extends RecordsComponent {\n constructor(public state: CorruptionRiskStateService) {\n super(state);\n }\n}\n","\n Select category\n \n \n \n \n \n
\n \n \n 1\"\n [fc]=\"state.filteredAssetTypes\"\n size=\"small\"\n [options]=\"state.assetTypeOptions\"\n [isFilter]=\"true\"\n placeholder=\"All asset types\"\n (onChange)=\"state.handleAssetTypeFilterChange()\">\n \n \n
\n
\n \n
\n\n\n","import { Component } from '@angular/core';\nimport { RecordForm, RecordFormTableComponent } from '../../../shared/record-form-table/record-form-table.component';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { IOption } from 'src/app/static-data/options';\nimport {\n AssetType,\n CountryCodes,\n CreateElectricityConsumptionDataRecordCommandParams,\n DataRecordType,\n ElectricityConsumptionDataRecord,\n InputType,\n UpdateElectricityConsumptionDataRecordCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { formatDate } from '@angular/common';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\nimport { RecordHeaderCell } from 'src/app/shared/components/records-table/records-table.component';\n\ninterface ElectricityRecordForm extends RecordForm {\n country: FormControl;\n electricity_kwh: FormControl;\n}\n\n@Component({\n selector: 'esg-electricity-form-table',\n templateUrl: './electricity-form-table.component.html',\n styleUrls: ['../../../shared/record-form-table/record-form-table.component.scss'],\n providers: [{ provide: RecordFormTableComponent, useExisting: ElectricityFormTableComponent }],\n})\nexport class ElectricityFormTableComponent extends RecordFormTableComponent {\n headerCells: RecordHeaderCell[] = [\n { columnId: 'period', label: 'Period', description: 'From – To Date', number: false, sortFieldName: 'StartDate' },\n { columnId: 'asset', label: 'Asset', description: '', number: false, sortFieldName: 'AssetName' },\n {\n columnId: 'country',\n label: 'Country',\n description: 'Origin of consumption',\n number: false,\n sortFieldName: 'countryCode',\n },\n {\n columnId: 'electricity_kwh',\n label: 'Consumption',\n description: 'kwh',\n number: true,\n sortFieldName: 'electricity_kwh',\n },\n ];\n\n recordFc?: ElectricityRecordForm = undefined;\n recordFormgroup?: FormGroup = undefined;\n\n setRecordsRows() {\n this.dataRecordsRows = (this.dataRecords as ElectricityConsumptionDataRecord[]).map(record => {\n const countryCode = record.countryCode ? record.countryCode : this.assetCountryMap.get(record.assetId);\n return {\n id: record.id,\n cells: [\n {\n columnId: 'period',\n value:\n formatDate(record.startDate, 'dd. MMM yyyy', 'en_US') +\n ' - ' +\n formatDate(record.endDate, 'dd. MMM yyyy', 'en_US'),\n number: false,\n },\n {\n columnId: 'asset',\n value: this.assetOptions.flatMap(group => group.options).find(c => c.value === record.assetId)?.label || '',\n number: false,\n },\n {\n columnId: 'country',\n value: this.countryOptions.find(country => country.value === countryCode)?.label || '',\n number: false,\n },\n {\n columnId: 'electricity_kwh',\n value: record.electricity_kwh?.toString() || '',\n number: true,\n },\n ],\n };\n });\n }\n\n setAddRecordForm() {\n const asset = this.getDefaultAssetOption();\n this.recordFc = {\n startDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(asset, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n country: new FormControl(\n {\n value: this.getCountryOptionByAssetId(asset?.value),\n disabled: asset?.group === AssetType.Facility || asset?.group === AssetType.Organization,\n },\n {\n nonNullable: true,\n }\n ),\n electricity_kwh: new FormControl('', {\n nonNullable: true,\n }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n\n setEditRecordForm(id: string) {\n const record = this.dataRecords.find(record => record.id === id) as ElectricityConsumptionDataRecord;\n if (record) {\n const asset =\n this.assetOptions.flatMap(group => group.options).find(opt => opt.value === record.assetId) ||\n this.getDefaultAssetOption();\n const country = record.countryCode\n ? this.countryOptions.find(type => type.value === record.countryCode)\n : this.getCountryOptionByAssetId(record.assetId);\n this.recordFc = {\n startDate: new FormControl(record.startDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(record.endDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(asset, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n country: new FormControl(\n {\n value: country || this.countryOptions[0],\n disabled: asset?.group === AssetType.Facility || asset?.group === AssetType.Organization,\n },\n {\n nonNullable: true,\n }\n ),\n electricity_kwh: new FormControl(record.electricity_kwh?.toString() || '', {\n nonNullable: true,\n }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n }\n\n handleOnAssetChange(\n assetFormControl: FormControl,\n countryFormControl: FormControl,\n assetOption: IOption\n ) {\n const countryOption = this.countryOptions.find(opt => opt.value === this.assetCountryMap.get(assetOption.value));\n this.handleDropdownChange(assetFormControl, assetOption);\n if (countryOption) this.handleDropdownChange(countryFormControl, countryOption);\n if (assetOption.group === AssetType.Facility || assetOption.group === AssetType.Organization) {\n countryFormControl.disable();\n } else {\n countryFormControl.enable();\n }\n }\n\n getParams():\n | CreateElectricityConsumptionDataRecordCommandParams\n | UpdateElectricityConsumptionDataRecordCommandParams\n | undefined {\n const countryCode = Object.values(CountryCodes).find(code => code === this.recordFc?.country.value.value);\n if (this.recordFormgroup?.valid && this.recordFc && this.recordFc.asset.value?.value && countryCode) {\n const electricity = {\n type: DataRecordType.ElectricityConsumption,\n assetId: this.recordFc.asset.value.value,\n inputType: InputType.Manual,\n startDate: this.recordFc.startDate.value || new Date(),\n endDate: this.recordFc.endDate.value || new Date(),\n countryCode: countryCode,\n electricity_kwh: formattedStringToNumber(this.recordFc.electricity_kwh.value || '') || 0,\n };\n if (this.editRecordId) {\n return new UpdateElectricityConsumptionDataRecordCommandParams({ id: this.editRecordId, ...electricity });\n } else {\n return new CreateElectricityConsumptionDataRecordCommandParams(electricity);\n }\n }\n return undefined;\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n","import { Injectable } from '@angular/core';\nimport {\n DataRecordType,\n AssetType,\n CreateElectricityConsumptionDataRecordCommandParams,\n DataRecordCategory,\n CountryCodes,\n PowerSource,\n ICreateElectricityConsumptionDataRecordCommandParams,\n InputType,\n} from 'src/api-client/report-api.generated';\nimport { DataRecordApiService } from 'src/app/api-client/report-api/data-record-api-service';\nimport { IOption } from 'src/app/static-data/options';\nimport { AssetApiService } from 'src/app/api-client/report-api/asset-api-service';\nimport { RecordsStateService } from '../records-state.service';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { CountryApiService } from 'src/app/api-client/report-api/country-api-service';\nimport { DataCategoryApiService } from 'src/app/api-client/report-api/categories-api-service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AssetCategoryLabel } from 'src/app/static-data/enum-mappings';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\nimport {\n ExcelImportValidationMessage,\n FieldConfig,\n ImportDataOutput,\n validateExcelOptionColumn,\n} from 'src/app/shared/components/data-import-from-excel/data-import-from-excel.component';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport { generateGUID } from 'src/app/shared/utils/guid';\n\ninterface AssetData {\n id: string;\n name: string;\n countryCode?: string;\n powerSource?: string;\n}\n\n@Injectable()\nexport class ElectricityStateService extends RecordsStateService {\n title = 'Electricity';\n recordCategory = DataRecordCategory.IndirectEmissionsElectricity;\n\n assetCategories = [AssetType.Organization, AssetType.Facility, AssetType.Vessel, AssetType.VehicleCraftMachinery];\n\n assetToCategoryMap = new Map();\n\n constructor(\n appInfo: AppInfoService,\n appConfig: AppConfigurationService,\n assetApiService: AssetApiService,\n dataRecordService: DataRecordApiService,\n dataCategoryApiService: DataCategoryApiService,\n notificationService: NotificationService,\n router: Router,\n route: ActivatedRoute,\n private countryApiService: CountryApiService\n ) {\n super(\n appInfo,\n appConfig,\n assetApiService,\n dataRecordService,\n dataCategoryApiService,\n notificationService,\n router,\n route\n );\n }\n\n importFromExcelEnabled = true;\n importFromExcelFieldConfigs: FieldConfig[] = [\n { propertyName: 'startDate', title: 'Start Date', type: 'date' },\n { propertyName: 'endDate', title: 'End Date', type: 'date' },\n { propertyName: 'asset', title: 'Asset', type: 'string' },\n { propertyName: 'country', title: 'Country', type: 'string' },\n { propertyName: 'electricity_kwh', title: 'kwh', type: 'number' },\n ];\n\n importDataFromExcel(data: ImportDataOutput) {\n var dataSetId = generateGUID();\n this.importingInProgress = true;\n let validationMessages: ExcelImportValidationMessage[] = [];\n\n const assetValidation = this.validateExcelAssets(data.records);\n if (assetValidation) validationMessages.push(assetValidation);\n\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'country',\n this.countryOptions,\n data.records,\n 'Country'\n );\n\n if (validationMessages.length) {\n validationMessages.forEach(message => {\n this.notificationService.showError(message.title, message.description);\n });\n this.importingInProgress = false;\n return;\n }\n\n const addRecordPromises = data.records.map((record, index) => {\n const countryCode = this.countryOptions.find(opt => opt.label === record.country?.value);\n if (!countryCode) {\n this.notificationService.showError(\n 'Not valid imported data',\n `Country column is not valid for ${index + 1} row`\n );\n return;\n }\n const asset = this.getAssetOptionColumn(record.asset?.value);\n const electricityConsumption: ICreateElectricityConsumptionDataRecordCommandParams = {\n type: DataRecordType.ElectricityConsumption,\n dataSetId: dataSetId,\n assetId: asset.value,\n inputType: InputType.ImportedFromExcel,\n startDate: record.startDate?.value,\n endDate: record.endDate?.value,\n countryCode: CountryCodes[countryCode.value as keyof typeof CountryCodes],\n electricity_kwh: record.electricity_kwh?.value || 0,\n };\n\n return this.dataRecordService.createDataRecord(\n new CreateElectricityConsumptionDataRecordCommandParams({ ...electricityConsumption })\n );\n });\n Promise.all(addRecordPromises).then(async response => {\n response.forEach(res => {\n if (res) {\n const addedId = res.result?.id;\n if (addedId) {\n this.newlyAddedRowsIds.push(addedId);\n this.delayRemoveAddedId(addedId, 15000);\n }\n }\n });\n await this.loadRecords();\n this.importingInProgress = false;\n this.importDataFromExcelClose();\n });\n }\n\n async fetchStaticData() {\n await Promise.all([this.getAssetOptions(), this.getCountries(), this.getDataCategoryDetails()]);\n }\n\n async fetchOptions() {\n await Promise.all([this.getAssetOptions(), this.getCountries()]);\n }\n\n async getCountries() {\n const response = await this.countryApiService.getAllCountries();\n this.countryOptions = response.result.map(country => ({ value: country.code, label: country.name }));\n }\n\n async getAssetOptionsByType(type: AssetType, organizationCountryMap: Map) {\n const response = await this.assetApiService.getAssetsByOrganizationAndType(undefined, type);\n\n const options: IOption[] = [];\n response.result.map(a => {\n let asset = a as AssetData;\n if (\n type === AssetType.VehicleCraftMachinery &&\n asset.powerSource !== PowerSource.Electric &&\n asset.powerSource !== PowerSource.PlugInHybrid\n ) {\n return;\n }\n\n if (asset.countryCode) {\n this.assetCountryMap.set(asset.id, asset.countryCode);\n } else {\n const organizationCountry = organizationCountryMap.get(\n a.subOrganizationId ? a.subOrganizationId : a.organizationId\n );\n if (organizationCountry) this.assetCountryMap.set(asset.id, organizationCountry);\n }\n options.push({ value: asset.id, label: asset.name, group: type });\n });\n return {\n label: AssetCategoryLabel[type],\n options: options,\n };\n }\n}\n","import { Component } from '@angular/core';\nimport { ElectricityStateService } from './electricity-state.service';\nimport { RecordsComponent } from '../records.component';\n\n@Component({\n selector: 'esg-electricity',\n templateUrl: './electricity.component.html',\n styleUrls: ['../records.component.scss'],\n providers: [{ provide: RecordsComponent, useExisting: ElectricityComponent }, ElectricityStateService],\n})\nexport class ElectricityComponent extends RecordsComponent {\n constructor(public state: ElectricityStateService) {\n super(state);\n }\n}\n","\n \n Select category\n \n \n \n \n \n
\n \n \n 1\"\n [fc]=\"state.filteredAssetTypes\"\n size=\"small\"\n [options]=\"state.assetTypeOptions\"\n [isFilter]=\"true\"\n placeholder=\"All asset types\"\n (onChange)=\"state.handleAssetTypeFilterChange()\">\n \n \n
\n
\n \n
\n\n\n","import { Component, SimpleChanges } from '@angular/core';\nimport { RecordForm, RecordFormTableComponent } from '../../../shared/record-form-table/record-form-table.component';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { IOption } from 'src/app/static-data/options';\nimport {\n CreateOrganizationFinesDataRecordCommandParams,\n CurrencyCodes,\n DataRecordType,\n InputType,\n OrganizationFinesDataRecord,\n UpdateOrganizationFinesDataRecordCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { formatDate } from '@angular/common';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\nimport { RecordHeaderCell } from 'src/app/shared/components/records-table/records-table.component';\n\ninterface FinesRecordForm extends RecordForm {\n monetaryValue: FormControl;\n nonMonetarySanctions: FormControl;\n}\n\n@Component({\n selector: 'esg-fines-form-table',\n templateUrl: './fines-form-table.component.html',\n styleUrls: ['../../../shared/record-form-table/record-form-table.component.scss'],\n providers: [{ provide: RecordFormTableComponent, useExisting: FinesFormTableComponent }],\n})\nexport class FinesFormTableComponent extends RecordFormTableComponent {\n headerCells: RecordHeaderCell[] = [\n { columnId: 'period', label: 'Period', description: 'From – To Date', number: false, sortFieldName: 'StartDate' },\n { columnId: 'asset', label: 'Asset', description: '', number: false, sortFieldName: 'AssetName' },\n { columnId: 'monetaryValue', label: 'Monetary Value', description: this.organizationCurrency, number: true },\n { columnId: 'nonMonetarySanctions', label: 'Non Monetary Sanctions', description: 'Number', number: true },\n ];\n\n recordFc?: FinesRecordForm = undefined;\n recordFormgroup?: FormGroup = undefined;\n\n ngOnChanges(changes: SimpleChanges) {\n super.ngOnChanges(changes);\n if (changes.organizationCurrency) {\n this.setCurrencyDescription(changes.organizationCurrency.currentValue);\n }\n }\n\n setCurrencyDescription(currency: string) {\n const currencyHeaderCell = this.headerCells.findIndex(cell => cell.columnId === 'monetaryValue');\n this.headerCells[currencyHeaderCell].description = currency;\n }\n\n setRecordsRows() {\n this.dataRecordsRows = (this.dataRecords as OrganizationFinesDataRecord[]).map(record => ({\n id: record.id,\n cells: [\n {\n columnId: 'period',\n value:\n formatDate(record.startDate, 'dd. MMM yyyy', 'en_US') +\n ' - ' +\n formatDate(record.endDate, 'dd. MMM yyyy', 'en_US'),\n number: false,\n },\n {\n columnId: 'asset',\n value: this.assetOptions.flatMap(group => group.options).find(c => c.value === record.assetId)?.label || '',\n number: false,\n },\n { columnId: 'monetaryValue', value: record.monetaryValue.toString(), number: true, unit: record.currencyCode },\n { columnId: 'nonMonetarySanctions', value: record.nonMonetarySanctions.toString(), number: true },\n ],\n }));\n }\n\n setAddRecordForm() {\n this.recordFc = {\n startDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(this.getDefaultAssetOption(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n monetaryValue: new FormControl('', { nonNullable: true }),\n nonMonetarySanctions: new FormControl('', { nonNullable: true }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n\n setEditRecordForm(id: string) {\n const record = this.dataRecords.find(record => record.id === id) as OrganizationFinesDataRecord;\n if (record) {\n this.recordFc = {\n startDate: new FormControl(record.startDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(record.endDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(\n this.assetOptions.flatMap(group => group.options).find(opt => opt.value === record.assetId) ||\n this.getDefaultAssetOption(),\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n monetaryValue: new FormControl(record.monetaryValue.toString(), { nonNullable: true }),\n nonMonetarySanctions: new FormControl(record.nonMonetarySanctions.toString(), { nonNullable: true }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n }\n\n getParams():\n | CreateOrganizationFinesDataRecordCommandParams\n | UpdateOrganizationFinesDataRecordCommandParams\n | undefined {\n if (this.recordFormgroup?.valid && this.recordFc && this.recordFc.asset.value?.value) {\n const fines = {\n type: DataRecordType.OrganizationFines,\n startDate: this.recordFc.startDate.value || new Date(),\n endDate: this.recordFc.endDate.value || new Date(),\n assetId: this.recordFc.asset.value.value,\n inputType: InputType.Manual,\n monetaryValue: formattedStringToNumber(this.recordFc.monetaryValue.value || '') || 0,\n nonMonetarySanctions: formattedStringToNumber(this.recordFc.nonMonetarySanctions.value || '') || 0,\n currencyCode: this.organizationCurrency,\n };\n if (this.editRecordId) {\n return new UpdateOrganizationFinesDataRecordCommandParams({ id: this.editRecordId, ...fines });\n } else {\n return new CreateOrganizationFinesDataRecordCommandParams(fines);\n }\n }\n return undefined;\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n","import { Injectable } from '@angular/core';\nimport { AssetType, DataRecordCategory } from 'src/api-client/report-api.generated';\nimport { RecordsStateService } from '../records-state.service';\n\n@Injectable()\nexport class FinesStateService extends RecordsStateService {\n recordCategory = DataRecordCategory.BusinessEthicsFines;\n\n assetCategories = [AssetType.Organization];\n}\n","import { Component } from '@angular/core';\nimport { FinesStateService } from './fines-state.service';\nimport { RecordsComponent } from '../records.component';\n\n@Component({\n selector: 'esg-fines',\n templateUrl: './fines.component.html',\n styleUrls: ['../records.component.scss'],\n providers: [{ provide: RecordsComponent, useExisting: FinesComponent }, FinesStateService],\n})\nexport class FinesComponent extends RecordsComponent {\n constructor(public state: FinesStateService) {\n super(state);\n }\n}\n","\n Select category\n \n \n \n \n \n
\n \n \n 1\"\n [fc]=\"state.filteredAssetTypes\"\n size=\"small\"\n [options]=\"state.assetTypeOptions\"\n [isFilter]=\"true\"\n placeholder=\"All asset types\"\n (onChange)=\"state.handleAssetTypeFilterChange()\">\n \n \n
\n
\n \n
\n\n\n","import { ITabItem } from 'src/app/shared/ui/tabs/tabs.component';\nimport { RecordsComponent } from '../records.component';\nimport { Component } from '@angular/core';\n\n@Component({ selector: 'esg-fuel-combustion', template: '' })\nexport abstract class FuelCombustionComponent extends RecordsComponent {\n tabs: ITabItem[] = [\n { value: 'vessels', label: 'Vessels', link: ['../', 'vessels'] },\n {\n value: 'vehicles-crafts-machinery',\n label: 'Vehicles, Crafts & Machinery',\n link: ['../', 'vehicles-crafts-machinery'],\n },\n ];\n}\n","import { Component } from '@angular/core';\nimport { RecordForm, RecordFormTableComponent } from '../../../shared/record-form-table/record-form-table.component';\nimport {\n CreateVehicleConsumptionDataRecordCommandParams,\n DataRecordType,\n InputType,\n UpdateVehicleConsumptionDataRecordCommandParams,\n VehicleConsumptionDataRecord,\n} from 'src/api-client/report-api.generated';\nimport { formatDate } from '@angular/common';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { IOption } from 'src/app/static-data/options';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\n\ninterface VehicleCompustionRecordForm extends RecordForm {\n diesel_l: FormControl;\n petrol_l: FormControl;\n hydrogen_kg: FormControl;\n liquidPetroleumGas: FormControl;\n liquidPetroleumGas_unit: FormControl;\n naturalGas: FormControl;\n naturalGas_Unit: FormControl;\n distance_km: FormControl;\n}\n\n@Component({\n selector: 'esg-vehicle-combustion-form-table',\n templateUrl: './vehicle-combustion-form-table.component.html',\n styleUrls: ['../../../shared/record-form-table/record-form-table.component.scss'],\n providers: [{ provide: RecordFormTableComponent, useExisting: VehicleCombustionFormTableComponent }],\n})\nexport class VehicleCombustionFormTableComponent extends RecordFormTableComponent {\n headerCells = [\n { columnId: 'period', label: 'Period', description: 'From – To Date', number: false, sortFieldName: 'StartDate' },\n { columnId: 'asset', label: 'Asset', description: '', number: false, sortFieldName: 'AssetName' },\n { columnId: 'diesel', label: 'Diesel', description: 'Litres', number: true, sortFieldName: 'diesel_l' },\n {\n columnId: 'petrolGasoline',\n label: 'Petrol/Gasoline',\n description: 'Litres',\n number: true,\n sortFieldName: 'petrol_l',\n },\n { columnId: 'hydrogen', label: 'HYDROGEN', description: 'Litres', number: true, sortFieldName: 'hydrogen_kg' },\n {\n columnId: 'naturalGas',\n label: 'NG',\n description: 'mt or m3',\n number: true,\n possibleToHide: true,\n sortFieldName: 'naturalGas',\n },\n {\n columnId: 'liquidPetroleumGas',\n label: 'LPG',\n description: 'mt or Litres',\n number: true,\n possibleToHide: true,\n sortFieldName: 'liquidPetroleumGas',\n },\n {\n columnId: 'distance_km',\n label: 'Distance',\n description: 'km',\n number: true,\n possibleToHide: true,\n sortFieldName: 'distance_km',\n },\n ];\n\n recordFc?: VehicleCompustionRecordForm = undefined;\n recordFormgroup?: FormGroup = undefined;\n\n liquidPetroleumGasUnits: IOption[] = [\n { value: 'mt', label: 'mt', optionLabel: 'Metric Tons (mt)' },\n { value: 'l', label: 'l', optionLabel: 'Litres (l)' },\n ];\n\n naturalGasUnits: IOption[] = [\n { value: 'mt', label: 'mt', optionLabel: 'Metric Tons (mt)' },\n { value: 'm3', label: 'm³', optionLabel: 'Cubic Metres (m³)' },\n ];\n\n setRecordsRows() {\n this.dataRecordsRows = (this.dataRecords as VehicleConsumptionDataRecord[]).map(record => ({\n id: record.id,\n cells: [\n {\n columnId: 'period',\n value:\n formatDate(record.startDate, 'dd. MMM yyyy', 'en_US') +\n ' - ' +\n formatDate(record.endDate, 'dd. MMM yyyy', 'en_US'),\n number: false,\n },\n {\n columnId: 'asset',\n value: this.assetOptions.flatMap(group => group.options).find(c => c.value === record.assetId)?.label || '',\n number: false,\n },\n {\n columnId: 'diesel',\n value: record.diesel_l?.toString() || '',\n number: true,\n },\n {\n columnId: 'petrolGasoline',\n value: record.petrol_l?.toString() || '',\n number: true,\n },\n {\n columnId: 'hydrogen',\n value: record.hydrogen_kg?.toString() || '',\n number: true,\n },\n {\n columnId: 'naturalGas',\n value: record.naturalGas?.toString() || '',\n number: true,\n unit: record.naturalGas\n ? this.naturalGasUnits.find(c => c.value === record.naturalGas_Unit)?.label || record.naturalGas_Unit\n : '',\n },\n {\n columnId: 'liquidPetroleumGas',\n value: record.liquidPetroleumGas?.toString() || '',\n number: true,\n unit: record.liquidPetroleumGas\n ? this.liquidPetroleumGasUnits.find(c => c.value === record.liquidPetroleumGas_Unit)?.label ||\n record.liquidPetroleumGas_Unit\n : '',\n },\n {\n columnId: 'distance_km',\n value: record.distance_km?.toString() || '',\n number: true,\n },\n ],\n }));\n }\n\n setAddRecordForm() {\n const asset = this.getDefaultAssetOption();\n this.recordFc = {\n startDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(asset, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n diesel_l: new FormControl('', {\n nonNullable: true,\n }),\n petrol_l: new FormControl('', {\n nonNullable: true,\n }),\n hydrogen_kg: new FormControl('', {\n nonNullable: true,\n }),\n liquidPetroleumGas: new FormControl('', {\n nonNullable: true,\n }),\n liquidPetroleumGas_unit: new FormControl(this.liquidPetroleumGasUnits[0], {\n nonNullable: true,\n }),\n naturalGas: new FormControl('', {\n nonNullable: true,\n }),\n naturalGas_Unit: new FormControl(this.naturalGasUnits[0], {\n nonNullable: true,\n }),\n distance_km: new FormControl('', {\n nonNullable: true,\n }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n\n setEditRecordForm(id: string) {\n const vehicleRecord = this.dataRecords.find(record => record.id === id) as VehicleConsumptionDataRecord;\n if (vehicleRecord) {\n this.recordFc = {\n startDate: new FormControl(vehicleRecord.startDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(vehicleRecord.endDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(\n this.assetOptions.flatMap(group => group.options).find(opt => opt.value === vehicleRecord.assetId) ||\n this.getDefaultAssetOption(),\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n diesel_l: new FormControl(vehicleRecord.diesel_l?.toString() || '', {\n nonNullable: true,\n }),\n petrol_l: new FormControl(vehicleRecord.petrol_l?.toString() || '', {\n nonNullable: true,\n }),\n hydrogen_kg: new FormControl(vehicleRecord.hydrogen_kg?.toString() || '', {\n nonNullable: true,\n }),\n liquidPetroleumGas: new FormControl(vehicleRecord.liquidPetroleumGas?.toString() || '', {\n nonNullable: true,\n }),\n liquidPetroleumGas_unit: new FormControl(\n this.liquidPetroleumGasUnits.find(opt => opt.value === vehicleRecord.liquidPetroleumGas_Unit) ||\n this.liquidPetroleumGasUnits[0],\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n naturalGas: new FormControl(vehicleRecord.naturalGas?.toString() || '', {\n nonNullable: true,\n }),\n naturalGas_Unit: new FormControl(\n this.naturalGasUnits.find(opt => opt.value === vehicleRecord.naturalGas_Unit) || this.naturalGasUnits[0],\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n distance_km: new FormControl(vehicleRecord.distance_km?.toString() || '', {\n nonNullable: true,\n }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n }\n\n getParams():\n | CreateVehicleConsumptionDataRecordCommandParams\n | UpdateVehicleConsumptionDataRecordCommandParams\n | undefined {\n if (this.recordFormgroup?.valid && this.recordFc && this.recordFc.asset.value?.value) {\n const vehicleCompustion = {\n type: DataRecordType.VehicleConsumption,\n assetId: this.recordFc.asset.value.value,\n inputType: InputType.Manual,\n startDate: this.recordFc.startDate.value || new Date(),\n endDate: this.recordFc.endDate.value || new Date(),\n diesel_l: formattedStringToNumber(this.recordFc.diesel_l.value || '') || 0,\n petrol_l: formattedStringToNumber(this.recordFc.petrol_l.value || '') || 0,\n hydrogen_kg: formattedStringToNumber(this.recordFc.hydrogen_kg.value || '') || 0,\n liquidPetroleumGas: formattedStringToNumber(this.recordFc.liquidPetroleumGas.value || '') || 0,\n liquidPetroleumGas_Unit: this.recordFc.liquidPetroleumGas_unit.value.value,\n naturalGas: formattedStringToNumber(this.recordFc.naturalGas.value || '') || 0,\n naturalGas_Unit: this.recordFc.naturalGas_Unit.value.value,\n distance_km: formattedStringToNumber(this.recordFc.distance_km.value || '') || 0,\n };\n if (this.editRecordId) {\n return new UpdateVehicleConsumptionDataRecordCommandParams({ id: this.editRecordId, ...vehicleCompustion });\n } else {\n return new CreateVehicleConsumptionDataRecordCommandParams(vehicleCompustion);\n }\n }\n return undefined;\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n","import { Injectable } from '@angular/core';\nimport {\n DataRecordType,\n AssetType,\n AssetVm,\n VehicleCraftMachineryAssetVm,\n PowerSource,\n DataRecordCategory,\n} from 'src/api-client/report-api.generated';\nimport { IGroupedOptions, vehicleCraftMachineryTypeOptions } from 'src/app/static-data/options';\nimport { VehicleCraftMachineryTypeLabel } from 'src/app/static-data/enum-mappings';\nimport { RecordsStateService } from '../records-state.service';\n\n@Injectable()\nexport class VehicleCombustionStateService extends RecordsStateService {\n recordCategory = DataRecordCategory.DirectEmissionFuelCombustion;\n assetCategories = [AssetType.VehicleCraftMachinery];\n\n async loadRecords() {\n await this.getDataRecords(DataRecordType.VehicleConsumption);\n }\n\n handleDeleteAllFilteredRecordsSubmit() {\n this.handleOnDeleteAllFilteredRecords(DataRecordType.VehicleConsumption);\n }\n\n async getAssetOptions() {\n this.assetOptions = [];\n\n const response = await this.assetApiService.getAssetsByOrganizationAndType(\n undefined,\n AssetType.VehicleCraftMachinery\n );\n\n this.getVehicleCraftsMachineryOptions(response.result);\n\n this.assetFilterOptions = this.assetOptions;\n this.isAssetsDisabled = this.assetOptions.flatMap(group => group.options).length < 2;\n }\n\n getVehicleCraftsMachineryOptions(assets: AssetVm[]) {\n const assetOptions: IGroupedOptions[] = vehicleCraftMachineryTypeOptions.map(subType => ({\n label: VehicleCraftMachineryTypeLabel[subType.value],\n options: [],\n }));\n assets.forEach(a => {\n const asset = a as VehicleCraftMachineryAssetVm;\n if (asset.powerSource === PowerSource.Electric) return;\n const group = assetOptions.find(group => group.label === VehicleCraftMachineryTypeLabel[asset.subType]);\n if (group) group.options.push({ value: asset.id, label: asset.name, group: asset.subType });\n });\n this.assetOptions = assetOptions.filter(group => group.options.length > 0);\n }\n}\n","import { Component } from '@angular/core';\nimport { FuelCombustionComponent } from './fuel-combustion.component';\nimport { VehicleCombustionStateService } from './vehicle-combustion-state.service';\nimport { RecordsComponent } from '../records.component';\n\n@Component({\n selector: 'esg-vehicle-combustion',\n templateUrl: './vehicle-combustion.component.html',\n styleUrls: ['../records.component.scss'],\n providers: [{ provide: RecordsComponent, useExisting: VehicleCombustionComponent }, VehicleCombustionStateService],\n})\nexport class VehicleCombustionComponent extends FuelCombustionComponent {\n constructor(public state: VehicleCombustionStateService) {\n super(state);\n }\n}\n","\n Select category\n \n \n \n \n \n \n
\n \n \n 1\"\n [fc]=\"state.filteredAssetTypes\"\n size=\"small\"\n [options]=\"state.assetTypeOptions\"\n [isFilter]=\"true\"\n placeholder=\"All asset types\"\n (onChange)=\"state.handleAssetTypeFilterChange()\">\n \n \n
\n
\n \n
\n\n\n","import { Component, Input, SimpleChanges } from '@angular/core';\nimport { RecordForm, RecordFormTableComponent } from '../../../shared/record-form-table/record-form-table.component';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport {\n CreateVesselConsumptionDataRecordCommandParams,\n DataRecordType,\n InputType,\n UpdateVesselConsumptionDataRecordCommandParams,\n VesselConsumptionDataRecord,\n VesselEmissionsDataRecord,\n} from 'src/api-client/report-api.generated';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\nimport { formatDate } from '@angular/common';\nimport { IOption } from 'src/app/static-data/options';\n\ninterface VesselCompustionRecordForm extends RecordForm {\n distanceSailed_nm: FormControl;\n inOperation_hrs: FormControl;\n mgo: FormControl;\n mgo_unit: FormControl;\n hfo: FormControl;\n hfo_unit: FormControl;\n lfo: FormControl;\n lfo_unit: FormControl;\n lng: FormControl;\n lng_unit: FormControl;\n urea_l: FormControl;\n hvO100: FormControl;\n hvO100_Unit: FormControl;\n mgoB30: FormControl;\n mgoB30_Unit: FormControl;\n}\n\n@Component({\n selector: 'esg-vessel-combustion-form-table',\n templateUrl: './vessel-combustion-form-table.component.html',\n styleUrls: [\n './vessel-combustion-form-table.component.scss',\n '../../../shared/record-form-table/record-form-table.component.scss',\n ],\n providers: [{ provide: RecordFormTableComponent, useExisting: VesselCombustionFormTableComponent }],\n})\nexport class VesselCombustionFormTableComponent extends RecordFormTableComponent {\n @Input() showSegmentedControl = false;\n @Input() activeSegmentedTab: string = DataRecordType.VesselConsumption;\n\n unitOptions: IOption[] = [\n { value: 'mt', label: 'mt', optionLabel: 'Metric Tons (mt)' },\n { value: 'm3', label: 'm³', optionLabel: 'Cubic Metres (m³)' },\n ];\n\n recordFc?: VesselCompustionRecordForm = undefined;\n recordFormgroup?: FormGroup = undefined;\n\n columnFilter: FormControl = new FormControl([], { nonNullable: true });\n columnFilterStorageKey = 'vesselCombustionColumnFilter';\n\n get useColumnFilter() {\n return this.activeSegmentedTab === DataRecordType.VesselConsumption;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n super.ngOnChanges(changes);\n if (changes.activeSegmentedTab) {\n const activeTab = changes.activeSegmentedTab.currentValue;\n if (this.showSegmentedControl && activeTab === DataRecordType.VesselEmissions) {\n this.headerCells = [\n {\n columnId: 'period',\n label: 'Period',\n description: 'From – To Date',\n number: false,\n sortFieldName: 'StartDate',\n },\n { columnId: 'asset', label: 'Asset', description: '', number: false, sortFieldName: 'AssetName' },\n { columnId: 'mgo', label: 'MGO', description: 'm3', number: true },\n { columnId: 'lng', label: 'LNG', description: 'm3', number: true },\n { columnId: 'nox', label: 'Nox', description: 'Tonnes', number: true },\n { columnId: 'co2', label: 'CO2', description: 'Tonnes', number: true },\n { columnId: 'sox', label: 'SOx', description: 'kg', number: true },\n { columnId: 'powerFromShore', label: 'Power from shore', description: 'Kwh', number: true },\n { columnId: 'hoursInOperation', label: 'Hours in operation', description: 'Hours', number: true },\n { columnId: 'hvO100', label: 'HVO100', description: 'm3', number: true },\n { columnId: 'mgoB30', label: 'MGO B30', description: 'm3', number: true },\n ];\n } else {\n this.headerCells = [\n {\n columnId: 'period',\n label: 'Period',\n description: 'From – To Date',\n number: false,\n sortFieldName: 'StartDate',\n },\n { columnId: 'asset', label: 'Asset', description: '', number: false, sortFieldName: 'AssetName' },\n {\n columnId: 'inOperation_hrs',\n label: 'In Operation',\n description: 'Hours',\n number: true,\n possibleToHide: true,\n },\n {\n columnId: 'distanceSailed_nm',\n label: 'Distance',\n description: 'Nautical Miles',\n number: true,\n possibleToHide: true,\n },\n { columnId: 'mgo', label: 'MGO', description: 'mt or m3', number: true, possibleToHide: true },\n { columnId: 'hfo', label: 'HFO', description: 'mt or m3', number: true, possibleToHide: true },\n { columnId: 'lfo', label: 'LFO', description: 'mt or m3', number: true, possibleToHide: true },\n { columnId: 'lng', label: 'LNG', description: 'mt or m3', number: true, possibleToHide: true },\n { columnId: 'urea_l', label: 'UREA', description: 'Litres', number: true, possibleToHide: true },\n { columnId: 'hvO100', label: 'HVO100', description: 'mt or m3', number: true, possibleToHide: true },\n { columnId: 'mgoB30', label: 'MGO B30', description: 'mt or m3', number: true, possibleToHide: true },\n ];\n }\n }\n }\n\n setRecordsRows() {\n if (this.showSegmentedControl && this.activeSegmentedTab === DataRecordType.VesselEmissions) {\n this.dataRecordsRows = (this.dataRecords as VesselEmissionsDataRecord[])\n .filter(record => record.type === DataRecordType.VesselEmissions)\n .map(record => ({\n id: record.id,\n cells: [\n {\n columnId: 'period',\n value:\n formatDate(record.startDate, 'dd. MMM yyyy', 'en_US') +\n ' - ' +\n formatDate(record.endDate, 'dd. MMM yyyy', 'en_US'),\n number: false,\n },\n {\n columnId: 'asset',\n value:\n this.assetOptions.flatMap(group => group.options).find(c => c.value === record.assetId)?.label || '',\n number: false,\n },\n { columnId: 'mgo', value: record.mgO_m3?.toString() || '', number: true },\n { columnId: 'lng', value: record.lnG_m3?.toString() || '', number: true },\n { columnId: 'nox', value: record.nox_t?.toString() || '', number: true },\n { columnId: 'co2', value: record.cO2_t?.toString() || '', number: true },\n { columnId: 'sox', value: record.sOx_kg?.toString() || '', number: true },\n { columnId: 'powerFromShore', value: record.powerFromShore_kwh?.toString() || '', number: true },\n { columnId: 'hoursInOperation', value: record.inOperation_hrs?.toString() || '', number: true },\n ],\n }));\n } else {\n this.dataRecordsRows = (this.dataRecords as VesselConsumptionDataRecord[]).map(record => ({\n id: record.id,\n cells: [\n {\n columnId: 'period',\n value:\n formatDate(record.startDate, 'dd. MMM yyyy', 'en_US') +\n ' - ' +\n formatDate(record.endDate, 'dd. MMM yyyy', 'en_US'),\n number: false,\n },\n {\n columnId: 'asset',\n value: this.assetOptions.flatMap(group => group.options).find(c => c.value === record.assetId)?.label || '',\n number: false,\n },\n { columnId: 'inOperation_hrs', value: record.inOperation_hrs?.toString() || '', number: true },\n { columnId: 'distanceSailed_nm', value: record.distanceSailed_nm?.toString() || '', number: true },\n {\n columnId: 'mgo',\n value: record.mgo?.toString() || '',\n number: true,\n unit: record.mgo ? this.unitOptions.find(c => c.value === record.mgO_Unit)?.label || record.mgO_Unit : '',\n },\n {\n columnId: 'hfo',\n value: record.hfo?.toString() || '',\n number: true,\n unit: record.hfo ? this.unitOptions.find(c => c.value === record.hfO_Unit)?.label || record.hfO_Unit : '',\n },\n {\n columnId: 'lfo',\n value: record.lfo?.toString() || '',\n number: true,\n unit: record.lfo ? this.unitOptions.find(c => c.value === record.lfO_Unit)?.label || record.lfO_Unit : '',\n },\n {\n columnId: 'lng',\n value: record.lng?.toString() || '',\n number: true,\n unit: record.lng ? this.unitOptions.find(c => c.value === record.lnG_Unit)?.label || record.lnG_Unit : '',\n },\n { columnId: 'urea_l', value: record.urea_l?.toString() || '', number: true },\n {\n columnId: 'hvO100',\n value: record.hvO100?.toString() || '',\n number: true,\n unit: record.hvO100\n ? this.unitOptions.find(c => c.value === record.hvO100_Unit)?.label || record.hvO100_Unit\n : '',\n },\n {\n columnId: 'mgoB30',\n value: record.mgoB30?.toString() || '',\n number: true,\n unit: record.mgoB30\n ? this.unitOptions.find(c => c.value === record.mgoB30_Unit)?.label || record.mgoB30_Unit\n : '',\n },\n ],\n }));\n }\n }\n\n setAddRecordForm() {\n const asset = this.getDefaultAssetOption();\n this.recordFc = {\n startDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(asset, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n inOperation_hrs: new FormControl('', {\n nonNullable: true,\n }),\n distanceSailed_nm: new FormControl('', {\n nonNullable: true,\n }),\n mgo: new FormControl('', {\n nonNullable: true,\n }),\n mgo_unit: new FormControl(this.unitOptions[0], {\n nonNullable: true,\n }),\n hfo: new FormControl('', {\n nonNullable: true,\n }),\n hfo_unit: new FormControl(this.unitOptions[0], {\n nonNullable: true,\n }),\n lfo: new FormControl('', {\n nonNullable: true,\n }),\n lfo_unit: new FormControl(this.unitOptions[0], {\n nonNullable: true,\n }),\n lng: new FormControl('', {\n nonNullable: true,\n }),\n lng_unit: new FormControl(this.unitOptions[0], {\n nonNullable: true,\n }),\n urea_l: new FormControl('', {\n nonNullable: true,\n }),\n mgoB30: new FormControl('', {\n nonNullable: true,\n }),\n mgoB30_Unit: new FormControl(this.unitOptions[0], {\n nonNullable: true,\n }),\n hvO100: new FormControl('', {\n nonNullable: true,\n }),\n hvO100_Unit: new FormControl(this.unitOptions[0], {\n nonNullable: true,\n }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n\n setEditRecordForm(id: string) {\n const vesselRecord = this.dataRecords.find(record => record.id === id) as VesselConsumptionDataRecord;\n if (vesselRecord) {\n this.recordFc = {\n startDate: new FormControl(vesselRecord.startDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(vesselRecord.endDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(\n this.assetOptions.flatMap(group => group.options).find(opt => opt.value === vesselRecord.assetId) ||\n this.getDefaultAssetOption(),\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n inOperation_hrs: new FormControl(vesselRecord.inOperation_hrs?.toString() || '', {\n nonNullable: true,\n }),\n distanceSailed_nm: new FormControl(vesselRecord.distanceSailed_nm?.toString() || '', {\n nonNullable: true,\n }),\n mgo: new FormControl(vesselRecord.mgo?.toString() || '', {\n nonNullable: true,\n }),\n mgo_unit: new FormControl(\n this.unitOptions.find(opt => opt.value === vesselRecord.mgO_Unit) || this.unitOptions[0],\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n hfo: new FormControl(vesselRecord.hfo?.toString() || '', {\n nonNullable: true,\n }),\n hfo_unit: new FormControl(\n this.unitOptions.find(opt => opt.value === vesselRecord.hfO_Unit) || this.unitOptions[0],\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n lfo: new FormControl(vesselRecord.lfo?.toString() || '', {\n nonNullable: true,\n }),\n lfo_unit: new FormControl(\n this.unitOptions.find(opt => opt.value === vesselRecord.lfO_Unit) || this.unitOptions[0],\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n lng: new FormControl(vesselRecord.lng?.toString() || '', {\n nonNullable: true,\n }),\n lng_unit: new FormControl(\n this.unitOptions.find(opt => opt.value === vesselRecord.lnG_Unit) || this.unitOptions[0],\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n urea_l: new FormControl(vesselRecord.urea_l?.toString() || '', {\n nonNullable: true,\n }),\n mgoB30: new FormControl(vesselRecord.mgoB30?.toString() || '', {\n nonNullable: true,\n }),\n mgoB30_Unit: new FormControl(\n this.unitOptions.find(opt => opt.value === vesselRecord.mgoB30_Unit) || this.unitOptions[0],\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n hvO100: new FormControl(vesselRecord.hvO100?.toString() || '', {\n nonNullable: true,\n }),\n hvO100_Unit: new FormControl(\n this.unitOptions.find(opt => opt.value === vesselRecord.hvO100_Unit) || this.unitOptions[0],\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n }\n\n getParams():\n | CreateVesselConsumptionDataRecordCommandParams\n | UpdateVesselConsumptionDataRecordCommandParams\n | undefined {\n this.hasSubmitted = true;\n if (this.recordFormgroup?.valid && this.recordFc && this.recordFc.asset.value?.value) {\n const vesselCompustion = {\n type: DataRecordType.VesselConsumption,\n assetId: this.recordFc.asset.value.value,\n inputType: InputType.Manual,\n startDate: this.recordFc.startDate.value || new Date(),\n endDate: this.recordFc.endDate.value || new Date(),\n inOperation_hrs: formattedStringToNumber(this.recordFc.inOperation_hrs.value || ''),\n distanceSailed_nm: formattedStringToNumber(this.recordFc.distanceSailed_nm.value || ''),\n mgo: formattedStringToNumber(this.recordFc.mgo.value || ''),\n mgO_Unit: this.recordFc.mgo_unit.value.value,\n hfo: formattedStringToNumber(this.recordFc.hfo.value || ''),\n hfO_Unit: this.recordFc.hfo_unit.value.value,\n lfo: formattedStringToNumber(this.recordFc.lfo.value || ''),\n lfO_Unit: this.recordFc.lfo_unit.value.value,\n lng: formattedStringToNumber(this.recordFc.lng.value || ''),\n lnG_Unit: this.recordFc.lng_unit.value.value,\n urea_l: formattedStringToNumber(this.recordFc.urea_l.value || ''),\n mgoB30: formattedStringToNumber(this.recordFc.mgoB30.value || ''),\n mgoB30_Unit: this.recordFc.mgoB30_Unit.value.value,\n hvO100: formattedStringToNumber(this.recordFc.hvO100.value || ''),\n hvO100_Unit: this.recordFc.hvO100_Unit.value.value,\n };\n if (this.editRecordId) {\n return new UpdateVesselConsumptionDataRecordCommandParams({ id: this.editRecordId, ...vesselCompustion });\n } else {\n return new CreateVesselConsumptionDataRecordCommandParams(vesselCompustion);\n }\n }\n return undefined;\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n","import { Injectable } from '@angular/core';\nimport {\n DataRecordType,\n ICreateVesselConsumptionDataRecordCommandParams,\n CreateVesselConsumptionDataRecordCommandParams,\n AssetType,\n DataRecordCategory,\n InputType,\n} from 'src/api-client/report-api.generated';\nimport {\n FieldConfig,\n ImportDataOutput,\n} from 'src/app/shared/components/data-import-from-excel/data-import-from-excel.component';\nimport { ITabItem } from 'src/app/shared/ui/tabs/tabs.component';\nimport { RecordsStateService } from '../records-state.service';\nimport { IOption } from 'src/app/static-data/options';\nimport { generateGUID } from 'src/app/shared/utils/guid';\n\n@Injectable()\nexport class VesselCombustionStateService extends RecordsStateService {\n title = 'Fuel Combustion';\n recordCategory = DataRecordCategory.DirectEmissionFuelCombustion;\n assetCategories = [AssetType.Vessel];\n segmentedTabs: ITabItem[] = [\n { value: DataRecordType.VesselConsumption, label: 'Manual Records' },\n { value: DataRecordType.VesselEmissions, label: 'Imported Data' },\n ];\n activeSegmentedTab = this.segmentedTabs[0].value;\n showSegmentedControl = false;\n\n unitOptions: IOption[] = [\n { value: 'mt', label: 'mt' },\n { value: 'm3', label: 'm³' },\n ];\n\n importFromExcelFieldConfigs: FieldConfig[] = [\n { propertyName: 'startDate', title: 'Start Date', type: 'date' },\n { propertyName: 'endDate', title: 'End Date', type: 'date' },\n { propertyName: 'asset', title: 'Asset', type: 'string' },\n { propertyName: 'inOperation_hrs', title: 'In Operation Hours', type: 'number', optional: true },\n { propertyName: 'distanceSailed_nm', title: 'Distance Sailed (nm)', type: 'number', optional: true },\n { propertyName: 'mgo', title: 'MGO', type: 'number', optional: true },\n { propertyName: 'mgo_unit', title: 'MGO unit (mt or m³)', type: 'string', optional: true },\n { propertyName: 'hfo', title: 'HFO', type: 'number', optional: true },\n { propertyName: 'hfo_unit', title: 'HFO unit (mt or m³)', type: 'string', optional: true },\n { propertyName: 'lfo', title: 'LFO', type: 'number', optional: true },\n { propertyName: 'lfo_unit', title: 'LFO unit (mt or m³)', type: 'string', optional: true },\n { propertyName: 'lng', title: 'LNG', type: 'number', optional: true },\n { propertyName: 'lng_unit', title: 'LNG unit (mt or m³)', type: 'string', optional: true },\n { propertyName: 'urea_l', title: 'UREA (l)', type: 'number', optional: true },\n { propertyName: 'hvO100', title: 'HVO100', type: 'number', optional: true },\n { propertyName: 'hvO100_unit', title: 'HVO100 unit (mt or m³)', type: 'string', optional: true },\n { propertyName: 'mgoB30', title: 'MGO B30', type: 'number', optional: true },\n { propertyName: 'mgoB30_unit', title: 'MGO B30 unit (mt or m³)', type: 'string', optional: true },\n ];\n\n async init() {\n this.getRecordTypeParam();\n this.loading = true;\n await this.fetchStaticData();\n await this.handleOnSegmentedTabClick(this.activeSegmentedTab);\n this.initialized = true;\n }\n\n async fetchStaticData() {\n await Promise.all([this.getAssetOptions(), this.getDataCategoryDetails(), this.checkForImportedData()]);\n }\n\n async loadRecords() {\n let type = Object.values(DataRecordType).find(type => type === this.activeSegmentedTab);\n await this.getDataRecords(type);\n }\n\n handleDeleteAllFilteredRecordsSubmit() {\n let type = Object.values(DataRecordType).find(type => type === this.activeSegmentedTab);\n this.handleOnDeleteAllFilteredRecords(type);\n }\n\n async importDataFromExcel(data: ImportDataOutput) {\n var dataSetId = generateGUID();\n this.importingInProgress = true;\n this.importingInProgressLabel = 'Importing...';\n\n const assetValidation = this.validateExcelAssets(data.records);\n if (assetValidation) {\n this.importingInProgress = false;\n this.notificationService.showError(assetValidation.title, assetValidation.description);\n return;\n }\n var recordsToAdd = data.records.length;\n var recordsAdded = 0;\n this.importingInProgressLabel = `Imported ${recordsAdded} of ${recordsToAdd}`;\n try {\n const addRecordPromises = data.records.map(async record => {\n const asset = this.getAssetOptionColumn(record.asset?.value);\n const mgoUnitOption = this.unitOptions.find(opt => opt.value === record.mgo_unit?.value);\n const hfoUnitOption = this.unitOptions.find(opt => opt.value === record.hfo_unit?.value);\n const lfoUnitOption = this.unitOptions.find(opt => opt.value === record.lfo_unit?.value);\n const lngUnitOption = this.unitOptions.find(opt => opt.value === record.lng_unit?.value);\n const hvO100UnitOption = this.unitOptions.find(opt => opt.value === record.hvO100_unit?.value);\n const mgoB30UnitOption = this.unitOptions.find(opt => opt.value === record.mgoB30_unit?.value);\n const vesselCompustion: ICreateVesselConsumptionDataRecordCommandParams = {\n type: DataRecordType.VesselConsumption,\n dataSetId: dataSetId,\n assetId: asset.value,\n inputType: InputType.ImportedFromExcel,\n startDate: record.startDate?.value,\n endDate: record.endDate?.value,\n inOperation_hrs: record.inOperation_hrs?.value,\n distanceSailed_nm: record.distanceSailed_nm?.value,\n mgo: record.mgo?.value,\n mgO_Unit: mgoUnitOption?.value || 'm3',\n hfo: record.hfo?.value,\n hfO_Unit: hfoUnitOption?.value || 'm3',\n urea_l: record.urea_l?.value,\n lfo: record.lfo?.value,\n lfO_Unit: lfoUnitOption?.value || 'm3',\n lng: record.lng?.value,\n lnG_Unit: lngUnitOption?.value || 'm3',\n hvO100: record.hvO100?.value,\n hvO100_Unit: hvO100UnitOption?.value || 'm3',\n mgoB30: record.mgoB30?.value,\n mgoB30_Unit: mgoB30UnitOption?.value || 'm3',\n };\n try {\n var result = await this.dataRecordService.createDataRecord(\n new CreateVesselConsumptionDataRecordCommandParams({ ...vesselCompustion })\n );\n ++recordsAdded;\n this.importingInProgressLabel = `Imported ${recordsAdded} of ${recordsToAdd}`;\n return result;\n } catch (e) {\n throw e;\n }\n });\n\n var response = await Promise.all(addRecordPromises);\n response.forEach((res, index) => {\n const addedId = res.result?.id;\n if (addedId) {\n this.newlyAddedRowsIds.push(addedId);\n this.delayRemoveAddedId(addedId, 15000);\n }\n });\n\n await this.loadRecords();\n this.importingInProgress = false;\n this.importingInProgressLabel = '';\n this.importDataFromExcelClose();\n } catch (e) {\n this.importingInProgress = false;\n this.importingInProgressLabel = '';\n }\n }\n\n async checkForImportedData() {\n const { count } = await this.dataRecordService.getDataRecordsCountByFilter(\n undefined,\n DataRecordType.VesselEmissions,\n this.recordCategory,\n undefined,\n undefined,\n undefined,\n undefined,\n undefined\n );\n this.showSegmentedControl = count ? true : false;\n }\n\n async handleOnSegmentedTabClick(value: string) {\n this.loading = true;\n this.resetPagination();\n this.activeSegmentedTab = value;\n this.importFromExcelEnabled = false;\n if (this.showSegmentedControl && this.activeSegmentedTab === DataRecordType.VesselEmissions) {\n this.isReadonly = true;\n } else {\n this.isReadonly = false;\n this.importFromExcelEnabled = true;\n }\n this.setRecordTypeParam(this.activeSegmentedTab);\n if (!this.initialized) this.getQueryParams();\n await this.loadRecords();\n this.setQueryParams();\n this.loading = false;\n }\n\n setRecordTypeParam(recordType: string) {\n const queryParams = { ...this.route.snapshot.queryParams };\n queryParams['recordType'] = recordType;\n\n this.router.navigate([], { queryParams });\n }\n\n getRecordTypeParam() {\n const queryParams = this.route.snapshot.queryParams;\n const recordType = queryParams['recordType'];\n if (recordType) {\n if (this.segmentedTabs.find(tab => tab.value === recordType)) {\n this.activeSegmentedTab = recordType;\n }\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { VesselCombustionStateService } from './vessel-combustion-state.service';\nimport { FuelCombustionComponent } from './fuel-combustion.component';\nimport { RecordsComponent } from '../records.component';\n\n@Component({\n selector: 'esg-vessel-combustion',\n templateUrl: './vessel-combustion.component.html',\n styleUrls: ['../records.component.scss'],\n providers: [{ provide: RecordsComponent, useExisting: VesselCombustionComponent }, VesselCombustionStateService],\n})\nexport class VesselCombustionComponent extends FuelCombustionComponent {\n constructor(public state: VesselCombustionStateService) {\n super(state);\n }\n}\n","\n \n Select category\n \n \n \n \n \n \n \n
\n \n \n 1\"\n [fc]=\"state.filteredAssetTypes\"\n size=\"small\"\n [options]=\"state.assetTypeOptions\"\n [isFilter]=\"true\"\n placeholder=\"All asset types\"\n (onChange)=\"state.handleAssetTypeFilterChange()\">\n \n \n
\n
\n \n
\n\n\n","import { Component, Input } from '@angular/core';\nimport { RecordForm, RecordFormTableComponent } from '../../../shared/record-form-table/record-form-table.component';\nimport { IOption } from 'src/app/static-data/options';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport {\n CreateDownstreamLeasedAssetDataRecordCommandParams,\n DataRecordType,\n DownstreamLeasedAssetDataRecord,\n InputType,\n UpdateDownstreamLeasedAssetDataRecordCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { formatDate } from '@angular/common';\nimport { RecordHeaderCell } from 'src/app/shared/components/records-table/records-table.component';\n\ninterface LeasedAssetsRecordForm extends RecordForm {\n client: FormControl;\n}\n\n@Component({\n selector: 'esg-leased-assets-form-table',\n templateUrl: './leased-assets-form-table.component.html',\n styleUrls: ['../../../shared/record-form-table/record-form-table.component.scss'],\n providers: [{ provide: RecordFormTableComponent, useExisting: LeasedAssetsFormTableComponent }],\n})\nexport class LeasedAssetsFormTableComponent extends RecordFormTableComponent {\n @Input() clientOptions: IOption[] = [];\n\n headerCells: RecordHeaderCell[] = [\n { columnId: 'period', label: 'Period', description: 'From – To Date', number: false, sortFieldName: 'StartDate' },\n { columnId: 'leasedAsset', label: 'Leased Asset', description: '', number: false, sortFieldName: 'AssetName' },\n { columnId: 'client', label: 'Client', description: '', number: false },\n ];\n\n recordFc?: LeasedAssetsRecordForm = undefined;\n recordFormgroup?: FormGroup = undefined;\n submitOnPristine: boolean = true;\n\n setRecordsRows() {\n this.dataRecordsRows = (this.dataRecords as DownstreamLeasedAssetDataRecord[]).map(record => ({\n id: record.id,\n cells: [\n {\n columnId: 'period',\n value:\n formatDate(record.startDate, 'dd. MMM yyyy', 'en_US') +\n ' - ' +\n formatDate(record.endDate, 'dd. MMM yyyy', 'en_US'),\n number: false,\n },\n {\n columnId: 'leasedAsset',\n value: this.assetOptions.flatMap(group => group.options).find(c => c.value === record.assetId)?.label || '',\n number: false,\n },\n {\n columnId: 'client',\n value: this.clientOptions.find(c => c.value === record.clientAssetId)?.label || '',\n number: false,\n },\n ],\n }));\n }\n\n setAddRecordForm() {\n this.recordFc = {\n startDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(this.getDefaultAssetOption(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n client: new FormControl(this.clientOptions.length ? this.clientOptions[0] : undefined, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n\n setEditRecordForm(id: string) {\n const record = this.dataRecords.find(record => record.id === id) as DownstreamLeasedAssetDataRecord;\n if (record) {\n this.recordFc = {\n startDate: new FormControl(record.startDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(record.endDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(\n this.assetOptions.flatMap(group => group.options).find(opt => opt.value === record.assetId) ||\n this.getDefaultAssetOption(),\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n client: new FormControl(\n this.clientOptions.find(opt => opt.value === record.clientAssetId) || this.clientOptions[0],\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n }\n\n getParams():\n | CreateDownstreamLeasedAssetDataRecordCommandParams\n | UpdateDownstreamLeasedAssetDataRecordCommandParams\n | undefined {\n if (\n this.recordFormgroup?.valid &&\n this.recordFc &&\n this.recordFc.asset.value?.value &&\n this.recordFc.client.value?.value\n ) {\n const leasedAsset = {\n type: DataRecordType.OrganizationWhistleblowing,\n startDate: this.recordFc.startDate.value || new Date(),\n endDate: this.recordFc.endDate.value || new Date(),\n assetId: this.recordFc.asset.value.value,\n inputType: InputType.Manual,\n clientAssetId: this.recordFc.client.value.value,\n };\n if (this.editRecordId) {\n return new UpdateDownstreamLeasedAssetDataRecordCommandParams({ id: this.editRecordId, ...leasedAsset });\n } else {\n return new CreateDownstreamLeasedAssetDataRecordCommandParams(leasedAsset);\n }\n }\n return undefined;\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n","import { Injectable } from '@angular/core';\nimport { AssetType, DataRecordCategory } from 'src/api-client/report-api.generated';\nimport { IGroupedOptions, IOption } from 'src/app/static-data/options';\nimport { RecordsStateService } from '../records-state.service';\nimport { AssetCategoryLabel } from 'src/app/static-data/enum-mappings';\n\n@Injectable()\nexport class LeasedAssetsStateService extends RecordsStateService {\n recordCategory = DataRecordCategory.EmbeddedEmissionsLeasedAssets;\n\n assetCategories = [AssetType.Vessel, AssetType.VehicleCraftMachinery, AssetType.Facility];\n clientOptions: IOption[] = [];\n\n async fetchStaticData() {\n await Promise.all([this.getAssetOptions(), this.getClientOptions(), this.getDataCategoryDetails()]);\n }\n\n async fetchOptions() {\n await Promise.all([this.getAssetOptions(), this.getClientOptions()]);\n }\n\n async getAssetOptions() {\n const response = await this.assetApiService.getAssetsByOrganizationAndAvailableForLeasing();\n\n const assetOptions: IGroupedOptions[] = this.assetCategories.map(category => ({\n label: AssetCategoryLabel[category],\n options: [],\n }));\n this.assetTypeOptions = this.assetCategories.map(assetType => ({\n value: assetType,\n label: AssetCategoryLabel[assetType],\n }));\n if (this.assetTypeOptions.length === 1) this.filteredAssetTypes.setValue([this.assetTypeOptions[0]]);\n\n response.result.forEach(asset => {\n const group = assetOptions.find(group => group.label === AssetCategoryLabel[asset.assetType]);\n if (group) {\n group.options.push({ value: asset.id, label: asset.name, group: asset.assetType });\n }\n });\n\n this.assetOptions = assetOptions;\n\n this.assetFilterOptions = this.assetOptions;\n this.isAssetsDisabled = this.assetOptions.flatMap(group => group.options).length < 2;\n }\n\n async getClientOptions() {\n const response = await this.assetApiService.getAssetsByOrganizationAndType(undefined, AssetType.Client);\n this.clientOptions = response.result.map(client => ({ value: client.id, label: client.name }));\n }\n}\n","import { Component } from '@angular/core';\nimport { LeasedAssetsStateService } from './leased-assets-state.service';\nimport { RecordsComponent } from '../records.component';\n\n@Component({\n selector: 'esg-leased-assets',\n templateUrl: './leased-assets.component.html',\n styleUrls: ['../records.component.scss'],\n providers: [{ provide: RecordsComponent, useExisting: LeasedAssetsComponent }, LeasedAssetsStateService],\n})\nexport class LeasedAssetsComponent extends RecordsComponent {\n constructor(public state: LeasedAssetsStateService) {\n super(state);\n }\n}\n","\n Select category\n \n \n \n \n \n
\n \n \n 1\"\n [fc]=\"state.filteredAssetTypes\"\n size=\"small\"\n [options]=\"state.assetTypeOptions\"\n [isFilter]=\"true\"\n placeholder=\"All asset types\"\n (onChange)=\"state.handleAssetTypeFilterChange()\">\n \n \n
\n
\n \n
\n\n\n","import { Component, SimpleChanges } from '@angular/core';\nimport { RecordForm, RecordFormTableComponent } from '../../../shared/record-form-table/record-form-table.component';\nimport {\n CountryCodes,\n CreateOrganizationLobbyPoliticalContributionDataRecordCommandParams,\n DataRecordType,\n InputType,\n OrganizationLobbyPoliticalContributionDataRecord,\n UpdateOrganizationLobbyPoliticalContributionDataRecordCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { IOption } from 'src/app/static-data/options';\nimport { formatDate } from '@angular/common';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\nimport { RecordHeaderCell } from 'src/app/shared/components/records-table/records-table.component';\n\ninterface LobbyPoliticalContributionRecordForm extends RecordForm {\n monetaryValue: FormControl;\n beneficiary: FormControl;\n country: FormControl;\n}\n\n@Component({\n selector: 'esg-lobby-political-contibution-form-table',\n templateUrl: './lobby-political-contibution-form-table.component.html',\n styleUrls: ['../../../shared/record-form-table/record-form-table.component.scss'],\n providers: [{ provide: RecordFormTableComponent, useExisting: LobbyPoliticalContibutionFormTableComponent }],\n})\nexport class LobbyPoliticalContibutionFormTableComponent extends RecordFormTableComponent {\n headerCells: RecordHeaderCell[] = [\n { columnId: 'date', label: 'Date', description: 'Date', number: false },\n { columnId: 'asset', label: 'Asset', description: '', number: false, sortFieldName: 'AssetName' },\n { columnId: 'beneficiary', label: 'Beneficiary', description: 'Name', number: false },\n { columnId: 'country', label: 'Country', description: 'Name', number: false },\n { columnId: 'monetaryValue', label: 'Monetary Value', description: this.organizationCurrency, number: true },\n ];\n\n recordFc?: LobbyPoliticalContributionRecordForm = undefined;\n recordFormgroup?: FormGroup = undefined;\n\n ngOnChanges(changes: SimpleChanges) {\n super.ngOnChanges(changes);\n if (changes.organizationCurrency) {\n this.setCurrencyDescription(changes.organizationCurrency.currentValue);\n }\n }\n\n setCurrencyDescription(currency: string) {\n const currencyHeaderCell = this.headerCells.findIndex(cell => cell.columnId === 'monetaryValue');\n this.headerCells[currencyHeaderCell].description = currency;\n }\n\n setRecordsRows() {\n this.dataRecordsRows = (this.dataRecords as OrganizationLobbyPoliticalContributionDataRecord[]).map(record => ({\n id: record.id,\n cells: [\n {\n columnId: 'date',\n value: formatDate(record.startDate, 'dd. MMM yyyy', 'en_US'),\n number: false,\n },\n {\n columnId: 'asset',\n value: this.assetOptions.flatMap(group => group.options).find(c => c.value === record.assetId)?.label || '',\n number: false,\n },\n {\n columnId: 'beneficiary',\n value: record.beneficiary,\n number: false,\n },\n {\n columnId: 'country',\n value: this.countryOptions.find(opt => opt.value === record.countryCode)?.label || '',\n number: false,\n },\n {\n columnId: 'monetaryValue',\n value: record.monetaryValue.toString(),\n number: true,\n unit: record.currencyCode,\n },\n ],\n }));\n }\n\n setAddRecordForm() {\n const asset = this.getDefaultAssetOption();\n this.recordFc = {\n startDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(new Date(), {\n nonNullable: true,\n }),\n asset: new FormControl(asset, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n monetaryValue: new FormControl('', { nonNullable: true }),\n beneficiary: new FormControl('', {\n validators: [Validators.required],\n nonNullable: true,\n }),\n country: new FormControl(this.getCountryOptionByAssetId(asset?.value), {\n nonNullable: true,\n }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n\n setEditRecordForm(id: string) {\n const record = this.dataRecords.find(\n record => record.id === id\n ) as OrganizationLobbyPoliticalContributionDataRecord;\n if (record) {\n this.recordFc = {\n startDate: new FormControl(record.startDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(record.startDate, {\n nonNullable: true,\n }),\n asset: new FormControl(\n this.assetOptions.flatMap(group => group.options).find(opt => opt.value === record.assetId) ||\n this.getDefaultAssetOption(),\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n monetaryValue: new FormControl(record.monetaryValue.toString(), { nonNullable: true }),\n beneficiary: new FormControl(record.beneficiary, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n country: new FormControl(\n this.countryOptions.find(opt => opt.value === record.countryCode) || this.countryOptions[0],\n { nonNullable: true }\n ),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n }\n\n getParams():\n | CreateOrganizationLobbyPoliticalContributionDataRecordCommandParams\n | UpdateOrganizationLobbyPoliticalContributionDataRecordCommandParams\n | undefined {\n if (this.recordFormgroup?.valid && this.recordFc && this.recordFc.asset.value?.value) {\n const countryCode = Object.values(CountryCodes).find(code => code === this.recordFc?.country?.value?.value);\n const lobbyPoliticalContribution = {\n type: DataRecordType.OrganizationLobbyPoliticalContribution,\n startDate: this.recordFc.startDate.value || new Date(),\n endDate: this.recordFc.startDate.value || new Date(),\n assetId: this.recordFc.asset.value.value,\n inputType: InputType.Manual,\n monetaryValue: formattedStringToNumber(this.recordFc.monetaryValue.value || '') || 0,\n currencyCode: this.organizationCurrency,\n beneficiary: this.recordFc.beneficiary.value || '',\n countryCode: countryCode || CountryCodes.AD,\n };\n if (this.editRecordId) {\n return new UpdateOrganizationLobbyPoliticalContributionDataRecordCommandParams({\n id: this.editRecordId,\n ...lobbyPoliticalContribution,\n });\n } else {\n return new CreateOrganizationLobbyPoliticalContributionDataRecordCommandParams(lobbyPoliticalContribution);\n }\n }\n return undefined;\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n","import { Injectable } from '@angular/core';\nimport { AssetType, DataRecordCategory } from 'src/api-client/report-api.generated';\nimport { DataRecordApiService } from 'src/app/api-client/report-api/data-record-api-service';\nimport { AssetApiService } from 'src/app/api-client/report-api/asset-api-service';\nimport { RecordsStateService } from '../records-state.service';\nimport { CountryApiService } from 'src/app/api-client/report-api/country-api-service';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { DataCategoryApiService } from 'src/app/api-client/report-api/categories-api-service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\n\n@Injectable()\nexport class LobbyPoliticalContributionStateService extends RecordsStateService {\n recordCategory = DataRecordCategory.BusinessEthicsLobbyPoliticalContribution;\n\n assetCategories = [AssetType.Organization];\n\n constructor(\n appInfo: AppInfoService,\n appConfig: AppConfigurationService,\n assetApiService: AssetApiService,\n dataRecordService: DataRecordApiService,\n dataCategoryApiService: DataCategoryApiService,\n notificationService: NotificationService,\n router: Router,\n route: ActivatedRoute,\n private countryApiService: CountryApiService\n ) {\n super(\n appInfo,\n appConfig,\n assetApiService,\n dataRecordService,\n dataCategoryApiService,\n notificationService,\n router,\n route\n );\n }\n\n async fetchStaticData() {\n await Promise.all([this.getAssetOptions(), this.getCountries(), this.getDataCategoryDetails()]);\n }\n\n async fetchOptions() {\n await Promise.all([this.getAssetOptions(), this.getCountries()]);\n }\n\n async getCountries() {\n const response = await this.countryApiService.getAllCountries();\n this.countryOptions = response.result.map(country => ({ value: country.code, label: country.name }));\n }\n}\n","import { Component } from '@angular/core';\nimport { LobbyPoliticalContributionStateService } from './lobby-political-contribution-state.service';\nimport { RecordsComponent } from '../records.component';\n\n@Component({\n selector: 'esg-lobby-political-contribution',\n templateUrl: './lobby-political-contribution.component.html',\n styleUrls: ['../records.component.scss'],\n providers: [\n { provide: RecordsComponent, useExisting: LobbyPoliticalContributionComponent },\n LobbyPoliticalContributionStateService,\n ],\n})\nexport class LobbyPoliticalContributionComponent extends RecordsComponent {\n constructor(public state: LobbyPoliticalContributionStateService) {\n super(state);\n }\n}\n","\n Select category\n \n \n \n \n \n
\n \n \n 1\"\n [fc]=\"state.filteredAssetTypes\"\n size=\"small\"\n [options]=\"state.assetTypeOptions\"\n [isFilter]=\"true\"\n placeholder=\"All asset types\"\n (onChange)=\"state.handleAssetTypeFilterChange()\">\n \n \n
\n
\n \n
\n\n\n","import { Component } from '@angular/core';\nimport { RecordForm, RecordFormTableComponent } from '../../../shared/record-form-table/record-form-table.component';\nimport {\n CreateEmployeeMarineCasualtyDataRecordCommandParams,\n DataRecordType,\n EmployeeMarineCasualtyDataRecord,\n InputType,\n MarineCasualtyType,\n UpdateEmployeeMarineCasualtyDataRecordCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { formatDate } from '@angular/common';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { IOption, MarineCasualtyTypeOptions } from 'src/app/static-data/options';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\n\ninterface MarineCasualtyRecordForm extends RecordForm {\n marineCasultyType: FormControl;\n incidents: FormControl;\n}\n\n@Component({\n selector: 'esg-marine-casualty-form-table',\n templateUrl: './marine-casualty-form-table.component.html',\n styleUrls: ['../../../shared/record-form-table/record-form-table.component.scss'],\n providers: [{ provide: RecordFormTableComponent, useExisting: MarineCasualtyFormTableComponent }],\n})\nexport class MarineCasualtyFormTableComponent extends RecordFormTableComponent {\n headerCells = [\n { columnId: 'period', label: 'Period', description: 'From – To Date', number: false, sortFieldName: 'StartDate' },\n { columnId: 'asset', label: 'Asset', description: '', number: false, sortFieldName: 'AssetName' },\n {\n columnId: 'marineCasualtyType',\n label: 'Type',\n description: 'Select',\n number: false,\n sortFieldName: 'MarineCasualtyTypeName',\n },\n { columnId: 'incidents', label: 'Incidents', description: 'Number', number: true },\n ];\n\n recordFc?: MarineCasualtyRecordForm = undefined;\n recordFormgroup?: FormGroup = undefined;\n\n marineCasualtyTypeOptions = MarineCasualtyTypeOptions;\n\n setRecordsRows() {\n this.dataRecordsRows = (this.dataRecords as EmployeeMarineCasualtyDataRecord[]).map(record => ({\n id: record.id,\n cells: [\n {\n columnId: 'period',\n value:\n formatDate(record.startDate, 'dd. MMM yyyy', 'en_US') +\n ' - ' +\n formatDate(record.endDate, 'dd. MMM yyyy', 'en_US'),\n number: false,\n },\n {\n columnId: 'asset',\n value: this.assetOptions.flatMap(group => group.options).find(c => c.value === record.assetId)?.label || '',\n number: false,\n },\n {\n columnId: 'marineCasualtyType',\n value: this.marineCasualtyTypeOptions.find(c => c.value === record.marineCasualtyType)?.label || '',\n number: false,\n },\n {\n columnId: 'incidents',\n value: record.incidents?.toString() || '',\n number: true,\n },\n ],\n }));\n }\n\n setAddRecordForm() {\n const asset = this.getDefaultAssetOption();\n this.recordFc = {\n startDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(asset, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n marineCasultyType: new FormControl(this.marineCasualtyTypeOptions[0], {\n validators: [Validators.required],\n nonNullable: true,\n }),\n incidents: new FormControl('', { nonNullable: true, validators: [Validators.required] }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n\n setEditRecordForm(id: string) {\n const incidentsRecord = this.dataRecords.find(record => record.id === id) as EmployeeMarineCasualtyDataRecord;\n if (incidentsRecord) {\n this.recordFc = {\n startDate: new FormControl(incidentsRecord.startDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(incidentsRecord.endDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(\n this.assetOptions.flatMap(group => group.options).find(opt => opt.value === incidentsRecord.assetId) ||\n this.getDefaultAssetOption(),\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n marineCasultyType: new FormControl(\n this.marineCasualtyTypeOptions.find(opt => opt.value === incidentsRecord.marineCasualtyType) ||\n this.marineCasualtyTypeOptions[0],\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n incidents: new FormControl(incidentsRecord.incidents.toString(), {\n nonNullable: true,\n validators: [Validators.required],\n }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n }\n\n getParams():\n | CreateEmployeeMarineCasualtyDataRecordCommandParams\n | UpdateEmployeeMarineCasualtyDataRecordCommandParams\n | undefined {\n const marineCasualtyType = Object.values(MarineCasualtyType).find(\n type => type === this.recordFc?.marineCasultyType.value?.value\n );\n if (this.recordFormgroup?.valid && this.recordFc && this.recordFc?.asset.value?.value && marineCasualtyType) {\n const incidents = {\n type: DataRecordType.EmployeeMarineCasualty,\n assetId: this.recordFc.asset.value.value,\n inputType: InputType.Manual,\n startDate: this.recordFc.startDate.value || new Date(),\n endDate: this.recordFc.endDate.value || new Date(),\n marineCasualtyType: marineCasualtyType,\n incidents: formattedStringToNumber(this.recordFc.incidents.value) || 0,\n };\n if (this.editRecordId) {\n return new UpdateEmployeeMarineCasualtyDataRecordCommandParams({ id: this.editRecordId, ...incidents });\n } else {\n return new CreateEmployeeMarineCasualtyDataRecordCommandParams(incidents);\n }\n }\n return undefined;\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n","import { Injectable } from '@angular/core';\nimport {\n DataRecordType,\n DataRecordCategory,\n AssetType,\n ICreateEmployeeWorkRelatedInjuriesDataRecordCommandParams,\n CreateEmployeeWorkRelatedInjuriesDataRecordCommandParams,\n CreateEmployeeMarineCasualtyDataRecordCommandParams,\n ICreateEmployeeMarineCasualtyDataRecordCommandParams,\n MarineCasualtyType,\n InputType,\n} from 'src/api-client/report-api.generated';\nimport {\n ExcelImportValidationMessage,\n FieldConfig,\n ImportDataOutput,\n validateExcelOptionColumn,\n} from 'src/app/shared/components/data-import-from-excel/data-import-from-excel-state.service';\nimport { RecordsStateService } from '../records-state.service';\nimport { MarineCasualtyTypeOptions } from 'src/app/static-data/options';\nimport { generateGUID } from 'src/app/shared/utils/guid';\n\n@Injectable()\nexport class MarineCasualtyStateService extends RecordsStateService {\n title = 'Marine Casualty';\n recordCategory = DataRecordCategory.EmployessMarineCasualties;\n assetCategories = [AssetType.Organization, AssetType.Facility];\n\n importFromExcelFieldConfigs: FieldConfig[] = [\n { propertyName: 'startDate', title: 'Start Date', type: 'date' },\n { propertyName: 'endDate', title: 'End Date', type: 'date' },\n { propertyName: 'asset', title: 'Asset', type: 'string' },\n { propertyName: 'marineCasultyType', title: 'Type', type: 'string' },\n { propertyName: 'incidents', title: 'Incidents', type: 'number' },\n ];\n\n marineCasualtyTypeOptions = MarineCasualtyTypeOptions;\n\n importFromExcelEnabled = true;\n\n importDataFromExcel(data: ImportDataOutput) {\n var dataSetId = generateGUID();\n this.importingInProgress = true;\n let validationMessages: ExcelImportValidationMessage[] = [];\n\n const assetValidation = this.validateExcelAssets(data.records);\n if (assetValidation) {\n this.notificationService.showError(assetValidation.title, assetValidation.description);\n this.importingInProgress = false;\n return;\n }\n\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'marineCasultyType',\n this.marineCasualtyTypeOptions,\n data.records,\n 'Type'\n );\n\n const addRecordPromises = data.records.map((record, index) => {\n const asset = this.getAssetOptionColumn(record.asset?.value);\n\n const marineCasualtyType = this.marineCasualtyTypeOptions.find(o => o.label === record.marineCasultyType?.value);\n if (!marineCasualtyType) {\n this.notificationService.showError('Not valid imported data', `Type column is not valid for ${index + 1} row`);\n return;\n }\n\n const incidents: ICreateEmployeeMarineCasualtyDataRecordCommandParams = {\n type: DataRecordType.EmployeeMarineCasualty,\n dataSetId: dataSetId,\n assetId: asset.value,\n inputType: InputType.ImportedFromExcel,\n startDate: record.startDate?.value,\n endDate: record.endDate?.value,\n marineCasualtyType: MarineCasualtyType[marineCasualtyType.value as keyof typeof MarineCasualtyType],\n incidents: record.incidents?.value,\n };\n\n return this.dataRecordService.createDataRecord(\n new CreateEmployeeMarineCasualtyDataRecordCommandParams({ ...incidents })\n );\n });\n Promise.all(addRecordPromises).then(async response => {\n response.forEach(res => {\n if (res) {\n const addedId = res.result?.id;\n if (addedId) {\n this.newlyAddedRowsIds.push(addedId);\n this.delayRemoveAddedId(addedId, 15000);\n }\n }\n });\n await this.loadRecords();\n this.importingInProgress = false;\n this.importDataFromExcelClose();\n });\n }\n\n async loadRecords() {\n await this.getDataRecords(DataRecordType.EmployeeMarineCasualty);\n }\n\n handleDeleteAllFilteredRecordsSubmit() {\n this.handleOnDeleteAllFilteredRecords(DataRecordType.EmployeeMarineCasualty);\n }\n}\n","import { Component } from '@angular/core';\nimport { MarineCasualtyStateService } from './marine-casualty-state.service';\nimport { RecordsComponent } from '../records.component';\n\n@Component({\n selector: 'esg-marine-casualties',\n templateUrl: './marine-casualty.component.html',\n styleUrls: ['../records.component.scss'],\n providers: [{ provide: RecordsComponent, useExisting: MarineCasualtyComponent }, MarineCasualtyStateService],\n})\nexport class MarineCasualtyComponent extends RecordsComponent {\n constructor(public state: MarineCasualtyStateService) {\n super(state);\n }\n}\n","\n \n Select category\n \n \n \n \n \n
\n \n \n 1\"\n [fc]=\"state.filteredAssetTypes\"\n size=\"small\"\n [options]=\"state.assetTypeOptions\"\n [isFilter]=\"true\"\n placeholder=\"All asset types\"\n (onChange)=\"state.handleAssetTypeFilterChange()\">\n \n \n
\n
\n \n
\n\n\n","import { Component } from '@angular/core';\nimport { RecordForm, RecordFormTableComponent } from '../../../shared/record-form-table/record-form-table.component';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport {\n CreateVesselDurationInProtectedAreasDataRecordCommandParams,\n DataRecordType,\n InputType,\n UpdateVesselDurationInProtectedAreasDataRecordCommandParams,\n VesselDurationInProtectedAreasDataRecord,\n} from 'src/api-client/report-api.generated';\nimport { formatDate } from '@angular/common';\nimport { IOption } from 'src/app/static-data/options';\nimport { datediff } from 'src/app/shared/utils/date';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\nimport { RecordHeaderCell } from 'src/app/shared/components/records-table/records-table.component';\n\ninterface MarineProtectedAreasRecordForm extends RecordForm {\n days: FormControl;\n}\n\n@Component({\n selector: 'esg-marine-protected-areas-form-table',\n templateUrl: './marine-protected-areas-form-table.component.html',\n styleUrls: ['../../../shared/record-form-table/record-form-table.component.scss'],\n providers: [{ provide: RecordFormTableComponent, useExisting: MarineProtectedAreasFormTableComponent }],\n})\nexport class MarineProtectedAreasFormTableComponent extends RecordFormTableComponent {\n headerCells: RecordHeaderCell[] = [\n { columnId: 'period', label: 'Period', description: 'From – To Date', number: false, sortFieldName: 'StartDate' },\n { columnId: 'asset', label: 'Asset', description: '', number: false, sortFieldName: 'AssetName' },\n { columnId: 'days', label: 'Days', description: 'Number', number: true },\n ];\n\n recordFc?: MarineProtectedAreasRecordForm = undefined;\n recordFormgroup?: FormGroup = undefined;\n\n setRecordsRows() {\n this.dataRecordsRows = (this.dataRecords as VesselDurationInProtectedAreasDataRecord[]).map(record => ({\n id: record.id,\n cells: [\n {\n columnId: 'period',\n value:\n formatDate(record.startDate, 'dd. MMM yyyy', 'en_US') +\n ' - ' +\n formatDate(record.endDate, 'dd. MMM yyyy', 'en_US'),\n number: false,\n },\n {\n columnId: 'asset',\n value: this.assetOptions.flatMap(group => group.options).find(c => c.value === record.assetId)?.label || '',\n number: false,\n },\n {\n columnId: 'days',\n value: record.days?.toString() || '',\n number: true,\n },\n ],\n }));\n }\n\n setAddRecordForm() {\n this.recordFc = {\n startDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(this.getDefaultAssetOption(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n days: new FormControl('', {\n nonNullable: true,\n }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n\n setEditRecordForm(id: string) {\n const record = this.dataRecords.find(record => record.id === id) as VesselDurationInProtectedAreasDataRecord;\n if (record) {\n this.recordFc = {\n startDate: new FormControl(record.startDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(record.endDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(\n this.assetOptions.flatMap(group => group.options).find(opt => opt.value === record.assetId) ||\n this.getDefaultAssetOption(),\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n days: new FormControl(record.days.toString() || '', {\n nonNullable: true,\n }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n }\n\n getParams():\n | CreateVesselDurationInProtectedAreasDataRecordCommandParams\n | UpdateVesselDurationInProtectedAreasDataRecordCommandParams\n | undefined {\n if (this.recordFormgroup?.valid && this.recordFc && this.recordFc.asset.value?.value) {\n const protectedAreas = {\n type: DataRecordType.VesselDurationInProtectedAreas,\n assetId: this.recordFc.asset.value.value,\n inputType: InputType.Manual,\n startDate: this.recordFc.startDate.value || new Date(),\n endDate: this.recordFc.endDate.value || new Date(),\n days: formattedStringToNumber(this.recordFc.days.value || '') || 0,\n };\n if (this.editRecordId) {\n return new UpdateVesselDurationInProtectedAreasDataRecordCommandParams({\n id: this.editRecordId,\n ...protectedAreas,\n });\n } else {\n return new CreateVesselDurationInProtectedAreasDataRecordCommandParams(protectedAreas);\n }\n }\n return undefined;\n }\n\n handleDaysInProtectedAreasChange(value: string) {\n if (this.recordFc) {\n const numberOfDays = formattedStringToNumber(value);\n if (numberOfDays !== undefined) {\n const periodDays =\n datediff(this.recordFc.startDate.value || new Date(), this.recordFc.endDate.value || new Date()) + 1;\n this.recordFc.days.setValue(numberOfDays > periodDays ? periodDays.toString() : numberOfDays.toString());\n } else this.recordFc.days.setValue('');\n }\n }\n\n handlePeriodInProtectedAreasChange() {\n this.recordFc?.days.value && this.handleDaysInProtectedAreasChange(this.recordFc.days.value);\n this.editRecordId && this.handleOnSubmit();\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n","import { Injectable } from '@angular/core';\nimport {\n AssetType,\n CreateVesselDurationInProtectedAreasDataRecordCommandParams,\n DataRecordCategory,\n DataRecordType,\n ICreateVesselDurationInProtectedAreasDataRecordCommandParams,\n InputType,\n} from 'src/api-client/report-api.generated';\nimport { RecordsStateService } from '../records-state.service';\nimport {\n ExcelImportValidationMessage,\n FieldConfig,\n ImportDataOutput,\n} from 'src/app/shared/components/data-import-from-excel/data-import-from-excel-state.service';\nimport { generateGUID } from 'src/app/shared/utils/guid';\n\n@Injectable()\nexport class MarineProtectedAreasStateService extends RecordsStateService {\n recordCategory = DataRecordCategory.BiodiversityProtectedAreas;\n\n assetCategories = [AssetType.Vessel, AssetType.Organization];\n\n importFromExcelEnabled = true;\n importFromExcelFieldConfigs: FieldConfig[] = [\n { propertyName: 'startDate', title: 'Start Date', type: 'date' },\n { propertyName: 'endDate', title: 'End Date', type: 'date' },\n { propertyName: 'asset', title: 'Asset', type: 'string' },\n { propertyName: 'days', title: 'Days', type: 'number' },\n ];\n\n importDataFromExcel(data: ImportDataOutput) {\n var dataSetId = generateGUID();\n this.importingInProgress = true;\n let validationMessages: ExcelImportValidationMessage[] = [];\n\n const assetValidation = this.validateExcelAssets(data.records);\n if (assetValidation) validationMessages.push(assetValidation);\n\n if (validationMessages.length) {\n validationMessages.forEach(message => {\n this.notificationService.showError(message.title, message.description);\n });\n this.importingInProgress = false;\n return;\n }\n\n const addRecordPromises = data.records.map((record, index) => {\n const asset = this.getAssetOptionColumn(record.asset?.value);\n const vesselDurationInProtectedAreasData: ICreateVesselDurationInProtectedAreasDataRecordCommandParams = {\n type: DataRecordType.VesselDurationInProtectedAreas,\n dataSetId: dataSetId,\n assetId: asset.value,\n inputType: InputType.ImportedFromExcel,\n startDate: record.startDate?.value,\n endDate: record.endDate?.value,\n days: record.days?.value || 0,\n };\n\n return this.dataRecordService.createDataRecord(\n new CreateVesselDurationInProtectedAreasDataRecordCommandParams({ ...vesselDurationInProtectedAreasData })\n );\n });\n Promise.all(addRecordPromises).then(async response => {\n response.forEach(res => {\n if (res) {\n const addedId = res.result?.id;\n if (addedId) {\n this.newlyAddedRowsIds.push(addedId);\n this.delayRemoveAddedId(addedId, 15000);\n }\n }\n });\n await this.loadRecords();\n this.importingInProgress = false;\n this.importDataFromExcelClose();\n });\n }\n}\n","import { Component } from '@angular/core';\nimport { MarineProtectedAreasStateService } from './marine-protected-areas-state.service';\nimport { RecordsComponent } from '../records.component';\n\n@Component({\n selector: 'esg-marine-protected-areas',\n templateUrl: './marine-protected-areas.component.html',\n styleUrls: ['../records.component.scss'],\n providers: [\n { provide: RecordsComponent, useExisting: MarineProtectedAreasComponent },\n MarineProtectedAreasStateService,\n ],\n})\nexport class MarineProtectedAreasComponent extends RecordsComponent {\n constructor(public state: MarineProtectedAreasStateService) {\n super(state);\n }\n}\n","\n \n Select category\n \n \n \n \n \n
\n \n \n 1\"\n [fc]=\"state.filteredAssetTypes\"\n size=\"small\"\n [options]=\"state.assetTypeOptions\"\n [isFilter]=\"true\"\n placeholder=\"All asset types\"\n (onChange)=\"state.handleAssetTypeFilterChange()\">\n \n \n
\n
\n \n
\n\n\n","import { Component, Input } from '@angular/core';\nimport { RecordForm, RecordFormTableComponent } from '../../../shared/record-form-table/record-form-table.component';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport {\n AgeGroupOptions,\n EmploymentEventOptions,\n GenderOptions,\n IOption,\n PositionLevelOptions,\n} from 'src/app/static-data/options';\nimport {\n AgeGroup,\n CreateEmployeeNewHiresAndTurnoversDataRecordCommandParams,\n DataRecordType,\n EmployeeNewHiresAndTurnoversDataRecord,\n EmploymentEvent,\n Gender,\n InputType,\n PositionLevel,\n UpdateEmployeeNewHiresAndTurnoversDataRecordCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { formatDate } from '@angular/common';\nimport { RecordHeaderCell } from 'src/app/shared/components/records-table/records-table.component';\n\ninterface NewHiresAndTurnoverRecordForm extends RecordForm {\n action: FormControl;\n gender: FormControl;\n ageGroup: FormControl;\n positionLevel: FormControl;\n region: FormControl;\n}\n\n@Component({\n selector: 'esg-new-hires-and-turnover-form-table',\n templateUrl: './new-hires-and-turnover-form-table.component.html',\n styleUrls: ['../../../shared/record-form-table/record-form-table.component.scss'],\n providers: [{ provide: RecordFormTableComponent, useExisting: NewHiresAndTurnoverFormTableComponent }],\n})\nexport class NewHiresAndTurnoverFormTableComponent extends RecordFormTableComponent {\n @Input() regionOptions: IOption[] = [];\n\n headerCells: RecordHeaderCell[] = [\n { columnId: 'date', label: 'Date', description: '', number: false, sortFieldName: 'StartDate' },\n { columnId: 'asset', label: 'Asset', description: '', number: false, sortFieldName: 'AssetName' },\n { columnId: 'employmentEvent', label: 'Action', description: '', number: false },\n { columnId: 'gender', label: 'Gender', description: '', number: false, sortFieldName: 'GenderName' },\n { columnId: 'ageGroup', label: 'Age group', description: '', number: false },\n { columnId: 'positionLevel', label: 'Position level', description: '', number: false },\n { columnId: 'region', label: 'Region', description: '', number: false, sortFieldName: 'RegionName' },\n ];\n\n employmentEventOptions = EmploymentEventOptions;\n genderOptions = GenderOptions;\n ageGroupOptions = AgeGroupOptions;\n positionLevelOptions = PositionLevelOptions;\n\n recordFc?: NewHiresAndTurnoverRecordForm = undefined;\n recordFormgroup?: FormGroup = undefined;\n submitOnPristine: boolean = true;\n\n setRecordsRows() {\n this.dataRecordsRows = (this.dataRecords as EmployeeNewHiresAndTurnoversDataRecord[]).map(record => ({\n id: record.id,\n cells: [\n {\n columnId: 'date',\n value: formatDate(record.startDate, 'dd. MMM yyyy', 'en_US'),\n number: false,\n },\n {\n columnId: 'asset',\n value: this.assetOptions.flatMap(group => group.options).find(c => c.value === record.assetId)?.label || '',\n number: false,\n },\n {\n columnId: 'employmentEvent',\n value: this.employmentEventOptions.find(c => c.value === record.employmentEvent)?.label || '',\n number: false,\n },\n {\n columnId: 'gender',\n value: this.genderOptions.find(c => c.value === record.gender)?.label || '',\n number: false,\n },\n {\n columnId: 'ageGroup',\n value: this.ageGroupOptions.find(c => c.value === record.ageGroup)?.label || '',\n number: false,\n },\n {\n columnId: 'positionLevel',\n value: this.positionLevelOptions.find(c => c.value === record.positionLevel)?.label || '',\n number: false,\n },\n {\n columnId: 'region',\n value: this.regionOptions.find(c => c.value === record.regionId)?.label || '',\n number: false,\n },\n ],\n }));\n }\n\n setAddRecordForm() {\n const asset = this.getDefaultAssetOption();\n this.recordFc = {\n startDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(new Date(), {\n nonNullable: true,\n }),\n asset: new FormControl(asset, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n action: new FormControl(this.employmentEventOptions[0], {\n validators: [Validators.required],\n nonNullable: true,\n }),\n gender: new FormControl(this.genderOptions[0], {\n validators: [Validators.required],\n nonNullable: true,\n }),\n ageGroup: new FormControl(this.ageGroupOptions[0], {\n validators: [Validators.required],\n nonNullable: true,\n }),\n positionLevel: new FormControl(this.positionLevelOptions[0], {\n validators: [Validators.required],\n nonNullable: true,\n }),\n region: new FormControl(this.regionOptions.length ? this.regionOptions[0] : undefined, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n\n setEditRecordForm(id: string) {\n const record = this.dataRecords.find(record => record.id === id) as EmployeeNewHiresAndTurnoversDataRecord;\n if (record) {\n this.recordFc = {\n startDate: new FormControl(record.startDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(record.startDate, {\n nonNullable: true,\n }),\n asset: new FormControl(\n this.assetOptions.flatMap(group => group.options).find(opt => opt.value === record.assetId) ||\n this.getDefaultAssetOption(),\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n action: new FormControl(\n this.employmentEventOptions.find(opt => opt.value === record.employmentEvent) ||\n this.employmentEventOptions[0],\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n gender: new FormControl(\n this.genderOptions.find(opt => opt.value === record.gender) || this.genderOptions[0],\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n ageGroup: new FormControl(\n this.ageGroupOptions.find(opt => opt.value === record.ageGroup) || this.ageGroupOptions[0],\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n positionLevel: new FormControl(\n this.positionLevelOptions.find(opt => opt.value === record.positionLevel) || this.positionLevelOptions[0],\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n region: new FormControl(\n this.regionOptions.find(opt => opt.value === record.regionId) || this.regionOptions[0],\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n }\n\n getParams():\n | CreateEmployeeNewHiresAndTurnoversDataRecordCommandParams\n | UpdateEmployeeNewHiresAndTurnoversDataRecordCommandParams\n | undefined {\n const action = Object.values(EmploymentEvent).find(type => type === this.recordFc?.action.value.value);\n const gender = Object.values(Gender).find(type => type === this.recordFc?.gender.value?.value);\n const ageGroup = Object.values(AgeGroup).find(type => type === this.recordFc?.ageGroup.value.value);\n const positionLevel = Object.values(PositionLevel).find(type => type === this.recordFc?.positionLevel.value.value);\n\n const validOptions = action && gender && ageGroup && positionLevel;\n if (\n this.recordFormgroup?.valid &&\n this.recordFc &&\n this.recordFc.asset.value?.value &&\n this.recordFc.region.value &&\n validOptions\n ) {\n const newHiresAndTurnovers = {\n type: DataRecordType.EmployeeNewHiresAndTurnovers,\n startDate: this.recordFc.startDate.value || new Date(),\n endDate: this.recordFc.startDate.value || new Date(),\n assetId: this.recordFc.asset.value.value,\n inputType: InputType.Manual,\n employmentEvent: action,\n gender: gender,\n ageGroup: ageGroup,\n positionLevel: positionLevel,\n regionId: this.recordFc.region.value.value,\n };\n if (this.editRecordId) {\n return new UpdateEmployeeNewHiresAndTurnoversDataRecordCommandParams({\n id: this.editRecordId,\n ...newHiresAndTurnovers,\n });\n } else {\n return new CreateEmployeeNewHiresAndTurnoversDataRecordCommandParams(newHiresAndTurnovers);\n }\n }\n return undefined;\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n","import { Injectable } from '@angular/core';\nimport {\n AgeGroup,\n AssetType,\n CreateEmployeeNewHiresAndTurnoversDataRecordCommandParams,\n DataRecordCategory,\n DataRecordType,\n EmploymentEvent,\n Gender,\n ICreateEmployeeNewHiresAndTurnoversDataRecordCommandParams,\n InputType,\n PositionLevel,\n} from 'src/api-client/report-api.generated';\nimport { DataRecordApiService } from 'src/app/api-client/report-api/data-record-api-service';\nimport {\n IOption,\n AgeGroupOptions,\n EmploymentEventOptions,\n GenderOptions,\n PositionLevelOptions,\n} from 'src/app/static-data/options';\nimport { AssetApiService } from 'src/app/api-client/report-api/asset-api-service';\nimport { RecordsStateService } from '../records-state.service';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { DataCategoryApiService } from 'src/app/api-client/report-api/categories-api-service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { RegionClientApiService } from 'src/app/api-client/report-api/region-api-service';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport {\n ExcelImportValidationMessage,\n FieldConfig,\n ImportDataOutput,\n validateExcelOptionColumn,\n} from 'src/app/shared/components/data-import-from-excel/data-import-from-excel.component';\nimport { generateGUID } from 'src/app/shared/utils/guid';\n\n@Injectable()\nexport class NewHiresAndTurnoverStateService extends RecordsStateService {\n title = 'New Hires and Turnovers';\n recordCategory = DataRecordCategory.EmployeesNewHiresAndTurnovers;\n\n assetCategories = [AssetType.Organization, AssetType.Facility];\n\n employmentEventOptions = EmploymentEventOptions;\n genderOptions = GenderOptions;\n ageGroupOptions = AgeGroupOptions;\n positionLevelOptions = PositionLevelOptions;\n regionOptions: IOption[] = [];\n\n constructor(\n appInfo: AppInfoService,\n appConfig: AppConfigurationService,\n assetApiService: AssetApiService,\n dataRecordService: DataRecordApiService,\n dataCategoryApiService: DataCategoryApiService,\n notificationService: NotificationService,\n router: Router,\n route: ActivatedRoute,\n private regionApiService: RegionClientApiService\n ) {\n super(\n appInfo,\n appConfig,\n assetApiService,\n dataRecordService,\n dataCategoryApiService,\n notificationService,\n router,\n route\n );\n }\n\n importFromExcelEnabled = true;\n importFromExcelFieldConfigs: FieldConfig[] = [\n { propertyName: 'startDate', title: 'Start Date', type: 'date' },\n { propertyName: 'asset', title: 'Asset', type: 'string' },\n { propertyName: 'employmentEvent', title: 'Action', type: 'string' },\n { propertyName: 'gender', title: 'Gender', type: 'string' },\n { propertyName: 'ageGroup', title: 'Age Group', type: 'string' },\n { propertyName: 'positionLevel', title: 'Position Level', type: 'string' },\n { propertyName: 'region', title: 'Region', type: 'string' },\n ];\n\n async importDataFromExcel(data: ImportDataOutput) {\n var dataSetId = generateGUID();\n this.importingInProgress = true;\n this.importingInProgressLabel = 'Importing...';\n let validationMessages: ExcelImportValidationMessage[] = [];\n\n const assetValidation = this.validateExcelAssets(data.records);\n if (assetValidation) {\n validationMessages.push(assetValidation);\n }\n\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'employmentEvent',\n this.employmentEventOptions,\n data.records,\n 'Action'\n );\n\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'gender',\n this.genderOptions,\n data.records,\n 'Gender'\n );\n\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'ageGroup',\n this.ageGroupOptions,\n data.records,\n 'Age Group'\n );\n\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'positionLevel',\n this.positionLevelOptions,\n data.records,\n 'Position Level'\n );\n\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'region',\n this.regionOptions,\n data.records,\n 'Region'\n );\n\n if (validationMessages.length) {\n validationMessages.forEach(message => {\n this.notificationService.showError(message.title, message.description);\n });\n this.importingInProgress = false;\n return;\n }\n\n var recordsToAdd = data.records.length;\n var recordsAdded = 0;\n this.importingInProgressLabel = `Imported ${recordsAdded} of ${recordsToAdd}`;\n try {\n const addRecordPromises = data.records.map(async (record, index) => {\n const asset = this.getAssetOptionColumn(record.asset?.value);\n\n const employmentEventOption = this.getExcelOptionColumn(\n 'employmentEvent',\n this.employmentEventOptions,\n record,\n 'Action'\n );\n const genderOption = this.getExcelOptionColumn('gender', this.genderOptions, record, 'Gender');\n const ageGroupOption = this.getExcelOptionColumn('ageGroup', this.ageGroupOptions, record, 'Age Group');\n const positionLevelOption = this.getExcelOptionColumn(\n 'positionLevel',\n this.positionLevelOptions,\n record,\n 'Position Level'\n );\n const regionOption = this.getExcelOptionColumn('region', this.regionOptions, record, 'Region');\n\n const body: ICreateEmployeeNewHiresAndTurnoversDataRecordCommandParams = {\n type: DataRecordType.EmployeeNewHiresAndTurnovers,\n dataSetId: dataSetId,\n assetId: asset.value,\n inputType: InputType.ImportedFromExcel,\n startDate: record.startDate?.value,\n employmentEvent: EmploymentEvent[employmentEventOption.value as keyof typeof EmploymentEvent],\n gender: Gender[genderOption.value as keyof typeof Gender],\n ageGroup: AgeGroup[ageGroupOption.value as keyof typeof AgeGroup],\n positionLevel: PositionLevel[positionLevelOption.value as keyof typeof PositionLevel],\n regionId: regionOption.value,\n };\n\n var result = await this.dataRecordService.createDataRecord(\n new CreateEmployeeNewHiresAndTurnoversDataRecordCommandParams(body)\n );\n if (!result.success) {\n this.notificationService.showError(\n `New Hires & Turnover from row ${index + 1} not added`,\n result.message || 'Unknown error'\n );\n }\n ++recordsAdded;\n this.importingInProgressLabel = `Imported ${recordsAdded} of ${recordsToAdd}`;\n return result;\n });\n\n var response = await Promise.all(addRecordPromises);\n response.forEach((res, index) => {\n if (res) {\n const addedId = res.result?.id;\n if (addedId) {\n this.newlyAddedRowsIds.push(addedId);\n this.delayRemoveAddedId(addedId, 15000);\n }\n }\n });\n\n await this.loadRecords();\n this.importingInProgress = false;\n this.importingInProgressLabel = '';\n this.importDataFromExcelClose();\n } catch (e) {\n this.importingInProgress = false;\n this.importingInProgressLabel = '';\n }\n }\n\n async fetchStaticData() {\n await Promise.all([this.getAssetOptions(), this.getRegions(), this.getDataCategoryDetails()]);\n }\n\n async fetchOptions() {\n await Promise.all([this.getAssetOptions(), this.getRegions()]);\n }\n\n async getRegions() {\n const response = await this.regionApiService.getAllRegionNames();\n this.regionOptions = response.result.map(region => ({ value: region.id, label: region.name }));\n }\n}\n","import { Component } from '@angular/core';\nimport { NewHiresAndTurnoverStateService } from './new-hires-and-turnover-state.service';\nimport { RecordsComponent } from '../records.component';\n\n@Component({\n selector: 'esg-new-hires-and-turnover',\n templateUrl: './new-hires-and-turnover.component.html',\n styleUrls: ['../records.component.scss'],\n providers: [\n { provide: RecordsComponent, useExisting: NewHiresAndTurnoverComponent },\n NewHiresAndTurnoverStateService,\n ],\n})\nexport class NewHiresAndTurnoverComponent extends RecordsComponent {\n constructor(public state: NewHiresAndTurnoverStateService) {\n super(state);\n }\n}\n","\n \n Select category\n \n \n \n \n \n
\n \n \n 1\"\n [fc]=\"state.filteredAssetTypes\"\n size=\"small\"\n [options]=\"state.assetTypeOptions\"\n [isFilter]=\"true\"\n placeholder=\"All asset types\"\n (onChange)=\"state.handleAssetTypeFilterChange()\">\n \n \n
\n
\n \n
\n\n\n","import { Component, Input } from '@angular/core';\nimport { RecordForm, RecordFormTableComponent } from '../../../shared/record-form-table/record-form-table.component';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { GenderOptions, IOption, ParentalLeaveOptions } from 'src/app/static-data/options';\nimport {\n CreateEmployeeParentalLeavesDataRecordCommandParams,\n DataRecordType,\n EmployeeParentalLeavesDataRecord,\n Gender,\n InputType,\n ParentalLeaveMode,\n UpdateEmployeeParentalLeavesDataRecordCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { formatDate } from '@angular/common';\n\ninterface ParentalLeaveRecordForm extends RecordForm {\n mode: FormControl;\n gender: FormControl;\n region: FormControl;\n}\n\n@Component({\n selector: 'esg-parental-leave-form-table',\n templateUrl: './parental-leave-form-table.component.html',\n styleUrls: ['../../../shared/record-form-table/record-form-table.component.scss'],\n providers: [{ provide: RecordFormTableComponent, useExisting: ParentalLeaveFormTableComponent }],\n})\nexport class ParentalLeaveFormTableComponent extends RecordFormTableComponent {\n @Input() regionOptions: IOption[] = [];\n\n headerCells = [\n { columnId: 'period', label: 'Period', description: 'From – To Date', number: false, sortFieldName: 'StartDate' },\n { columnId: 'asset', label: 'Asset', description: '', number: false, sortFieldName: 'AssetName' },\n { columnId: 'mode', label: 'Mode', description: '', number: false },\n { columnId: 'gender', label: 'Gender', description: '', number: false, sortFieldName: 'GenderName' },\n { columnId: 'region', label: 'Region', description: '', number: false, sortFieldName: 'RegionName' },\n ];\n\n genderOptions = GenderOptions;\n parentalLeaveOptions = ParentalLeaveOptions;\n\n recordFc?: ParentalLeaveRecordForm = undefined;\n recordFormgroup?: FormGroup = undefined;\n submitOnPristine: boolean = true;\n\n setRecordsRows() {\n this.dataRecordsRows = (this.dataRecords as EmployeeParentalLeavesDataRecord[]).map(record => ({\n id: record.id,\n cells: [\n {\n columnId: 'period',\n value:\n formatDate(record.startDate, 'dd. MMM yyyy', 'en_US') +\n ' - ' +\n formatDate(record.endDate, 'dd. MMM yyyy', 'en_US'),\n number: false,\n },\n {\n columnId: 'asset',\n value: this.assetOptions.flatMap(group => group.options).find(c => c.value === record.assetId)?.label || '',\n number: false,\n },\n {\n columnId: 'mode',\n value: this.parentalLeaveOptions.find(c => c.value === record.mode)?.label || '',\n number: false,\n },\n {\n columnId: 'gender',\n value: this.genderOptions.find(c => c.value === record.gender)?.label || '',\n number: false,\n },\n {\n columnId: 'region',\n value: this.regionOptions.find(c => c.value === record.regionId)?.label || '',\n number: false,\n },\n ],\n }));\n }\n\n setAddRecordForm() {\n const asset = this.getDefaultAssetOption();\n this.recordFc = {\n startDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(asset, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n mode: new FormControl(this.parentalLeaveOptions[0], {\n validators: [Validators.required],\n nonNullable: true,\n }),\n gender: new FormControl(this.genderOptions[0], {\n validators: [Validators.required],\n nonNullable: true,\n }),\n region: new FormControl(this.regionOptions.length ? this.regionOptions[0] : undefined, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n\n setEditRecordForm(id: string) {\n const parentalLeavesRecord = this.dataRecords.find(record => record.id === id) as EmployeeParentalLeavesDataRecord;\n if (parentalLeavesRecord) {\n this.recordFc = {\n startDate: new FormControl(parentalLeavesRecord.startDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(parentalLeavesRecord.endDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(\n this.assetOptions.flatMap(group => group.options).find(opt => opt.value === parentalLeavesRecord.assetId) ||\n this.getDefaultAssetOption(),\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n mode: new FormControl(\n this.parentalLeaveOptions.find(opt => opt.value === parentalLeavesRecord.mode) ||\n this.parentalLeaveOptions[0],\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n gender: new FormControl(\n this.genderOptions.find(opt => opt.value === parentalLeavesRecord.gender) || this.genderOptions[0],\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n region: new FormControl(\n this.regionOptions.find(opt => opt.value === parentalLeavesRecord.regionId) || this.regionOptions[0],\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n }\n\n getParams():\n | CreateEmployeeParentalLeavesDataRecordCommandParams\n | UpdateEmployeeParentalLeavesDataRecordCommandParams\n | undefined {\n const parentGender = Object.values(Gender).find(type => type === this.recordFc?.gender.value?.value);\n const mode = Object.values(ParentalLeaveMode).find(type => type === this.recordFc?.mode.value?.value);\n if (\n this.recordFormgroup?.valid &&\n this.recordFc &&\n this.recordFc?.asset.value?.value &&\n parentGender &&\n mode &&\n this.recordFc.region.value\n ) {\n const parentLeave = {\n type: DataRecordType.EmployeeParentalLeaves,\n assetId: this.recordFc.asset.value.value,\n inputType: InputType.Manual,\n startDate: this.recordFc.startDate.value || new Date(),\n endDate: this.recordFc.endDate.value || new Date(),\n mode: mode,\n gender: parentGender,\n regionId: this.recordFc.region.value.value,\n };\n if (this.editRecordId) {\n return new UpdateEmployeeParentalLeavesDataRecordCommandParams({ id: this.editRecordId, ...parentLeave });\n } else {\n return new CreateEmployeeParentalLeavesDataRecordCommandParams(parentLeave);\n }\n }\n return undefined;\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n","import { Injectable } from '@angular/core';\nimport {\n DataRecordType,\n Gender,\n ParentalLeaveMode,\n CreateEmployeeParentalLeavesDataRecordCommandParams,\n ICreateEmployeeParentalLeavesDataRecordCommandParams,\n DataRecordCategory,\n AssetType,\n InputType,\n} from 'src/api-client/report-api.generated';\nimport { DataRecordApiService } from 'src/app/api-client/report-api/data-record-api-service';\nimport { GenderOptions, IOption, ParentalLeaveOptions } from 'src/app/static-data/options';\nimport { AssetApiService } from 'src/app/api-client/report-api/asset-api-service';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { DataCategoryApiService } from 'src/app/api-client/report-api/categories-api-service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { RegionClientApiService } from 'src/app/api-client/report-api/region-api-service';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\nimport {\n ExcelImportValidationMessage,\n FieldConfig,\n ImportDataOutput,\n validateExcelOptionColumn,\n} from 'src/app/shared/components/data-import-from-excel/data-import-from-excel-state.service';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport { RecordsStateService } from '../records-state.service';\nimport { generateGUID } from 'src/app/shared/utils/guid';\n\n@Injectable()\nexport class ParentalLeaveStateService extends RecordsStateService {\n title = 'Parental Leave';\n recordCategory = DataRecordCategory.EmployeesParentalLeave;\n assetCategories = [AssetType.Organization, AssetType.Facility];\n\n importFromExcelFieldConfigs: FieldConfig[] = [\n { propertyName: 'startDate', title: 'Start Date', type: 'date' },\n { propertyName: 'endDate', title: 'End Date', type: 'date' },\n { propertyName: 'asset', title: 'Asset', type: 'string' },\n { propertyName: 'mode', title: 'Mode', type: 'string' },\n { propertyName: 'gender', title: 'Gender', type: 'string' },\n { propertyName: 'region', title: 'Region', type: 'string' },\n ];\n\n regionOptions: IOption[] = [];\n genderOptions = GenderOptions;\n parentalLeaveOptions = ParentalLeaveOptions;\n\n importFromExcelEnabled = true;\n\n constructor(\n appInfo: AppInfoService,\n appConfig: AppConfigurationService,\n assetApiService: AssetApiService,\n dataRecordService: DataRecordApiService,\n dataCategoryApiService: DataCategoryApiService,\n notificationService: NotificationService,\n router: Router,\n route: ActivatedRoute,\n private regionApiService: RegionClientApiService\n ) {\n super(\n appInfo,\n appConfig,\n assetApiService,\n dataRecordService,\n dataCategoryApiService,\n notificationService,\n router,\n route\n );\n }\n\n importDataFromExcel(data: ImportDataOutput) {\n var dataSetId = generateGUID();\n this.importingInProgress = true;\n let validationMessages: ExcelImportValidationMessage[] = [];\n\n const assetValidation = this.validateExcelAssets(data.records);\n if (assetValidation) validationMessages.push(assetValidation);\n\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'mode',\n this.parentalLeaveOptions,\n data.records,\n 'Mode'\n );\n\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'gender',\n this.genderOptions,\n data.records,\n 'Gender'\n );\n\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'region',\n this.regionOptions,\n data.records,\n 'Region'\n );\n\n if (validationMessages.length) {\n validationMessages.forEach(message => {\n this.notificationService.showError(message.title, message.description);\n });\n this.importingInProgress = false;\n return;\n }\n\n const addRecordPromises = data.records.map((record, index) => {\n const mode = this.parentalLeaveOptions.find(o => o.label === record.mode?.value);\n if (!mode) {\n this.notificationService.showError('Not valid imported data', `Mode column is not valid for ${index + 1} row`);\n return;\n }\n\n const gender = this.genderOptions.find(o => o.label === record.gender?.value);\n if (!gender) {\n this.notificationService.showError(\n 'Not valid imported data',\n `Gender column is not valid for ${index + 1} row`\n );\n return;\n }\n\n const region = this.regionOptions.find(region => region.label === record.region?.value);\n if (!region) {\n this.notificationService.showError(\n 'Not valid imported data',\n `Region column is not valid for ${index + 1} row`\n );\n return;\n }\n\n const asset = this.getAssetOptionColumn(record.asset?.value);\n const parentalLeave: ICreateEmployeeParentalLeavesDataRecordCommandParams = {\n type: DataRecordType.EmployeeParentalLeaves,\n dataSetId: dataSetId,\n assetId: asset.value,\n inputType: InputType.ImportedFromExcel,\n startDate: record.startDate?.value,\n endDate: record.endDate?.value,\n mode: ParentalLeaveMode[mode.value as keyof typeof ParentalLeaveMode],\n gender: Gender[gender.value as keyof typeof Gender],\n regionId: region?.value,\n };\n\n return this.dataRecordService.createDataRecord(\n new CreateEmployeeParentalLeavesDataRecordCommandParams({ ...parentalLeave })\n );\n });\n Promise.all(addRecordPromises).then(async response => {\n response.forEach(res => {\n if (res) {\n const addedId = res.result?.id;\n if (addedId) {\n this.newlyAddedRowsIds.push(addedId);\n this.delayRemoveAddedId(addedId, 15000);\n }\n }\n });\n await this.loadRecords();\n this.importingInProgress = false;\n this.importDataFromExcelClose();\n });\n }\n\n async fetchStaticData() {\n await Promise.all([this.getAssetOptions(), this.getRegions(), this.getDataCategoryDetails()]);\n }\n\n async fetchOptions() {\n await Promise.all([this.getAssetOptions(), this.getRegions()]);\n }\n\n async getRegions() {\n const response = await this.regionApiService.getAllRegionNames();\n this.regionOptions = response.result.map(region => ({ value: region.id, label: region.name }));\n }\n\n async loadRecords() {\n await this.getDataRecords(DataRecordType.EmployeeParentalLeaves);\n }\n\n handleDeleteAllFilteredRecordsSubmit() {\n this.handleOnDeleteAllFilteredRecords(DataRecordType.EmployeeParentalLeaves);\n }\n}\n","import { Component } from '@angular/core';\nimport { ParentalLeaveStateService } from './parental-leave-state.service';\nimport { RecordsComponent } from '../records.component';\n\n@Component({\n selector: 'esg-parental-leave',\n templateUrl: './parental-leave.component.html',\n styleUrls: ['../records.component.scss'],\n providers: [{ provide: RecordsComponent, useExisting: ParentalLeaveComponent }, ParentalLeaveStateService],\n})\nexport class ParentalLeaveComponent extends RecordsComponent {\n constructor(public state: ParentalLeaveStateService) {\n super(state);\n }\n}\n","\n \n Select category\n \n \n \n \n \n
\n \n \n 1\"\n [fc]=\"state.filteredAssetTypes\"\n size=\"small\"\n [options]=\"state.assetTypeOptions\"\n [isFilter]=\"true\"\n placeholder=\"All asset types\"\n (onChange)=\"state.handleAssetTypeFilterChange()\">\n \n \n
\n
\n \n
\n\n\n","import { Component } from '@angular/core';\nimport { RecordForm, RecordFormTableComponent } from '../../../shared/record-form-table/record-form-table.component';\nimport { RecordHeaderCell } from 'src/app/shared/components/records-table/records-table.component';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { IOption, PurchasedFishTypeOptions } from 'src/app/static-data/options';\nimport { CreatePurchasedFishDataRecordCommandParams, DataRecordType, FishSpecies, InputType, PurchasedFishDataRecord, UpdatePurchasedFishDataRecordCommandParams } from 'src/api-client/report-api.generated';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\nimport { formatDate } from '@angular/common';\n\ninterface PurchasedFishRecordForm extends RecordForm {\n species: FormControl,\n weight_kg: FormControl,\n}\n\n@Component({\n selector: 'esg-purchased-fish-form-table',\n templateUrl: './purchased-fish-form-table.component.html',\n styleUrls: ['../../../shared/record-form-table/record-form-table.component.scss'],\n providers: [{ provide: RecordFormTableComponent, useExisting: PurchasedFishFormTableComponent }],\n})\nexport class PurchasedFishFormTableComponent extends RecordFormTableComponent {\n headerCells: RecordHeaderCell[] = [\n { columnId: 'period', label: 'Period', description: 'From – To Date', number: false, sortFieldName: 'StartDate' },\n { columnId: 'asset', label: 'Asset', description: '', number: false, sortFieldName: 'AssetName' },\n { columnId: 'purchased_fish', label: 'Purchased Fish', description: 'TH Sub', number: false, sortFieldName: 'PurchasedFish'},\n { columnId: 'amount', label: 'Amount Purchased', description: 'kg', number: true, sortFieldName: 'PurchasedAmount'},\n ];\n\n recordFc?: PurchasedFishRecordForm = undefined;\n recordFormgroup?: FormGroup = undefined;\n\n purchasedFishTypeOptions: IOption[] = PurchasedFishTypeOptions;\n\n setRecordsRows(): void {\n this.dataRecordsRows = (this.dataRecords as PurchasedFishDataRecord[]).map(record => ({\n id: record.id,\n cells: [\n {\n columnId: 'period',\n value:\n formatDate(record.startDate, 'dd. MMM yyyy', 'en_US') +\n ' - ' +\n formatDate(record.endDate, 'dd. MMM yyyy', 'en_US'),\n number: false,\n },\n {\n columnId: 'asset',\n value: this.assetOptions.flatMap(group => group.options).find(c => c.value === record.assetId)?.label || '',\n number: false,\n },\n {\n columnId: 'purchased_fish', \n value: record.species.toString(),\n number: false,\n },\n {\n columnId: 'amount',\n value: record.weight_kg?.toString() || '',\n number: true\n },\n ],\n })); \n }\n\n setAddRecordForm() {\n this.recordFc = {\n startDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n species: new FormControl(this.purchasedFishTypeOptions[0], {\n validators: [Validators.required],\n nonNullable: true, \n }),\n weight_kg: new FormControl('', { validators: [Validators.required], nonNullable: true }),\n asset: new FormControl(this.getDefaultAssetOption(), { nonNullable: true })\n }\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n\n setEditRecordForm(id: string): void {\n const record = this.dataRecords.find(record => record.id === id) as PurchasedFishDataRecord;\n if (record) {\n this.recordFc = {\n startDate: new FormControl(record.startDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(record.endDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(\n this.assetOptions.flatMap(group => group.options).find(opt => opt.value === record.assetId) ||\n this.getDefaultAssetOption(),\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n species: new FormControl(\n this.purchasedFishTypeOptions.find(option => option.value === record.species ) \n || this.purchasedFishTypeOptions[0], \n {nonNullable: true}),\n weight_kg: new FormControl(record.weight_kg?.toString() || '', {nonNullable: true, validators: [Validators.required]})\n }\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n }\n\n getParams(): \n | CreatePurchasedFishDataRecordCommandParams \n | UpdatePurchasedFishDataRecordCommandParams \n | undefined {\n console.log('params =', this.recordFormgroup)\n const species = Object.values(FishSpecies).find(type => type === this.recordFc?.species.value.value)\n if ( this.recordFormgroup?.valid && this.recordFc && this.recordFc.asset.value?.value) {\n const fish = {\n type: DataRecordType.PurchasedFish,\n assetId: this.recordFc.asset.value.value,\n inputType: InputType.Manual,\n startDate: this.recordFc.startDate.value || new Date(),\n endDate: this.recordFc.endDate.value || new Date(),\n species: species || FishSpecies.Angler,\n weight_kg: formattedStringToNumber(this.recordFc.weight_kg.value) || 0,\n };\n if(this.editRecordId) {\n return new UpdatePurchasedFishDataRecordCommandParams({\n id: this.editRecordId,\n ...fish,\n });\n } else {\n return new CreatePurchasedFishDataRecordCommandParams(fish);\n }\n }\n return undefined;\n \n }\n}","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n","import { Injectable } from '@angular/core';\nimport { RecordsStateService } from '../records-state.service';\nimport {\n DataRecordType,\n AssetType,\n DataRecordCategory,\n FishSpecies,\n} from 'src/api-client/report-api.generated';\nimport { FormControl } from '@angular/forms';\nimport { IOption, PurchasedFishTypeOptions } from 'src/app/static-data/options';\n\n@Injectable()\nexport class PurchasedFishStateService extends RecordsStateService {\n title = 'Purchased Fish';\n rocordCategory = DataRecordCategory.IndirectEmissionsElectricity;\n assetCategories = [AssetType.Organization, AssetType.Vessel];\n importFromExcelEnabled = true;\n\n filteredPurchasedFishType: FormControl = new FormControl(PurchasedFishTypeOptions[0], { nonNullable: true });\n purchasedFishTypeOptions: IOption[] = PurchasedFishTypeOptions;\n\n handlePurchasedFishTypeChange(value: IOption) {\n this.filteredPurchasedFishType.setValue(value);\n this.handleFilterChange();\n }\n\n async loadRecords(): Promise {\n await this.getDataRecords(DataRecordType.PurchasedFish, undefined, this.filteredPurchasedFishType.value.value as FishSpecies);\n }\n\n}","import { Component } from \"@angular/core\";\nimport { PurchasedFishStateService } from \"./purchased-fish-state.service\";\nimport { RecordsComponent } from \"../records.component\";\n\n@Component({\n selector: 'esg-purchased-fish',\n templateUrl: './purchased-fish.component.html', \n styleUrls: ['../records.component.scss'],\n\tproviders: [{ provide: RecordsComponent, useExisting: PurchasedFishComponent }, PurchasedFishStateService],\n})\n// export class PurchasedFishComponent {\nexport class PurchasedFishComponent extends RecordsComponent {\n\tconstructor(public state: PurchasedFishStateService) {\n\t\tsuper(state)\n\t}\n}","\n \n Select category\n \n \n \n \n \n
\n \n \n 1\"\n [fc]=\"state.filteredAssetTypes\"\n size=\"small\"\n [options]=\"state.assetTypeOptions\"\n [isFilter]=\"true\"\n placeholder=\"All asset types\"\n (onChange)=\"state.handleAssetTypeFilterChange()\">\n \n \n
\n
\n \n
\n\n","import { FormControl } from '@angular/forms';\nimport {\n DataRecord,\n DataRecordType,\n UpdateDataRecordCommandResponse,\n CreateDataRecordCommandResponse,\n UpdateDataRecordCommandParams,\n CreateDataRecordCommandParams,\n AssetType,\n OrganizationAssetVm,\n DataRecordCategory,\n InputType,\n CurrencyCodes,\n FishSpecies,\n} from 'src/api-client/report-api.generated';\nimport { DataRecordApiService } from 'src/app/api-client/report-api/data-record-api-service';\nimport { IOption, IGroupedOptions, RecordInputTypeOptions } from 'src/app/static-data/options';\nimport { AssetApiService } from 'src/app/api-client/report-api/asset-api-service';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { Injectable } from '@angular/core';\nimport { AssetCategoryLabel } from 'src/app/static-data/enum-mappings';\nimport { DataCategoryApiService } from 'src/app/api-client/report-api/categories-api-service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\nimport {\n FieldConfig,\n ImportDataOutput,\n} from 'src/app/shared/components/data-import-from-excel/data-import-from-excel.component';\nimport {\n DataRecordOutput,\n ExcelImportValidationMessage,\n} from 'src/app/shared/components/data-import-from-excel/data-import-from-excel-state.service';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport { formatDate } from '@angular/common';\nimport { IMenuItem } from 'src/app/shared/ui/context-menu/context-menu.component';\nimport { convertToLocalDateOnlyUTC } from 'src/app/shared/utils/date';\nimport { RecordCategoryRoutes } from '../data-collect-page.component';\nimport { PaginationUi } from 'src/app/shared/components/pagination/pagination.component';\n\ninterface AssetData {\n id: string;\n name: string;\n countryCode?: string;\n}\n\ninterface CategoryDetailsUi {\n name: string;\n guidance: string;\n}\n\n@Injectable()\nexport class RecordsStateService {\n readonly recordEnum = DataRecordType;\n\n title = 'Records';\n\n recordCategory: DataRecordCategory | undefined = undefined;\n categoryDetails: CategoryDetailsUi | undefined = undefined;\n\n recordCategoryRoutes = RecordCategoryRoutes;\n\n dataRecords: DataRecord[] = [];\n newlyAddedRowsIds: string[] = [];\n\n loading = false;\n initialized = false;\n isReadonly: boolean = false;\n\n isSubmitting: boolean = false;\n isDeleteDialogOpen: boolean = false;\n\n assetCategories: AssetType[] = [];\n assetTypeOptions: IOption[] = [];\n assetOptions: IGroupedOptions[] = [];\n assetFilterOptions: IGroupedOptions[] = [];\n isAssetsDisabled: boolean = false;\n\n searchValue: string = '';\n searchTimeout: any;\n\n sortKey: string = '';\n sortDirection: 'asc' | 'desc' | '' = '';\n\n organizationCurrency: CurrencyCodes = CurrencyCodes.USD;\n countryOptions: IOption[] = [];\n inputTypeOptions: IOption[] = RecordInputTypeOptions;\n\n assetCountryMap = new Map();\n\n currentPagination: PaginationUi = {\n currentPage: 1,\n totalPages: 1,\n hasPrevious: false,\n hasNext: false,\n pageSize: 50,\n totalCount: 0,\n };\n showStickyPaginationDivider: boolean = false;\n\n startDateFilter: FormControl = new FormControl(null);\n endDateFilter: FormControl = new FormControl(null);\n filteredAssets: FormControl = new FormControl([], { nonNullable: true });\n filteredAssetTypes: FormControl = new FormControl([], { nonNullable: true });\n filteredInputType: FormControl = new FormControl(this.inputTypeOptions[0], { nonNullable: true });\n\n importFromExcelEnabled = false;\n importFromExcelDialog = false;\n importingInProgress = false;\n importingInProgressLabel = 'Importing...';\n importFromExcelFieldConfigs: FieldConfig[] = [];\n\n get intersectionObserverRootMargin(): number {\n return 76;\n }\n\n get deleteDialogMessage() {\n return `You have selected a total of ${this.currentPagination.totalCount} records to delete. Once you delete these records, \\n there is no turning back.`;\n }\n\n get isFilterApplied(): boolean {\n return (\n this.startDateFilter.value !== null ||\n this.endDateFilter.value !== null ||\n this.filteredAssets.value.length > 0 ||\n (this.filteredAssetTypes.value.length > 0 && this.assetTypeOptions.length > 1) ||\n this.filteredInputType.value !== this.inputTypeOptions[0]\n );\n }\n\n constructor(\n protected appInfo: AppInfoService,\n protected appConfig: AppConfigurationService,\n protected assetApiService: AssetApiService,\n protected dataRecordService: DataRecordApiService,\n protected dataCategoryApiService: DataCategoryApiService,\n protected notificationService: NotificationService,\n protected router: Router,\n protected route: ActivatedRoute\n ) {}\n\n async init() {\n this.loading = true;\n await this.fetchStaticData();\n this.getQueryParams();\n await this.loadRecords();\n this.setQueryParams();\n this.loading = false;\n this.initialized = true;\n }\n\n async fetchStaticData() {\n await Promise.all([this.getAssetOptions(), this.getDataCategoryDetails()]);\n }\n\n async fetchOptions() {\n await this.getAssetOptions();\n }\n\n async initOptions() {\n this.loading = true;\n await this.fetchOptions();\n this.loading = false;\n }\n\n async loadRecords() {\n await this.getDataRecords();\n }\n\n async getOrganizationAssets() {\n const organizationCountryMap = new Map();\n const organizationOptions: IOption[] = [];\n const organizationResponse = await this.assetApiService.getAssetsByOrganizationAndType(\n undefined,\n AssetType.Organization\n );\n organizationResponse.result.map(a => {\n let asset = a as OrganizationAssetVm;\n\n if (!asset.subOrganizationId) this.organizationCurrency = asset.currencyCode;\n\n organizationCountryMap.set(\n asset.subOrganizationId ? asset.subOrganizationId : asset.organizationId,\n asset.countryCode\n );\n organizationOptions.push({ value: asset.id, label: asset.orgOrSuborgName, group: AssetType.Organization });\n if (this.assetCategories.includes(AssetType.Organization)) this.assetCountryMap.set(asset.id, asset.countryCode);\n });\n\n return { organizationCountryMap, organizationOptions };\n }\n\n async getAssetOptions() {\n this.assetOptions = [];\n this.assetCountryMap = new Map();\n this.assetTypeOptions = this.assetCategories.map(assetType => ({\n value: assetType,\n label: AssetCategoryLabel[assetType],\n }));\n if (this.assetTypeOptions.length === 1) this.filteredAssetTypes.setValue([this.assetTypeOptions[0]]);\n const { organizationOptions, organizationCountryMap } = await this.getOrganizationAssets();\n\n this.assetOptions = await Promise.all(\n this.assetCategories.map(async type => {\n if (type === AssetType.Organization) {\n return {\n label: AssetCategoryLabel[type],\n options: organizationOptions,\n };\n } else {\n return await this.getAssetOptionsByType(type, organizationCountryMap);\n }\n })\n );\n\n this.assetFilterOptions = this.assetOptions;\n this.isAssetsDisabled = this.assetOptions.flatMap(group => group.options).length < 2;\n }\n\n async getAssetOptionsByType(type: AssetType, organizationCountryMap: Map) {\n const response = await this.assetApiService.searchAssetByType(type);\n\n const options: IOption[] = [];\n response.result.items.map(a => {\n let asset = a as AssetData;\n if (asset.countryCode) this.assetCountryMap.set(asset.id, asset.countryCode);\n else {\n const organizationCountry = organizationCountryMap.get(\n a.subOrganizationId ? a.subOrganizationId : a.organizationId\n );\n if (organizationCountry) this.assetCountryMap.set(asset.id, organizationCountry);\n }\n options.push({ value: asset.id, label: asset.name, group: type });\n });\n return {\n label: AssetCategoryLabel[type],\n options: options,\n };\n }\n\n async getDataCategoryDetails() {\n if (this.recordCategory) {\n const { result } = await this.dataCategoryApiService.getDataCategoryByDataRecordCategory(this.recordCategory);\n this.categoryDetails = {\n name: result.name,\n guidance: result.guidance,\n };\n }\n }\n\n async getDataRecords(recordType?: DataRecordType, profileId?: string, species?: FishSpecies) {\n const startDate = this.startDateFilter.value ? convertToLocalDateOnlyUTC(this.startDateFilter.value) : undefined;\n const endDate = this.endDateFilter.value ? convertToLocalDateOnlyUTC(this.endDateFilter.value) : undefined;\n const inputType = Object.values(InputType).find(type => type === this.filteredInputType.value.value);\n\n const response = await this.dataRecordService.getDataRecordsByFilter(\n inputType,\n recordType,\n this.recordCategory,\n profileId,\n this.filteredAssets.value.map(opt => opt.value),\n Object.values(AssetType).filter(type => this.filteredAssetTypes.value.find(opt => type === opt.value)),\n this.sortDirection ? this.sortKey + ' ' + this.sortDirection : undefined,\n startDate,\n endDate,\n this.currentPagination.currentPage,\n this.currentPagination.pageSize,\n species,\n );\n this.dataRecords = response.result.items;\n\n this.currentPagination = {\n currentPage: response.result.currentPage,\n totalPages: response.result.totalPages,\n pageSize: response.result.pageSize,\n totalCount: response.result.totalCount,\n hasPrevious: response.result.hasPrevious,\n hasNext: response.result.hasNext,\n };\n }\n\n async delayRemoveAddedId(addedId: string, ms: number) {\n await new Promise(resolve => setTimeout(resolve, ms));\n this.newlyAddedRowsIds = this.newlyAddedRowsIds.filter(id => id !== addedId);\n }\n\n async handleRecordFormSubmit(params: UpdateDataRecordCommandParams | CreateDataRecordCommandParams) {\n if (this.isSubmitting) {\n return;\n }\n\n this.isSubmitting = true;\n const response = await this.getAddOrEditResponse(params);\n this.isSubmitting = false;\n if (response && response.success) {\n this.loadRecords();\n if (response instanceof CreateDataRecordCommandResponse) {\n const addedId = response.result?.id;\n if (addedId) {\n this.newlyAddedRowsIds.push(addedId);\n this.delayRemoveAddedId(addedId, 15000);\n }\n }\n }\n }\n\n getAddOrEditResponse(\n params: CreateDataRecordCommandParams | UpdateDataRecordCommandParams\n ): Promise | Promise | undefined {\n if (params instanceof UpdateDataRecordCommandParams) {\n return this.dataRecordService.updateDataRecord(params);\n } else if (params instanceof CreateDataRecordCommandParams) {\n return this.dataRecordService.createDataRecord(params);\n } else {\n return undefined;\n }\n }\n\n handleDeleteRecord(id: string) {\n this.dataRecordService.deleteDataRecord(id).then(response => {\n if (response.success) {\n this.loadRecords();\n }\n });\n }\n\n handleDeleteAllFilteredRecordsInitiate() {\n this.isDeleteDialogOpen = true;\n }\n\n handleDeleteAllFilteredRecordsClose() {\n this.isDeleteDialogOpen = false;\n }\n\n handleDeleteAllFilteredRecordsSubmit() {\n this.handleOnDeleteAllFilteredRecords();\n }\n\n handleOnDeleteAllFilteredRecords(recordType?: DataRecordType, profileId?: string) {\n const startDate = this.startDateFilter.value ? convertToLocalDateOnlyUTC(this.startDateFilter.value) : undefined;\n const endDate = this.endDateFilter.value ? convertToLocalDateOnlyUTC(this.endDateFilter.value) : undefined;\n const inputType = Object.values(InputType).find(type => type === this.filteredInputType.value.value);\n this.isDeleteDialogOpen = false;\n this.dataRecordService\n .deleteDataRecordsBy(\n inputType,\n recordType,\n this.recordCategory,\n profileId,\n this.filteredAssets.value.map(opt => opt.value),\n Object.values(AssetType).filter(type => this.filteredAssetTypes.value.find(opt => type === opt.value)),\n undefined,\n startDate,\n endDate\n )\n .then(response => {\n if (response.success) {\n this.notificationService.showSuccess(\n this.currentPagination.totalCount + ' Records were successfully deleted'\n );\n this.loadRecords();\n }\n });\n }\n\n handlePaginationChange(newPaginationData: PaginationUi) {\n this.currentPagination = newPaginationData;\n this.loadRecords();\n this.setQueryParams();\n }\n\n handleStickyPaginationDivider(tabEntry: IntersectionObserverEntry) {\n this.showStickyPaginationDivider = tabEntry.intersectionRatio === 0;\n }\n\n resetPagination() {\n this.currentPagination = {\n ...this.currentPagination,\n currentPage: 1,\n totalPages: 1,\n hasPrevious: false,\n hasNext: false,\n pageSize: 50,\n totalCount: 0,\n };\n }\n\n onSearchValueChange(newSearchValue: string) {\n this.searchValue = newSearchValue;\n\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n this.searchTimeout = setTimeout(() => {\n this.handleFilterChange();\n }, 500);\n }\n\n handleAssetTypeFilterChange() {\n this.setVisibleAssetOptions();\n this.handleFilterChange();\n }\n\n setVisibleAssetOptions() {\n if (this.filteredAssetTypes.value.length) {\n const selectedAssetTypes = this.filteredAssetTypes.value.map(option => option.value);\n this.filteredAssets.setValue(\n this.filteredAssets.value.filter(opt => opt?.group && selectedAssetTypes.includes(opt.group))\n );\n this.assetFilterOptions = this.assetOptions.filter(group => {\n return group.options.some(option => option?.group && selectedAssetTypes.includes(option.group));\n });\n } else this.assetFilterOptions = this.assetOptions;\n }\n\n handleInputTypeChange(value: IOption) {\n this.filteredInputType.setValue(value);\n this.handleFilterChange();\n }\n\n handleFilterChange() {\n this.currentPagination = { ...this.currentPagination, currentPage: 1, hasNext: false, hasPrevious: false };\n this.loadRecords();\n this.setQueryParams();\n }\n\n clearFilters() {\n this.filteredAssets.setValue([]);\n this.filteredAssetTypes.setValue([]);\n this.startDateFilter.setValue(null);\n this.endDateFilter.setValue(null);\n this.filteredInputType.setValue(this.inputTypeOptions[0]);\n this.setVisibleAssetOptions();\n this.handleFilterChange();\n }\n\n filterMenuProvider = (): IMenuItem[] => [\n { id: 'clear', label: 'Clear all filters', onClick: () => this.clearFilters() },\n {\n id: 'delete',\n label: 'Delete all filtered records',\n onClick: () => this.handleDeleteAllFilteredRecordsInitiate(),\n disabled: this.currentPagination.totalCount === 0 || !this.isFilterApplied,\n },\n ];\n\n setQueryParams() {\n const queryParams = {\n ...this.route.snapshot.queryParams,\n };\n queryParams['pageSize'] = this.currentPagination.pageSize;\n queryParams['currentPage'] = this.currentPagination.currentPage;\n queryParams['assetId'] = this.filteredAssets.value.length === 1 ? this.filteredAssets.value[0].value : undefined;\n queryParams['assetType'] =\n this.assetTypeOptions.length > 1 && this.filteredAssetTypes.value.length === 1\n ? this.filteredAssetTypes.value[0].value\n : undefined;\n\n queryParams['inputType'] = queryParams['startDate'] = this.startDateFilter.value\n ? formatDate(this.startDateFilter.value, 'YYYY-MM-dd', 'en_US')\n : undefined;\n queryParams['endDate'] = this.endDateFilter.value\n ? formatDate(this.endDateFilter.value, 'YYYY-MM-dd', 'en_US')\n : undefined;\n\n queryParams['inputType'] = this.filteredInputType.value?.value;\n\n this.router.navigate([], { queryParams });\n }\n\n getQueryParams() {\n const queryParams = this.route.snapshot.queryParams;\n const pageSize = queryParams['pageSize'];\n const currentPage = queryParams['currentPage'];\n const assetId = queryParams['assetId'];\n const assetType = queryParams['assetType'];\n const inputType = queryParams['inputType'];\n const startDate = queryParams['startDate'];\n const endDate = queryParams['endDate'];\n\n if (pageSize || currentPage) {\n this.currentPagination = {\n ...this.currentPagination,\n currentPage: currentPage || this.currentPagination.currentPage,\n };\n }\n\n if (assetId) {\n const asset = this.assetOptions.flatMap(group => group.options).find(asset => asset.value === assetId);\n if (asset) this.filteredAssets.setValue([asset]);\n }\n\n if (assetType && this.assetTypeOptions.length > 1) {\n const type = this.assetTypeOptions.find(type => type.value === assetType);\n if (type) {\n this.filteredAssetTypes.setValue([type]);\n this.setVisibleAssetOptions();\n }\n }\n\n if (!inputType) {\n this.filteredInputType.setValue(this.inputTypeOptions[0]);\n } else {\n const inputTypeOption = this.inputTypeOptions.find(option => option.value === inputType);\n if (inputTypeOption) {\n this.filteredInputType.setValue(inputTypeOption);\n }\n }\n\n if (startDate) {\n this.startDateFilter.setValue(new Date(startDate));\n }\n\n if (endDate) {\n this.endDateFilter.setValue(new Date(endDate));\n }\n }\n\n importDataFromExcel(data: ImportDataOutput) {}\n\n importDataFromExcelClose() {\n this.importFromExcelDialog = false;\n }\n\n handleOnImportRecords() {\n this.importFromExcelDialog = true;\n }\n\n validateExcelAssets(records: DataRecordOutput[]): ExcelImportValidationMessage | undefined {\n const assets = this.assetOptions.flatMap(group => group.options);\n\n const notMappedRecordAssets = records.filter(\n record => !assets.some(asset => asset.label.trim().toUpperCase() === record.asset?.value.trim().toUpperCase())\n );\n\n if (notMappedRecordAssets.length) {\n const notMappedAssetsString = notMappedRecordAssets.map(record => record.asset.value).join(', ');\n return {\n title: 'Not valid imported data',\n description: `The following assets are not mapped to any of your assets: ${notMappedAssetsString}`,\n };\n }\n return undefined;\n }\n\n getAssetOptionColumn(assetName: string) {\n const findAsset = this.assetOptions\n .flatMap(group => group.options)\n .find(asset => asset.label.trim().toUpperCase() === assetName.trim().toUpperCase());\n if (!findAsset) {\n this.notificationService.showError('Not mapped asset', `Not mapped asset for ${assetName}`);\n throw Error();\n }\n return findAsset;\n }\n\n getExcelOptionColumn(\n propertyName: string,\n options: IOption[],\n record: DataRecordOutput,\n optionLabel: string\n ): IOption {\n const valueInUpperCase = record[propertyName]?.value?.trim().toUpperCase();\n const findOption = options.find(\n o => o.label.toUpperCase() === valueInUpperCase || o.value.toUpperCase() === valueInUpperCase\n );\n\n if (!findOption) {\n this.notificationService.showError(\n 'Not mapped select option',\n `Not mapped select option for ${optionLabel} column in ${record[propertyName]?.rowNo} row`\n );\n throw Error();\n }\n return findOption;\n }\n\n onSortChange(event: { key: string; direction: 'asc' | 'desc' | '' }) {\n this.sortKey = event.key;\n this.sortDirection = event.direction;\n this.loadRecords();\n }\n}\n","import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { RecordFormTableComponent } from '../shared/record-form-table/record-form-table.component';\nimport { RecordsStateService } from './records-state.service';\nimport { CreateDataRecordCommandParams } from 'src/api-client/report-api.generated';\n\n@Component({ template: '' })\nexport abstract class RecordsComponent {\n @Input() addOnly: boolean = false;\n @Output() onSubmit = new EventEmitter();\n\n @ViewChild(RecordFormTableComponent)\n private formTable?: RecordFormTableComponent;\n\n get formGroup() {\n return this.formTable?.recordFormgroup;\n }\n\n constructor(public state: RecordsStateService) {}\n\n ngOnInit(): void {\n if (this.addOnly) {\n this.state.initOptions();\n } else {\n this.state.init();\n }\n }\n\n handleOnSubmit() {\n if (this.formTable) {\n const params = this.formTable.getParams();\n if (params instanceof CreateDataRecordCommandParams) {\n this.onSubmit.emit(params);\n }\n }\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { RecordForm, RecordFormTableComponent } from '../../../shared/record-form-table/record-form-table.component';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { IOption } from 'src/app/static-data/options';\nimport {\n CreateEmployeeSickLeavesDataRecordCommandParams,\n DataRecordType,\n EmployeeSickLeavesDataRecord,\n InputType,\n UpdateEmployeeSickLeavesDataRecordCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { formatDate } from '@angular/common';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\n\ninterface SickLeaveRecordForm extends RecordForm {\n region: FormControl;\n women: FormControl;\n men: FormControl;\n workingDays: FormControl;\n}\n\n@Component({\n selector: 'esg-sick-leave-form-table',\n templateUrl: './sick-leave-form-table.component.html',\n styleUrls: ['../../../shared/record-form-table/record-form-table.component.scss'],\n providers: [{ provide: RecordFormTableComponent, useExisting: SickLeaveFormTableComponent }],\n})\nexport class SickLeaveFormTableComponent extends RecordFormTableComponent {\n @Input() regionOptions: IOption[] = [];\n\n headerCells = [\n { columnId: 'period', label: 'Period', description: 'From – To Date', number: false, sortFieldName: 'StartDate' },\n { columnId: 'asset', label: 'Asset', description: '', number: false, sortFieldName: 'AssetName' },\n { columnId: 'region', label: 'Region', description: '', number: false, sortFieldName: 'RegionName' },\n { columnId: 'women', label: 'Women', description: 'Total Sick days', number: true },\n { columnId: 'men', label: 'Men', description: 'Total Sick days', number: true },\n { columnId: 'workingDays', label: 'Working days', description: 'Total Working days', number: true },\n ];\n\n recordFc?: SickLeaveRecordForm = undefined;\n recordFormgroup?: FormGroup = undefined;\n\n setRecordsRows() {\n this.dataRecordsRows = (this.dataRecords as EmployeeSickLeavesDataRecord[]).map(record => ({\n id: record.id,\n cells: [\n {\n columnId: 'period',\n value:\n formatDate(record.startDate, 'dd. MMM yyyy', 'en_US') +\n ' - ' +\n formatDate(record.endDate, 'dd. MMM yyyy', 'en_US'),\n number: false,\n },\n {\n columnId: 'asset',\n value: this.assetOptions.flatMap(group => group.options).find(c => c.value === record.assetId)?.label || '',\n number: false,\n },\n {\n columnId: 'region',\n value: this.regionOptions.find(c => c.value === record.regionId)?.label || '',\n number: false,\n },\n { columnId: 'women', value: record.women?.toString() || '', number: true },\n { columnId: 'men', value: record.men?.toString() || '', number: true },\n { columnId: 'workingDays', value: record.workingDays?.toString() || '', number: true },\n ],\n }));\n }\n setAddRecordForm() {\n const asset = this.getDefaultAssetOption();\n this.recordFc = {\n startDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(asset, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n region: new FormControl(this.regionOptions.length ? this.regionOptions[0] : undefined, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n women: new FormControl('', { nonNullable: true, validators: [Validators.required] }),\n men: new FormControl('', { nonNullable: true, validators: [Validators.required] }),\n workingDays: new FormControl('', { nonNullable: true, validators: [Validators.required] }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n\n setEditRecordForm(id: string) {\n const sickLeaveRecord = this.dataRecords.find(record => record.id === id) as EmployeeSickLeavesDataRecord;\n if (sickLeaveRecord) {\n this.recordFc = {\n startDate: new FormControl(sickLeaveRecord.startDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(sickLeaveRecord.endDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(\n this.assetOptions.flatMap(group => group.options).find(opt => opt.value === sickLeaveRecord.assetId) ||\n this.getDefaultAssetOption(),\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n region: new FormControl(\n this.regionOptions.find(opt => opt.value === sickLeaveRecord.regionId) || this.regionOptions[0],\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n women: new FormControl(sickLeaveRecord.women.toString(), {\n nonNullable: true,\n validators: [Validators.required],\n }),\n men: new FormControl(sickLeaveRecord.men.toString(), {\n nonNullable: true,\n validators: [Validators.required],\n }),\n workingDays: new FormControl(sickLeaveRecord.workingDays.toString(), {\n nonNullable: true,\n validators: [Validators.required],\n }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n }\n\n getParams():\n | CreateEmployeeSickLeavesDataRecordCommandParams\n | UpdateEmployeeSickLeavesDataRecordCommandParams\n | undefined {\n if (\n this.recordFormgroup?.valid &&\n this.recordFc &&\n this.recordFc?.asset.value?.value &&\n this.recordFc.region.value\n ) {\n const sickLeave = {\n type: DataRecordType.EmployeeSickLeaves,\n assetId: this.recordFc.asset.value.value,\n inputType: InputType.Manual,\n startDate: this.recordFc.startDate.value || new Date(),\n endDate: this.recordFc.endDate.value || new Date(),\n regionId: this.recordFc.region.value.value,\n women: formattedStringToNumber(this.recordFc.women.value) || 0,\n men: formattedStringToNumber(this.recordFc.men.value) || 0,\n workingDays: formattedStringToNumber(this.recordFc.workingDays.value) || 0,\n };\n if (this.editRecordId) {\n return new UpdateEmployeeSickLeavesDataRecordCommandParams({ id: this.editRecordId, ...sickLeave });\n } else {\n return new CreateEmployeeSickLeavesDataRecordCommandParams(sickLeave);\n }\n }\n return undefined;\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n","import { Injectable } from '@angular/core';\nimport {\n DataRecordType,\n CreateEmployeeSickLeavesDataRecordCommandParams,\n ICreateEmployeeSickLeavesDataRecordCommandParams,\n DataRecordCategory,\n AssetType,\n InputType,\n} from 'src/api-client/report-api.generated';\nimport { DataRecordApiService } from 'src/app/api-client/report-api/data-record-api-service';\nimport { IOption } from 'src/app/static-data/options';\nimport { AssetApiService } from 'src/app/api-client/report-api/asset-api-service';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { DataCategoryApiService } from 'src/app/api-client/report-api/categories-api-service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { RegionClientApiService } from 'src/app/api-client/report-api/region-api-service';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\nimport {\n ExcelImportValidationMessage,\n FieldConfig,\n ImportDataOutput,\n validateExcelOptionColumn,\n} from 'src/app/shared/components/data-import-from-excel/data-import-from-excel-state.service';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport { RecordsStateService } from '../records-state.service';\nimport { generateGUID } from 'src/app/shared/utils/guid';\n\n@Injectable()\nexport class SickLeaveStateService extends RecordsStateService {\n title = 'Sick leave';\n recordCategory = DataRecordCategory.EmployeesSickLeave;\n assetCategories = [AssetType.Organization, AssetType.Facility];\n\n regionOptions: IOption[] = [];\n\n importFromExcelFieldConfigs: FieldConfig[] = [\n { propertyName: 'startDate', title: 'Start Date', type: 'date' },\n { propertyName: 'endDate', title: 'End Date', type: 'date' },\n { propertyName: 'asset', title: 'Asset', type: 'string' },\n { propertyName: 'region', title: 'Region', type: 'string' },\n { propertyName: 'women', title: 'Women', type: 'number' },\n { propertyName: 'men', title: 'Men', type: 'number' },\n { propertyName: 'workingDays', title: 'Working days', type: 'number' },\n ];\n\n importFromExcelEnabled = true;\n\n constructor(\n appInfo: AppInfoService,\n appConfig: AppConfigurationService,\n assetApiService: AssetApiService,\n dataRecordService: DataRecordApiService,\n dataCategoryApiService: DataCategoryApiService,\n notificationService: NotificationService,\n router: Router,\n route: ActivatedRoute,\n private regionApiService: RegionClientApiService\n ) {\n super(\n appInfo,\n appConfig,\n assetApiService,\n dataRecordService,\n dataCategoryApiService,\n notificationService,\n router,\n route\n );\n }\n\n importDataFromExcel(data: ImportDataOutput) {\n var dataSetId = generateGUID();\n this.importingInProgress = true;\n let validationMessages: ExcelImportValidationMessage[] = [];\n\n const assetValidation = this.validateExcelAssets(data.records);\n if (assetValidation) validationMessages.push(assetValidation);\n\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'region',\n this.regionOptions,\n data.records,\n 'Region'\n );\n\n if (validationMessages.length) {\n validationMessages.forEach(message => {\n this.notificationService.showError(message.title, message.description);\n });\n this.importingInProgress = false;\n return;\n }\n\n const addRecordPromises = data.records.map((record, index) => {\n const region = this.regionOptions.find(region => region.label === record.region?.value);\n if (!region) {\n this.notificationService.showError(\n 'Not valid imported data',\n `Region column is not valid for ${index + 1} row`\n );\n return;\n }\n\n const asset = this.getAssetOptionColumn(record.asset?.value);\n const sickLeave: ICreateEmployeeSickLeavesDataRecordCommandParams = {\n type: DataRecordType.EmployeeParentalLeaves,\n dataSetId: dataSetId,\n assetId: asset.value,\n inputType: InputType.ImportedFromExcel,\n startDate: record.startDate?.value,\n endDate: record.endDate?.value,\n regionId: region?.value,\n women: record.women?.value,\n men: record.men?.value,\n workingDays: record.workingDays?.value,\n };\n\n return this.dataRecordService.createDataRecord(\n new CreateEmployeeSickLeavesDataRecordCommandParams({ ...sickLeave })\n );\n });\n Promise.all(addRecordPromises).then(async response => {\n response.forEach(res => {\n if (res) {\n const addedId = res.result?.id;\n if (addedId) {\n this.newlyAddedRowsIds.push(addedId);\n this.delayRemoveAddedId(addedId, 15000);\n }\n }\n });\n await this.loadRecords();\n this.importingInProgress = false;\n this.importDataFromExcelClose();\n });\n }\n\n async fetchStaticData() {\n await Promise.all([this.getAssetOptions(), this.getRegions(), this.getDataCategoryDetails()]);\n }\n\n async fetchOptions() {\n await Promise.all([this.getAssetOptions(), this.getRegions()]);\n }\n\n async getRegions() {\n const response = await this.regionApiService.getAllRegionNames();\n this.regionOptions = response.result.map(region => ({ value: region.id, label: region.name }));\n }\n\n async loadRecords() {\n await this.getDataRecords(DataRecordType.EmployeeSickLeaves);\n }\n\n handleDeleteAllFilteredRecordsSubmit() {\n this.handleOnDeleteAllFilteredRecords(DataRecordType.EmployeeSickLeaves);\n }\n}\n","import { Component } from '@angular/core';\nimport { SickLeaveStateService } from './sick-leave-state.service';\nimport { RecordsComponent } from '../records.component';\n\n@Component({\n selector: 'esg-sick-leave',\n templateUrl: './sick-leave.component.html',\n styleUrls: ['../records.component.scss'],\n providers: [{ provide: RecordsComponent, useExisting: SickLeaveComponent }, SickLeaveStateService],\n})\nexport class SickLeaveComponent extends RecordsComponent {\n constructor(public state: SickLeaveStateService) {\n super(state);\n }\n}\n","\n \n Select category\n \n \n \n \n \n
\n \n \n 1\"\n [fc]=\"state.filteredAssetTypes\"\n size=\"small\"\n [options]=\"state.assetTypeOptions\"\n [isFilter]=\"true\"\n placeholder=\"All asset types\"\n (onChange)=\"state.handleAssetTypeFilterChange()\">\n \n \n
\n
\n \n
\n\n\n","import { Component } from '@angular/core';\nimport { RecordForm, RecordFormTableComponent } from '../../../shared/record-form-table/record-form-table.component';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { IOption, SpillTypeOptions } from 'src/app/static-data/options';\nimport { formatDate } from '@angular/common';\nimport {\n CreateVesselSpillsDataRecordCommandParams,\n DataRecordType,\n InputType,\n UpdateVesselSpillsDataRecordCommandParams,\n VesselSpillsDataRecord,\n} from 'src/api-client/report-api.generated';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\nimport { RecordHeaderCell } from 'src/app/shared/components/records-table/records-table.component';\n\ninterface SpillsToEnvironmentRecordForm extends RecordForm {\n spillsType: FormControl;\n isHazardous: FormControl;\n volume_m3: FormControl;\n}\n\n@Component({\n selector: 'esg-spills-to-environment-form-table',\n templateUrl: './spills-to-environment-form-table.component.html',\n styleUrls: ['../../../shared/record-form-table/record-form-table.component.scss'],\n providers: [{ provide: RecordFormTableComponent, useExisting: SpillsToEnvironmentFormTableComponent }],\n})\nexport class SpillsToEnvironmentFormTableComponent extends RecordFormTableComponent {\n spillsOptions = SpillTypeOptions;\n hazardiousOptions: IOption[] = [\n { value: 'false', label: 'No' },\n { value: 'true', label: 'Yes' },\n ];\n\n headerCells: RecordHeaderCell[] = [\n { columnId: 'date', label: 'Date', description: 'Date', number: false, sortFieldName: 'StartDate' },\n { columnId: 'asset', label: 'Asset', description: '', number: false, sortFieldName: 'AssetName' },\n { columnId: 'spillsType', label: 'Type', description: 'Gas, fuel, oil, chemicals, bulk cargoes', number: false },\n { columnId: 'isHazardous', label: 'Hazardous', description: 'yes/no', number: false },\n { columnId: 'volume_m3', label: 'Volume', description: 'm³', number: true },\n ];\n\n recordFc?: SpillsToEnvironmentRecordForm = undefined;\n recordFormgroup?: FormGroup = undefined;\n\n setRecordsRows() {\n this.dataRecordsRows = (this.dataRecords as VesselSpillsDataRecord[]).map(record => ({\n id: record.id,\n cells: [\n {\n columnId: 'date',\n value: formatDate(record.startDate, 'dd. MMM yyyy', 'en_US'),\n number: false,\n },\n {\n columnId: 'asset',\n value: this.assetOptions.flatMap(group => group.options).find(c => c.value === record.assetId)?.label || '',\n number: false,\n },\n {\n columnId: 'spillsType',\n value: this.spillsOptions.find(c => c.value === record.spillsType)?.label || '',\n number: false,\n },\n {\n columnId: 'isHazardous',\n value: record.isHazardous ? 'Yes' : 'No',\n number: false,\n },\n {\n columnId: 'volume_m3',\n value: record.volume_m3.toString(),\n number: true,\n },\n ],\n }));\n }\n\n setAddRecordForm() {\n this.recordFc = {\n startDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(new Date(), {\n nonNullable: true,\n }),\n asset: new FormControl(this.getDefaultAssetOption(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n spillsType: new FormControl(this.spillsOptions[0], {\n validators: [Validators.required],\n nonNullable: true,\n }),\n isHazardous: new FormControl(this.hazardiousOptions[0], {\n nonNullable: true,\n }),\n volume_m3: new FormControl('', {\n nonNullable: true,\n }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n\n setEditRecordForm(id: string) {\n const record = this.dataRecords.find(record => record.id === id) as VesselSpillsDataRecord;\n if (record) {\n const spillOption: IOption = this.spillsOptions.find(o => o.value === record.spillsType) || this.spillsOptions[0];\n this.recordFc = {\n startDate: new FormControl(record.startDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(record.startDate, {\n nonNullable: true,\n }),\n asset: new FormControl(\n this.assetOptions.flatMap(group => group.options).find(opt => opt.value === record.assetId) ||\n this.getDefaultAssetOption(),\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n spillsType: new FormControl(spillOption || this.spillsOptions[0], {\n validators: [Validators.required],\n nonNullable: true,\n }),\n isHazardous: new FormControl(\n record.isHazardous ? this.hazardiousOptions[1] : this.hazardiousOptions[0],\n {\n nonNullable: true,\n }\n ),\n volume_m3: new FormControl(record.volume_m3.toString(), {\n nonNullable: true,\n }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n }\n\n getParams(): CreateVesselSpillsDataRecordCommandParams | UpdateVesselSpillsDataRecordCommandParams | undefined {\n if (this.recordFormgroup?.valid && this.recordFc && this.recordFc.asset.value?.value) {\n const spills = {\n type: DataRecordType.VesselSpills,\n startDate: this.recordFc.startDate.value || new Date(),\n endDate: this.recordFc.startDate.value || new Date(),\n assetId: this.recordFc.asset.value.value,\n inputType: InputType.Manual,\n spillsType: this.recordFc.spillsType.value?.value || '',\n isHazardous: this.recordFc.isHazardous.value?.value === 'true' ? true : false,\n volume_m3: formattedStringToNumber(this.recordFc.volume_m3.value || '') || 0,\n };\n if (this.editRecordId) {\n return new UpdateVesselSpillsDataRecordCommandParams({ id: this.editRecordId, ...spills });\n } else {\n return new CreateVesselSpillsDataRecordCommandParams(spills);\n }\n }\n return undefined;\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n","import { Injectable } from '@angular/core';\nimport { AssetType, DataRecordCategory } from 'src/api-client/report-api.generated';\nimport { IOption, SpillTypeOptions } from 'src/app/static-data/options';\nimport { RecordsStateService } from '../records-state.service';\n\n@Injectable()\nexport class SpillsToEnvironmentStateService extends RecordsStateService {\n recordCategory = DataRecordCategory.BiodiversitySpillsToEnvironment;\n\n assetCategories = [AssetType.Vessel, AssetType.Organization];\n spillsOptions = SpillTypeOptions;\n hazardiousOptions: IOption[] = [\n { value: 'false', label: 'No' },\n { value: 'true', label: 'Yes' },\n ];\n}\n","import { Component } from '@angular/core';\nimport { SpillsToEnvironmentStateService } from './spills-to-environment-state.service';\nimport { RecordsComponent } from '../records.component';\n\n@Component({\n selector: 'esg-spills-to-environment',\n templateUrl: './spills-to-environment.component.html',\n styleUrls: ['../records.component.scss'],\n providers: [\n { provide: RecordsComponent, useExisting: SpillsToEnvironmentComponent },\n SpillsToEnvironmentStateService,\n ],\n})\nexport class SpillsToEnvironmentComponent extends RecordsComponent {\n constructor(public state: SpillsToEnvironmentStateService) {\n super(state);\n }\n}\n","\n Select category\n \n \n \n \n \n
\n \n \n 1\"\n [fc]=\"state.filteredAssetTypes\"\n size=\"small\"\n [options]=\"state.assetTypeOptions\"\n [isFilter]=\"true\"\n placeholder=\"All asset types\"\n (onChange)=\"state.handleAssetTypeFilterChange()\">\n \n \n
\n
\n \n
\n\n\n","import { Component } from '@angular/core';\nimport { RecordForm, RecordFormTableComponent } from '../../../shared/record-form-table/record-form-table.component';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport {\n IOption,\n WasteClassOptions,\n WasteSubClassOptionsByClass,\n getWasteHandlingOptions,\n} from 'src/app/static-data/options';\nimport {\n CreateWasteDataRecordCommandParams,\n DataRecordType,\n InputType,\n UpdateWasteDataRecordCommandParams,\n WasteClass,\n WasteDataRecord,\n WasteSubClass,\n WasteToDisposal,\n} from 'src/api-client/report-api.generated';\nimport { formatDate } from '@angular/common';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\nimport { RecordHeaderCell } from 'src/app/shared/components/records-table/records-table.component';\n\ninterface WasteRecordForm extends RecordForm {\n wasteClass: FormControl;\n wasteSubClass: FormControl;\n isHazardous: FormControl;\n toDisposal: FormControl;\n quantity: FormControl;\n unit: FormControl;\n cO2Measured_t: FormControl;\n}\n\n@Component({\n selector: 'esg-waste-form-table',\n templateUrl: './waste-form-table.component.html',\n styleUrls: ['../../../shared/record-form-table/record-form-table.component.scss'],\n providers: [{ provide: RecordFormTableComponent, useExisting: WasteFormTableComponent }],\n})\nexport class WasteFormTableComponent extends RecordFormTableComponent {\n headerCells: RecordHeaderCell[] = [\n { columnId: 'period', label: 'Period', description: 'From – To Date', number: false, sortFieldName: 'StartDate' },\n { columnId: 'asset', label: 'Asset', description: '', number: false, sortFieldName: 'AssetName' },\n { columnId: 'class', label: 'Waste Class', description: '', number: false },\n { columnId: 'subclass', label: 'Sub Class', description: '', number: false, sortFieldName: 'SubClassName' },\n { columnId: 'isHazardous', label: 'Hazardous', description: 'Yes/No', number: false },\n {\n columnId: 'toDisposal',\n label: 'Waste Handling',\n description: '',\n number: false,\n sortFieldName: 'ToDisposalName',\n },\n { columnId: 'quantity', label: 'Quantity', description: 'Weight or Volume', number: true },\n { columnId: 'cO2Measured_t', label: 'Measured', description: 'mtCO2', number: true },\n ];\n\n wasteClassOptions: IOption[] = WasteClassOptions;\n wasteSubClassOptions: IOption[] = WasteSubClassOptionsByClass[WasteClass.A_Plastics];\n disposalOptions: IOption[] = getWasteHandlingOptions(WasteClass.A_Plastics);\n hazardiousOptions: IOption[] = [\n { value: 'false', label: 'No' },\n { value: 'true', label: 'Yes' },\n ];\n\n unitOptions: IOption[] = [\n { value: 'mt', label: 'mt', optionLabel: 'Metric Tons (mt)' },\n { value: 'm3', label: 'm³', optionLabel: 'Cubic Metres (m³)' },\n ];\n\n recordFc?: WasteRecordForm = undefined;\n recordFormgroup?: FormGroup = undefined;\n\n setRecordsRows() {\n this.dataRecordsRows = (this.dataRecords as WasteDataRecord[]).map(record => ({\n id: record.id,\n cells: [\n {\n columnId: 'period',\n value:\n formatDate(record.startDate, 'dd. MMM yyyy', 'en_US') +\n ' - ' +\n formatDate(record.endDate, 'dd. MMM yyyy', 'en_US'),\n number: false,\n },\n {\n columnId: 'asset',\n value: this.assetOptions.flatMap(group => group.options).find(c => c.value === record.assetId)?.label || '',\n number: false,\n },\n {\n columnId: 'class',\n value: this.wasteClassOptions.find(c => c.value === record.class)?.label || '',\n number: false,\n },\n {\n columnId: 'subclass',\n value: WasteSubClassOptionsByClass[record.class].find(c => c.value === record.subclass)?.label || 'n/a',\n number: false,\n },\n { columnId: 'isHazardous', value: record.isHazardous ? 'Yes' : 'No', number: false },\n {\n columnId: 'toDisposal',\n value: this.disposalOptions.find(c => c.value === record.toDisposal)?.label || '',\n number: false,\n },\n {\n columnId: 'quantity',\n value: record.quantity?.toString() || '',\n number: true,\n unit: this.unitOptions.find(c => c.value === record.unit)?.label || record.unit,\n },\n { columnId: 'cO2Measured_t', value: record.cO2Measured_t?.toString() || '', number: true },\n ],\n }));\n }\n\n setAddRecordForm() {\n this.recordFc = {\n startDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(this.getDefaultAssetOption(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n wasteClass: new FormControl(this.wasteClassOptions[0], {\n validators: [Validators.required],\n nonNullable: true,\n }),\n wasteSubClass: new FormControl(this.wasteSubClassOptions[0], {\n nonNullable: true,\n }),\n isHazardous: new FormControl(this.hazardiousOptions[0], {\n validators: [Validators.required],\n nonNullable: true,\n }),\n toDisposal: new FormControl(this.disposalOptions[0], {\n validators: [Validators.required],\n nonNullable: true,\n }),\n quantity: new FormControl('', {\n validators: [Validators.required],\n nonNullable: true,\n }),\n unit: new FormControl(this.unitOptions[0], {\n validators: [Validators.required],\n nonNullable: true,\n }),\n cO2Measured_t: new FormControl('', {\n nonNullable: true,\n }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n\n setEditRecordForm(id: string) {\n const record = this.dataRecords.find(record => record.id === id) as WasteDataRecord;\n this.wasteSubClassOptions = WasteSubClassOptionsByClass[record.class];\n this.disposalOptions = getWasteHandlingOptions(record.class, record.subclass);\n this.hazardiousOptions =\n record.class === WasteClass.K_CargoResidues_Harmful\n ? [{ value: 'true', label: 'Yes' }]\n : [\n { value: 'false', label: 'No' },\n { value: 'true', label: 'Yes' },\n ];\n if (record) {\n this.recordFc = {\n startDate: new FormControl(record.startDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(record.endDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(\n this.assetOptions.flatMap(group => group.options).find(opt => opt.value === record.assetId) ||\n this.getDefaultAssetOption(),\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n wasteClass: new FormControl(\n this.wasteClassOptions.find(opt => opt.value === record.class) || this.wasteClassOptions[0],\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n wasteSubClass: new FormControl(\n this.wasteSubClassOptions.find(opt => opt.value === record.subclass) || this.wasteSubClassOptions[0],\n {\n nonNullable: true,\n }\n ),\n isHazardous: new FormControl(\n this.hazardiousOptions.find(opt => opt.value === (record.isHazardous ? 'true' : 'false')) ||\n this.hazardiousOptions[0],\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n toDisposal: new FormControl(\n this.disposalOptions.find(opt => opt.value === record.toDisposal) || this.disposalOptions[0],\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n quantity: new FormControl(record.quantity.toString(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n unit: new FormControl(this.unitOptions.find(opt => opt.value === record.unit) || this.unitOptions[0], {\n validators: [Validators.required],\n nonNullable: true,\n }),\n cO2Measured_t: new FormControl(record.cO2Measured_t?.toString() || '', {\n nonNullable: true,\n }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n }\n\n getParams(): CreateWasteDataRecordCommandParams | UpdateWasteDataRecordCommandParams | undefined {\n const wasteClass = Object.values(WasteClass).find(type => type === this.recordFc?.wasteClass.value.value);\n const wasteSubClass = Object.values(WasteSubClass).find(type => type === this.recordFc?.wasteSubClass.value?.value);\n const toDisposal = Object.values(WasteToDisposal).find(type => type === this.recordFc?.toDisposal.value.value);\n if (this.recordFormgroup?.valid && this.recordFc && this.recordFc.asset.value?.value && wasteClass && toDisposal) {\n const waste = {\n type: DataRecordType.Waste,\n startDate: this.recordFc.startDate.value || new Date(),\n endDate: this.recordFc.endDate.value || new Date(),\n assetId: this.recordFc.asset.value.value,\n inputType: InputType.Manual,\n class: wasteClass,\n subclass: wasteSubClass,\n isHazardous: this.recordFc.isHazardous.value.value === 'true' ? true : false,\n toDisposal: toDisposal,\n quantity: formattedStringToNumber(this.recordFc.quantity.value || '') || 0,\n unit: this.recordFc.unit.value.value,\n cO2Measured_t: formattedStringToNumber(this.recordFc.cO2Measured_t.value || ''),\n };\n if (this.editRecordId) {\n return new UpdateWasteDataRecordCommandParams({ id: this.editRecordId, ...waste });\n } else {\n return new CreateWasteDataRecordCommandParams(waste);\n }\n }\n return undefined;\n }\n\n handleClassChange(option: IOption) {\n const wasteClass = Object.values(WasteClass).find(type => type === option.value);\n if (this.recordFc && wasteClass) {\n this.wasteSubClassOptions = WasteSubClassOptionsByClass[wasteClass];\n if (wasteClass === WasteClass.K_CargoResidues_Harmful) {\n this.hazardiousOptions = [{ value: 'true', label: 'Yes' }];\n this.handleDropdownChange(this.recordFc.isHazardous, this.hazardiousOptions[0]);\n } else\n this.hazardiousOptions = [\n { value: 'false', label: 'No' },\n { value: 'true', label: 'Yes' },\n ];\n this.handleDropdownChange(this.recordFc.wasteClass, option);\n this.handleSubClassChange(\n this.wasteSubClassOptions.find(sub => sub.value === this.recordFc?.wasteSubClass.value?.value) ||\n this.wasteSubClassOptions[0]\n );\n }\n }\n\n handleSubClassChange(option: IOption) {\n const wasteClass = Object.values(WasteClass).find(type => type === this.recordFc?.wasteClass.value?.value);\n const wasteSubClass = Object.values(WasteSubClass).find(type => type === option?.value);\n if (this.recordFc && wasteClass) {\n this.disposalOptions = getWasteHandlingOptions(wasteClass, wasteSubClass);\n this.handleDropdownChange(this.recordFc.wasteSubClass, option);\n this.handleDropdownChange(\n this.recordFc.toDisposal,\n this.disposalOptions.find(opt => opt.value === this.recordFc?.toDisposal.value?.value && !opt.disabled) ||\n this.disposalOptions[0]\n );\n }\n }\n\n resetForm() {\n super.resetForm();\n this.wasteSubClassOptions = WasteSubClassOptionsByClass[WasteClass.A_Plastics];\n this.disposalOptions = getWasteHandlingOptions(WasteClass.A_Plastics);\n this.hazardiousOptions = [\n { value: 'false', label: 'No' },\n { value: 'true', label: 'Yes' },\n ];\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n","import { Injectable } from '@angular/core';\nimport {\n DataRecordType,\n CreateWasteDataRecordCommandParams,\n WasteClass,\n WasteSubClass,\n WasteToDisposal,\n AssetType,\n DataRecordCategory,\n ICreateWasteDataRecordCommandParams,\n InputType,\n} from 'src/api-client/report-api.generated';\nimport {\n IOption,\n WasteClassOptions,\n WasteSubClassOptionsByClass,\n getWasteHandlingOptions,\n} from 'src/app/static-data/options';\nimport { RecordsStateService } from '../records-state.service';\nimport {\n FieldConfig,\n ImportDataOutput,\n} from 'src/app/shared/components/data-import-from-excel/data-import-from-excel.component';\nimport {\n DataRecordOutput,\n ExcelImportValidationMessage,\n validateExcelOptionColumn,\n} from 'src/app/shared/components/data-import-from-excel/data-import-from-excel-state.service';\n\n@Injectable()\nexport class WasteStateService extends RecordsStateService {\n title = 'Waste';\n recordCategory = DataRecordCategory.IndirectEmissionsWaste;\n\n assetCategories = [AssetType.Organization, AssetType.Facility, AssetType.Vessel];\n wasteClassOptions: IOption[] = WasteClassOptions;\n wasteSubClassOptions: IOption[] = WasteSubClassOptionsByClass[WasteClass.A_Plastics];\n disposalOptions: IOption[] = getWasteHandlingOptions(WasteClass.A_Plastics);\n unitOptions: IOption[] = [\n { value: 'mt', label: 'mt' },\n { value: 'm3', label: 'm³' },\n ];\n\n importFromExcelEnabled = true;\n importFromExcelFieldConfigs: FieldConfig[] = [\n { propertyName: 'startDate', title: 'Start Date', type: 'date' },\n { propertyName: 'endDate', title: 'End Date', type: 'date' },\n { propertyName: 'asset', title: 'Asset', type: 'string' },\n { propertyName: 'class', title: 'Waste Class', type: 'string' },\n { propertyName: 'subclass', title: 'Sub Class', type: 'string', optional: true },\n { propertyName: 'isHazardous', title: 'Hazardius', type: 'boolean' },\n { propertyName: 'toDisposal', title: 'Waste Handling', type: 'string' },\n { propertyName: 'quantity', title: 'Quantity', type: 'number' },\n { propertyName: 'unit', title: 'Unit (mt or m³)', type: 'string' },\n { propertyName: 'cO2Measured_t', title: 'Measured', type: 'number', optional: true },\n ];\n\n async importDataFromExcel(data: ImportDataOutput) {\n this.importingInProgress = true;\n this.importingInProgressLabel = 'Importing...';\n let validationMessages: ExcelImportValidationMessage[] = [];\n\n const assetValidation = this.validateExcelAssets(data.records);\n if (assetValidation) {\n validationMessages.push(assetValidation);\n }\n\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'class',\n this.wasteClassOptions,\n data.records,\n 'Waste Class'\n );\n\n validationMessages = this.validateSubClassOptionColumn(validationMessages, data.records);\n\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'toDisposal',\n this.disposalOptions,\n data.records,\n 'Disposal'\n );\n\n validationMessages = validateExcelOptionColumn(\n validationMessages,\n 'unit',\n this.unitOptions,\n data.records,\n 'Unit (mt or m³)'\n );\n\n if (validationMessages.length) {\n validationMessages.forEach(message => {\n this.notificationService.showError(message.title, message.description);\n });\n this.importingInProgress = false;\n return;\n }\n\n var recordsToAdd = data.records.length;\n var recordsAdded = 0;\n this.importingInProgressLabel = `Imported ${recordsAdded} of ${recordsToAdd}`;\n try {\n const wasteSubClassPossibleOptions = [\n ...WasteSubClassOptionsByClass[WasteClass.C_DomesticWastes],\n ...WasteSubClassOptionsByClass[WasteClass.F_OperationalWastes],\n ];\n\n const addRecordPromises = data.records.map(async (record, index) => {\n try {\n const asset = this.getAssetOptionColumn(record.asset?.value);\n\n const classOption = this.getExcelOptionColumn('class', this.wasteClassOptions, record, 'Class');\n\n const subclassOption = record.subclass?.value ? this.getExcelOptionColumn('subclass', wasteSubClassPossibleOptions, record, 'Sub Class')\n : classOption.value === WasteClass.C_DomesticWastes || classOption.value === WasteClass.F_OperationalWastes\n ? WasteSubClassOptionsByClass[classOption.value].find(option => option.value === WasteSubClass.Mixed)\n : undefined;\n\n const toDisposalOption = this.getExcelOptionColumn(\n 'toDisposal',\n this.disposalOptions,\n record,\n 'Waste Handling'\n );\n\n const unitOption = this.getExcelOptionColumn('unit', this.unitOptions, record, 'Unit (mt or m³)');\n\n const waste: ICreateWasteDataRecordCommandParams = {\n type: DataRecordType.Waste,\n assetId: asset.value,\n inputType: InputType.ImportedFromExcel,\n startDate: record.startDate?.value,\n endDate: record.endDate?.value,\n class: WasteClass[classOption.value as keyof typeof WasteClass],\n subclass: subclassOption && WasteSubClass[subclassOption.value as keyof typeof WasteSubClass],\n isHazardous: record.isHazardous?.value,\n toDisposal: WasteToDisposal[toDisposalOption.value as keyof typeof WasteToDisposal],\n quantity: record.quantity?.value,\n unit: unitOption.value,\n cO2Measured_t: record.cO2Measured_t?.value,\n };\n\n var result = await this.dataRecordService.createDataRecord(new CreateWasteDataRecordCommandParams(waste));\n if (!result.success) {\n this.notificationService.showError(\n `Waste record from row ${index + 1} not added`,\n result.message || 'Unknown error'\n );\n }\n ++recordsAdded;\n this.importingInProgressLabel = `Imported ${recordsAdded} of ${recordsToAdd}`;\n return result;\n } catch (e) {\n console.error(`Somthing went wrong for record in row ${index + 1} `, record);\n throw e;\n }\n });\n\n var response = await Promise.all(addRecordPromises);\n response.forEach((res, index) => {\n if (res) {\n const addedId = res.result?.id;\n if (addedId) {\n this.newlyAddedRowsIds.push(addedId);\n this.delayRemoveAddedId(addedId, 15000);\n }\n }\n });\n\n await this.loadRecords();\n this.importingInProgress = false;\n this.importingInProgressLabel = '';\n this.importDataFromExcelClose();\n } catch (e) {\n this.importingInProgress = false;\n this.importingInProgressLabel = '';\n }\n }\n\n validateSubClassOptionColumn(\n validationMessages: ExcelImportValidationMessage[],\n records: DataRecordOutput[]\n ): ExcelImportValidationMessage[] {\n const notMappedColumns = records\n .filter(record => {\n var classOption = this.wasteClassOptions.find(c => c.label === record.class?.value);\n if (!classOption) {\n return true;\n }\n var options = WasteSubClassOptionsByClass[classOption.value as keyof typeof WasteClass];\n return record.subclass?.value && !options.some(o => o.label === record.subclass?.value);\n })\n .map(record => record.subclass?.rowNo);\n\n if (notMappedColumns.length) {\n return [\n ...validationMessages,\n {\n title: 'Not valid imported data',\n description: `Waste Sub Class column is not valid for rows: ${notMappedColumns.join(',')}`,\n },\n ];\n }\n return validationMessages;\n }\n}\n","import { Component } from '@angular/core';\nimport { WasteStateService } from './waste-state.service';\nimport { RecordsComponent } from '../records.component';\n\n@Component({\n selector: 'esg-waste',\n templateUrl: './waste.component.html',\n styleUrls: ['../records.component.scss'],\n providers: [{ provide: RecordsComponent, useExisting: WasteComponent }, WasteStateService],\n})\nexport class WasteComponent extends RecordsComponent {\n constructor(public state: WasteStateService) {\n super(state);\n }\n}\n","\n \n Select category\n \n \n \n \n \n
\n \n \n 1\"\n [fc]=\"state.filteredAssetTypes\"\n size=\"small\"\n [options]=\"state.assetTypeOptions\"\n [isFilter]=\"true\"\n placeholder=\"All asset types\"\n (onChange)=\"state.handleAssetTypeFilterChange()\">\n \n \n
\n
\n \n
\n\n\n","import { Component } from '@angular/core';\nimport { RecordForm, RecordFormTableComponent } from '../../../shared/record-form-table/record-form-table.component';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport {\n CreateOrganizationWhistleblowingDataRecordCommandParams,\n DataRecordType,\n InputType,\n OrganizationWhistleblowingDataRecord,\n UpdateOrganizationWhistleblowingDataRecordCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { formatDate } from '@angular/common';\nimport { IOption } from 'src/app/static-data/options';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\nimport { RecordHeaderCell } from 'src/app/shared/components/records-table/records-table.component';\n\ninterface WhistleblowingRecordForm extends RecordForm {\n incidents: FormControl;\n}\n\n@Component({\n selector: 'esg-whistleblowing-form-table',\n templateUrl: './whistleblowing-form-table.component.html',\n styleUrls: ['../../../shared/record-form-table/record-form-table.component.scss'],\n providers: [{ provide: RecordFormTableComponent, useExisting: WhistleblowingFormTableComponent }],\n})\nexport class WhistleblowingFormTableComponent extends RecordFormTableComponent {\n headerCells: RecordHeaderCell[] = [\n { columnId: 'period', label: 'Period', description: 'From – To Date', number: false, sortFieldName: 'StartDate' },\n { columnId: 'asset', label: 'Asset', description: '', number: false, sortFieldName: 'AssetName' },\n { columnId: 'incidents', label: 'Incidents', description: 'Number', number: true },\n ];\n\n recordFc?: WhistleblowingRecordForm = undefined;\n recordFormgroup?: FormGroup = undefined;\n\n setRecordsRows() {\n this.dataRecordsRows = (this.dataRecords as OrganizationWhistleblowingDataRecord[]).map(record => ({\n id: record.id,\n cells: [\n {\n columnId: 'period',\n value:\n formatDate(record.startDate, 'dd. MMM yyyy', 'en_US') +\n ' - ' +\n formatDate(record.endDate, 'dd. MMM yyyy', 'en_US'),\n number: false,\n },\n {\n columnId: 'asset',\n value: this.assetOptions.flatMap(group => group.options).find(c => c.value === record.assetId)?.label || '',\n number: false,\n },\n { columnId: 'incidents', value: record.incidents.toString(), number: true },\n ],\n }));\n }\n\n setAddRecordForm() {\n this.recordFc = {\n startDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(this.getDefaultAssetOption(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n incidents: new FormControl('', { nonNullable: true }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n\n setEditRecordForm(id: string) {\n const record = this.dataRecords.find(record => record.id === id) as OrganizationWhistleblowingDataRecord;\n if (record) {\n this.recordFc = {\n startDate: new FormControl(record.startDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(record.endDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(\n this.assetOptions.flatMap(group => group.options).find(opt => opt.value === record.assetId) ||\n this.getDefaultAssetOption(),\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n incidents: new FormControl(record.incidents.toString(), { nonNullable: true }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n }\n\n getParams():\n | CreateOrganizationWhistleblowingDataRecordCommandParams\n | UpdateOrganizationWhistleblowingDataRecordCommandParams\n | undefined {\n if (this.recordFormgroup?.valid && this.recordFc && this.recordFc.asset.value?.value) {\n const whistleblowing = {\n type: DataRecordType.OrganizationWhistleblowing,\n startDate: this.recordFc.startDate.value || new Date(),\n endDate: this.recordFc.endDate.value || new Date(),\n assetId: this.recordFc.asset.value.value,\n inputType: InputType.Manual,\n incidents: formattedStringToNumber(this.recordFc.incidents.value || '') || 0,\n };\n if (this.editRecordId) {\n return new UpdateOrganizationWhistleblowingDataRecordCommandParams({\n id: this.editRecordId,\n ...whistleblowing,\n });\n } else {\n return new CreateOrganizationWhistleblowingDataRecordCommandParams(whistleblowing);\n }\n }\n return undefined;\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n","import { Injectable } from '@angular/core';\nimport { AssetType, DataRecordCategory } from 'src/api-client/report-api.generated';\nimport { RecordsStateService } from '../records-state.service';\n\n@Injectable()\nexport class WhistleblowingStateService extends RecordsStateService {\n recordCategory = DataRecordCategory.BusinessEthicsWhistleblowing;\n\n assetCategories = [AssetType.Organization];\n}\n","import { Component } from '@angular/core';\nimport { WhistleblowingStateService } from './whistleblowing-state.service';\nimport { RecordsComponent } from '../records.component';\n\n@Component({\n selector: 'esg-whistleblowing',\n templateUrl: './whistleblowing.component.html',\n styleUrls: ['../records.component.scss'],\n providers: [{ provide: RecordsComponent, useExisting: WhistleblowingComponent }, WhistleblowingStateService],\n})\nexport class WhistleblowingComponent extends RecordsComponent {\n constructor(public state: WhistleblowingStateService) {\n super(state);\n }\n}\n","\n Select category\n \n \n \n \n
\n \n \n 1\"\n [fc]=\"state.filteredAssetTypes\"\n size=\"small\"\n [options]=\"state.assetTypeOptions\"\n [isFilter]=\"true\"\n placeholder=\"All asset types\"\n (onChange)=\"state.handleAssetTypeFilterChange()\">\n \n \n
\n
\n \n
\n\n\n","import { Component } from '@angular/core';\nimport { RecordForm, RecordFormTableComponent } from '../../../shared/record-form-table/record-form-table.component';\nimport {\n CreateEmployeeWorkRelatedInjuriesDataRecordCommandParams,\n DataRecordType,\n EmployeeWorkRelatedInjuriesDataRecord,\n InputType,\n UpdateEmployeeWorkRelatedInjuriesDataRecordCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { formatDate } from '@angular/common';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { IOption } from 'src/app/static-data/options';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\n\ninterface WorkRelatedInjuriesRecordForm extends RecordForm {\n recordableInjuries: FormControl;\n fatalities: FormControl;\n highConsequenceInjuries: FormControl;\n illnessHealth: FormControl;\n lostTimeInjuries: FormControl;\n daysLost: FormControl;\n exposureHours: FormControl;\n}\n\n@Component({\n selector: 'esg-work-related-injuries-form-table',\n templateUrl: './work-related-injuries-form-table.component.html',\n styleUrls: [\n '../../../shared/record-form-table/record-form-table.component.scss',\n './work-related-injuries-form-table.component.scss',\n ],\n providers: [{ provide: RecordFormTableComponent, useExisting: WorkRelatedInjuriesFormTableComponent }],\n})\nexport class WorkRelatedInjuriesFormTableComponent extends RecordFormTableComponent {\n headerCells = [\n { columnId: 'period', label: 'Period', description: 'From – To Date', number: false, sortFieldName: 'StartDate' },\n { columnId: 'asset', label: 'Asset', description: '', number: false, sortFieldName: 'AssetName' },\n {\n columnId: 'recordableInjuries',\n label: 'Recordable Injuries',\n description: 'Total Recordable Injuries',\n number: true,\n },\n { columnId: 'fatalities', label: 'Fatalities', description: 'Total Number', number: true },\n {\n columnId: 'highConsequenceInjuries',\n label: 'High Consequence Injuries',\n description: 'Total Number',\n number: true,\n },\n { columnId: 'illnessHealth', label: 'Illness/Health', description: 'Total Number', number: true },\n { columnId: 'lostTimeInjuries', label: 'Lost Time Injuries', description: 'Total Number', number: true },\n { columnId: 'daysLost', label: 'Days lost', description: 'Total Number', number: true },\n { columnId: 'exposureHours', label: 'Exposure Hours', description: 'Total Work Hours', number: true },\n ];\n\n recordFc?: WorkRelatedInjuriesRecordForm = undefined;\n recordFormgroup?: FormGroup = undefined;\n\n setRecordsRows() {\n this.dataRecordsRows = (this.dataRecords as EmployeeWorkRelatedInjuriesDataRecord[]).map(record => ({\n id: record.id,\n cells: [\n {\n columnId: 'period',\n value:\n formatDate(record.startDate, 'dd. MMM yyyy', 'en_US') +\n ' - ' +\n formatDate(record.endDate, 'dd. MMM yyyy', 'en_US'),\n number: false,\n },\n {\n columnId: 'asset',\n value: this.assetOptions.flatMap(group => group.options).find(c => c.value === record.assetId)?.label || '',\n number: false,\n },\n { columnId: 'recordableInjuries', value: record.recordableInjuries?.toString() || '', number: true },\n { columnId: 'fatalities', value: record.fatalities?.toString() || '', number: true },\n { columnId: 'highConsequenceInjuries', value: record.highConsequenceInjuries?.toString() || '', number: true },\n { columnId: 'illnessHealth', value: record.illnessHealth?.toString() || '', number: true },\n { columnId: 'lostTimeInjuries', value: record.lostTimeInjuries?.toString() || '', number: true },\n { columnId: 'daysLost', value: record.daysLost?.toString() || '', number: true },\n { columnId: 'exposureHours', value: record.exposureHours?.toString() || '', number: true },\n ],\n }));\n }\n\n setAddRecordForm() {\n const asset = this.getDefaultAssetOption();\n this.recordFc = {\n startDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(asset, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n recordableInjuries: new FormControl('', { nonNullable: true, validators: [Validators.required] }),\n fatalities: new FormControl('', { nonNullable: true, validators: [Validators.required] }),\n highConsequenceInjuries: new FormControl('', { nonNullable: true, validators: [Validators.required] }),\n illnessHealth: new FormControl('', {\n nonNullable: true,\n validators: [Validators.required],\n }),\n lostTimeInjuries: new FormControl('', { nonNullable: true, validators: [Validators.required] }),\n daysLost: new FormControl('', { nonNullable: true, validators: [Validators.required] }),\n exposureHours: new FormControl('', { nonNullable: true, validators: [Validators.required] }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n\n setEditRecordForm(id: string) {\n const incidentsRecord = this.dataRecords.find(record => record.id === id) as EmployeeWorkRelatedInjuriesDataRecord;\n if (incidentsRecord) {\n this.recordFc = {\n startDate: new FormControl(incidentsRecord.startDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(incidentsRecord.endDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(\n this.assetOptions.flatMap(group => group.options).find(opt => opt.value === incidentsRecord.assetId) ||\n this.getDefaultAssetOption(),\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n recordableInjuries: new FormControl(incidentsRecord.recordableInjuries.toString(), {\n nonNullable: true,\n validators: [Validators.required],\n }),\n fatalities: new FormControl(incidentsRecord.fatalities.toString(), {\n nonNullable: true,\n validators: [Validators.required],\n }),\n highConsequenceInjuries: new FormControl(incidentsRecord.highConsequenceInjuries.toString(), {\n nonNullable: true,\n validators: [Validators.required],\n }),\n illnessHealth: new FormControl(incidentsRecord.illnessHealth.toString(), {\n nonNullable: true,\n validators: [Validators.required],\n }),\n lostTimeInjuries: new FormControl(incidentsRecord.lostTimeInjuries.toString(), {\n nonNullable: true,\n validators: [Validators.required],\n }),\n daysLost: new FormControl(incidentsRecord.daysLost.toString(), {\n nonNullable: true,\n validators: [Validators.required],\n }),\n exposureHours: new FormControl(incidentsRecord.exposureHours.toString(), {\n nonNullable: true,\n validators: [Validators.required],\n }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n }\n\n getParams():\n | CreateEmployeeWorkRelatedInjuriesDataRecordCommandParams\n | UpdateEmployeeWorkRelatedInjuriesDataRecordCommandParams\n | undefined {\n if (this.recordFormgroup?.valid && this.recordFc && this.recordFc?.asset.value?.value) {\n const incidents = {\n type: DataRecordType.EmployeeWorkRelatedInjuries,\n assetId: this.recordFc.asset.value.value,\n inputType: InputType.Manual,\n startDate: this.recordFc.startDate.value || new Date(),\n endDate: this.recordFc.endDate.value || new Date(),\n recordableInjuries: formattedStringToNumber(this.recordFc.recordableInjuries.value) || 0,\n fatalities: formattedStringToNumber(this.recordFc.fatalities.value) || 0,\n highConsequenceInjuries: formattedStringToNumber(this.recordFc.highConsequenceInjuries.value) || 0,\n illnessHealth: formattedStringToNumber(this.recordFc.illnessHealth.value) || 0,\n lostTimeInjuries: formattedStringToNumber(this.recordFc.lostTimeInjuries.value) || 0,\n daysLost: formattedStringToNumber(this.recordFc.daysLost.value) || 0,\n exposureHours: formattedStringToNumber(this.recordFc.exposureHours.value) || 0,\n };\n if (this.editRecordId) {\n return new UpdateEmployeeWorkRelatedInjuriesDataRecordCommandParams({ id: this.editRecordId, ...incidents });\n } else {\n return new CreateEmployeeWorkRelatedInjuriesDataRecordCommandParams(incidents);\n }\n }\n return undefined;\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n","import { Injectable, Input } from '@angular/core';\nimport {\n DataRecordType,\n DataRecordCategory,\n AssetType,\n ICreateEmployeeWorkRelatedInjuriesDataRecordCommandParams,\n CreateEmployeeWorkRelatedInjuriesDataRecordCommandParams,\n InputType,\n} from 'src/api-client/report-api.generated';\nimport {\n FieldConfig,\n ImportDataOutput,\n} from 'src/app/shared/components/data-import-from-excel/data-import-from-excel-state.service';\nimport { RecordsStateService } from '../records-state.service';\nimport { generateGUID } from 'src/app/shared/utils/guid';\n\n@Injectable()\nexport class WorkRelatedInjuriesStateService extends RecordsStateService {\n title = 'Work Related Injuries';\n recordCategory = DataRecordCategory.EmployessWorkRelatedInjuries;\n assetCategories = [AssetType.Organization, AssetType.Facility];\n\n importFromExcelFieldConfigs: FieldConfig[] = [\n { propertyName: 'startDate', title: 'Start Date', type: 'date' },\n { propertyName: 'endDate', title: 'End Date', type: 'date' },\n { propertyName: 'asset', title: 'Asset', type: 'string' },\n { propertyName: 'recordableInjuries', title: 'Recordable Injuries', type: 'number' },\n { propertyName: 'fatalities', title: 'Fatalities', type: 'number' },\n { propertyName: 'highConsequenceInjuries', title: 'High Consequence Injuries', type: 'number' },\n { propertyName: 'illnessHealth', title: 'Illness/Health', type: 'number' },\n { propertyName: 'lostTimeInjuries', title: 'Lost Time Injuries', type: 'number' },\n { propertyName: 'daysLost', title: 'Days lost', type: 'number' },\n { propertyName: 'exposureHours', title: 'Exposure Hours', type: 'number' },\n ];\n\n importFromExcelEnabled = true;\n\n importDataFromExcel(data: ImportDataOutput) {\n var dataSetId = generateGUID();\n this.importingInProgress = true;\n\n const assetValidation = this.validateExcelAssets(data.records);\n if (assetValidation) {\n this.notificationService.showError(assetValidation.title, assetValidation.description);\n this.importingInProgress = false;\n return;\n }\n\n const addRecordPromises = data.records.map(record => {\n const asset = this.getAssetOptionColumn(record.asset?.value);\n const incidents: ICreateEmployeeWorkRelatedInjuriesDataRecordCommandParams = {\n type: DataRecordType.EmployeeWorkRelatedInjuries,\n dataSetId: dataSetId,\n assetId: asset.value,\n inputType: InputType.ImportedFromExcel,\n startDate: record.startDate?.value,\n endDate: record.endDate?.value,\n recordableInjuries: record.recordableInjuries?.value,\n fatalities: record.fatalities?.value,\n highConsequenceInjuries: record.highConsequenceInjuries?.value,\n illnessHealth: record.illnessHealth?.value,\n lostTimeInjuries: record.lostTimeInjuries?.value,\n daysLost: record.daysLost?.value,\n exposureHours: record.exposureHours?.value,\n };\n\n return this.dataRecordService.createDataRecord(\n new CreateEmployeeWorkRelatedInjuriesDataRecordCommandParams({ ...incidents })\n );\n });\n Promise.all(addRecordPromises).then(async response => {\n response.forEach(res => {\n if (res) {\n const addedId = res.result?.id;\n if (addedId) {\n this.newlyAddedRowsIds.push(addedId);\n this.delayRemoveAddedId(addedId, 15000);\n }\n }\n });\n await this.loadRecords();\n this.importingInProgress = false;\n this.importDataFromExcelClose();\n });\n }\n\n async loadRecords() {\n await this.getDataRecords(DataRecordType.EmployeeWorkRelatedInjuries);\n }\n\n handleDeleteAllFilteredRecordsSubmit() {\n this.handleOnDeleteAllFilteredRecords(DataRecordType.EmployeeWorkRelatedInjuries);\n }\n}\n","import { Component } from '@angular/core';\nimport { WorkRelatedInjuriesStateService } from './work-related-injuries-state.service';\nimport { RecordsComponent } from '../records.component';\n\n@Component({\n selector: 'esg-work-related-injuries',\n templateUrl: './work-related-injuries.component.html',\n styleUrls: ['../records.component.scss'],\n providers: [\n { provide: RecordsComponent, useExisting: WorkRelatedInjuriesComponent },\n WorkRelatedInjuriesStateService,\n ],\n})\nexport class WorkRelatedInjuriesComponent extends RecordsComponent {\n constructor(public state: WorkRelatedInjuriesStateService) {\n super(state);\n }\n}\n","\n \n Select category\n \n \n \n \n \n
\n \n \n 1\"\n [fc]=\"state.filteredAssetTypes\"\n size=\"small\"\n [options]=\"state.assetTypeOptions\"\n [isFilter]=\"true\"\n placeholder=\"All asset types\"\n (onChange)=\"state.handleAssetTypeFilterChange()\">\n \n \n
\n
\n \n
\n\n\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { ITimePeriodData } from 'src/app/shared/components/time-period/time-period.component';\nimport { IOption, ProfileInputOptions } from 'src/app/static-data/options';\n\n@Component({\n selector: 'esg-profile-form',\n templateUrl: './profile-form.component.html',\n styleUrls: ['./profile-form.component.scss'],\n})\nexport class ProfileFormComponent {\n @Input({ required: true }) inputTypeFc!: FormControl;\n @Input({ required: true }) timePeriodFc!: FormControl;\n @Input() submitText: string = 'Create';\n @Input() header: string = 'Create new Profile';\n @Input() hideInputType: boolean = false;\n @Output() onCancel = new EventEmitter();\n @Output() onSubmit = new EventEmitter();\n\n formgroup!: FormGroup;\n inputOptions: IOption[] = ProfileInputOptions;\n\n ngOnInit() {\n this.formgroup = new FormGroup({\n inputTypeFc: this.inputTypeFc,\n timePeriodFc: this.timePeriodFc,\n });\n if (this.inputOptions.length < 2) this.inputTypeFc.disable();\n }\n\n handleOnSubmit() {\n this.formgroup.markAsPristine();\n this.onSubmit.emit();\n }\n\n handleOnCancel() {\n this.onCancel.emit();\n }\n\n handleTimePeriodChange(timePeriodData: ITimePeriodData) {\n this.timePeriodFc.setValue(timePeriodData);\n this.timePeriodFc.markAsDirty();\n }\n\n handleInputTypeChange(option: IOption) {\n this.inputTypeFc.setValue(option);\n this.inputTypeFc.markAsDirty();\n }\n}\n","\n
\n
{{ header }}
\n\n
\n
\n 1. Choose time period for the profile\n \n
\n
\n 2. Choose profile type\n \n
\n
\n
\n\n","import { Component, EventEmitter, Input, Output, SimpleChanges } from '@angular/core';\nimport {\n CreateDataRecordCommandParams,\n CurrencyCodes,\n DataRecord,\n InputType,\n UpdateDataRecordCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { IGroupedOptions, IOption } from 'src/app/static-data/options';\nimport { formatDate } from '@angular/common';\nimport { RecordBodyRow, RecordHeaderCell } from 'src/app/shared/components/records-table/records-table.component';\nimport { Subscription } from 'rxjs';\n\nexport interface RecordForm {\n startDate: FormControl;\n endDate: FormControl;\n asset: FormControl;\n}\n\n@Component({\n selector: 'esg-record-form-table',\n templateUrl: './record-form-table.component.html',\n styleUrls: ['./record-form-table.component.scss'],\n})\nexport class RecordFormTableComponent {\n private columnFilterSubscription?: Subscription;\n\n @Input() dataRecords: DataRecord[] = [];\n @Input() newlyAddedRowsIds: string[] = [];\n @Input() readOnly: boolean = false;\n @Input() addOnly: boolean = false;\n @Input() stickyHeaderTopOffset: number = 0;\n @Input() intersectionObserverRootMargin: number = 0;\n @Input() stickyHeaderPadding: number = 0;\n @Input() assetOptions: IGroupedOptions[] = [];\n @Input() organizationCurrency: CurrencyCodes = CurrencyCodes.USD;\n @Input() countryOptions: IOption[] = [];\n @Input() assetCountryMap = new Map();\n\n @Output() onSubmit = new EventEmitter();\n @Output() onDelete = new EventEmitter();\n @Output() onSortChange = new EventEmitter<{ key: string; direction: 'asc' | 'desc' | '' }>();\n\n headerCells: RecordHeaderCell[] = [\n { columnId: 'period', label: 'Period', description: 'From – To Date', number: false, sortFieldName: 'StartDate' },\n { columnId: 'asset', label: 'Asset', description: '', number: false, sortFieldName: 'AssetName' },\n ];\n dataRecordsRows: RecordBodyRow[] = [];\n startDateOpen = false;\n endDateOpen = false;\n\n recordFc?: RecordForm = undefined;\n recordFormgroup?: FormGroup = undefined;\n hasSubmitted: boolean = false;\n submitOnPristine: boolean = false;\n\n editRecordId?: string;\n\n columnFilter: FormControl = new FormControl([], { nonNullable: true });\n columnFilterStorageKey?: string = '';\n\n get isAssetsDisabled() {\n return this.assetOptions.flatMap(group => group.options).length < 2;\n }\n\n ngOnInit() {\n if (this.addOnly) {\n this.setAddRecordForm();\n }\n this.loadColumnFilter();\n\n if (this.columnFilterStorageKey) {\n this.columnFilterSubscription = this.columnFilter.valueChanges.subscribe(selectedColumns => {\n localStorage.setItem(this.columnFilterStorageKey || '', JSON.stringify(selectedColumns));\n });\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.dataRecords) {\n this.setRecordsRows();\n }\n }\n\n setRecordsRows() {\n this.dataRecordsRows = (this.dataRecords as DataRecord[]).map(record => ({\n id: record.id,\n cells: [\n {\n columnId: 'period',\n value:\n formatDate(record.startDate, 'dd. MMM yyyy', 'en_US') +\n ' - ' +\n formatDate(record.endDate, 'dd. MMM yyyy', 'en_US'),\n number: false,\n },\n {\n columnId: 'asset',\n value: this.assetOptions.flatMap(group => group.options).find(c => c.value === record.assetId)?.label || '',\n number: false,\n },\n ],\n }));\n }\n\n loadColumnFilter() {\n if (this.columnFilterStorageKey) {\n const storedFilters = localStorage.getItem(this.columnFilterStorageKey);\n if (storedFilters) {\n this.columnFilter.setValue(JSON.parse(storedFilters), { emitEvent: false });\n } else {\n this.setColumnFilter();\n }\n }\n }\n\n setColumnFilter() {\n this.columnFilter.setValue(\n this.headerCells.map(cell => ({ value: cell.columnId || '', label: cell.label })),\n { emitEvent: false }\n );\n }\n\n isColumnVisible(id: string): boolean {\n return this.columnFilter.value.some(column => column.value === id);\n }\n\n handleOnIniateAddRecord() {\n if (this.editRecordId) this.handleCloseForm();\n this.startDateOpen = true;\n this.setAddRecordForm();\n }\n\n setAddRecordForm() {\n this.recordFc = {\n startDate: new FormControl(new Date(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(new Date(), {\n nonNullable: true,\n }),\n asset: new FormControl(this.getDefaultAssetOption(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n\n handleOnInitateEditRecord(id: string) {\n this.editRecordId = id;\n this.setEditRecordForm(id);\n }\n\n setEditRecordForm(id: string) {\n const record = this.dataRecords.find(record => record.id === id) as DataRecord;\n if (record) {\n this.recordFc = {\n startDate: new FormControl(record.startDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(record.endDate, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n asset: new FormControl(\n this.assetOptions.flatMap(group => group.options).find(opt => opt.value === record.assetId) ||\n this.getDefaultAssetOption(),\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n }\n\n getParams(): CreateDataRecordCommandParams | UpdateDataRecordCommandParams | undefined {\n if (this.recordFormgroup?.valid && this.recordFc && this.recordFc.asset.value?.value) {\n const record = {\n startDate: this.recordFc.startDate.value || new Date(),\n endDate: this.recordFc.endDate.value || new Date(),\n assetId: this.recordFc.asset.value.value,\n inputType: InputType.Manual,\n };\n if (this.editRecordId) {\n return new UpdateDataRecordCommandParams({ id: this.editRecordId, ...record });\n } else {\n return new CreateDataRecordCommandParams(record);\n }\n }\n return undefined;\n }\n\n handleOnSubmit() {\n if (this.startDateOpen || this.endDateOpen) return;\n\n this.hasSubmitted = true;\n if (!this.submitOnPristine && this.recordFormgroup?.pristine && this.recordFormgroup?.valid) {\n this.handleCloseForm();\n return;\n }\n const record = this.getParams();\n if (record instanceof CreateDataRecordCommandParams) {\n this.handleCloseForm();\n this.onSubmit.emit(record);\n } else if (record instanceof UpdateDataRecordCommandParams) {\n this.onSubmit.emit(record);\n }\n }\n\n handleOnDelete(id: string) {\n this.onDelete.emit(id);\n }\n\n handleDropdownChange(formControl: FormControl, option: IOption) {\n if (option !== formControl.value) {\n formControl.setValue(option);\n formControl.markAsDirty();\n }\n }\n\n handleOnAssetChange(\n assetFormControl: FormControl,\n countryFormControl: FormControl,\n assetOption: IOption\n ) {\n const countryOption = this.countryOptions.find(opt => opt.value === this.assetCountryMap.get(assetOption.value));\n this.handleDropdownChange(assetFormControl, assetOption);\n if (countryOption) this.handleDropdownChange(countryFormControl, countryOption);\n }\n\n getCountryOptionByAssetId(assetId: string | undefined) {\n if (assetId) {\n const countryOption = this.countryOptions.find(opt => opt.value === this.assetCountryMap.get(assetId));\n return countryOption || this.countryOptions[0];\n } else return this.countryOptions[0];\n }\n\n getDefaultAssetOption(): IOption | undefined {\n for (const group of this.assetOptions) {\n if (group.options.length > 0) {\n return group.options[0];\n }\n }\n return undefined;\n }\n\n handleCloseForm() {\n if (!this.startDateOpen && !this.endDateOpen) {\n if (this.editRecordId) {\n if (this.recordFormgroup?.dirty) this.handleOnSubmit();\n this.editRecordId = undefined;\n }\n this.resetForm();\n }\n }\n\n onStartDateClose() {\n this.startDateOpen = false;\n const endDateControl = this.recordFormgroup?.controls['endDate'];\n const startDateControl = this.recordFormgroup?.controls['startDate'];\n if (!this.editRecordId && startDateControl && endDateControl && !endDateControl.touched) {\n endDateControl.setValue(startDateControl.value);\n if (endDateControl.hasValidator(Validators.required)) this.endDateOpen = true;\n }\n }\n\n resetForm() {\n this.startDateOpen = false;\n this.endDateOpen = false;\n\n this.recordFc = undefined;\n this.recordFormgroup = undefined;\n\n this.hasSubmitted = false;\n }\n\n handleOnSortChange(event: { key: string; direction: 'asc' | 'desc' | '' }) {\n this.onSortChange.emit(event);\n }\n ngOnDestroy() {\n this.columnFilterSubscription?.unsubscribe();\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ITabItem } from 'src/app/shared/ui/tabs/tabs.component';\n\n@Component({\n selector: 'esg-segmented-control',\n templateUrl: './segmented-control.component.html',\n styleUrls: ['./segmented-control.component.scss'],\n})\nexport class SegmentedControlComponent {\n @Input() tabs: ITabItem[] = [];\n @Input() activeTab?: string;\n @Output() onTabClick = new EventEmitter();\n constructor() {}\n\n ngOnInit(): void {}\n\n handleOnTabClick(tabValue: string) {\n this.tabs.length > 1 && this.onTabClick.emit(tabValue);\n }\n}\n","\n \n {{ tab.label ? tab.label : tab.value }}\n 1\" class=\"tab-underline\">\n \n \n {{ tab.label ? tab.label : tab.value }}\n \n\n","import { Component } from '@angular/core';\nimport { FieldConfig } from 'src/app/shared/components/data-import-from-excel/data-import-from-excel.component';\n\n@Component({\n selector: 'esg-data-import-from-excel-example',\n templateUrl: './data-import-from-excel.component.html',\n styleUrls: ['./data-import-from-excel.component.scss'],\n})\nexport class DataImportFromExcelExampleComponent {\n customImportFromExcelDialogVisible = true;\n fieldConfigs: FieldConfig[] = [\n { type: 'number', title: 'Installed Power', propertyName: 'installedPower' },\n { type: 'number', title: 'Distance Sailed', propertyName: 'distanceSailed' },\n { type: 'number', title: 'In Operation', propertyName: 'inOperation' },\n { type: 'number', title: 'MGO Fuel Consumption', propertyName: 'mgoConsumption' },\n ];\n\n handleImportData(event: any) {\n console.log('FROM EXAMPLE', event);\n }\n\n showCustomImportFromExcelDialog() {\n this.customImportFromExcelDialogVisible = true;\n }\n closeCustomImportFromExcelDialog() {\n this.customImportFromExcelDialogVisible = false;\n }\n}\n","\n\n\n","import { Component, OnInit } from '@angular/core';\n\nimport _ from 'lodash';\nimport { ContentExampleStateService } from './examples/content-example-state.service';\n\n@Component({\n selector: 'esg-example',\n templateUrl: './example.component.html',\n styleUrls: ['./example.component.scss'],\n providers: [ContentExampleStateService],\n})\nexport class ExampleComponent {}\n","\n\n\n","import { TableModule } from './../../shared/table/table.module';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ExampleComponent } from './example.component';\nimport { UiModule } from 'src/app/shared/ui/ui.module';\nimport { ContentModule } from 'src/app/content/content.module';\nimport { DirectiveModule } from 'src/app/shared/directives/directive.module';\nimport { UiComponentsComponent } from './ui-components/ui-components.component';\nimport { RouterModule } from '@angular/router';\nimport { ExamplesComponent } from './examples/examples.component';\nimport { SharedComponentsModule } from 'src/app/shared/components/shared-components.module';\nimport { DataImportFromExcelExampleComponent } from './data-import-from-excel/data-import-from-excel.component';\nimport { SuperAdminGuard } from 'src/app/core/guards/super-admin-guard';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { FeedbackExamplesComponent } from './feedback-examples/feedback-examples.component';\nimport { NotificationModule } from 'src/app/shared/services/notification/notification.module';\nimport { SharedComponentsComponent } from './shared-components/shared-components.component';\nimport { OnboardingExampleComponent } from './onboarding-example/onboarding-example.component';\nimport { GenericTableExampleComponent } from './generic-table-example/generic-table-example.component';\n\n@NgModule({\n declarations: [\n ExampleComponent,\n UiComponentsComponent,\n ExamplesComponent,\n DataImportFromExcelExampleComponent,\n FeedbackExamplesComponent,\n SharedComponentsComponent,\n OnboardingExampleComponent,\n GenericTableExampleComponent,\n ],\n imports: [\n CommonModule,\n TableModule,\n UiModule,\n ContentModule,\n DirectiveModule,\n FormsModule,\n ReactiveFormsModule,\n SharedComponentsModule,\n NotificationModule,\n RouterModule.forChild([\n {\n path: 'example',\n component: ExampleComponent,\n children: [\n { path: '', component: ExamplesComponent },\n { path: 'ui-components', component: UiComponentsComponent },\n { path: 'data-import-from-excel', component: DataImportFromExcelExampleComponent },\n { path: 'feedback-examples', component: FeedbackExamplesComponent },\n { path: 'shared-components', component: SharedComponentsComponent },\n { path: 'onboarding', component: OnboardingExampleComponent },\n { path: 'generic-table', component: GenericTableExampleComponent },\n ],\n canActivate: [SuperAdminGuard],\n },\n ]),\n ],\n})\nexport class ExampleModule {}\n","import { Injectable } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { ContentDataTypes, ContentStatesTypes } from 'src/app/content/content-configuration';\nimport { DynamicContent } from 'src/app/content/dynamic-content';\nimport { IPictureContentData } from 'src/app/content/content-item/picture/picture.component';\nimport { moveItemInArray } from '@angular/cdk/drag-drop';\nimport { IMovedContent } from 'src/app/content/dynamic-content-data';\nimport { ComponentType } from 'src/api-client/report-api.generated';\n\n@Injectable()\nexport class ContentExampleStateService {\n constructor(private domSanitizer: DomSanitizer) {}\n\n contentList: DynamicContent[] = [];\n reordering: boolean = false;\n\n stickyComponentsToolbar: boolean = false;\n\n handleStickyComponentMenu(tabEntry: IntersectionObserverEntry) {\n this.stickyComponentsToolbar = tabEntry.boundingClientRect.top < 0;\n }\n\n handleOnAddContent(type: ComponentType) {\n switch (type) {\n case ComponentType.Text:\n this.addTextContent();\n break;\n case ComponentType.Picture:\n this.addImageContent();\n break;\n case ComponentType.ImportFromExcel:\n this.addImportFromExcelContent();\n break;\n case ComponentType.Narrative:\n this.addTextContent();\n break;\n default:\n break;\n }\n }\n\n addTextDisclosureContent() {\n this.contentList = [\n ...this.contentList,\n new DynamicContent(\n this.contentList.length.toString(),\n ComponentType.Narrative,\n true,\n {\n generateText: this.handleGetBotAnswer,\n },\n {},\n undefined\n ),\n ];\n }\n\n addTextContent() {\n this.contentList = [\n ...this.contentList,\n new DynamicContent(\n this.contentList.length.toString(),\n ComponentType.Text,\n true,\n {\n generateText: this.handleGetBotAnswer,\n },\n {},\n undefined\n ),\n ];\n }\n\n addImageContent() {\n this.contentList = [\n ...this.contentList,\n new DynamicContent(\n this.contentList.length.toString(),\n ComponentType.Picture,\n true,\n {\n uploadPhoto: this.handleUploadPhoto(this.contentList.length.toString()),\n },\n {},\n undefined\n ),\n ];\n }\n\n addImportFromExcelContent() {\n this.contentList = [\n ...this.contentList,\n new DynamicContent(this.contentList.length.toString(), ComponentType.ImportFromExcel, true, {}, {}, undefined),\n ];\n }\n\n onContentDataChange = (\n contentId: string,\n isVisibleInReport: boolean,\n states: ContentStatesTypes,\n data?: ContentDataTypes\n ) => {\n const component = this.contentList.find(c => c.contentId === contentId);\n if (component) {\n this.contentList = this.contentList.map(c =>\n c.contentId !== component.contentId\n ? c\n : {\n ...component,\n isVisibleInReport: isVisibleInReport,\n states: states,\n data,\n }\n );\n }\n };\n\n handleReorder() {\n this.reordering = !this.reordering;\n this.contentList = this.contentList.map(c => ({\n ...c,\n states: {\n ...c?.states,\n open: !this.reordering,\n },\n }));\n }\n\n handleGetBotAnswer = async (question: string): Promise => {\n return 'Your prompt was ' + question;\n };\n\n moveContent(movedContent: IMovedContent) {\n const newList = [...this.contentList];\n moveItemInArray(newList, movedContent.prevIndex, movedContent.newIndex);\n this.contentList = [...newList];\n }\n\n deleteContent(contentId: string) {\n const newList = [...this.contentList];\n newList.splice(\n this.contentList.findIndex(comp => comp.contentId === contentId),\n 1\n );\n this.contentList = [...newList];\n }\n\n handleUploadPhoto = (componentId: string) => async (file?: File) => {\n const component = this.contentList.find(c => c.contentId === componentId);\n if (file && component) {\n var objectUrl = URL.createObjectURL(file);\n const photo = {\n url: this.domSanitizer.bypassSecurityTrustResourceUrl(objectUrl),\n fileName: 'test',\n };\n\n const updatedContent: IPictureContentData = {\n altText: '',\n blobName: 'test',\n };\n\n this.onContentDataChange(\n componentId,\n component.isVisibleInReport,\n {\n ...component.states,\n uploadedPhoto: photo,\n },\n updatedContent\n );\n }\n };\n}\n","import { Component, ElementRef, ViewChild } from '@angular/core';\nimport { ContentExampleStateService } from './content-example-state.service';\nimport { FormControl } from '@angular/forms';\nimport { IOption } from 'src/app/static-data/options';\nimport _ from 'lodash';\n\n@Component({\n selector: 'esg-examples',\n templateUrl: './examples.component.html',\n styleUrls: ['./examples.component.scss'],\n})\nexport class ExamplesComponent {\n @ViewChild('content', { static: true }) content!: ElementRef;\n\n dropdownFavouriteOptions: IOption[] = [\n { value: 'EUR', label: 'EUR' },\n { value: 'NOK', label: 'NOK' },\n { value: 'PLN', label: 'PLN' },\n { value: 'USD', label: 'USD' },\n ];\n\n dropdownFavouriteValue: IOption = { value: 'PLN', label: 'PLN' };\n\n favouriteOptions: IOption[] = [\n { value: 'NOK', label: 'NOK' },\n { value: 'PLN', label: 'PLN' },\n ];\n\n dropdownMultipleOptions: IOption[] = [\n { value: 'Emissions - Scope 1', label: 'Emissions - Scope 1' },\n { value: 'Emissions - Scope 2', label: 'Emissions - Scope 2' },\n { value: 'Emissions - SOx', label: 'Emissions - SOx' },\n { value: 'Emissions - NOx', label: 'Emissions - NOx' },\n ];\n dropdownMultipleFc = new FormControl(\n [this.dropdownMultipleOptions[2], this.dropdownMultipleOptions[0], this.dropdownMultipleOptions[3]],\n { nonNullable: true }\n );\n\n checkboxFc = new FormControl(true, { nonNullable: true });\n\n tableInputFormControl: FormControl = new FormControl('test text');\n tableInputFormControl2: FormControl = new FormControl('test text2');\n\n tableDropdownOptions1: IOption[] = [\n { value: 'aa', label: 'aaaaaa' },\n { value: 'bb', label: 'bbbbbbbbbbbbbbb' },\n ];\n tableDropdownFormControl1: FormControl = new FormControl(this.tableDropdownOptions1[1]);\n\n constructor(public contentState: ContentExampleStateService) {}\n\n ngOnInit(): void {\n console.log(detectFont('已選擇聯合'));\n console.log(detectFont('到目前为止,我们对Covid-19变体了解多少?'));\n }\n}\n\nfunction detectFont(text: string) {\n if (!_.isString(text)) {\n return 'Roboto';\n }\n\n // https://stackoverflow.com/a/15034560/1501613\n const containsCJK = text.match(/[\\u3000-\\u303f\\u3040-\\u309f\\u30a0-\\u30ff\\uff00-\\uff9f\\u4e00-\\u9faf\\u3400-\\u4dbf]/);\n\n return containsCJK ? 'Chinese' : 'Roboto';\n}\n","
\n
Q1 2022
\n
\n
\n
\n Target:\n 7192\n
\n
\n
\n Carbon Intensity (CII):\n 6835\n
\n
\n
\n\n
\n \n
\n
\n \n
\n\n
\n \n
\n\n
\n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n
\n
\n\n
\n
\n \n\n","import { Component } from '@angular/core';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\nimport { NotificationLinkUi } from 'src/app/shared/ui/notification/notification.component';\n\n@Component({\n selector: 'esg-feedback-examples',\n templateUrl: './feedback-examples.component.html',\n styleUrls: ['./feedback-examples.component.scss'],\n})\nexport class FeedbackExamplesComponent {\n title = 'Message (Title)';\n message = 'Body';\n link: NotificationLinkUi = { text: 'Go to this link', routerLink: ['/example'] };\n\n longTextTitle = 'The anatomy of notification';\n longTextMessage =\n 'Four Elements: Icon, title (text), body (text) and link(text). Icon is fixed. The text column should be max 280px width, and the max total width of notification is 460px. Body and link optional elements in notifications.';\n\n constructor(private notificationService: NotificationService) {}\n\n handleSuccess(title: string, message?: string, link?: NotificationLinkUi): void {\n this.notificationService.showSuccess(title, message, link);\n }\n\n handleInfo(title: string, message?: string, link?: NotificationLinkUi): void {\n this.notificationService.showInfo(title, message, link);\n }\n\n handleWarning(title: string, message?: string, link?: NotificationLinkUi): void {\n this.notificationService.showWarning(title, message, link);\n }\n\n handleError(title: string, message?: string, link?: NotificationLinkUi): void {\n this.notificationService.showError(title, message, link);\n }\n}\n","
\n
\n
Full
\n
Title + link
\n
Title + body
\n
Title
\n
Success
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
Info
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
Warning
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
Error
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\nimport {\n GenericColumnType,\n GenericColumnUi,\n GenericRowUi,\n} from 'src/app/shared/table/generic-table/generic-table.types';\nimport { v4 as uuidv4 } from 'uuid';\n\n@Component({\n selector: 'esg-generic-table-example',\n templateUrl: './generic-table-example.component.html',\n styleUrls: ['./generic-table-example.component.scss'],\n})\nexport class GenericTableExampleComponent implements OnInit {\n columns: GenericColumnUi[] = [];\n rows: GenericRowUi[] = [];\n jsonPlaceholder: string = `{\n \"columns\": [\n { \"header\": \"Name\", \"description\": \"The full name of the person\", \"columnId\": \"name\", \"type\": \"Generic\" },\n { \"header\": \"Age\", \"description\": \"Age in years\", \"columnId\": \"age\", \"type\": \"Numeric\", \"width\": \"15%\"},\n {\n \"header\": \"Role\",\n \"description\": \"The role of the person\",\n \"columnId\": \"role\",\n \"type\": \"Selector\",\n \"options\": [\n { \"value\": \"dev\", \"label\": \"Developer\" },\n { \"value\": \"des\", \"label\": \"Designer\" }\n ]\n }\n ],\n \"rows\": [\n {\n \"rowId\": \"1\",\n \"values\": [\n { \"columnId\": \"name\", \"value\": \"John Doe\" },\n { \"columnId\": \"age\", \"value\": 30 },\n { \"columnId\": \"role\", \"value\": \"dev\" }\n ]\n },\n {\n \"rowId\": \"2\",\n \"values\": [\n { \"columnId\": \"name\", \"value\": \"Jane Smith\" },\n { \"columnId\": \"age\", \"value\": 25 },\n { \"columnId\": \"role\", \"value\": \"des\" }\n ]\n }\n ]\n }`;\n\n jsonInput = new FormControl(this.jsonPlaceholder, [Validators.required]);\n\n constructor(private notificationService: NotificationService) {}\n\n ngOnInit(): void {\n this.parseJson();\n }\n\n parseJson(): void {\n try {\n const inputObj = JSON.parse(this.jsonInput.value || '');\n this.columns = inputObj.columns;\n this.rows = inputObj.rows;\n this.jsonInput.setValue(JSON.stringify(inputObj, null, 2));\n } catch (e) {\n console.error('Parsing error:', e);\n this.notificationService.showError('Error parsing JSON. Check the console for more details.');\n }\n }\n\n updateJson(): void {\n const updatedData = {\n columns: this.columns,\n rows: this.rows,\n };\n\n this.jsonInput.setValue(JSON.stringify(updatedData, null, 2));\n }\n\n handleOnRowChange(row: GenericRowUi): void {\n const rowIndex = this.rows.findIndex(r => r.rowId === row.rowId);\n if (rowIndex !== -1) {\n this.rows = [...this.rows.slice(0, rowIndex), row, ...this.rows.slice(rowIndex + 1)];\n }\n this.updateJson();\n }\n\n handleOnAddRow(belowRowId?: string): void {\n const newRow: GenericRowUi = {\n rowId: uuidv4(),\n values: this.columns.map(column => ({\n columnId: column.columnId,\n value: column.type === GenericColumnType.Numeric || column.type === GenericColumnType.Currency ? 0 : '',\n unit: '',\n })),\n };\n\n const rowIndex = this.rows.findIndex(row => row.rowId === belowRowId);\n\n if (rowIndex !== -1) {\n this.rows = [...this.rows.slice(0, rowIndex + 1), newRow, ...this.rows.slice(rowIndex + 1)];\n } else {\n this.rows = [newRow, ...this.rows];\n }\n this.updateJson();\n }\n\n handleOnAddColumn(afterColumnId?: string): void {\n const newColumn: GenericColumnUi = {\n header: `Column ${this.columns.length + 1}`,\n description: 'New column',\n columnId: uuidv4(),\n type: GenericColumnType.Generic,\n };\n\n const columnIndex = this.columns.findIndex(column => column.columnId === afterColumnId);\n if (columnIndex !== -1) {\n this.columns = [...this.columns.slice(0, columnIndex + 1), newColumn, ...this.columns.slice(columnIndex + 1)];\n this.rows = this.rows.map(row => ({\n ...row,\n values: [\n ...row.values.slice(0, columnIndex + 1),\n { columnId: newColumn.columnId, value: '' },\n ...row.values.slice(columnIndex + 1),\n ],\n }));\n } else {\n this.columns = [newColumn, ...this.columns];\n this.rows = this.rows.map(row => ({\n ...row,\n values: [{ columnId: newColumn.columnId, value: '' }, ...row.values],\n }));\n }\n\n this.updateJson();\n }\n\n handleOnDeleteRow(rowId: string): void {\n this.rows = this.rows.filter(row => row.rowId !== rowId);\n this.updateJson();\n }\n\n handleOnDeleteColumn(columnId: string): void {\n this.columns = this.columns.filter(column => column.columnId !== columnId);\n this.rows = this.rows.map(row => ({\n ...row,\n values: row.values.filter(value => value.columnId !== columnId),\n }));\n\n this.updateJson();\n }\n\n handleOnColumnsChange(columns: GenericColumnUi[]): void {\n this.updateJson();\n }\n}\n","\nUpdate Table\n\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'esg-onboarding-example',\n templateUrl: './onboarding-example.component.html',\n styleUrl: './onboarding-example.component.scss',\n})\nexport class OnboardingExampleComponent {\n isDialogOpen = false;\n}\n","\nStart onboarding\n","import { Component } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { RiskCategory, TimePeriodType } from 'src/api-client/report-api.generated';\nimport { PaginationUi } from 'src/app/shared/components/pagination/pagination.component';\nimport { ITimePeriodData } from 'src/app/shared/components/time-period/time-period.component';\n\n@Component({\n selector: 'esg-shared-components [riskCategory]',\n templateUrl: './shared-components.component.html',\n styleUrls: ['./shared-components.component.scss'],\n})\nexport class SharedComponentsComponent {\n riskCategoryEnum = RiskCategory;\n timePeriodFormControl: FormControl = new FormControl(\n {\n type: TimePeriodType.Annual,\n year: 2024,\n },\n {\n nonNullable: true,\n }\n );\n nan = NaN;\n\n \n paginationData: PaginationUi = {\n currentPage: 1,\n totalPages: 10,\n pageSize: 25,\n totalCount: 1000,\n hasPrevious: false,\n hasNext: true,\n };\n\n handlePaginationChange(pagination: PaginationUi) {\n this.paginationData = pagination;\n }\n}\n","
\n
\n \n
\n
\n \n \n \n \n \n \n
\n
\n \n \n \n \n \n \n \n \n \n
\n
\n \n
\n
\n","import { Component } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { IMenuItem } from 'src/app/shared/ui/context-menu/context-menu.component';\nimport { DialogComponentType } from 'src/app/shared/ui/dialog/dialog.component';\nimport { IGroupedOptions, IOption } from 'src/app/static-data/options';\n\n@Component({\n selector: 'esg-ui-components',\n templateUrl: './ui-components.component.html',\n styleUrls: ['./ui-components.component.scss'],\n})\nexport class UiComponentsComponent {\n textboxValue = 'textVALUE';\n textboxChange = (value: string) => {\n this.textboxValue = value;\n };\n textboxFormControl = new FormControl('textVALUE', { nonNullable: true });\n\n contextMenuOptions: IMenuItem[] = [{ id: 'recalculate', label: 'Recalculate', onClick: () => {} }];\n\n options: IOption[] = Array.from({ length: 10 }, (_, i) => ({ value: (i + 1).toString(), label: `Label ${i + 1}` }));\n optionValue = new FormControl(this.options[0], { nonNullable: true });\n //optionValue = new FormControl({ value: this.options[0], disabled: true }, { nonNullable: true });\n groupedOptions: IGroupedOptions[] = [\n { label: 'group 1', options: this.options.slice(0, 2) },\n { label: 'group 2', options: this.options.slice(2, 4) },\n { label: 'group 3', options: this.options.slice(4, 6) },\n { label: 'group 4', options: this.options.slice(6, 8) },\n { label: 'group 5', options: this.options.slice(8, 10) },\n ];\n\n multipleOptions = new FormControl([], { nonNullable: true });\n\n ngOnInit() {\n this.options.push({\n value: '31313',\n label: 'DDasd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd ',\n });\n }\n\n openDialogType?: DialogComponentType;\n handleDialogClose() {\n this.openDialogType = undefined;\n }\n}\n","
\n
\n
Buttons
\n
\n Default\n secondary\n tertiary\n
\n
\n
\n
Textboxes
\n
\n \n \n
\n
\n
\n
Context menu (esg-context-menu)
\n
\n \n
\n
\n
\n
selector multiple
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n
Selectors
\n
\n \n \n
Dirty
\n
Touched
\n \n
\n
\n\n
\n
Selector variants
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n \n \n
\n
\n
\n\n
\n
Dialogs
\n
\n \n \n \n \n
\n
\n \n Full dialog size\n \n \n Default dialog size\n \n \n Auto dialog size\n \n \n Preview-mode dialog size\n \n
\n
\n\n
\n
Dot flashing
\n
\n \n
\n
\n
\n
\n
\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\nexport interface AssignedTaskUi {\n reportId: string;\n reportName: string;\n topicId: string;\n topicItemId: string;\n name: string;\n statusLabel: string;\n statusColor: string;\n lastEdited: Date;\n}\n\n// Currently not used\n\n@Component({\n selector: 'esg-assigned-tasks',\n templateUrl: './assigned-tasks.component.html',\n styleUrls: ['./assigned-tasks.component.scss'],\n})\nexport class AssignedTasksComponent {\n @Input({ required: true }) tasks!: AssignedTaskUi[];\n @Output() onTaskClick = new EventEmitter();\n\n handleTaskClick(item: AssignedTaskUi) {\n this.onTaskClick.emit(item);\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
CONTENTSTATUSLAST EDITEDREPORT
\n {{ item.name }}\n \n \n {{ item.statusLabel }}\n \n {{ item.lastEdited | date : 'dd. MMM' }}\n {{ item.lastEdited | date : 'HH:mm' }}\n \n {{ item.reportName }}\n \n
\n Go to report\n \n \n \n
\n
\n","import { Component, OnInit } from '@angular/core';\n\n// Currently not used\n\n@Component({\n selector: 'esg-home-content',\n templateUrl: './home-content.component.html',\n styleUrls: ['./home-content.component.scss'],\n})\nexport class HomeContentComponent implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","
\n News from The ESG Team\n

What’s coming next?

\n \n Since our journey began in May 2022, we've made remarkable progress with our ESG application, continuously\n innovating and deploying new features every three to four weeks. Looking ahead, 2024 promises to be a year filled\n with significant advancements and milestones that will further enhance our ESG solutions.\n \n
\n
\n Innovations Q1 2024\n

New Indicator Methodology & Scope 3 Coverage

\n \n Tackling the complexities of data collection head-on, we're introducing a groundbreaking approach to indicators.\n This new methodology is designed to streamline the data gathering process, ensuring more efficient and accurate\n insights for our users.\n \n
\n \n Understanding the intricate challenges associated with Scope 3 emissions, we've committed to simplifying this\n process. By Q1, all 15 categories of Scope 3 will be fully integrated into our platform, ready for effortless data\n collection and reporting. Our goal is to demystify Scope 3, making it more accessible and manageable for businesses\n across all sectors.\n \n
\n
\n Highlights Q2 2024\n

Achieving ESRS Compliance

\n \n In Q2 2023 we will start developing our next big thing: The Performance Module. This will give you real time\n graphics of your ESG performance. Use this data to improve your operations and to communicate environmental and\n social performance to stakeholders.\n \n
\n
\n Development Q3 2024\n

New Reporting Interface

\n \n In our continuous pursuit of excellence and user satisfaction, Q3 will see the unveiling of a new report interface.\n This innovative interface is tailored to offer intuitive navigation, enhanced visualization, and a more interactive\n reporting experience. We're dedicated to making ESG reporting as straightforward and insightful as possible.\n \n
\n","import { Injectable } from '@angular/core';\nimport { TopicItemApiService } from 'src/app/api-client/report-api/topic-item-api-service';\nimport { AssignedTaskUi } from './assigned-tasks/assigned-tasks.component';\nimport { IOption, topicItemStatusOptions } from 'src/app/static-data/options';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { Subscription } from 'rxjs';\n\n@Injectable()\nexport class HomePageStateService {\n private contextSubscription?: Subscription;\n tasks: AssignedTaskUi[] = [];\n statusOptions: IOption[] = topicItemStatusOptions;\n loading: boolean = false;\n\n constructor(public topicItemServiceApi: TopicItemApiService, public appInfoState: AppInfoService) {\n this.contextSubscription = this.appInfoState.organizationContext$.subscribe(org => {\n if (org) {\n this.tasks = [];\n this.loadTopicItems();\n }\n });\n }\n\n async loadTopicItems() {\n this.loading = true;\n const topicItems = await this.topicItemServiceApi.getResponsiblePersonTopicItems();\n this.tasks = topicItems.result.topicItems.map(item => {\n const status = this.statusOptions.find(opt => opt.value === item.status);\n return {\n reportId: item.reportId,\n reportName: item.reportName,\n topicId: item.topicId,\n topicItemId: item.topicItemId,\n name: item.name,\n statusLabel: status?.label || item.status,\n statusColor: status?.color || 'transparent',\n lastEdited: item.lastEdited,\n };\n });\n this.loading = false;\n }\n\n ngOnDestroy() {\n this.contextSubscription?.unsubscribe();\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { greetingsByCurrentTime } from 'src/app/shared/utils/date';\nimport { HomePageStateService } from './home-page-state.service';\nimport { Router } from '@angular/router';\nimport { AssignedTaskUi } from './assigned-tasks/assigned-tasks.component';\n\n@Component({\n selector: 'esg-home-page',\n templateUrl: './home-page.component.html',\n styleUrls: ['./home-page.component.scss'],\n providers: [HomePageStateService],\n})\nexport class HomePageComponent implements OnInit {\n greetings: string = 'Good day';\n name: string = '.\\n';\n\n constructor(public state: HomePageStateService, public appInfoState: AppInfoService, private router: Router) {}\n\n ngOnInit(): void {\n this.greetings = greetingsByCurrentTime();\n this.appInfoState.userInfo$.subscribe(result => {\n this.name = result?.name ? ', ' + result.name.split(' ')[0] + '.\\n' : '.\\n';\n });\n }\n\n handleTaskClick(item: AssignedTaskUi) {\n this.router.navigate(['/report/' + item.reportId + '/' + item.topicId], { fragment: item.topicItemId });\n }\n}\n","
\n
\n

{{ greetings }}{{ name }}

\n What do you want to do today?\n
\n \n
\n
\n
\n Tasks assigned to you\n \n
\n You have no task assigned to you.\n \n Please go to\n Reports\n to assign tasks.\n \n
\n \n
\n
\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HomePageComponent } from './home-page.component';\nimport { RouterModule } from '@angular/router';\nimport { AppLayoutComponent } from 'src/app/app-layout/app-layout.component';\nimport { MsalGuard } from '@azure/msal-angular';\nimport { HomeContentComponent } from './home-content/home-content.component';\nimport { UiModule } from 'src/app/shared/ui/ui.module';\nimport { AssignedTasksComponent } from './assigned-tasks/assigned-tasks.component';\nimport { SideNavigationComponent } from 'src/app/app-layout/side-navigation/side-navigation.component';\n\n@NgModule({\n declarations: [HomePageComponent, HomeContentComponent, AssignedTasksComponent],\n imports: [\n CommonModule,\n UiModule,\n RouterModule.forChild([\n {\n path: `home`,\n component: AppLayoutComponent,\n children: [\n {\n path: ``,\n component: SideNavigationComponent,\n outlet: 'side',\n },\n {\n path: ``,\n component: HomePageComponent,\n },\n ],\n canActivate: [MsalGuard],\n },\n ]),\n ],\n})\nexport class HomeModule {}\n","import { Injectable } from '@angular/core';\nimport { GetIndicatorDataDescription, IndicatorRecordData } from '../indicator-data-state.service';\nimport { AssetApiService } from 'src/app/api-client/report-api/asset-api-service';\nimport { IndicatorDataApiService } from 'src/app/api-client/report-api/indicator-data-api-service';\nimport { IGroupedOptions, IOption } from 'src/app/static-data/options';\nimport { AssetCategoryLabel } from 'src/app/static-data/enum-mappings';\nimport { PaginationUi } from 'src/app/shared/components/pagination/pagination.component';\nimport { FormControl } from '@angular/forms';\nimport { IMenuItem } from 'src/app/shared/ui/context-menu/context-menu.component';\nimport { convertToLocalDateOnlyUTC } from 'src/app/shared/utils/date';\nimport {\n AssetType,\n IndicatorValueType,\n InputType,\n UpdateIndicatorDataCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { RecordSource } from 'src/app/shared/components/records-table/records-table.component';\nimport { UnitService } from 'src/app/shared/services/unit/unit.service';\nimport { CurrencyApiService } from 'src/app/api-client/report-api/currency-api-service';\nimport { sortOptionsAlphabetically } from 'src/app/shared/utils/array';\nimport { Subscription } from 'rxjs';\n\n@Injectable()\nexport class AllRecordsDialogStateService {\n readonly valueTypeEnum = IndicatorValueType;\n private unitOptionsSubscription?: Subscription;\n indicatorId?: string;\n\n indicatorRecords: IndicatorRecordData[] = [];\n isDeleteDialogOpen: boolean = false;\n loading = false;\n assetOptions: IGroupedOptions[] = [];\n assetFilterOptions: IGroupedOptions[] = [];\n currencyOptions: IOption[] = [];\n unitOptions: IOption[] = [];\n assetTypeOptions: IOption[] = [];\n inputTypeOptions: IOption[] = [\n { value: '', label: 'All inputs' },\n { value: InputType.Manual, label: 'Manual inputs' },\n { value: InputType.ImportedFromExcel, label: 'Imported from excel' },\n { value: InputType.ImportedFrom3rdParty, label: 'Imported from 3rd party' },\n ];\n\n currentPagination: PaginationUi = {\n currentPage: 1,\n totalPages: 1,\n pageSize: 50,\n totalCount: 0,\n hasPrevious: false,\n hasNext: false,\n };\n\n inputType: InputType | undefined = undefined;\n sortKey: string = '';\n sortDirection: 'asc' | 'desc' | '' = '';\n\n startDateFilter: FormControl = new FormControl(null);\n endDateFilter: FormControl = new FormControl(null);\n filteredAssets: FormControl = new FormControl([], { nonNullable: true });\n filteredAssetTypes: FormControl = new FormControl([], { nonNullable: true });\n filteredInputType: FormControl = new FormControl(this.inputTypeOptions[0], { nonNullable: true });\n\n get isFilterApplied(): boolean {\n return (\n this.startDateFilter.value !== null ||\n this.endDateFilter.value !== null ||\n this.filteredAssets.value.length > 0 ||\n (this.filteredAssetTypes.value.length > 0 && this.assetTypeOptions.length > 1) ||\n this.filteredInputType.value !== this.inputTypeOptions[0]\n );\n }\n constructor(\n private assetApiService: AssetApiService,\n private indicatorDataService: IndicatorDataApiService,\n private currencyApiService: CurrencyApiService,\n private unitService: UnitService\n ) {\n this.unitOptionsSubscription = this.unitService.units$.subscribe(units => {\n this.unitOptions = Object.values(units).map(unit => ({\n value: unit.key,\n label: unit.name,\n }));\n });\n }\n\n async init(indicatorId: string) {\n this.indicatorId = indicatorId;\n this.loading = true;\n await Promise.all([this.getDataRecords(), this.getAssetOptions(), this.getCurrencies()]);\n this.loading = false;\n }\n\n async getAssetOptions() {\n const response = await this.assetApiService.getAllAssetOptions();\n const assets = response.result;\n\n const groupedAssets: { [key: string]: IGroupedOptions } = {};\n this.assetTypeOptions = [];\n\n assets.map(a => {\n if (!groupedAssets[a.assetType]) {\n this.assetTypeOptions.push({ value: a.assetType, label: AssetCategoryLabel[a.assetType] });\n groupedAssets[a.assetType] = { label: AssetCategoryLabel[a.assetType], options: [] };\n }\n groupedAssets[a.assetType].options.push({ value: a.id, label: a.name });\n });\n\n this.assetOptions = Object.values(groupedAssets);\n this.assetFilterOptions = this.assetOptions;\n }\n\n async getDataRecords() {\n if (this.indicatorId) {\n const startDate = this.startDateFilter.value ? convertToLocalDateOnlyUTC(this.startDateFilter.value) : undefined;\n const endDate = this.endDateFilter.value ? convertToLocalDateOnlyUTC(this.endDateFilter.value) : undefined;\n const response = await this.indicatorDataService.getIndicatorDataBy(\n this.indicatorId,\n startDate,\n endDate,\n this.filteredAssets.value.map(opt => opt.value),\n Object.values(AssetType).filter(type => this.filteredAssetTypes.value.find(opt => type === opt.value)),\n this.filteredInputType.value.value as InputType,\n this.sortDirection ? this.sortKey + ' ' + this.sortDirection : undefined,\n this.currentPagination.currentPage,\n this.currentPagination.pageSize\n );\n\n this.currentPagination = {\n currentPage: response.result.currentPage,\n totalPages: response.result.totalPages,\n pageSize: response.result.pageSize,\n totalCount: response.result.totalCount,\n hasPrevious: response.result.hasPrevious,\n hasNext: response.result.hasNext,\n };\n\n const assetMap = new Map(\n this.assetOptions.flatMap(group => group.options.map(option => [option.value, option.label]))\n );\n\n this.indicatorRecords = response.result.items.map(record => {\n const recordSource = record.dataRecordId\n ? RecordSource.RawData\n : record.indicatorDataId\n ? RecordSource.IndicatorDefinition\n : undefined;\n return {\n id: record.id,\n assetId: record.assetId,\n assetName: assetMap.get(record.assetId) || '',\n timePeriod: record.timePeriod,\n description: GetIndicatorDataDescription(record),\n numericValue: record.numericValue,\n tableValue: record.tableValue,\n recordSource: recordSource,\n };\n });\n }\n }\n\n async getCurrencies() {\n const response = await this.currencyApiService.getAllCurrencies();\n this.currencyOptions = sortOptionsAlphabetically(\n response.result.map(currency => ({ value: currency.code, label: currency.code }))\n );\n }\n\n async handleUpdateRecord(params: UpdateIndicatorDataCommandParams) {\n const response = await this.indicatorDataService.updateIndicatorData(params);\n\n if (response.success) {\n this.getDataRecords();\n }\n }\n\n handleDeleteRecord(id: string) {\n this.indicatorDataService.deleteIndicatorData(id).then(response => {\n if (response.success) {\n this.getDataRecords();\n }\n });\n }\n\n filterMenuProvider = (): IMenuItem[] => [\n { id: 'clear', label: 'Clear all filters', onClick: () => this.clearFilters() },\n {\n id: 'delete',\n label: 'Delete all filtered records',\n onClick: () => this.handleDeleteAllFilteredRecordsInitiate(),\n disabled: this.currentPagination.totalCount === 0 || !this.isFilterApplied,\n },\n ];\n\n handleAssetTypeFilterChange() {\n this.setVisibleAssetOptions();\n this.handleFilterChange();\n }\n\n setVisibleAssetOptions() {\n if (this.filteredAssetTypes.value.length) {\n const selectedAssetTypes = this.filteredAssetTypes.value.map(option => option.value);\n this.filteredAssets.setValue(\n this.filteredAssets.value.filter(opt => opt?.group && selectedAssetTypes.includes(opt.group))\n );\n this.assetFilterOptions = this.assetOptions.filter(group => {\n return group.options.some(option => option?.group && selectedAssetTypes.includes(option.group));\n });\n } else this.assetFilterOptions = this.assetOptions;\n }\n\n clearFilters() {\n this.filteredAssets.setValue([]);\n this.filteredAssetTypes.setValue([]);\n this.startDateFilter.setValue(null);\n this.endDateFilter.setValue(null);\n this.setVisibleAssetOptions();\n this.handleFilterChange();\n }\n\n handleFilterChange() {\n this.currentPagination = { ...this.currentPagination, currentPage: 1, hasNext: false, hasPrevious: false };\n this.getDataRecords();\n }\n\n handlePaginationChange(newPaginationData: PaginationUi) {\n this.currentPagination = newPaginationData;\n this.getDataRecords();\n }\n\n onSortChange(event: { key: string; direction: 'asc' | 'desc' | '' }) {\n this.sortKey = event.key;\n this.sortDirection = event.direction;\n this.getDataRecords();\n }\n\n handleDeleteAllFilteredRecordsInitiate() {\n this.isDeleteDialogOpen = true;\n }\n\n handleDeleteAllFilteredRecordsClose() {\n this.isDeleteDialogOpen = false;\n }\n\n handleDeleteAllFilteredRecordsSubmit() {\n this.handleOnDeleteAllFilteredRecords();\n }\n\n handleOnDeleteAllFilteredRecords() {\n const startDate = this.startDateFilter.value ? convertToLocalDateOnlyUTC(this.startDateFilter.value) : undefined;\n const endDate = this.endDateFilter.value ? convertToLocalDateOnlyUTC(this.endDateFilter.value) : undefined;\n const filteredAssetTypes = Object.values(AssetType).filter(type => this.filteredAssetTypes.value.find(opt => type === opt.value));\n const filteredAssets = this.filteredAssets.value?.map(opt => opt.value);\n const inputType = Object.values(InputType).find(type => type === this.filteredInputType.value.value);\n\n this.isDeleteDialogOpen = false;\n }\n\n ngOnDestroy() {\n if (this.unitOptionsSubscription) {\n this.unitOptionsSubscription.unsubscribe();\n }\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { IndicatorDetailsUi, IndicatorUnitUi } from '../../indicator-details-state.service';\nimport { AllRecordsDialogStateService } from './all-records-dialog-state.service';\nimport { IndicatorTableValueDefinition, IndicatorValueType, RecordDuration } from 'src/api-client/report-api.generated';\n\n@Component({\n selector: 'esg-all-records-dialog',\n templateUrl: './all-records-dialog.component.html',\n styleUrl: './all-records-dialog.component.scss',\n providers: [AllRecordsDialogStateService],\n})\nexport class AllRecordsDialogComponent {\n @Input({ required: true }) indicator!: IndicatorDetailsUi;\n @Input({ required: true }) indicatorValueType!: IndicatorValueType;\n @Input({ required: true }) indicatorRecordDuration!: RecordDuration;\n @Input() indicatorUnit: IndicatorUnitUi = { key: '', name: '', label: '', description: '' };\n @Input() indicatorTableDefinition?: IndicatorTableValueDefinition;\n @Output() onClose = new EventEmitter();\n\n constructor(public state: AllRecordsDialogStateService) {}\n\n ngOnInit(): void {\n this.state.init(this.indicator.id);\n }\n}\n","\n
\n \n\n
\n

{{ indicator.name }}

\n All records\n \n \n
\n \n \n 1\"\n [fc]=\"state.filteredAssetTypes\"\n size=\"small\"\n [options]=\"state.assetTypeOptions\"\n [isFilter]=\"true\"\n placeholder=\"All asset types\"\n (onChange)=\"state.handleAssetTypeFilterChange()\">\n \n
\n
\n \n\n \n \n
\n \n
\n
\n
\n","import {\n UpdateIndicatorDataCommandParams,\n CreateIndicatorDataCommandParams,\n IndicatorValueType,\n IndicatorTableValue,\n GetIndicatorDataByQueryVm,\n ICreateIndicatorDataCommandParams,\n TimePeriod,\n TimePeriodType,\n RecordDuration,\n InputType,\n AssetType,\n} from 'src/api-client/report-api.generated';\nimport { IGroupedOptions, IOption } from 'src/app/static-data/options';\nimport { AssetApiService } from 'src/app/api-client/report-api/asset-api-service';\nimport { Injectable } from '@angular/core';\nimport { AssetCategoryLabel } from 'src/app/static-data/enum-mappings';\nimport { IndicatorDataApiService } from 'src/app/api-client/report-api/indicator-data-api-service';\nimport { CurrencyApiService } from 'src/app/api-client/report-api/currency-api-service';\nimport { sortOptionsAlphabetically } from 'src/app/shared/utils/array';\nimport { Subscription } from 'rxjs';\nimport { UnitService } from 'src/app/shared/services/unit/unit.service';\nimport { ITimePeriodData } from 'src/app/shared/components/time-period/time-period.component';\nimport { RecordSource } from 'src/app/shared/components/records-table/records-table.component';\nimport {\n DataRecordOutput,\n ExcelImportValidationMessage,\n FieldConfig,\n ImportDataOutput,\n} from 'src/app/shared/components/data-import-from-excel/data-import-from-excel-state.service';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\nimport { ExcelTimePeriodType } from 'src/app/static-data/constants';\nimport { PaginationUi } from 'src/app/shared/components/pagination/pagination.component';\nimport { FormControl } from '@angular/forms';\nimport { convertToLocalDateOnlyUTC } from 'src/app/shared/utils/date';\nimport { IMenuItem } from 'src/app/shared/ui/context-menu/context-menu.component';\n\nexport interface IndicatorRecordData {\n id: string;\n assetId: string;\n assetName: string;\n timePeriod: ITimePeriodData;\n description?: string;\n numericValue?: number;\n tableValue?: IndicatorTableValue;\n recordSource?: RecordSource;\n}\n\n@Injectable()\nexport class IndicatorDataStateService {\n readonly valueTypeEnum = IndicatorValueType;\n private unitOptionsSubscription?: Subscription;\n\n indicatorId?: string;\n indicatorRecordDuration?: RecordDuration;\n\n indicatorRecords: IndicatorRecordData[] = [];\n totalCount: number = 0;\n newlyAddedRowsIds: string[] = [];\n\n loading = false;\n isAllRecordsDialogOpen = false;\n isDeleteDialogOpen: boolean = false;\n\n assetOptions: IGroupedOptions[] = [];\n currencyOptions: IOption[] = [];\n unitOptions: IOption[] = [];\n\n sortKey: string = '';\n sortDirection: 'asc' | 'desc' | '' = '';\n\n currentPagination: PaginationUi = {\n currentPage: 1,\n totalPages: 1,\n pageSize: 50,\n totalCount: 0,\n hasPrevious: false,\n hasNext: false,\n };\n\n assetTypeOptions: IOption[] = [];\n inputTypeOptions: IOption[] = [\n { value: '', label: 'All Sources' },\n { value: InputType.Manual, label: 'Manual' },\n { value: InputType.ImportedFromExcel, label: 'Imported from excel' },\n { value: InputType.ImportedFrom3rdParty, label: 'Imported from 3rd party' },\n ];\n assetFilterOptions: IGroupedOptions[] = [];\n startDateFilter: FormControl = new FormControl(null);\n endDateFilter: FormControl = new FormControl(null);\n filteredAssets: FormControl = new FormControl([], { nonNullable: true });\n filteredAssetTypes: FormControl = new FormControl([], { nonNullable: true });\n filteredInputType: FormControl = new FormControl(this.inputTypeOptions[0], { nonNullable: true });\n\n get isFilterApplied(): boolean {\n return this.filteredInputType.value !== this.inputTypeOptions[0];\n }\n\n get deleteDialogMessage() {\n return `You have selected a total of ${this.currentPagination.totalCount} records to delete. Once you delete these records, \\n there is no turning back.`;\n }\n\n get getDisplayedItemsRange() {\n if (this.totalCount === 0) {\n return '0 – 0';\n }\n return 1 + ' – ' + Math.min(10, this.totalCount);\n }\n\n get intersectionObserverRootMargin() {\n return 136;\n }\n constructor(\n private assetApiService: AssetApiService,\n private indicatorDataService: IndicatorDataApiService,\n private notificationService: NotificationService,\n private currencyApiService: CurrencyApiService,\n private unitService: UnitService\n ) {\n this.unitOptionsSubscription = this.unitService.units$.subscribe(units => {\n this.unitOptions = Object.values(units).map(unit => ({\n value: unit.key,\n label: unit.name,\n }));\n });\n }\n\n excelTitle = 'Single value indicator';\n get importFromExcelFieldConfigs(): FieldConfig[] {\n switch (this.indicatorRecordDuration) {\n case RecordDuration.SingleDate:\n return [\n { propertyName: 'date', title: 'Date', type: 'date' },\n { propertyName: 'asset', title: 'Asset', type: 'string' },\n { propertyName: 'description', title: 'Description', type: 'string' },\n { propertyName: 'emissions', title: 'Emissions', type: 'number', optional: true },\n ];\n case RecordDuration.Period:\n return [\n { propertyName: 'periodType', title: 'Period Type', type: 'string' },\n { propertyName: 'year', title: 'Year', type: 'number' },\n { propertyName: 'quarterOrMonth', title: 'Quarter/Month', type: 'number' },\n { propertyName: 'asset', title: 'Asset', type: 'string' },\n { propertyName: 'description', title: 'Description', type: 'string' },\n { propertyName: 'emissions', title: 'Emissions', type: 'number', optional: true },\n ];\n default:\n return [\n { propertyName: 'startDate', title: 'Start Date', type: 'date' },\n { propertyName: 'endDate', title: 'End Date', type: 'date' },\n { propertyName: 'asset', title: 'Asset', type: 'string' },\n { propertyName: 'description', title: 'Description', type: 'string' },\n { propertyName: 'emissions', title: 'Emissions', type: 'number', optional: true },\n ];\n }\n }\n importFromExcelDialog = false;\n importFromExcelEnabled = true;\n importingInProgress = false;\n importingInProgressLabel = 'Importing...';\n\n async init(indicatorId: string, indicatorRecordDuration: RecordDuration) {\n this.indicatorId = indicatorId;\n this.indicatorRecordDuration = indicatorRecordDuration;\n this.loading = true;\n await Promise.all([this.getAssetOptions(), this.getDataRecords(), this.getCurrencies()]);\n this.loading = false;\n }\n\n importDataFromExcelClose() {\n this.importFromExcelDialog = false;\n }\n\n handleOnImportAssets() {\n this.importFromExcelDialog = true;\n }\n\n validateExcelAssets(records: DataRecordOutput[]): ExcelImportValidationMessage | undefined {\n const assets = this.assetOptions.flatMap(group => group.options);\n const notMappedRecordAssets = records.filter(\n record =>\n typeof record.asset?.value !== 'string' ||\n !assets.some(asset => asset.label.trim().toUpperCase() === record.asset?.value.trim().toUpperCase())\n );\n\n if (notMappedRecordAssets.length) {\n const notMappedAssetsString = notMappedRecordAssets.map(record => record.asset.value).join(', ');\n return {\n title: 'Not valid imported data',\n description: `The following assets are not mapped to any of your assets: ${notMappedAssetsString}`,\n };\n }\n return undefined;\n }\n\n validateExcelTimePeriodType(records: DataRecordOutput[]): ExcelImportValidationMessage | undefined {\n const validTimePeriodTypes = Object.values(ExcelTimePeriodType);\n\n const notMappedPeriodTypes = records.filter(\n record => typeof record.periodType?.value !== 'string' || !validTimePeriodTypes.includes(record.periodType?.value)\n );\n\n if (notMappedPeriodTypes.length) {\n const notMappedPeriodTypesString = notMappedPeriodTypes.map(record => record.periodType.value).join(', ');\n return {\n title: 'Not valid imported data',\n description: `The following time period are not mapped to any of your time period: ${notMappedPeriodTypesString}`,\n };\n }\n return undefined;\n }\n\n validateExcelTimePeriod(records: DataRecordOutput[]): ExcelImportValidationMessage | undefined {\n const notMappedPeriod = records.filter(record => {\n const periodType = record.periodType?.value;\n const periodValue = record.quarterOrMonth?.value;\n\n if (periodType === ExcelTimePeriodType.Month) {\n return periodValue < 1 || periodValue > 12;\n } else if (periodType === ExcelTimePeriodType.Quarter) {\n return periodValue < 1 || periodValue > 4;\n }\n\n return false;\n });\n\n if (notMappedPeriod.length) {\n const notMappedPeriodString = notMappedPeriod.map(record => record.quarterOrMonth?.value).join(', ');\n return {\n title: 'Not valid imported data',\n description: `The following Quarter/Month have invalid values: ${notMappedPeriodString}`,\n };\n }\n return undefined;\n }\n\n getAssetOptionColumn(assetName: string) {\n const findAsset = this.assetOptions\n .flatMap(group => group.options)\n .find(asset => asset.label.trim().toUpperCase() === assetName.trim().toUpperCase());\n if (!findAsset) {\n this.notificationService.showError('Not mapped asset', `Not mapped asset for ${assetName}`);\n throw Error();\n }\n return findAsset;\n }\n\n createTimePeriod(record: DataRecordOutput): TimePeriod {\n const periodType = record.periodType?.value;\n\n if (this.indicatorRecordDuration === RecordDuration.SingleDate) {\n return TimePeriod.fromJS({\n type: TimePeriodType.Custom,\n customStart: record.date?.value,\n customEnd: record.date?.value,\n });\n } else if (this.indicatorRecordDuration === RecordDuration.Period) {\n if (periodType === ExcelTimePeriodType.Annual) {\n return TimePeriod.fromJS({\n type: TimePeriodType.Annual,\n year: record.year?.value,\n period: 1,\n });\n } else if (periodType === ExcelTimePeriodType.Month) {\n return TimePeriod.fromJS({\n type: TimePeriodType.Monthly,\n year: record.year?.value,\n period: record.quarterOrMonth?.value,\n });\n } else if (periodType === ExcelTimePeriodType.Quarter) {\n return TimePeriod.fromJS({\n type: TimePeriodType.Quarterly,\n year: record.year?.value,\n period: record.quarterOrMonth?.value,\n });\n }\n }\n\n return TimePeriod.fromJS({\n type: TimePeriodType.Custom,\n customStart: record.startDate?.value,\n customEnd: record.endDate?.value,\n });\n }\n\n async importDataFromExcel(data: ImportDataOutput) {\n this.importingInProgress = true;\n this.importingInProgressLabel = 'Importing...';\n let validationMessages: ExcelImportValidationMessage[] = [];\n\n const assetValidation = this.validateExcelAssets(data.records);\n if (assetValidation) {\n validationMessages.push(assetValidation);\n }\n\n if (this.indicatorRecordDuration === RecordDuration.Period) {\n const timePeriodTypeValidation = this.validateExcelTimePeriodType(data.records);\n if (timePeriodTypeValidation) {\n validationMessages.push(timePeriodTypeValidation);\n }\n\n const timePeriodValidation = this.validateExcelTimePeriod(data.records);\n if (timePeriodValidation) {\n validationMessages.push(timePeriodValidation);\n }\n }\n\n if (validationMessages.length) {\n validationMessages.forEach(message => {\n this.notificationService.showError(message.title, message.description);\n });\n this.importingInProgress = false;\n return;\n }\n\n var recordsToAdd = data.records.length;\n var recordsAdded = 0;\n this.importingInProgressLabel = `Imported ${recordsAdded} of ${recordsToAdd}`;\n try {\n const addRecordPromises = data.records.map(async (record, index) => {\n try {\n const asset = this.getAssetOptionColumn(record.asset?.value);\n const timePeriod = this.createTimePeriod(record);\n\n const indicator: ICreateIndicatorDataCommandParams = {\n indicatorId: this.indicatorId ?? '',\n assetId: asset.value,\n timePeriod: timePeriod,\n description: record.description?.value,\n valueType: IndicatorValueType.Numeric,\n inputType: InputType.ImportedFromExcel,\n numericValue: record.emissions?.value,\n };\n var result = await this.indicatorDataService.createIndicatorData(\n new CreateIndicatorDataCommandParams(indicator)\n );\n if (!result.success) {\n this.notificationService.showError(\n `Indicator record from row ${index + 1} not added`,\n result.message || 'Unknown error'\n );\n }\n ++recordsAdded;\n this.importingInProgressLabel = `Imported ${recordsAdded} of ${recordsToAdd}`;\n return result;\n } catch (err) {\n console.error(`Somthing went wrong for record in row ${index + 1} `, record);\n throw err;\n }\n });\n\n var response = await Promise.all(addRecordPromises);\n response.forEach((res, index) => {\n if (res) {\n const addedId = res.result?.id;\n if (addedId) {\n this.newlyAddedRowsIds.push(addedId);\n this.delayRemoveAddedId(addedId, 15000);\n }\n }\n });\n\n await this.getDataRecords();\n this.importingInProgress = false;\n this.importingInProgressLabel = '';\n this.importDataFromExcelClose();\n } catch (e) {\n this.importingInProgress = false;\n this.importingInProgressLabel = '';\n }\n }\n\n async getAssetOptions() {\n const response = await this.assetApiService.getAllAssetOptions();\n const assets = response.result;\n\n const groupedAssets: { [key: string]: IGroupedOptions } = {};\n this.assetTypeOptions = [];\n\n assets.map(a => {\n if (!groupedAssets[a.assetType]) {\n this.assetTypeOptions.push({ value: a.assetType, label: AssetCategoryLabel[a.assetType] });\n groupedAssets[a.assetType] = { label: AssetCategoryLabel[a.assetType], options: [] };\n }\n groupedAssets[a.assetType].options.push({ value: a.id, label: a.name });\n });\n\n this.assetOptions = Object.values(groupedAssets);\n this.assetFilterOptions = this.assetOptions;\n }\n\n async getDataRecords() {\n if (this.indicatorId) {\n const startDate = this.startDateFilter.value ? convertToLocalDateOnlyUTC(this.startDateFilter.value) : undefined;\n const endDate = this.endDateFilter.value ? convertToLocalDateOnlyUTC(this.endDateFilter.value) : undefined;\n const response = await this.indicatorDataService.getIndicatorDataBy(\n this.indicatorId,\n startDate,\n endDate,\n this.filteredAssets.value.map(opt => opt.value),\n Object.values(AssetType).filter(type => this.filteredAssetTypes.value.find(opt => type === opt.value)),\n this.filteredInputType.value.value as InputType,\n this.sortDirection ? this.sortKey + ' ' + this.sortDirection : undefined,\n this.currentPagination.currentPage,\n this.currentPagination.pageSize\n );\n\n this.currentPagination = {\n currentPage: response.result.currentPage,\n totalPages: response.result.totalPages,\n pageSize: response.result.pageSize,\n totalCount: response.result.totalCount,\n hasPrevious: response.result.hasPrevious,\n hasNext: response.result.hasNext,\n };\n\n const assetMap = new Map(\n this.assetOptions.flatMap(group => group.options.map(option => [option.value, option.label]))\n );\n\n this.indicatorRecords = response.result.items.map(record => {\n const recordSource = (() => {\n if (record.dataRecordId) return RecordSource.RawData;\n if (record.indicatorDataId) return RecordSource.IndicatorDefinition;\n if (record.inputType === InputType.ImportedFromExcel) return RecordSource.ImportedFromExcel;\n if (record.inputType === InputType.ImportedFrom3rdParty) return RecordSource.ImportedFrom3rdParty;\n return undefined;\n })();\n return {\n id: record.id,\n assetId: record.assetId,\n assetName: assetMap.get(record.assetId) || '',\n timePeriod: record.timePeriod,\n description: GetIndicatorDataDescription(record),\n numericValue: record.numericValue,\n tableValue: record.tableValue,\n recordSource: recordSource,\n };\n });\n }\n }\n\n async getCurrencies() {\n const response = await this.currencyApiService.getAllCurrencies();\n this.currencyOptions = sortOptionsAlphabetically(\n response.result.map(currency => ({ value: currency.code, label: currency.code }))\n );\n }\n\n async delayRemoveAddedId(addedId: string, ms: number) {\n await new Promise(resolve => setTimeout(resolve, ms));\n this.newlyAddedRowsIds = this.newlyAddedRowsIds.filter(id => id !== addedId);\n }\n\n async handleAddRecord(params: CreateIndicatorDataCommandParams) {\n const response = await this.indicatorDataService.createIndicatorData(params);\n\n if (response.success) {\n this.getDataRecords();\n const addedId = response.result.id;\n this.newlyAddedRowsIds.push(addedId);\n this.delayRemoveAddedId(addedId, 15000);\n }\n }\n\n async handleUpdateRecord(params: UpdateIndicatorDataCommandParams) {\n const response = await this.indicatorDataService.updateIndicatorData(params);\n\n if (response.success) {\n this.getDataRecords();\n }\n }\n\n handleDeleteRecord(id: string) {\n this.indicatorDataService.deleteIndicatorData(id).then(response => {\n if (response.success) {\n this.getDataRecords();\n }\n });\n }\n\n handleOpenAllRecordsDialog() {\n this.isAllRecordsDialogOpen = true;\n }\n\n handleCloseAllRecordsDialog() {\n this.isAllRecordsDialogOpen = false;\n }\n\n onSortChange(event: { key: string; direction: 'asc' | 'desc' | '' }) {\n this.sortKey = event.key;\n this.sortDirection = event.direction;\n this.getDataRecords();\n }\n\n filterMenuProvider = (): IMenuItem[] => [\n { id: 'clear', label: 'Clear all filters', onClick: () => this.clearFilters() },\n {\n id: 'delete',\n label: 'Delete all filtered records',\n onClick: () => this.handleDeleteAllFilteredRecordsInitiate(),\n disabled: this.currentPagination.totalCount === 0 || !this.isFilterApplied,\n },\n ];\n\n handleAssetTypeFilterChange() {\n this.setVisibleAssetOptions();\n this.handleFilterChange();\n }\n\n handleInputTypeChange(value: IOption) {\n this.filteredInputType.setValue(value);\n this.handleFilterChange();\n }\n\n setVisibleAssetOptions() {\n if (this.filteredAssetTypes.value.length) {\n const selectedAssetTypes = this.filteredAssetTypes.value.map(option => option.value);\n this.filteredAssets.setValue(\n this.filteredAssets.value.filter(opt => opt?.group && selectedAssetTypes.includes(opt.group))\n );\n this.assetFilterOptions = this.assetOptions.filter(group => {\n return group.options.some(option => option?.group && selectedAssetTypes.includes(option.group));\n });\n } else this.assetFilterOptions = this.assetOptions;\n }\n\n handlePaginationChange(newPaginationData: PaginationUi) {\n this.currentPagination = newPaginationData;\n this.getDataRecords();\n }\n\n handleFilterChange() {\n this.currentPagination = { ...this.currentPagination, currentPage: 1, hasNext: false, hasPrevious: false };\n this.getDataRecords();\n }\n\n clearFilters() {\n this.filteredAssets.setValue([]);\n this.filteredAssetTypes.setValue([]);\n this.startDateFilter.setValue(null);\n this.endDateFilter.setValue(null);\n this.filteredInputType.setValue(this.inputTypeOptions[0]);\n this.setVisibleAssetOptions();\n this.handleFilterChange();\n }\n\n handleDeleteAllFilteredRecordsInitiate() {\n this.isDeleteDialogOpen = true;\n }\n\n handleDeleteAllFilteredRecordsClose() {\n this.isDeleteDialogOpen = false;\n }\n\n handleDeleteAllFilteredRecordsSubmit() {\n this.handleOnDeleteAllFilteredRecords();\n }\n\n handleOnDeleteAllFilteredRecords() {\n if (this.indicatorId) {\n const startDate = this.startDateFilter.value ? convertToLocalDateOnlyUTC(this.startDateFilter.value) : undefined;\n const endDate = this.endDateFilter.value ? convertToLocalDateOnlyUTC(this.endDateFilter.value) : undefined;\n const filteredAssetTypes = Object.values(AssetType).filter(type =>\n this.filteredAssetTypes.value.find(opt => type === opt.value)\n );\n const filteredAssets = this.filteredAssets.value?.map(opt => opt.value);\n const inputType = Object.values(InputType).find(type => type === this.filteredInputType.value.value);\n\n this.isDeleteDialogOpen = false;\n this.indicatorDataService\n .deleteIndicatorDataBy(this.indicatorId, startDate, endDate, filteredAssetTypes, filteredAssets, inputType)\n .then(response => {\n if (response.success) {\n this.notificationService.showSuccess(\n this.currentPagination.totalCount + ' Records were successfully deleted'\n );\n this.getDataRecords();\n }\n });\n }\n }\n\n ngOnDestroy() {\n if (this.unitOptionsSubscription) {\n this.unitOptionsSubscription.unsubscribe();\n }\n }\n}\n\nexport function GetIndicatorDataDescription(record: GetIndicatorDataByQueryVm) {\n if (record.indicatorDataId) {\n return `Indicator / ${record.indicatorName}` + (record.description ? ` / ${record.description}` : '');\n } else if (record.dataRecordId) {\n return `RawData / ${record.dataRecordTypeName}`;\n } else {\n return record.description;\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { IndicatorDataStateService } from './indicator-data-state.service';\nimport { IndicatorDetailsUi, IndicatorUnitUi } from '../indicator-details-state.service';\nimport { IndicatorTableValueDefinition, IndicatorValueType, RecordDuration } from 'src/api-client/report-api.generated';\nimport { ObjectArray } from 'src/app/shared/utils/object-array';\nimport { CompatibleDataSource } from '../indicator-properties/indicator-properties.component';\n\n@Component({\n selector: 'esg-indicator-data',\n templateUrl: './indicator-data.component.html',\n styleUrl: './indicator-data.component.scss',\n providers: [IndicatorDataStateService],\n})\nexport class IndicatorDataComponent {\n @Input({ required: true }) indicator!: IndicatorDetailsUi;\n @Input({ required: true }) indicatorUnit!: IndicatorUnitUi;\n @Input({ required: true }) indicatorRecordDuration!: RecordDuration;\n @Input({ required: true }) indicatorValueType!: IndicatorValueType;\n @Input() indicatorTableDefinition?: IndicatorTableValueDefinition;\n @Input() compatibleRawDataSources: ObjectArray = {};\n\n public isSingleIndicator: boolean = false;\n public isAddEnabled: boolean = false;\n\n constructor(public state: IndicatorDataStateService) {}\n\n ngOnInit(): void {\n this.state.init(this.indicator.id, this.indicatorRecordDuration);\n this.isSingleIndicator = this.indicatorValueType === IndicatorValueType.Numeric;\n this.isAddEnabled = Object.keys(this.compatibleRawDataSources).length == 0;\n }\n}\n","\n
\n \n
\n \n
\n \n \n 1\"\n [fc]=\"state.filteredAssetTypes\"\n size=\"small\"\n [options]=\"state.assetTypeOptions\"\n [isFilter]=\"true\"\n placeholder=\"All asset types\"\n (onChange)=\"state.handleAssetTypeFilterChange()\">\n \n \n
\n
\n \n \n \n
\n\n\n\n\n\n","import { Component, Input, SimpleChanges } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport {\n CreateIndicatorDataCommandParams,\n IndicatorValueType,\n InputType,\n TimePeriod,\n TimePeriodType,\n UpdateIndicatorDataCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { RecordBodyRow, RecordHeaderCell } from 'src/app/shared/components/records-table/records-table.component';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\nimport { IOption } from 'src/app/static-data/options';\nimport { IndicatorUnitUi } from '../../indicator-details-state.service';\nimport { ITimePeriodData } from 'src/app/shared/components/time-period/time-period.component';\nimport { IndicatorRecordForm, IndicatorRecordsComponent } from '../indicator-records.component';\nimport { GenericRowUi } from 'src/app/shared/table/generic-table/generic-table.types';\n\n@Component({\n selector: 'esg-indicator-record-form-table',\n templateUrl: './indicator-record-form-table.component.html',\n styleUrl: './indicator-record-form-table.component.scss',\n})\nexport class IndicatorRecordFormTableComponent extends IndicatorRecordsComponent {\n @Input() indicatorUnit: IndicatorUnitUi = { key: '', name: '', label: '', description: '' };\n\n dataRecordsRows: RecordBodyRow[] = [];\n headerCells: RecordHeaderCell[] = [];\n\n editRecordId?: string;\n recordFc?: IndicatorRecordForm = undefined;\n recordFormgroup?: FormGroup = undefined;\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.indicatorRecords) {\n this.setRecordsRows();\n }\n\n if (changes.indicatorUnit) {\n this.setHeaderCells();\n }\n }\n\n setHeaderCells() {\n this.headerCells = [\n {\n columnId: 'period',\n label: 'Period',\n description: this.periodDescription,\n number: false,\n sortFieldName: 'StartDate',\n },\n { columnId: 'asset', label: 'Asset', description: '', number: false, sortFieldName: 'AssetName' },\n {\n columnId: 'description',\n label: 'Description',\n description: '',\n number: false,\n optional: true,\n sortFieldName: 'description_lowercase',\n },\n {\n columnId: 'value',\n label: this.indicatorUnit.label || 'Value',\n description: this.indicatorUnit.name,\n number: true,\n sortFieldName: 'numericValue',\n },\n ];\n }\n\n setRecordsRows() {\n this.dataRecordsRows = this.indicatorRecords.map(record => ({\n id: record.id,\n recordSource: record.recordSource,\n cells: [\n {\n columnId: 'period',\n value: this.getDurationLabel(record.timePeriod),\n number: false,\n },\n {\n columnId: 'asset',\n value: this.assetOptions.flatMap(group => group.options).find(c => c.value === record.assetId)?.label || '',\n number: false,\n },\n { columnId: 'description', value: record.description || '', number: false },\n {\n columnId: 'value',\n value: record.numericValue?.toString() || '',\n number: true,\n unit: this.indicatorUnit.name === 'Number' ? '' : this.indicatorUnit.name,\n },\n ],\n }));\n }\n\n handleOnIniateAddRecord() {\n if (this.editRecordId) this.handleCloseForm();\n if (!this.showPeriodSelector) this.startDateOpen = true;\n this.setAddRecordForm();\n }\n\n setAddRecordForm() {\n this.recordFc = {\n startDate: new FormControl(new Date(), {\n validators: this.showPeriodSelector ? null : [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(new Date(), {\n validators: this.indicatorRecordDuration === this.recordDurationEnum.DateFromTo ? [Validators.required] : null,\n nonNullable: true,\n }),\n timePeriod: new FormControl(this.defaultTimeperiod, {\n validators: this.showPeriodSelector ? [Validators.required] : null,\n nonNullable: true,\n }),\n asset: new FormControl(this.getDefaultAssetOption(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n description: new FormControl('', { validators: [Validators.required], nonNullable: true }),\n singleValue: new FormControl('', { validators: [Validators.required], nonNullable: true }),\n tableValue: new FormControl([], { nonNullable: true }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n\n handleOnInitateEditRecord(id: string) {\n this.editRecordId = id;\n this.setEditRecordForm(id);\n }\n\n setEditRecordForm(id: string) {\n const record = this.indicatorRecords.find(record => record.id === id);\n if (record) {\n this.recordFc = {\n startDate: new FormControl(record.timePeriod.customStart || new Date(), {\n validators: this.showPeriodSelector ? null : [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(record.timePeriod.customEnd || new Date(), {\n validators:\n this.indicatorRecordDuration === this.recordDurationEnum.DateFromTo ? [Validators.required] : null,\n nonNullable: true,\n }),\n timePeriod: new FormControl(\n record.timePeriod?.type ? record.timePeriod : this.defaultTimeperiod,\n {\n validators: this.showPeriodSelector ? [Validators.required] : null,\n nonNullable: true,\n }\n ),\n asset: new FormControl(\n this.assetOptions.flatMap(group => group.options).find(opt => opt.value === record.assetId) ||\n this.getDefaultAssetOption(),\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n description: new FormControl(record.description || '', {\n validators: [Validators.required],\n nonNullable: true,\n }),\n singleValue: new FormControl(record.numericValue?.toString() || '', {\n validators: [Validators.required],\n nonNullable: true,\n }),\n tableValue: new FormControl([], {\n nonNullable: true,\n }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n }\n\n handleOnSubmit() {\n if (this.startDateOpen || this.endDateOpen) return;\n\n this.hasSubmitted = true;\n\n if (this.recordFormgroup?.valid && this.recordFc && this.recordFc.asset.value?.value) {\n const timePeriod = this.showPeriodSelector\n ? new TimePeriod(this.recordFc.timePeriod.value)\n : new TimePeriod({\n type: TimePeriodType.Custom,\n customStart: this.recordFc.startDate.value,\n customEnd:\n this.indicatorRecordDuration === this.recordDurationEnum.SingleDate\n ? this.recordFc.startDate.value\n : this.recordFc.endDate.value,\n });\n\n const record = {\n indicatorId: this.indicatorId,\n timePeriod: timePeriod,\n assetId: this.recordFc.asset.value.value,\n description: this.recordFc.description.value,\n valueType: IndicatorValueType.Numeric,\n inputType: InputType.Manual,\n numericValue: formattedStringToNumber(this.recordFc.singleValue.value || '') || 0,\n };\n\n if (this.editRecordId) {\n this.onUpdate.emit(\n new UpdateIndicatorDataCommandParams({\n id: this.editRecordId,\n ...record,\n })\n );\n } else {\n this.handleCloseForm();\n this.onCreate.emit(new CreateIndicatorDataCommandParams(record));\n }\n }\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport {\n CreateIndicatorDataCommandParams,\n RecordDuration,\n TimePeriodType,\n UpdateIndicatorDataCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { IMenuItem } from 'src/app/shared/ui/context-menu/context-menu.component';\nimport { IGroupedOptions, IOption, globalMonthShortOptions, globalQuarterOptions } from 'src/app/static-data/options';\nimport { IndicatorRecordData } from './indicator-data-state.service';\nimport { ITimePeriodData } from 'src/app/shared/components/time-period/time-period.component';\nimport { GenericRowUi } from 'src/app/shared/table/generic-table/generic-table.types';\nimport { formatDate } from '@angular/common';\n\nexport interface IndicatorRecordForm {\n startDate: FormControl;\n endDate: FormControl;\n timePeriod: FormControl;\n asset: FormControl;\n tableValue: FormControl;\n description: FormControl;\n singleValue: FormControl;\n}\n\n@Component({ template: '' })\nexport abstract class IndicatorRecordsComponent {\n @Input({ required: true }) indicatorId!: string;\n @Input({ required: true }) indicatorRecordDuration!: RecordDuration;\n @Input() indicatorRecords: IndicatorRecordData[] = [];\n @Input() newlyAddedRowsIds: string[] = [];\n @Input() assetOptions: IGroupedOptions[] = [];\n @Input() isAddEnabled: boolean = true;\n @Input() stickyHeaderTopOffset: number = 55;\n @Input() intersectionObserverRootMargin: number = 136;\n @Input() stickyHeaderPadding: number = 100;\n\n @Output() onCreate = new EventEmitter();\n @Output() onUpdate = new EventEmitter();\n @Output() onDelete = new EventEmitter();\n @Output() onSortChange = new EventEmitter<{ key: string; direction: 'asc' | 'desc' | '' }>();\n\n readonly recordDurationEnum = RecordDuration;\n\n recordFc?: IndicatorRecordForm = undefined;\n recordFormgroup?: FormGroup = undefined;\n editRecordId?: string;\n\n startDateOpen = false;\n endDateOpen = false;\n hasSubmitted: boolean = false;\n sortKey: string = '';\n sortDirection: 'asc' | 'desc' | '' = '';\n\n defaultTimeperiod = {\n type: TimePeriodType.Annual,\n year: new Date().getFullYear(),\n period: 1,\n };\n\n get isAssetsDisabled() {\n return this.assetOptions.flatMap(group => group.options).length < 2;\n }\n\n get showPeriodSelector() {\n return this.indicatorRecordDuration === this.recordDurationEnum.Period;\n }\n\n get periodDescription() {\n switch (this.indicatorRecordDuration) {\n case RecordDuration.DateFromTo:\n return 'From - To';\n case RecordDuration.SingleDate:\n return 'Date';\n case RecordDuration.Period:\n return 'Interval';\n default:\n return '';\n }\n }\n\n handleOnSubmit() {}\n\n handleOnDelete(id: string) {\n this.onDelete.emit(id);\n }\n\n handleCloseForm() {\n if (!this.startDateOpen && !this.endDateOpen) {\n if (this.editRecordId) {\n if (this.recordFormgroup?.dirty) this.handleOnSubmit();\n this.editRecordId = undefined;\n }\n this.resetForm();\n }\n }\n\n getDurationLabel(timePeriod: ITimePeriodData) {\n switch (timePeriod.type) {\n case TimePeriodType.Annual: {\n return timePeriod?.year ? (timePeriod?.year).toString() : '';\n }\n case TimePeriodType.Quarterly: {\n if (!timePeriod?.period || !timePeriod?.year) return '';\n const year = timePeriod.year.toString();\n const quarter =\n globalQuarterOptions.find(option => option.value === timePeriod?.period?.toString())?.label || '';\n return quarter + ' ' + year;\n }\n case TimePeriodType.Monthly: {\n if (!timePeriod?.period || !timePeriod?.year) return '';\n const year = timePeriod.year.toString();\n const month =\n globalMonthShortOptions.find(option => option.value === timePeriod?.period?.toString())?.label || '';\n return month + ' ' + year;\n }\n case TimePeriodType.Custom: {\n const startDate = timePeriod?.customStart;\n\n if (this.indicatorRecordDuration === this.recordDurationEnum.SingleDate && startDate) {\n return formatDate(startDate, 'dd. MMM yyyy', 'en_US');\n }\n const endDate = timePeriod?.customEnd;\n if (!startDate || !endDate) {\n return '';\n }\n return formatDate(startDate, 'dd. MMM yyyy', 'en_US') + ' - ' + formatDate(endDate, 'dd. MMM yyyy', 'en_US');\n }\n default:\n return '';\n }\n }\n\n getDefaultAssetOption(): IOption | undefined {\n for (const group of this.assetOptions) {\n if (group.options.length > 0) {\n return group.options[0];\n }\n }\n return undefined;\n }\n\n onStartDateClose() {\n this.startDateOpen = false;\n const endDateControl = this.recordFormgroup?.controls['endDate'];\n const startDateControl = this.recordFormgroup?.controls['startDate'];\n if (!this.editRecordId && startDateControl && endDateControl && !endDateControl.touched) {\n endDateControl.setValue(startDateControl.value);\n if (endDateControl.hasValidator(Validators.required)) this.endDateOpen = true;\n }\n }\n\n handleDropdownChange(formControl: FormControl, option: IOption) {\n if (option !== formControl.value) {\n formControl.setValue(option);\n formControl.markAsDirty();\n }\n }\n\n userContextMenuProvider = (id: string, connected: boolean = false): IMenuItem[] => [\n {\n id: 'history',\n label: 'History',\n onClick: () => {},\n disabled: true,\n },\n {\n id: 'delete',\n label: 'Delete',\n onClick: () => {\n this.handleOnDelete(id);\n },\n disabled: connected,\n },\n ];\n\n resetForm() {\n this.startDateOpen = false;\n this.endDateOpen = false;\n\n this.recordFc = undefined;\n this.recordFormgroup = undefined;\n\n this.hasSubmitted = false;\n }\n\n handleOnSortChange(event: { key: string; direction: 'asc' | 'desc' | '' }) {\n this.sortKey = event.key;\n this.sortDirection = event.direction;\n this.onSortChange.emit(event);\n }\n}\n","import { Component, Input } from '@angular/core';\nimport {\n CellValueType,\n CreateIndicatorDataCommandParams,\n IColumnDefinition,\n IRowDefinition,\n IndicatorTableCellValue,\n IndicatorTableValue,\n IndicatorTableValueDefinition,\n IndicatorTableValueRow,\n IndicatorValueType,\n InputType,\n TimePeriod,\n TimePeriodType,\n UpdateIndicatorDataCommandParams,\n} from 'src/api-client/report-api.generated';\nimport {\n GenericColumnType,\n GenericColumnUi,\n GenericRowUi,\n mapCellValueTypeToGenericType,\n} from 'src/app/shared/table/generic-table/generic-table.types';\nimport { formattedStringToNumber } from 'src/app/shared/utils/number-converters';\nimport { IOption } from 'src/app/static-data/options';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { v4 as uuidv4 } from 'uuid';\nimport { IndicatorRecordForm, IndicatorRecordsComponent } from '../indicator-records.component';\nimport { ITimePeriodData } from 'src/app/shared/components/time-period/time-period.component';\nimport { IndicatorRecordData } from '../indicator-data-state.service';\n\n@Component({\n selector: 'esg-indicator-table-records',\n templateUrl: './indicator-table-records.component.html',\n styleUrl: './indicator-table-records.component.scss',\n})\nexport class IndicatorTableRecordsComponent extends IndicatorRecordsComponent {\n @Input({ required: true }) tableDefinition!: IndicatorTableValueDefinition;\n @Input() currencyOptions: IOption[] = [];\n @Input() unitOptions: IOption[] = [];\n\n columns: GenericColumnUi[] = [];\n columnTypeMap: Map = new Map();\n columnOptionsMap: Map = new Map();\n columnUnitMap: Map = new Map();\n\n stickyHeaders: boolean = false;\n\n get rootObserverMargin() {\n return `${-this.intersectionObserverRootMargin}px 0px 0px 0px`;\n }\n\n ngOnInit(): void {\n const tableDefinitionHasRows = this.tableDefinition.rows && this.tableDefinition.rows.length > 0;\n\n this.columns =\n this.tableDefinition.columns.map((col: IColumnDefinition, index) => ({\n header: col.header,\n description: col.description,\n columnId: col.columnId,\n type:\n tableDefinitionHasRows && index === 0\n ? GenericColumnType.StaticText\n : mapCellValueTypeToGenericType(col.type),\n width: undefined,\n unit: col.unit,\n })) || [];\n\n this.columns.forEach(column => {\n this.columnTypeMap.set(column.columnId, column.type);\n this.columnUnitMap.set(column.columnId, column.unit);\n if (column.options) {\n this.columnOptionsMap.set(column.columnId, column.options);\n }\n });\n\n this.indicatorRecords = this.indicatorRecords.map(record => ({\n ...record,\n assetName:\n this.assetOptions.flatMap(group => group.options).find(opt => opt.value === record.assetId)?.label || '',\n }));\n }\n\n handleOnIniateAddRecord(event: Event) {\n event.stopPropagation();\n if (!this.isAddEnabled) return;\n if (this.editRecordId) this.handleCloseForm();\n if (!this.showPeriodSelector) this.startDateOpen = true;\n this.setAddRecordForm();\n }\n\n setAddRecordForm() {\n const newRecord = this.getEmptyTableValue();\n this.recordFc = {\n startDate: new FormControl(new Date(), {\n validators: this.showPeriodSelector ? null : [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(new Date(), {\n validators: this.indicatorRecordDuration === this.recordDurationEnum.DateFromTo ? [Validators.required] : null,\n nonNullable: true,\n }),\n timePeriod: new FormControl(this.defaultTimeperiod, {\n validators: this.showPeriodSelector ? [Validators.required] : null,\n nonNullable: true,\n }),\n asset: new FormControl(this.getDefaultAssetOption(), {\n validators: [Validators.required],\n nonNullable: true,\n }),\n tableValue: new FormControl(newRecord, {\n validators: [Validators.required],\n nonNullable: true,\n }),\n description: new FormControl('', { nonNullable: true }),\n singleValue: new FormControl('', { nonNullable: true }),\n };\n\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n\n handleOnInitateEditRecord(event: Event, id: string) {\n event.stopPropagation();\n this.editRecordId = id;\n this.setEditRecordForm(id);\n }\n\n setEditRecordForm(id: string) {\n const record = this.indicatorRecords.find(record => record.id === id);\n if (record) {\n this.recordFc = {\n startDate: new FormControl(record.timePeriod.customStart || new Date(), {\n validators: this.showPeriodSelector ? null : [Validators.required],\n nonNullable: true,\n }),\n endDate: new FormControl(record.timePeriod.customEnd || new Date(), {\n validators:\n this.indicatorRecordDuration === this.recordDurationEnum.DateFromTo ? [Validators.required] : null,\n nonNullable: true,\n }),\n timePeriod: new FormControl(\n record.timePeriod?.type ? record.timePeriod : this.defaultTimeperiod,\n {\n validators: this.showPeriodSelector ? [Validators.required] : null,\n nonNullable: true,\n }\n ),\n asset: new FormControl(\n this.assetOptions.flatMap(group => group.options).find(opt => opt.value === record.assetId) ||\n this.getDefaultAssetOption(),\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n tableValue: new FormControl(\n record.tableValue ? this.convertTableValueToGenericRowUi(record.tableValue) : this.getEmptyTableValue(),\n {\n validators: [Validators.required],\n nonNullable: true,\n }\n ),\n description: new FormControl('', { nonNullable: true }),\n singleValue: new FormControl('', { nonNullable: true }),\n };\n this.recordFormgroup = new FormGroup(this.recordFc);\n }\n }\n\n handleOnSubmit() {\n if (this.startDateOpen || this.endDateOpen) return;\n\n this.hasSubmitted = true;\n\n if (this.recordFormgroup?.valid && this.recordFc && this.recordFc.asset.value?.value) {\n const timePeriod = this.showPeriodSelector\n ? new TimePeriod(this.recordFc.timePeriod.value)\n : new TimePeriod({\n type: TimePeriodType.Custom,\n customStart: this.recordFc.startDate.value,\n customEnd:\n this.indicatorRecordDuration === this.recordDurationEnum.SingleDate\n ? this.recordFc.startDate.value\n : this.recordFc.endDate.value,\n });\n\n const record = {\n indicatorId: this.indicatorId,\n description: '',\n timePeriod: timePeriod,\n assetId: this.recordFc.asset.value.value,\n valueType: IndicatorValueType.Table,\n inputType: InputType.Manual,\n tableValue: new IndicatorTableValue({\n rows: this.recordFc.tableValue.value.map(\n row =>\n new IndicatorTableValueRow({\n rowId: row.rowId,\n cells: row.values.map(\n cell =>\n new IndicatorTableCellValue({\n columnId: cell.columnId,\n value: formattedStringToNumber(cell.value?.toString() || ''),\n unit: cell.unit,\n })\n ),\n })\n ),\n }),\n };\n if (this.editRecordId) {\n this.onUpdate.emit(\n new UpdateIndicatorDataCommandParams({\n id: this.editRecordId,\n ...record,\n })\n );\n } else {\n this.handleCloseForm();\n this.onCreate.emit(new CreateIndicatorDataCommandParams(record));\n }\n }\n }\n\n handleTableValueChange(row: GenericRowUi) {\n if (this.recordFc) {\n this.recordFc.tableValue.setValue(this.recordFc.tableValue.value.map(r => (r.rowId === row.rowId ? row : r)));\n this.recordFc.tableValue.markAsDirty();\n }\n }\n\n trackByRecordId(index: number, record: IndicatorRecordData): string {\n return record.id;\n }\n\n handleStickyHeaders(observerEntry: IntersectionObserverEntry) {\n this.stickyHeaders = observerEntry.intersectionRatio === 0;\n }\n\n private getEmptyTableValue(): GenericRowUi[] {\n return this.tableDefinition.rows && this.tableDefinition.rows.length > 0\n ? this.tableDefinition.rows.map((row: IRowDefinition) => ({\n rowId: row.rowId,\n values: this.tableDefinition.columns.map((column, index) => {\n if (index === 0) {\n return {\n columnId: column.columnId,\n value: row.header,\n unit: row.unit,\n };\n } else {\n const unit = this.columnUnitMap.get(column.columnId);\n const type = this.columnTypeMap.get(column.columnId);\n const cellValue = this.getDefaultValueForColumn(column);\n switch (type) {\n case GenericColumnType.Selector:\n return {\n columnId: column.columnId,\n value:\n this.columnOptionsMap.get(column.columnId)?.find(option => option.value === cellValue?.toString())\n ?.label || cellValue,\n unit: unit,\n isNumber: false,\n type: type,\n };\n case GenericColumnType.Currency:\n return {\n columnId: column.columnId,\n value: cellValue,\n unit: unit,\n isNumber: true,\n type: type,\n };\n case GenericColumnType.Numeric:\n return {\n columnId: column.columnId,\n value: cellValue,\n unit: unit,\n isNumber: true,\n type: type,\n };\n default:\n return {\n columnId: column.columnId,\n value: cellValue,\n unit: unit,\n isNumber: false,\n type: type,\n };\n }\n }\n }),\n }))\n : [\n {\n rowId: uuidv4(),\n values: this.tableDefinition.columns.map(column => {\n return {\n columnId: column.columnId,\n value: this.getDefaultValueForColumn(column),\n };\n }),\n },\n ];\n }\n\n private getDefaultValueForColumn(column: IColumnDefinition): string | number {\n return '';\n }\n\n private convertTableValueToGenericRowUi(tableValue: IndicatorTableValue): GenericRowUi[] {\n return tableValue.rows.map(row => ({\n rowId: row.rowId,\n values: row.cells.map((cell, index) => {\n if (index === 0 && this.tableDefinition.rows.length > 0) {\n const rowDef = this.tableDefinition.rows.find(r => r.rowId === row.rowId);\n return {\n columnId: cell.columnId,\n value: rowDef?.header || cell.value || '',\n unit: rowDef?.unit || cell.unit,\n };\n } else {\n return {\n columnId: cell.columnId,\n value: cell.value ?? '',\n unit: cell.unit,\n };\n }\n }),\n }));\n }\n}\n","\n
\n \n \n
\n \n
\n \n \n
\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n
\n \n \n
\n \n
\n
\n \n
\n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n \n
\n \n \n
\n
\n\n","import { Injectable } from '@angular/core';\nimport { ITabItem } from 'src/app/shared/ui/tabs/tabs.component';\nimport { IndicatorApiService } from 'src/app/api-client/report-api/indicator-api-service';\nimport { IndicatorDefinitionApiService } from 'src/app/api-client/report-api/indicator-definition-api-service';\nimport { UnitService } from 'src/app/shared/services/unit/unit.service';\nimport { Subscription } from 'rxjs';\nimport {\n CalculationType,\n CurrencyCodes,\n IndicatorCategory,\n IndicatorTableValueDefinition,\n IndicatorValueType,\n RecordDuration,\n SectorType,\n} from 'src/api-client/report-api.generated';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\nimport { IndicatorDataSourceApiService } from 'src/app/api-client/report-api/indicator-data-source-api-service';\nimport { ObjectArray, toHashTableBy } from 'src/app/shared/utils/object-array';\nimport { CompatibleDataSource } from './indicator-properties/indicator-properties.component';\n\nexport interface IndicatorUnitUi {\n key: string;\n name: string;\n label: string;\n description: string;\n}\n\nexport enum IndicatorTab {\n Performance = 'Performance',\n Data = 'Data',\n Properties = 'Properties',\n}\n\nexport interface IndicatorDetailsUi {\n id: string;\n name: string;\n indicatorDefinitionId: string;\n}\n\nexport interface IndicatorDefinitionProperties {\n valueType: IndicatorValueType;\n recordDuration: RecordDuration;\n description: string;\n standards: string;\n unit: string;\n unitName: string;\n numericCalculationType?: CalculationType;\n category: IndicatorCategory;\n sectors: SectorType[];\n rawDataSources: string[];\n indicatorDefinitionDataSources: string[];\n}\n\n@Injectable()\nexport class IndicatorDetailsStateService {\n readonly IndicatorTabEnum = IndicatorTab;\n\n private unitOptionsSubscription?: Subscription;\n indicator?: IndicatorDetailsUi;\n indicatorDefinitonProperties?: IndicatorDefinitionProperties;\n indicatorUnit?: IndicatorUnitUi;\n indicatorTableDefinition?: IndicatorTableValueDefinition;\n organizationCurrency?: CurrencyCodes;\n tabs: ITabItem[] = [\n { value: IndicatorTab.Performance, label: 'Performance' },\n { value: IndicatorTab.Data, label: 'Data' },\n { value: IndicatorTab.Properties, label: 'Properties' },\n ];\n activeTab = this.tabs[0].value;\n loading: boolean = false;\n compatibleRawDataSources: ObjectArray = {};\n compatibleIndicatorDefinitionDataSources: ObjectArray = {};\n\n constructor(\n private indicatorApiService: IndicatorApiService,\n private indicatorDefinitionsApiService: IndicatorDefinitionApiService,\n private indicatorDataSourceClientApiService: IndicatorDataSourceApiService,\n private unitService: UnitService,\n private notificationService: NotificationService\n ) {}\n\n async init(indicatorId: string) {\n try {\n this.loading = true;\n await this.getIndicatorDetails(indicatorId);\n await Promise.all([\n this.getIndicatorDefinitionData(),\n this.getCompatibleRawDataSources(),\n this.getCompatibleIndicatorDefinitionDataSources(),\n ]);\n } catch (error) {\n this.notificationService.showError('Unable to load indicator details');\n } finally {\n this.loading = false;\n }\n }\n\n async getIndicatorDetails(indicatorId: string) {\n const response = await this.indicatorApiService.getIndicatorById(indicatorId);\n\n this.indicator = {\n id: response.result.id,\n name: response.result.name,\n indicatorDefinitionId: response.result.indicatorDefinitionId,\n };\n }\n\n async getCompatibleRawDataSources() {\n if (this.indicator) {\n const response =\n await this.indicatorDataSourceClientApiService.getRawDataSourcesCompatibleWithIndicatorDefinition(\n this.indicator.indicatorDefinitionId\n );\n this.compatibleRawDataSources = toHashTableBy(response.result, 'id');\n }\n }\n\n async getCompatibleIndicatorDefinitionDataSources() {\n if (this.indicator) {\n const response =\n await this.indicatorDataSourceClientApiService.getIndicatorDefinitionDataSourcesCompatibleWithIndicatorDefinition(\n this.indicator.indicatorDefinitionId\n );\n this.compatibleIndicatorDefinitionDataSources = toHashTableBy(response.result, 'id');\n }\n }\n\n async getIndicatorDefinitionData() {\n if (this.indicator) {\n const definitionResponse = await this.indicatorDefinitionsApiService.getById(\n this.indicator.indicatorDefinitionId\n );\n\n this.indicatorDefinitonProperties = {\n valueType: definitionResponse.result.valueType,\n recordDuration: definitionResponse.result.recordDuration,\n description: definitionResponse.result.description,\n standards: definitionResponse.result.frameworkStandards,\n unit: definitionResponse.result.numericValueDefinition?.unit || '',\n unitName: definitionResponse.result.numericValueDefinition?.unit || '',\n numericCalculationType: definitionResponse.result.numericValueDefinition?.calculationType,\n category: definitionResponse.result.category,\n sectors: definitionResponse.result.sectors,\n rawDataSources: definitionResponse.result.indicatorRawDataSourceIds,\n indicatorDefinitionDataSources: definitionResponse.result.indicatorDefinitionAsDataSourceIds,\n };\n if (definitionResponse.result.hideIndicatorData) {\n this.tabs = this.tabs.filter(tab => tab.value !== IndicatorTab.Data);\n }\n\n this.indicatorTableDefinition = definitionResponse.result.tableValueDefinition;\n this.indicatorUnit = {\n key: definitionResponse.result.numericValueDefinition?.unit || '',\n name: definitionResponse.result.numericValueDefinition?.unit || '',\n label: definitionResponse.result.numericValueDefinition?.unitLabel || '',\n description: definitionResponse.result.numericValueDefinition?.unit || '',\n };\n\n this.unitOptionsSubscription = this.unitService.units$.subscribe(units => {\n const unit = Object.values(units).find(unit => unit.key === this.indicatorUnit?.key);\n if (unit) {\n if (this.indicatorUnit) {\n this.indicatorUnit.name = unit.name;\n this.indicatorUnit.description = unit.description;\n }\n if (this.indicatorDefinitonProperties) {\n this.indicatorDefinitonProperties.unitName = unit.name;\n }\n }\n if (this.organizationCurrency) this.setOrganizationCurrency(this.organizationCurrency);\n });\n }\n }\n\n setOrganizationCurrency(currency: CurrencyCodes) {\n this.organizationCurrency = currency;\n if (this.indicatorUnit?.key === 'Currency') {\n this.indicatorUnit.name = currency;\n this.indicatorUnit.description = currency;\n }\n }\n\n setActiveTab(tabValue: string) {\n this.activeTab = tabValue;\n }\n\n ngOnDestroy() {\n this.unitOptionsSubscription?.unsubscribe();\n }\n}\n","import { Component, Input, SimpleChanges } from '@angular/core';\nimport { IndicatorDetailsStateService } from './indicator-details-state.service';\nimport { CurrencyCodes, SectorVm } from 'src/api-client/report-api.generated';\nimport { ObjectArray } from 'src/app/shared/utils/object-array';\n\n@Component({\n selector: 'esg-indicator-details',\n templateUrl: './indicator-details.component.html',\n styleUrl: './indicator-details.component.scss',\n providers: [IndicatorDetailsStateService],\n})\nexport class IndicatorDetailsComponent {\n @Input({ required: true }) indicatorId!: string;\n @Input() organizationCurrency?: CurrencyCodes;\n @Input() sectorTypes: ObjectArray = {};\n @Input() updatingCalculation: boolean = false;\n\n constructor(public state: IndicatorDetailsStateService) {}\n\n ngOnInit(): void {\n this.state.init(this.indicatorId);\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.organizationCurrency) {\n this.state.setOrganizationCurrency(changes.organizationCurrency.currentValue);\n }\n }\n\n handleOnTabClick(tabValue: string) {\n this.state.setActiveTab(tabValue);\n }\n}\n","\n\n\n
\n \n

\n {{ state.indicator.name }}\n

\n \n
\n \n\n
\n \n
\n \n @switch (state.activeTab) { @case (state.IndicatorTabEnum.Data) {\n \n } @case (state.IndicatorTabEnum.Performance) {\n \n } @case(state.IndicatorTabEnum.Properties) {\n \n } }\n \n
\n","import { Component, Input } from '@angular/core';\nimport { IDataSeriesUi } from 'src/app/shared/components/chart/types';\nimport { IMenuItem } from 'src/app/shared/ui/context-menu/context-menu.component';\n\nexport interface indicatorGraphViewData {\n valueSeriesArray: IDataSeriesUi[];\n targetSeries: IDataSeriesUi;\n}\n\n@Component({\n selector: 'esg-indicator-graph-view',\n templateUrl: './indicator-graph-view.component.html',\n styleUrl: './indicator-graph-view.component.scss',\n})\nexport class IndicatorGraphViewComponent {\n @Input({ required: true }) name!: string;\n @Input({ required: true }) graphData!: indicatorGraphViewData;\n @Input() unit: string = '';\n @Input() isAnnual: boolean = true;\n chart?: Highcharts.Chart;\n\n handleChartInstanceHandler(chart?: Highcharts.Chart) {\n this.chart = chart;\n }\n\n contextMenuOptionsProvider = (): IMenuItem[] => [\n {\n id: '2',\n label: 'Export as PNG',\n onClick: () => {\n this.exportToPng();\n },\n },\n {\n id: '3',\n label: 'Export as SVG',\n onClick: () => {\n this.exportToSvg();\n },\n },\n ];\n\n exportToPng = () => {\n if (this.chart) {\n this.chart.exportChart(\n {\n type: 'image/png',\n filename: this.name,\n },\n {\n chart: {\n backgroundColor: 'white',\n },\n }\n );\n } else {\n console.error('Chart is not initialized');\n }\n };\n\n exportToSvg = () => {\n if (this.chart) {\n this.chart.exportChart(\n {\n type: 'image/svg+xml',\n filename: this.name,\n },\n {\n chart: {\n backgroundColor: 'white',\n },\n }\n );\n } else {\n console.error('Chart is not initialized');\n }\n };\n}\n","\n\n","import { Injectable } from '@angular/core';\nimport { Form, FormControl, FormGroup } from '@angular/forms';\nimport {\n IndicatorTableValue,\n NumericCalculatedDataVm,\n SubOrganizationVm,\n TimePeriod,\n TimePeriodType,\n Trend,\n} from 'src/api-client/report-api.generated';\nimport { CalculatedDataApiService } from 'src/app/api-client/report-api/calculated-data-api-service';\nimport { IMenuItem } from 'src/app/shared/ui/context-menu/context-menu.component';\nimport { IOption, KpisTimePeriodTypeOptions } from 'src/app/static-data/options';\nimport { Subscription } from 'rxjs';\nimport { UnitService } from 'src/app/shared/services/unit/unit.service';\nimport * as _ from 'lodash';\nimport { indicatorGraphViewData } from './indicator-graph-view/indicator-graph-view.component';\nimport {\n AssetCalculatedDataUi,\n NumericCalculatedDataUi,\n} from './numeric-calculated-data/numeric-calculated-data.component';\nimport { NumericCalculatedSummaryUi } from './numeric-calculated-summary/numeric-calculated-summary.component';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { OrganizationApiService } from 'src/app/api-client/report-api/organization-api-service';\nimport { ITreeOption } from 'src/app/shared/ui/select/select-tree-options/select-tree-options.component';\n\ninterface TimeFormControls {\n yearFrom: FormControl;\n yearTo: FormControl;\n timePeriod: FormControl;\n indicatorScope: FormControl;\n includeSubOrgs: FormControl;\n}\n\ninterface CalculatedTableDataUi {\n value?: IndicatorTableValue;\n periodLabel: string;\n errorMessage?: string;\n}\n\nfunction getSubOrganization(subOrganizations: SubOrganizationVm[]): ITreeOption[] {\n return subOrganizations.map(so => ({\n value: so.id || '',\n label: so.name,\n children: getSubOrganization(so.subOrganizations),\n }));\n}\n\n@Injectable()\nexport class IndicatorPerformanceStateService {\n targetDialogOpen = false;\n private formSubscription?: Subscription;\n private unitOptionsSubscription?: Subscription;\n\n indicatorId?: string;\n fromYearOptions: IOption[] = [];\n toYearOptions: IOption[] = [];\n timeFormGroup: FormGroup = new FormGroup({\n yearFrom: new FormControl(null),\n yearTo: new FormControl(null),\n timePeriod: new FormControl(KpisTimePeriodTypeOptions[0], { nonNullable: true }),\n indicatorScope: new FormControl(null, { nonNullable: true }),\n includeSubOrgs: new FormControl(true, { nonNullable: true }),\n });\n timePeriodTypeOptions: IOption[] = KpisTimePeriodTypeOptions;\n organizationSubOrganizationOptions: ITreeOption[] = [];\n numericCalculatedData: NumericCalculatedDataUi[] = [];\n numericCalculatedDataSummary?: NumericCalculatedSummaryUi;\n tableCalculatedData: CalculatedTableDataUi[] = [];\n calculatedGraph?: indicatorGraphViewData;\n unitOptions: IOption[] = [];\n\n loading: boolean = false;\n\n get isAnnual() {\n return this.timeFormGroup.controls.timePeriod.value.value === TimePeriodType.Annual;\n }\n\n get yearInterval() {\n const fromYear = this.timeFormGroup.controls.yearFrom.value?.value;\n const toYear = this.timeFormGroup.controls.yearTo.value?.value;\n if (!fromYear && !toYear) {\n return '';\n }\n\n if (!fromYear || !toYear || fromYear === toYear) {\n return fromYear || toYear || '';\n }\n\n return `${fromYear} - ${toYear}`;\n }\n\n constructor(\n private appInfo: AppInfoService,\n private calculatedDataApiService: CalculatedDataApiService,\n private unitService: UnitService,\n private notificationService: NotificationService,\n protected organizationApiService: OrganizationApiService\n ) {\n this.unitOptionsSubscription = this.unitService.units$.subscribe(units => {\n this.unitOptions = Object.values(units).map(unit => ({\n value: unit.key,\n label: unit.name,\n }));\n });\n }\n\n async init(indicatorId: string) {\n var organizationContextId = this.appInfo.organizationContext.value;\n if (!organizationContextId) {\n throw Error('Organization context not set.');\n }\n this.indicatorId = indicatorId;\n\n var organizationListResponse = await this.organizationApiService.getSubOrganizationTree(organizationContextId);\n this.organizationSubOrganizationOptions = organizationListResponse.result.items.map(o => ({\n value: '',\n label: o.name,\n children: getSubOrganization(o.subOrganizations),\n }));\n this.handleReportScopeChange(this.organizationSubOrganizationOptions[0]);\n\n await this.getCalculatedData(indicatorId);\n this.formSubscription = this.timeFormGroup.valueChanges.subscribe(() => {\n this.setDisabledYearOptions();\n this.handleTimeChange();\n });\n }\n\n setYearOptions(minYear: number, maxYear: number) {\n const yearOptions = [];\n for (let year = minYear; year <= maxYear; year++) {\n yearOptions.push({\n value: year.toString(),\n label: year.toString(),\n });\n }\n\n this.fromYearOptions = yearOptions;\n this.toYearOptions = yearOptions;\n\n if (yearOptions.length) {\n this.timeFormGroup.controls.yearFrom.setValue(yearOptions[0]);\n this.timeFormGroup.controls.yearTo.setValue(yearOptions[yearOptions.length - 1]);\n\n if (yearOptions.length === 1) {\n this.timeFormGroup.controls.yearFrom.disable();\n this.timeFormGroup.controls.yearTo.disable();\n } else {\n this.timeFormGroup.controls.yearFrom.enable();\n this.timeFormGroup.controls.yearTo.enable();\n }\n }\n }\n\n setDisabledYearOptions() {\n if (!this.timeFormGroup.controls.yearFrom.value?.value || !this.timeFormGroup.controls.yearTo.value?.value) return;\n\n const yearFrom = parseInt(this.timeFormGroup.controls.yearFrom.value.value);\n const yearTo = parseInt(this.timeFormGroup.controls.yearTo.value.value);\n this.fromYearOptions = this.fromYearOptions.map(opt => ({\n ...opt,\n disabled: parseInt(opt.value) > yearTo ? true : false,\n }));\n this.toYearOptions = this.toYearOptions.map(opt => ({\n ...opt,\n disabled: parseInt(opt.value) < yearFrom ? true : false,\n }));\n }\n\n handleReportScopeChange(option: ITreeOption) {\n this.timeFormGroup.controls.indicatorScope.setValue(option);\n if (!option.children || option.children.length === 0) {\n this.timeFormGroup.controls.includeSubOrgs.setValue(false);\n this.timeFormGroup.controls.includeSubOrgs.disable();\n } else {\n this.timeFormGroup.controls.includeSubOrgs.setValue(true);\n this.timeFormGroup.controls.includeSubOrgs.enable();\n }\n }\n\n handleTimeChange() {\n if (!this.indicatorId) return;\n this.getCalculatedData(this.indicatorId);\n }\n\n async getCalculatedData(indicatorId: string) {\n this.loading = true;\n const response = await this.calculatedDataApiService.getByIndicatorIdCalculatedData(\n this.timeFormGroup.controls.includeSubOrgs.value,\n indicatorId,\n this.timeFormGroup.controls.timePeriod.value.value as TimePeriodType,\n this.timeFormGroup.controls.indicatorScope.value?.value || undefined,\n this.timeFormGroup.controls.yearFrom.value?.value\n ? parseInt(this.timeFormGroup.controls.yearFrom.value.value)\n : undefined,\n this.timeFormGroup.controls.yearTo.value?.value\n ? parseInt(this.timeFormGroup.controls.yearTo.value.value)\n : undefined\n );\n\n if (response.success === false) {\n this.loading = false;\n this.notificationService.showError(\n response.message || 'Failed to get calculated data',\n response.validationErrors?.join(',\\n')\n );\n return;\n }\n\n if (!response.result) {\n this.loading = false;\n this.notificationService.showError('Failed to get calculated data');\n return;\n }\n\n if (!this.timeFormGroup.controls.yearFrom.value?.value || !this.timeFormGroup.controls.yearTo.value?.value) {\n this.setYearOptions(response.result.minFromYear, response.result.maxToYear);\n }\n\n if (response.result.numericCalculatedData) {\n this.setNumericCalculatedData(response.result.numericCalculatedData);\n }\n\n if (response.result.tableCalculatedData) {\n this.tableCalculatedData = _.orderBy(\n response.result.tableCalculatedData.items,\n ['year', 'periodLabel'],\n ['desc', 'desc']\n ).map(item => ({\n value: item.value,\n periodLabel: item.periodLabel,\n errorMessage: item.errorMessage,\n }));\n }\n\n this.loading = false;\n }\n\n setNumericCalculatedData(data: NumericCalculatedDataVm) {\n this.numericCalculatedData = _.orderBy(data.items, ['year', 'periodLabel'], ['desc', 'desc']).map(item => ({\n periodLabel: item.periodLabel,\n period: item.period,\n year: item.year,\n number: item.number,\n value: item.value,\n targetValue: item.targetValue,\n performanceToTarget: item.performanceToTarget,\n errorMessage: item.errorMessage,\n }));\n\n this.numericCalculatedDataSummary = {\n value: data.value,\n targetValue: data.targetValue,\n performanceToTarget: data.performanceToTarget,\n targetTrend: data.targetTrend || Trend.Decrease,\n };\n\n this.calculatedGraph = {\n valueSeriesArray: [\n {\n name: 'Total',\n series: data.items.map(item => ({\n value: item.value || 0,\n name: item.periodLabel,\n })),\n labelSeries: [],\n },\n ],\n targetSeries: {\n name: 'Target',\n series: data.items.map(item => ({\n value: item.targetValue || 0,\n name: item.periodLabel,\n })),\n labelSeries: [],\n },\n };\n }\n\n contextMenuProvider = (): IMenuItem[] => [];\n\n handleExpandSubstrateData = async (index: number) => {\n var calculateValue = this.numericCalculatedData[index];\n\n if (calculateValue.substrateData) {\n this.numericCalculatedData[index] = {\n ...calculateValue,\n substrateData: undefined,\n };\n return;\n }\n\n var timePeriodType = this.timeFormGroup.value.timePeriod?.value as TimePeriodType;\n if (!!this.indicatorId && calculateValue.year && this.timeFormGroup.value.timePeriod?.value) {\n var response = await this.calculatedDataApiService.getCalculatedDataSubstrateData(\n this.indicatorId,\n this.timeFormGroup.controls.indicatorScope.value?.value || undefined,\n this.timeFormGroup.controls.includeSubOrgs.value,\n timePeriodType,\n calculateValue.year,\n calculateValue.period\n );\n\n this.numericCalculatedData[index] = {\n ...calculateValue,\n substrateDataIsLoading: false,\n substrateData: (response.result.groups || []).map(item => ({\n groupName: item.name,\n numberOfAssets: item.assetsData?.length || 0,\n valueTotal: item.total || 0,\n expanded: false,\n assets: (item.assetsData || []).map(asset => ({\n name: asset.assetName,\n value: asset.total || 0,\n })),\n })),\n };\n }\n };\n\n handleExpandSubstrateGroupData = async (data: { index: number; groupIndex: number }) => {\n var calculateValue = this.numericCalculatedData[data.index];\n\n if (calculateValue.substrateData) {\n this.numericCalculatedData[data.index] = {\n ...calculateValue,\n substrateData: calculateValue.substrateData.map((group, groupIndex) => {\n return groupIndex === data.groupIndex ? { ...group, expanded: !group.expanded } : group;\n }),\n };\n return;\n }\n };\n\n ngOnDestroy() {\n this.formSubscription?.unsubscribe();\n this.unitOptionsSubscription?.unsubscribe();\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { IndicatorPerformanceStateService } from './indicator-performance-state.service';\nimport { IndicatorUnitUi } from '../indicator-details-state.service';\nimport { CalculationType, IColumnDefinition, IndicatorTableValueDefinition } from 'src/api-client/report-api.generated';\nimport {\n GenericColumnType,\n GenericColumnUi,\n mapCellValueTypeToGenericType,\n} from 'src/app/shared/table/generic-table/generic-table.types';\nimport { IOption } from 'src/app/static-data/options';\n\n@Component({\n selector: 'esg-indicator-performance',\n templateUrl: './indicator-performance.component.html',\n styleUrl: './indicator-performance.component.scss',\n providers: [IndicatorPerformanceStateService],\n})\nexport class IndicatorPerformanceComponent {\n @Input({ required: true }) indicatorId!: string;\n @Input({ required: true }) indicatorUnit!: IndicatorUnitUi;\n @Input() indicatorNumericCalculationType?: CalculationType;\n @Input() indicatorTableDefinition?: IndicatorTableValueDefinition;\n\n calculatedTableHeaders: GenericColumnUi[] = [];\n calculatedTableColumnTypeMap: Map = new Map();\n calculatedTableColumnOptionsMap: Map = new Map();\n calculatedTableColumnUnitMap: Map = new Map();\n\n get isNumericAverage() {\n return this.indicatorNumericCalculationType === CalculationType.Average;\n }\n\n constructor(public state: IndicatorPerformanceStateService) {}\n\n ngOnInit(): void {\n this.init();\n }\n\n init() {\n this.setTableDefinitionHeadersAndMaps();\n this.state.init(this.indicatorId);\n }\n\n handleSetTarget() {\n this.state.targetDialogOpen = true;\n }\n\n handleCloseTargetDialog() {\n this.state.targetDialogOpen = false;\n }\n\n setTableDefinitionHeadersAndMaps() {\n if (this.indicatorTableDefinition) {\n const tableDefinitionHasRows =\n this.indicatorTableDefinition.rows && this.indicatorTableDefinition.rows.length > 0;\n\n this.calculatedTableHeaders =\n this.indicatorTableDefinition.columns.map((col: IColumnDefinition, index) => ({\n header: col.header,\n description: col.description,\n columnId: col.columnId,\n type:\n tableDefinitionHasRows && index === 0\n ? GenericColumnType.StaticText\n : mapCellValueTypeToGenericType(col.type),\n width: undefined,\n unit: col.unit,\n })) || [];\n\n this.calculatedTableHeaders.forEach(column => {\n this.calculatedTableColumnTypeMap.set(column.columnId, column.type);\n this.calculatedTableColumnUnitMap.set(column.columnId, column.unit);\n });\n }\n }\n\n handleUpdatedTarget() {\n this.init();\n }\n}\n","\n
\n
\n \n \n \n \n Set Target\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n
\n
\n \n Include sub organization data\n
\n
\n\n\n
\n \n \n \n \n \n
\n\n
\n \n \n
\n
\n\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { numberToFormattedNumberString } from 'src/app/shared/utils/number-converters';\n\nexport interface AssetCalculatedDataUi {\n name: string;\n value: number;\n}\n\nexport interface SubstrateDataUi {\n groupName: string;\n numberOfAssets: number;\n valueTotal: number;\n expanded: boolean;\n assets: AssetCalculatedDataUi[];\n}\n\nexport interface NumericCalculatedDataUi {\n periodLabel: string;\n period: number;\n year: number;\n number: number;\n value?: number;\n targetValue?: number;\n performanceToTarget?: number;\n errorMessage?: string;\n substrateDataIsLoading?: boolean;\n substrateData?: SubstrateDataUi[];\n}\n\n@Component({\n selector: 'esg-numeric-calculated-data [expandSubstrateData] [expandSubstrateGroupData]',\n templateUrl: './numeric-calculated-data.component.html',\n styleUrl: './numeric-calculated-data.component.scss',\n})\nexport class NumericCalculatedDataComponent {\n @Input({ required: true }) data!: NumericCalculatedDataUi[];\n @Input() unit: string = '';\n @Input() isAnnual: boolean = true;\n @Output() expandSubstrateData = new EventEmitter();\n @Output() expandSubstrateGroupData = new EventEmitter<{ index: number; groupIndex: number }>();\n\n getFormattedNumber(value: number | undefined): string {\n if (value === undefined || value === null || isNaN(value)) return '';\n else return numberToFormattedNumberString(Math.abs(value), 0, Math.abs(value) < 100 ? 7 : 0);\n }\n\n handleExpand(index: number) {\n this.expandSubstrateData.emit(index);\n }\n\n handleExpandGroup(index: number, groupIndex: number) {\n this.expandSubstrateGroupData.emit({ index, groupIndex });\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n = 0\">\n {{\n getFormattedNumber(period.performanceToTarget)\n ? getFormattedNumber(period.performanceToTarget) + ' %'\n : 'n/a'\n }}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n {{ isAnnual ? 'Year' : 'Quarter' }}\n
\n
\n
\n Assets\n Number\n
\n
\n
\n Total\n \n
\n
\n
\n Target\n \n
\n
\n
\n Performance to target\n Percentage\n
\n
\n \n {{ isAnnual ? period.year : period.periodLabel }}{{ period.number }}\n \n {{ getFormattedNumber(period.value) || '-' }}\n \n \n \n \n \n {{ getFormattedNumber(period.targetValue) || 'Not set' }}\n
\n \n
{{ group.groupName }}
\n
{{ group.numberOfAssets }}\n {{ getFormattedNumber(group.valueTotal) || '-' }}\n
\n {{ item.name }}\n \n {{ getFormattedNumber(item.value) || '-' }}\n
\n","import { Component, Input } from '@angular/core';\nimport { Trend } from 'src/api-client/report-api.generated';\nimport { numberToFormattedNumberString } from 'src/app/shared/utils/number-converters';\n\nexport interface NumericCalculatedSummaryUi {\n value?: number;\n targetValue?: number;\n performanceToTarget?: number;\n targetTrend: Trend;\n}\n\n@Component({\n selector: 'esg-numeric-calculated-summary',\n templateUrl: './numeric-calculated-summary.component.html',\n styleUrl: './numeric-calculated-summary.component.scss',\n})\nexport class NumericCalculatedSummaryComponent {\n @Input({ required: true }) summary!: NumericCalculatedSummaryUi;\n @Input() unit: string = '';\n @Input() yearLabel: string = '';\n @Input() isAverage: boolean = false;\n\n getFormattedNumber(value: number | undefined): string {\n if (value === undefined || value === null || isNaN(value)) return '';\n else return numberToFormattedNumberString(Math.abs(value), 0, Math.abs(value) < 100 ? 2 : 0);\n }\n\n get isAboveTarget() {\n if (!this.summary || !this.summary.value || !this.summary.targetValue) return true;\n return this.summary.value >= this.summary.targetValue;\n }\n}\n","
\n \n {{ isAverage ? 'Average (Mean)' : 'Total' }}\n {{ yearLabel }}\n \n \n {{ getFormattedNumber(summary.value) || '-' }}\n \n \n
\n
\n \n {{ isAverage ? 'Average (Mean) Target' : 'Total Target' }}\n {{ yearLabel }}\n \n \n {{ getFormattedNumber(summary.targetValue) || 'Not set' }}\n \n \n
\n
\n \n Performance to target\n {{ yearLabel }}\n \n = 0\">\n {{ getFormattedNumber(summary.performanceToTarget) || 'n/a' }}\n \n %\n \n \n {{ isAboveTarget ? 'Above target' : 'Below target' }}\n \n \n \n
\n","import { Injectable } from '@angular/core';\nimport { KpiTargetUi } from './set-indicator-target-dialog.component';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { IOption, TargetTrendOptions } from 'src/app/static-data/options';\nimport { Trend, UpdateIndicatorTargetCommandParams, YearTarget } from 'src/api-client/report-api.generated';\nimport { CustomFormValidators } from 'src/app/shared/utils/custom-form-validators';\nimport { IndicatorApiService } from 'src/app/api-client/report-api/indicator-api-service';\nimport { TargetValueCalculatorService } from 'src/app/shared/services/target-value-calculator/target-value-calculator.service';\n\nexport interface YearTargetUi {\n year: number;\n value: number;\n}\n\n@Injectable()\nexport class SetIndicatorTargetDialogStateService {\n initTargetValues: YearTargetUi[] = [];\n targetValues: YearTargetUi[] = [];\n kpiId!: string;\n suborganization: IOption | null = null;\n fc!: KpiTargetUi;\n formGroup!: FormGroup;\n targetTrendOptions = TargetTrendOptions;\n\n constructor(\n public indicatorApi: IndicatorApiService,\n private targetValueCalculatorService: TargetValueCalculatorService\n ) {\n this.fc = {\n baseYear: new FormControl('', {\n nonNullable: true,\n validators: [Validators.required, CustomFormValidators.numeric, Validators.min(1990)],\n }),\n baseYearValue: new FormControl('', {\n nonNullable: true,\n validators: [Validators.required, CustomFormValidators.numeric],\n }),\n targetYear: new FormControl('', {\n nonNullable: true,\n validators: [Validators.required, CustomFormValidators.numeric],\n }),\n targetTrendType: new FormControl(TargetTrendOptions[0], {\n nonNullable: true,\n validators: [Validators.required],\n }),\n targetPerecentChange: new FormControl('', {\n nonNullable: true,\n validators: [Validators.required, CustomFormValidators.numeric],\n }),\n targetValue: new FormControl('', {\n nonNullable: true,\n validators: [Validators.required, CustomFormValidators.numeric],\n }),\n };\n\n this.formGroup = new FormGroup(this.fc);\n }\n\n get baseYearValidationMessage() {\n if (!this.fc.baseYear.dirty || !this.fc.baseYear.touched) {\n return undefined;\n }\n\n if (this.fc.targetYear.touched && parseInt(this.fc.baseYear.value) >= parseInt(this.fc.targetYear.value)) {\n return 'The base year needs to be earlier than the target year.';\n }\n\n if (parseInt(this.fc.baseYear.value) < 1990) {\n return 'The year needs to be 1990 or later, according to the Kyoto Protocol.';\n }\n\n return undefined;\n }\n\n get targetYearValidationMessage() {\n if (!this.fc.targetYear.dirty || !this.fc.targetYear.touched) {\n return undefined;\n }\n\n if (parseInt(this.fc.targetYear.value) < 1990) {\n return 'The year needs to be 1990 or later, according to the Kyoto Protocol.';\n }\n\n if (this.fc.baseYear.touched && parseInt(this.fc.targetYear.value) <= parseInt(this.fc.baseYear.value)) {\n return 'The target year needs to be later than the base year.';\n }\n\n return undefined;\n }\n\n async init(kpiId: string, subOrganization: IOption | null = null) {\n this.kpiId = kpiId;\n this.suborganization = subOrganization;\n var targetValuesResponse = await this.indicatorApi.getTargetValues(\n kpiId,\n !!this.suborganization?.value ? this.suborganization.value : undefined\n );\n this.targetValues = targetValuesResponse.result.map(t => ({ year: t.year, value: t.value }));\n this.initTargetValues = this.targetValues;\n\n this.fc.targetTrendType.valueChanges.subscribe(value => {\n this.calculateTargetValue(\n this.fc.baseYearValue.value,\n this.fc.targetPerecentChange.value,\n Trend[value.value as Trend]\n );\n });\n\n this.fc.targetPerecentChange.valueChanges.subscribe(value => {\n this.calculateTargetValue(\n this.fc.baseYearValue.value,\n value,\n Trend[this.fc.targetTrendType.value.value as Trend]\n );\n });\n\n this.fc.baseYearValue.valueChanges.subscribe(value => {\n this.calculatePercentageChange(value, this.fc.targetValue.value);\n });\n\n this.fc.targetValue.valueChanges.subscribe(value => {\n this.calculatePercentageChange(this.fc.baseYearValue.value, value);\n });\n this.fc.targetValue.valueChanges.subscribe(value => {\n this.calculatePercentageChange(this.fc.baseYearValue.value, value);\n });\n }\n\n calculateTargetValue(baseYearValue: string, percentageChange: string, trend: Trend) {\n var baseYearValueNumber = parseInt(baseYearValue);\n var percentageChangeNumber = parseInt(percentageChange);\n if (Number.isNaN(baseYearValueNumber) || Number.isNaN(percentageChangeNumber)) {\n return;\n }\n this.fc.targetValue.setValue(\n (\n baseYearValueNumber +\n ((baseYearValueNumber * percentageChangeNumber) / 100) * (trend === Trend.Increase ? 1 : -1)\n ).toString(),\n { emitEvent: false }\n );\n }\n\n calculatePercentageChange(baseYearValue: string, targetValue: string) {\n var baseYearValueNumber = parseInt(baseYearValue);\n var targetValueNumber = parseInt(targetValue);\n if (Number.isNaN(baseYearValueNumber) || Number.isNaN(targetValueNumber)) {\n return;\n }\n this.fc.targetTrendType.setValue(\n baseYearValueNumber < targetValueNumber ? TargetTrendOptions[1] : TargetTrendOptions[0],\n { emitEvent: false }\n );\n\n this.fc.targetPerecentChange.setValue(\n Math.round((Math.abs(targetValueNumber - baseYearValueNumber) * 100) / baseYearValueNumber).toString(),\n { emitEvent: false }\n );\n }\n\n generateTargetValues() {\n if (this.fc.baseYear.invalid || this.fc.targetYear.invalid || this.fc.targetValue.invalid) {\n return;\n }\n const calculatedTargetValues = this.targetValueCalculatorService.calculateTargetValuesByTargetValue({\n baseYear: parseInt(this.fc.baseYear.value),\n baseValue: parseFloat(this.fc.baseYearValue.value),\n targetYear: parseInt(this.fc.targetYear.value),\n targetYearValue: parseFloat(this.fc.targetValue.value),\n });\n this.targetValues = calculatedTargetValues.map(t => ({ year: t.year, value: t.value }));\n }\n\n async setTarget() {\n return await this.indicatorApi.updateIndicatorTarget(\n new UpdateIndicatorTargetCommandParams({\n id: this.kpiId,\n suborganizationId: !!this.suborganization?.value ? this.suborganization.value : undefined,\n yearTargets: this.targetValues.map(t => new YearTarget({ year: t.year, value: t.value })),\n })\n );\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { SetIndicatorTargetDialogStateService } from './set-indicator-target-dialog-service.service';\nimport { FormControl } from '@angular/forms';\nimport { IOption } from 'src/app/static-data/options';\nimport { IndicatorUnitUi } from '../../indicator-details-state.service';\n\nexport interface KpiTargetUi {\n baseYear: FormControl;\n baseYearValue: FormControl;\n targetYear: FormControl;\n targetTrendType: FormControl;\n targetPerecentChange: FormControl;\n targetValue: FormControl;\n}\n\n@Component({\n selector: 'esg-set-indicator-target-dialog',\n templateUrl: './set-indicator-target-dialog.component.html',\n styleUrls: ['./set-indicator-target-dialog.component.scss'],\n providers: [SetIndicatorTargetDialogStateService],\n})\nexport class SetIndicatorTargetDialogComponent {\n @Input({ required: true }) kpiId!: string;\n @Input({ required: true }) indicatorUnit!: IndicatorUnitUi;\n @Input() subOrganization: IOption | null = null;\n @Output() onClose = new EventEmitter();\n @Output() onUpdate = new EventEmitter();\n\n constructor(public state: SetIndicatorTargetDialogStateService) {}\n\n ngOnInit() {\n this.state.init(this.kpiId, !!this.subOrganization ? this.subOrganization : undefined);\n }\n\n async handleSetTarget() {\n await this.state.setTarget();\n this.onClose.emit();\n this.onUpdate.emit(this.kpiId);\n }\n}\n","\n
\n
Set Target for {{subOrganization?.label}}
\n
\n
\n
\n
\n
Base year
\n \n
\n {{ state.baseYearValidationMessage }}\n
\n
\n
\n
Base year value
\n \n
\n
\n
\n
\n
Target year
\n \n
\n \n {{ state.targetYearValidationMessage }}\n \n
\n
\n
\n
\n
Target %
\n \n
\n
\n
\n \n
\n or\n
\n
Target value
\n \n
\n
\n
\n
\n \n Generate target years\n \n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n
YearValue
{{ target.year }}\n {{ target.value }}\n \n
\n
\n
\n
\n
","import { Component, Input } from '@angular/core';\nimport { IndicatorDefinitionProperties } from '../indicator-details-state.service';\nimport { CalculationType, IndicatorValueType, RecordDuration, SectorVm } from 'src/api-client/report-api.generated';\nimport { ObjectArray } from 'src/app/shared/utils/object-array';\n\nexport interface CompatibleDataSource {\n id: string;\n name: string;\n}\n\n@Component({\n selector: 'esg-indicator-properties',\n templateUrl: './indicator-properties.component.html',\n styleUrl: './indicator-properties.component.scss',\n})\nexport class IndicatorPropertiesComponent {\n @Input({ required: true }) indicatorProperties!: IndicatorDefinitionProperties;\n @Input() sectorTypes: ObjectArray = {};\n @Input() compatibleRawDataSources: ObjectArray = {};\n @Input()\n compatibleIndicatorDefinitionDataSources: ObjectArray = {};\n\n get valueType() {\n switch (this.indicatorProperties.valueType) {\n case IndicatorValueType.Numeric:\n return 'Single Value';\n case IndicatorValueType.Table:\n return 'Table Value';\n default:\n return '-';\n }\n }\n\n get recordDuration() {\n switch (this.indicatorProperties.recordDuration) {\n case RecordDuration.DateFromTo:\n return 'Date From-To';\n case RecordDuration.SingleDate:\n return 'Single Date';\n case RecordDuration.Period:\n return 'Period';\n default:\n return '-';\n }\n }\n\n get unit() {\n if (this.indicatorProperties.valueType !== IndicatorValueType.Numeric) return 'n/a';\n else return this.indicatorProperties.unitName;\n }\n\n get calculationType() {\n if (this.indicatorProperties.valueType !== IndicatorValueType.Numeric) return 'n/a';\n switch (this.indicatorProperties.numericCalculationType) {\n case CalculationType.Sum:\n return 'Summarize';\n case CalculationType.Average:\n return 'Average (Mean)';\n case CalculationType.LastValue:\n return 'Last value';\n default:\n return '-';\n }\n }\n\n get sectorsStringList(): string {\n if (this.indicatorProperties.sectors.length === 0) {\n return 'All';\n } else return this.indicatorProperties.sectors.map(sector => this.sectorTypes[sector]?.name || sector).join(', ');\n }\n\n get rawDataSourcesList(): string {\n if (this.indicatorProperties.rawDataSources.length === 0) {\n return '-';\n } else\n return this.indicatorProperties.rawDataSources\n .map(id => this.compatibleRawDataSources[id]?.name || id)\n .join(', ');\n }\n\n get indicatorDefinitionDataSourcesList(): string {\n if (this.indicatorProperties.indicatorDefinitionDataSources.length === 0) {\n return '-';\n } else\n return this.indicatorProperties.indicatorDefinitionDataSources\n .map(id => this.compatibleIndicatorDefinitionDataSources[id]?.name || id)\n .join(', ');\n }\n}\n","
\n Indicator value\n {{ valueType }}\n\n Record Duration\n {{ recordDuration }}\n\n Unit\n {{ (unit | formatUnitWithUnicode) || '-' }}\n\n Calculation\n {{ calculationType }}\n\n Main Topic\n {{ indicatorProperties.category }}\n\n Relevant Sectors\n {{ sectorsStringList }}\n\n Raw Data Sources\n {{ rawDataSourcesList }}\n\n Indicator Data Sources\n {{ indicatorDefinitionDataSourcesList }}\n
\n","import { Injectable } from '@angular/core';\nimport _ from 'lodash';\nimport {\n CreateIndicatorCommandParams,\n IndicatorCategory,\n SectorType,\n SectorVm,\n UserRole,\n} from 'src/api-client/report-api.generated';\nimport { IndicatorDefinitionApiService } from 'src/app/api-client/report-api/indicator-definition-api-service';\nimport { SectorApiService } from 'src/app/api-client/report-api/sector-api-service';\nimport { IndicatorsPageStateService } from '../indicators-page-state.service';\nimport { ObjectArray, toHashTableBy } from 'src/app/shared/utils/object-array';\nimport { IndicatorApiService } from 'src/app/api-client/report-api/indicator-api-service';\nimport { Subscription } from 'rxjs';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { IOption } from 'src/app/static-data/options';\nimport { PaginationUi } from 'src/app/shared/components/pagination/pagination.component';\nimport { FormControl } from '@angular/forms';\nimport { IMenuItem } from 'src/app/shared/ui/context-menu/context-menu.component';\n\nexport interface IndicatorDefinitionUi {\n id: string;\n name: string;\n description: string;\n category: IndicatorCategory;\n frameworkStandards: string;\n sectors: SectorType[];\n isAdded: boolean;\n}\n\n@Injectable()\nexport class IndicatorsLibraryStateService {\n private userInfoSub!: Subscription;\n\n indicatorDefinitions: IndicatorDefinitionUi[] = [];\n loading: boolean = false;\n sectorTypes: ObjectArray = {};\n searchValue: string = '';\n categoryOptions: IOption[] = Object.values(IndicatorCategory).map(c => ({ value: c, label: c }));\n searchTimeout: any;\n sortKey: string = '';\n sortDirection: 'asc' | 'desc' | '' = '';\n\n CategoryColors: { [key in IndicatorCategory]: string } = {\n [IndicatorCategory.Environment]: '#23D468',\n [IndicatorCategory.Social]: '#BD15F8',\n [IndicatorCategory.Governance]: '#03B3FF',\n [IndicatorCategory.Other]: '#183642',\n [IndicatorCategory.General]: '#FF9500',\n };\n\n CategoryLabels: { [key in IndicatorCategory]: string } = {\n [IndicatorCategory.Environment]: 'Environmental',\n [IndicatorCategory.Social]: 'Social',\n [IndicatorCategory.Governance]: 'Governance',\n [IndicatorCategory.Other]: 'Other',\n [IndicatorCategory.General]: 'General',\n };\n\n hasAddPermission: boolean = false;\n\n currentPagination: PaginationUi = {\n currentPage: 1,\n totalPages: 1,\n pageSize: 50,\n totalCount: 0,\n hasPrevious: false,\n hasNext: false,\n };\n\n filteredCategory: FormControl = new FormControl([], { nonNullable: true });\n\n constructor(\n private indicatorDefinitionsApiService: IndicatorDefinitionApiService,\n private IndicatorApiService: IndicatorApiService,\n private sectorApiService: SectorApiService,\n private menuState: IndicatorsPageStateService,\n private appInfo: AppInfoService\n ) {\n this.userInfoSub = this.appInfo.userInfo$.subscribe(userInfo => {\n this.hasAddPermission = userInfo?.role === UserRole.Admin || userInfo?.role === UserRole.SuperAdmin;\n });\n this.init();\n }\n\n async init() {\n this.loading = true;\n await Promise.all([this.getSectors(), this.getIndicators()]);\n this.loading = false;\n }\n\n async getIndicators() {\n const response = await this.indicatorDefinitionsApiService.getAll(\n true,\n this.searchValue,\n Object.values(IndicatorCategory).filter(type => this.filteredCategory.value.find(opt => type === opt.value)),\n undefined,\n this.sortDirection ? this.sortKey + ' ' + this.sortDirection : undefined,\n this.currentPagination.currentPage,\n this.currentPagination.pageSize\n );\n\n this.currentPagination = {\n currentPage: response.result.currentPage,\n totalPages: response.result.totalPages,\n pageSize: response.result.pageSize,\n totalCount: response.result.totalCount,\n hasPrevious: response.result.hasPrevious,\n hasNext: response.result.hasNext,\n };\n\n this.indicatorDefinitions = response.result.items.map(indicator => ({\n id: indicator.id,\n name: indicator.name,\n description: indicator.description,\n category: indicator.category,\n frameworkStandards: indicator.frameworkStandards,\n sectors: indicator.sectors,\n isAdded: indicator.isAssignedToIndicator,\n }));\n this.menuState.setLibraryIndicatorCount(this.indicatorDefinitions.length);\n }\n\n filterMenuProvider = (): IMenuItem[] => [\n { id: 'clear', label: 'Clear all filters', onClick: () => this.clearFilters() },\n ];\n\n clearFilters() {\n this.filteredCategory.setValue([]);\n this.handleFilterChange();\n }\n\n handleFilterChange() {\n this.currentPagination = { ...this.currentPagination, currentPage: 1, hasNext: false, hasPrevious: false };\n this.getIndicators();\n }\n\n handlePaginationChange(newPaginationData: PaginationUi) {\n this.currentPagination = newPaginationData;\n this.getIndicators();\n }\n\n onSearchValueChange(newSearchValue: string) {\n this.searchValue = newSearchValue;\n\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n this.searchTimeout = setTimeout(() => {\n this.handleFilterChange();\n }, 500);\n }\n\n async getSectors() {\n const response = await this.sectorApiService.getAll();\n this.sectorTypes = toHashTableBy(response.result, 'type');\n }\n\n async addIndicatorToOrganization(indicatorId: string) {\n if (!this.hasAddPermission) {\n return;\n }\n\n const response = await this.IndicatorApiService.createIndicator(\n new CreateIndicatorCommandParams({ indicatorDefinitionId: indicatorId })\n );\n if (response.success) {\n const indicatorIndex = this.indicatorDefinitions.findIndex(indicator => indicator.id === indicatorId);\n if (indicatorIndex !== -1) {\n this.indicatorDefinitions[indicatorIndex].isAdded = true;\n if (this.menuState.ourIndicatorsCount !== undefined) {\n this.menuState.setOurIndicatorsCount(this.menuState.ourIndicatorsCount + 1);\n }\n const category = this.indicatorDefinitions[indicatorIndex].category;\n if (this.menuState.categoryCounts[category] !== undefined) {\n this.menuState.categoryCounts[category] = this.menuState.categoryCounts[category]! + 1;\n this.menuState.clearRecentlyAddedFlag(category);\n this.menuState.setRecentlyAddedFlag(category);\n }\n }\n }\n }\n\n getSectorsStringList(sectors: SectorType[]): string {\n if (sectors.length === 0) {\n return 'All';\n } else return sectors.map(sector => this.sectorTypes[sector]?.name || sector).join('\\n');\n }\n\n ngOnDestroy() {\n this.userInfoSub.unsubscribe();\n }\n\n onSortChange(event: { key: string; direction: 'asc' | 'desc' | '' }) {\n this.sortKey = event.key;\n this.sortDirection = event.direction;\n this.getIndicators();\n }\n}\n","import { Component } from '@angular/core';\nimport { IndicatorDefinitionUi, IndicatorsLibraryStateService } from './indicators-library-state.service';\n\n@Component({\n selector: 'esg-indicators-library',\n templateUrl: './indicators-library.component.html',\n styleUrls: ['./indicators-library.component.scss'],\n providers: [IndicatorsLibraryStateService],\n})\nexport class IndicatorsLibraryComponent {\n stickyHeaders: boolean = false;\n\n constructor(public state: IndicatorsLibraryStateService) {}\n\n handleStickyHeaders(tabEntry: IntersectionObserverEntry) {\n this.stickyHeaders = tabEntry.intersectionRatio === 0;\n }\n\n trackByIndicator(index: number, indicator: IndicatorDefinitionUi) {\n return indicator.id;\n }\n\n handleAddIndicator(indicatorId: string) {\n this.state.addIndicatorToOrganization(indicatorId);\n }\n}\n","\n\n\n

Indicator Library

\n \n
\n \n
\n \n \n \n \n \n \n \n \n \n \n
\n \n
\n \n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n
\n
\n \n \n \n \n \n \n \n {{ indicator.name }}\n \n {{ state.CategoryLabels[indicator.category] }}\n \n {{ indicator.description }}\n \n {{ state.getSectorsStringList(indicator.sectors) }}\n \n {{ indicator.frameworkStandards }}\n
\n
\n\n\n","import { Injectable } from '@angular/core';\nimport { ActivatedRoute, Params } from '@angular/router';\nimport _ from 'lodash';\nimport { Subscription } from 'rxjs';\nimport { IndicatorValueType, Report } from 'src/api-client/report-api.generated';\nimport {\n CurrencyCodes,\n IndicatorCategory,\n IndicatorValueStatus,\n SectorVm,\n UserRole,\n} from 'src/api-client/report-api.generated';\nimport { IndicatorApiService } from 'src/app/api-client/report-api/indicator-api-service';\nimport { IndicatorsPageStateService } from '../indicators-page-state.service';\nimport { SectorApiService } from 'src/app/api-client/report-api/sector-api-service';\nimport { ObjectArray, toHashTableBy } from 'src/app/shared/utils/object-array';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { OrganizationApiService } from 'src/app/api-client/report-api/organization-api-service';\nimport { IMenuItem } from 'src/app/shared/ui/context-menu/context-menu.component';\nimport { IOption } from 'src/app/static-data/options';\nimport { PaginationUi } from 'src/app/shared/components/pagination/pagination.component';\n\nexport interface IndicatorUi {\n id: string;\n name: string;\n category: IndicatorCategory;\n valueType: IndicatorValueType;\n lastCalculated?: Date;\n valueStatus: IndicatorValueStatus;\n errorMessage: string;\n}\n\n@Injectable()\nexport class IndicatorsListStateService {\n private queryParamsSub?: Subscription;\n private fragmentSub?: Subscription;\n private organizationContextSub?: Subscription;\n private userInfoSub?: Subscription;\n readonly valueTypeEnum = IndicatorValueType;\n\n indicators: IndicatorUi[] = [];\n valueStatusEnum = IndicatorValueStatus;\n selectedIndicator?: IndicatorUi;\n loading: boolean = false;\n showRemoveDialog: boolean = false;\n showNotPossibleToRemoveDialog: boolean = false;\n sectorTypes: ObjectArray = {};\n currentCategory?: IndicatorCategory;\n searchTimeout: any;\n\n updatingSelectedIndicator: boolean = false;\n updatingAllIndicators: boolean = false;\n updatingAllIndicatorsProgress: string = '';\n\n organizationCurrency?: CurrencyCodes;\n\n hasRemovePermission: boolean = false;\n searchValue: string = '';\n\n hasAddPermission: boolean = false;\n\n currentPagination: PaginationUi = {\n currentPage: 1,\n totalPages: 1,\n pageSize: 50,\n totalCount: 0,\n hasPrevious: false,\n hasNext: false,\n };\n\n calculationUpdateIsNeeded: boolean = false;\n indicatorsLastCalculated?: Date;\n listReportUsedIndicator?: Report[] = [];\n sortKey: string = '';\n sortDirection: 'asc' | 'desc' | '' = '';\n\n constructor(\n private appInfoState: AppInfoService,\n private indicatorApiService: IndicatorApiService,\n private route: ActivatedRoute,\n private sectorApiService: SectorApiService,\n private organizationApiService: OrganizationApiService,\n private notificationService: NotificationService,\n private menuState: IndicatorsPageStateService\n ) {\n this.organizationContextSub = this.appInfoState.organizationContext$.subscribe(organizationId => {\n if (organizationId) {\n this.getOrganizationCurrency(organizationId);\n }\n });\n\n this.userInfoSub = this.appInfoState.userInfo$.subscribe(userInfo => {\n this.hasRemovePermission = userInfo?.role === UserRole.Admin || userInfo?.role === UserRole.SuperAdmin;\n });\n\n this.queryParamsSub = this.route.queryParams.subscribe(params => {\n this.handleQueryParamsChange(params);\n });\n this.init();\n }\n\n async init() {\n try {\n this.loading = true;\n await Promise.all([this.getIndicators(), this.getSectors()]);\n this.fragmentSub = this.route.fragment.subscribe(fragment => {\n this.handleFragmentChange(fragment || undefined);\n });\n } catch (error) {\n this.notificationService.showError('Unable to load indicators');\n } finally {\n this.loading = false;\n }\n }\n\n async getIndicators() {\n const categoryFilter = this.currentCategory ? [this.currentCategory] : undefined;\n\n const response = await this.indicatorApiService.getAllIndicators(\n this.searchValue,\n categoryFilter,\n this.sortDirection ? this.sortKey + ' ' + this.sortDirection : undefined,\n this.currentPagination.currentPage,\n this.currentPagination.pageSize\n );\n\n this.currentPagination = {\n currentPage: response.result.currentPage,\n totalPages: response.result.totalPages,\n pageSize: response.result.pageSize,\n totalCount: response.result.totalCount,\n hasPrevious: response.result.hasPrevious,\n hasNext: response.result.hasNext,\n };\n\n this.indicators = response.result.items.map(indicator => ({\n id: indicator.id,\n name: indicator.name,\n category: indicator.category,\n valueType: indicator.valueType,\n lastCalculated: indicator.lastCalculated,\n valueStatus: indicator.valueStatus,\n errorMessage: indicator.valueErrors.length ? '• ' + indicator.valueErrors.join('\\n• ') : '',\n }));\n\n this.setCalculationStatus();\n }\n\n handlePaginationChange(newPaginationData: PaginationUi) {\n this.currentPagination = newPaginationData;\n this.getIndicators();\n }\n\n onSortChange(event: { key: string; direction: 'asc' | 'desc' | '' }) {\n this.sortKey = event.key;\n this.sortDirection = event.direction;\n this.getIndicators();\n }\n\n onSearchValueChange(newSearchValue: string) {\n this.searchValue = newSearchValue;\n\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n this.searchTimeout = setTimeout(() => {\n this.currentPagination = { ...this.currentPagination, currentPage: 1, hasNext: false, hasPrevious: false };\n this.getIndicators();\n }, 500);\n }\n\n async getSectors() {\n try {\n const response = await this.sectorApiService.getAll();\n this.sectorTypes = toHashTableBy(response.result, 'type');\n } catch (error) {\n this.notificationService.showError('Unable to load sectors');\n }\n }\n\n setCalculationStatus() {\n let newestDate: Date | undefined = undefined;\n let hasOutOfDateStatus = false;\n\n this.indicators.forEach(indicator => {\n if (indicator.lastCalculated && (!newestDate || indicator.lastCalculated > newestDate)) {\n newestDate = indicator.lastCalculated;\n }\n\n if (\n indicator.valueStatus === IndicatorValueStatus.OutOfDate ||\n indicator.valueStatus === IndicatorValueStatus.WithErrors\n ) {\n hasOutOfDateStatus = true;\n }\n });\n\n this.indicatorsLastCalculated = newestDate;\n this.calculationUpdateIsNeeded = hasOutOfDateStatus;\n }\n\n handleQueryParamsChange(params: Params) {\n const indicatorCategory = Object.values(IndicatorCategory).find(\n category => category.toUpperCase() === params['category']?.toUpperCase()\n );\n this.currentCategory = indicatorCategory;\n this.getIndicators();\n }\n\n handleFragmentChange(fragment?: string) {\n if (fragment) {\n const indicator = this.indicators.find(indicator => indicator.id === fragment);\n if (indicator && (!this.currentCategory || indicator.category === this.currentCategory)) {\n this.setSelectedIndicator(indicator);\n }\n } else {\n this.setSelectedIndicator(undefined);\n }\n }\n\n handleInitateRemoveIndicator() {\n this.showRemoveDialog = true;\n }\n\n handleCloseRemoveDialog() {\n this.showRemoveDialog = false;\n }\n\n handleInitateNotPossibleToRemoveDialog(listReportInUsed?: Report[]) {\n this.showNotPossibleToRemoveDialog = true;\n this.listReportUsedIndicator = listReportInUsed;\n }\n\n handleCloseNotPossibleToRemoveDialog() {\n this.showNotPossibleToRemoveDialog = false;\n }\n\n async updateSelectedIndicator() {\n if (!this.selectedIndicator) {\n return;\n }\n\n try {\n this.updatingSelectedIndicator = true;\n this.selectedIndicator.valueStatus = this.valueStatusEnum.CalculationInProgress;\n const response = await this.indicatorApiService.calculateIndicator(this.selectedIndicator.id);\n if (response.success) {\n this.selectedIndicator.lastCalculated = response.lastCalculated;\n this.selectedIndicator.valueStatus = this.valueStatusEnum.UpToDate;\n }\n } catch (error) {\n this.notificationService.showError('Failed to update calculation');\n } finally {\n this.updatingSelectedIndicator = false;\n }\n }\n\n async updateAllIndicators() {\n const totalIndicators = this.indicators.length;\n let updatedCount = 0;\n this.updatingAllIndicatorsProgress = `${updatedCount}/${totalIndicators}`;\n\n const requestBatchSize = 5;\n\n const processBatch = async (batch: IndicatorUi[]) => {\n const batchPromises = batch.map(async indicator => {\n try {\n indicator.valueStatus = this.valueStatusEnum.CalculationInProgress;\n const response = await this.indicatorApiService.calculateIndicator(indicator.id);\n if (response.success) {\n indicator.lastCalculated = response.lastCalculated;\n indicator.valueStatus = this.valueStatusEnum.UpToDate;\n updatedCount++;\n this.updatingAllIndicatorsProgress = `${updatedCount}/${totalIndicators}`;\n } else {\n throw new Error(`Failed to update indicator ${indicator.id}`);\n }\n } catch (error) {\n this.notificationService.showError(`Failed to update indicator ${indicator.name}`);\n indicator.valueStatus = this.valueStatusEnum.OutOfDate;\n }\n });\n await Promise.all(batchPromises);\n };\n\n this.updatingAllIndicators = true;\n\n try {\n for (let i = 0; i < this.indicators.length; i += requestBatchSize) {\n const batch = this.indicators.slice(i, i + requestBatchSize);\n await processBatch(batch);\n }\n if (updatedCount === this.indicators.length) {\n this.notificationService.showSuccess('All indicators updated successfully');\n } else {\n this.notificationService.showWarning(\n `${updatedCount}/${this.indicators.length} of the indicators updated successfully`\n );\n }\n } catch (error) {\n this.notificationService.showError('Failed to update some indicators');\n } finally {\n this.updatingAllIndicators = false;\n this.setCalculationStatus();\n }\n }\n\n removeIndicator() {\n this.showRemoveDialog = false;\n if (this.selectedIndicator) {\n const selectedCategory = this.selectedIndicator.category;\n this.indicatorApiService.removeIndicator(this.selectedIndicator.id).then(response => {\n if (response.success) {\n this.indicators = this.indicators.filter(indicator => indicator.id !== this.selectedIndicator?.id);\n this.decrementCategoryCount(selectedCategory);\n this.setSelectedIndicator(undefined);\n } else {\n this.handleInitateNotPossibleToRemoveDialog(response?.reportsUsed);\n }\n });\n }\n }\n\n decrementCategoryCount(category: IndicatorCategory) {\n if (this.menuState.ourIndicatorsCount !== undefined) {\n this.menuState.setOurIndicatorsCount(this.menuState.ourIndicatorsCount - 1);\n }\n if (this.menuState.categoryCounts[category] !== undefined) {\n this.menuState.categoryCounts[category] = this.menuState.categoryCounts[category]! - 1;\n }\n }\n\n async getOrganizationCurrency(organizationId: string) {\n const response = await this.organizationApiService.getOrganizationById(organizationId);\n this.organizationCurrency = response.result.currencyCode;\n }\n\n setSelectedIndicator(indicator?: IndicatorUi) {\n this.selectedIndicator = indicator;\n }\n\n detailsMenuProvider = (): IMenuItem[] => [\n {\n id: 'delete',\n label: 'Remove Indicator',\n onClick: () => this.handleInitateRemoveIndicator(),\n disabled: !this.hasRemovePermission,\n },\n ];\n\n ngOnDestroy() {\n this.queryParamsSub?.unsubscribe();\n this.fragmentSub?.unsubscribe();\n this.organizationContextSub?.unsubscribe();\n this.userInfoSub?.unsubscribe();\n }\n}\n","import { Component } from '@angular/core';\nimport { IndicatorUi, IndicatorsListStateService } from './indicator-list-state.service';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'esg-indicators-list',\n templateUrl: './indicators-list.component.html',\n styleUrls: ['./indicators-list.component.scss'],\n providers: [IndicatorsListStateService],\n})\nexport class IndicatorsListComponent {\n get isIndicatorDetailsOpen(): boolean {\n return this.state.selectedIndicator !== undefined;\n }\n\n constructor(public state: IndicatorsListStateService, private router: Router) {}\n\n ngOnInit(): void {}\n\n handleIndicatorClick(indicatorId: string) {\n const queryParams = { ...this.router.routerState.snapshot.root.queryParams };\n this.router.navigate([], { queryParams, fragment: indicatorId });\n }\n\n closeIndicatorDetails() {\n const queryParams = { ...this.router.routerState.snapshot.root.queryParams };\n this.router.navigate([], { queryParams, fragment: undefined });\n }\n\n trackByIndicator(index: number, indicator: IndicatorUi) {\n return indicator.id;\n }\n}\n","\n\n\n
\n

{{ state.currentCategory || 'Indicators' }}

\n
\n \n \n Last update:\n {{ state.indicatorsLastCalculated ? (state.indicatorsLastCalculated | date : 'dd. MMM yyyy, HH:mm:ss') : '' }}\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n
\n
\n
\n \n
\n
\n {{ indicator.name }}\n \n
\n \n \n \n \n \n \n \n \n {{ indicator.lastCalculated | date : 'dd.MMM' }} \n {{ indicator.lastCalculated | date : 'HH:mm' }}\n
\n
\n \n
\n
\n\n\n
\n \n \n \n {{ state.updatingSelectedIndicator ? 'Updating Indicator...' : 'Indicator Calculation in Progress' }}\n \n \n \n Indicator Up to Date\n \n \n \n Indicator Calculation Update Needed\n \n \n \n \n \n Indicator Calculation Caused Errors\n \n \n \n Last update:\n {{\n state.selectedIndicator && state.selectedIndicator.lastCalculated\n ? (state.selectedIndicator.lastCalculated | date : 'dd. MMM yyyy, HH:mm:ss')\n : ''\n }}\n \n
\n \n \n\n\n\n
\n
\n
\n \n \n \n
\n Remove {{ state.selectedIndicator.name }} from you KPIs\n
\n
\n

To remove the {{ state.selectedIndicator.name }}, please delete it from the following reports first.

\n

\n It’s currently used in\n {{ state.listReportUsedIndicator?.length || 0 }} Reports\n :\n

\n
0\" class=\"report-list\">\n \n
\n
\n \n \n \n
\n {{ report.name }}\n
\n
\n
\n
\n If you wish to add the indicator in the future, you can find it in the Indicator Library.\n
\n
\n
\n Ok\n
\n
\n\n\n\n","import { Injectable } from '@angular/core';\nimport { IndicatorCategory } from 'src/api-client/report-api.generated';\nimport { IndicatorApiService } from 'src/app/api-client/report-api/indicator-api-service';\nimport { IndicatorDefinitionApiService } from 'src/app/api-client/report-api/indicator-definition-api-service';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IndicatorsPageStateService {\n readonly categoryEnum = IndicatorCategory;\n\n libraryIndicatorCount?: number;\n ourIndicatorsCount?: number;\n categoryCounts: { [key in IndicatorCategory]?: number } = {};\n recentlyAdded: { [key in IndicatorCategory]?: boolean } = {};\n\n constructor(\n private indicatorDefinitionsApiService: IndicatorDefinitionApiService,\n private indicatorApiService: IndicatorApiService\n ) {\n this.init();\n }\n\n async init() {\n this.getLibraryIndicatorCount();\n this.getOurIndicatorsCount();\n Object.values(IndicatorCategory).forEach(category => {\n this.recentlyAdded[category] = false;\n });\n }\n\n async getLibraryIndicatorCount() {\n const response = await this.indicatorDefinitionsApiService.getAllNames(true);\n this.setLibraryIndicatorCount(response.result.items.length);\n }\n\n async getOurIndicatorsCount() {\n const response = await this.indicatorApiService.getAllIndicators(\n undefined,\n undefined,\n undefined,\n undefined,\n undefined\n );\n this.setOurIndicatorsCount(response.result.items.length);\n this.categoryCounts = Object.fromEntries(Object.values(IndicatorCategory).map(category => [category, 0]));\n response.result.items.map(indicator => {\n this.categoryCounts[indicator.category] = (this.categoryCounts[indicator.category] || 0) + 1;\n });\n }\n\n getAllIndicatorsCount() {\n this.getLibraryIndicatorCount();\n this.getOurIndicatorsCount();\n }\n\n setLibraryIndicatorCount(count: number) {\n this.libraryIndicatorCount = count;\n }\n\n setOurIndicatorsCount(count: number) {\n this.ourIndicatorsCount = count;\n }\n\n setRecentlyAddedFlag(category: IndicatorCategory) {\n this.recentlyAdded[category] = true;\n\n setTimeout(() => {\n this.clearRecentlyAddedFlag(category);\n }, 5000);\n }\n\n clearRecentlyAddedFlag(category: IndicatorCategory) {\n this.recentlyAdded[category] = false;\n }\n}\n","import { Component } from '@angular/core';\nimport { IndicatorsPageStateService } from './indicators-page-state.service';\nimport { UnitService } from 'src/app/shared/services/unit/unit.service';\n\n@Component({\n selector: 'esg-indicators-page',\n templateUrl: './indicators-page.component.html',\n styleUrls: ['./indicators-page.component.scss'],\n providers: [UnitService],\n})\nexport class IndicatorsPageComponent {\n constructor(public state: IndicatorsPageStateService) {}\n}\n","
\n
\n \n
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IndicatorsPageComponent } from './indicators-page.component';\nimport { RouterModule } from '@angular/router';\nimport { AppLayoutComponent } from 'src/app/app-layout/app-layout.component';\nimport { MsalGuard } from '@azure/msal-angular';\nimport { IndicatorsLibraryComponent } from './indicators-library/indicators-library.component';\nimport { IndicatorsListComponent } from './indicators-list/indicators-list.component';\nimport { DirectiveModule } from 'src/app/shared/directives/directive.module';\nimport { SharedComponentsModule } from 'src/app/shared/components/shared-components.module';\nimport { UiModule } from 'src/app/shared/ui/ui.module';\nimport { IndicatorDetailsComponent } from './indicator-details/indicator-details.component';\nimport { NarrativeDetailsComponent } from './narrative-details/narrative-details.component';\nimport { TableModule } from 'src/app/shared/table/table.module';\nimport { IndicatorDataComponent } from './indicator-details/indicator-data/indicator-data.component';\nimport { IndicatorRecordFormTableComponent } from './indicator-details/indicator-data/indicator-record-form-table/indicator-record-form-table.component';\nimport { IndicatorPerformanceComponent } from './indicator-details/indicator-performance/indicator-performance.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { AllRecordsDialogComponent } from './indicator-details/indicator-data/all-records-dialog/all-records-dialog.component';\nimport { SetIndicatorTargetDialogComponent } from './indicator-details/indicator-performance/set-indicator-target-dialog/set-indicator-target-dialog.component';\nimport { IndicatorTableRecordsComponent } from './indicator-details/indicator-data/indicator-table-records/indicator-table-records.component';\nimport { IndicatorTableValueComponent } from './shared/indicator-table-value/indicator-table-value.component';\nimport { KeyboardShortcutsDirective } from 'src/app/shared/directives/keyboard-shortcuts.directive';\nimport { IndicatorPropertiesComponent } from './indicator-details/indicator-properties/indicator-properties.component';\nimport { FormatUnitWithUnicodePipe } from 'src/app/shared/pipes/format-unit-with-unicode.pipe';\nimport { FormatUnitWithHtmlPipe } from 'src/app/shared/pipes/format-unit-with-html.pipe';\nimport { IndicatorGraphViewComponent } from './indicator-details/indicator-performance/indicator-graph-view/indicator-graph-view.component';\nimport { NumericCalculatedDataComponent } from './indicator-details/indicator-performance/numeric-calculated-data/numeric-calculated-data.component';\nimport { NumericCalculatedSummaryComponent } from './indicator-details/indicator-performance/numeric-calculated-summary/numeric-calculated-summary.component';\nimport { SideNavigationComponent } from 'src/app/app-layout/side-navigation/side-navigation.component';\n\n@NgModule({\n declarations: [\n IndicatorsPageComponent,\n IndicatorsLibraryComponent,\n IndicatorsListComponent,\n IndicatorDetailsComponent,\n IndicatorDataComponent,\n IndicatorRecordFormTableComponent,\n IndicatorPerformanceComponent,\n AllRecordsDialogComponent,\n SetIndicatorTargetDialogComponent,\n IndicatorTableRecordsComponent,\n IndicatorTableValueComponent,\n IndicatorPropertiesComponent,\n IndicatorGraphViewComponent,\n NumericCalculatedDataComponent,\n NumericCalculatedSummaryComponent,\n NarrativeDetailsComponent,\n ],\n imports: [\n CommonModule,\n UiModule,\n DirectiveModule,\n TableModule,\n SharedComponentsModule,\n FormsModule,\n ReactiveFormsModule,\n KeyboardShortcutsDirective,\n FormatUnitWithUnicodePipe,\n FormatUnitWithHtmlPipe,\n RouterModule.forChild([\n {\n path: `indicators`,\n component: AppLayoutComponent,\n children: [\n {\n path: ``,\n component: SideNavigationComponent,\n outlet: 'side',\n },\n {\n path: ``,\n component: IndicatorsPageComponent,\n children: [\n { path: '', redirectTo: 'our-indicators', pathMatch: 'full' },\n { path: 'library', component: IndicatorsLibraryComponent },\n { path: 'our-indicators', component: IndicatorsListComponent },\n ],\n },\n ],\n canActivate: [MsalGuard],\n },\n ]),\n ],\n})\nexport class IndicatorsModule {}\n","import { Injectable } from '@angular/core';\nimport { ITabItem } from 'src/app/shared/ui/tabs/tabs.component';\nimport { IndicatorApiService } from 'src/app/api-client/report-api/indicator-api-service';\nimport { IndicatorDefinitionApiService } from 'src/app/api-client/report-api/indicator-definition-api-service';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\nimport {\n IndicatorDefinitionProperties,\n IndicatorDetailsUi,\n} from '../indicator-details/indicator-details-state.service';\nimport { FormControl } from '@angular/forms';\n\n@Injectable()\nexport class NarrativeDetailsStateService {\n indicator!: IndicatorDetailsUi;\n indicatorDefinitonProperties?: IndicatorDefinitionProperties;\n narrativeContent!: FormControl;\n\n loading: boolean = false;\n tabs: ITabItem[] = [{ value: 'Properties', label: 'Properties' }];\n activeTab = this.tabs[0].value;\n\n constructor(\n private indicatorApiService: IndicatorApiService,\n private indicatorDefinitionsApiService: IndicatorDefinitionApiService,\n private notificationService: NotificationService\n ) {}\n\n async init(indicatorId: string) {\n try {\n this.loading = true;\n await this.getIndicatorDetails(indicatorId);\n await Promise.all([this.getIndicatorDefinitionData()]);\n } catch (error) {\n this.notificationService.showError('Unable to load indicator details');\n } finally {\n this.loading = false;\n }\n }\n\n async getIndicatorDetails(indicatorId: string) {\n const response = await this.indicatorApiService.getIndicatorById(indicatorId);\n\n this.indicator = {\n id: response.result.id,\n name: response.result.name,\n indicatorDefinitionId: response.result.indicatorDefinitionId,\n };\n }\n\n async getIndicatorDefinitionData() {\n if (this.indicator) {\n const definitionResponse = await this.indicatorDefinitionsApiService.getById(\n this.indicator.indicatorDefinitionId\n );\n\n this.indicatorDefinitonProperties = {\n valueType: definitionResponse.result.valueType,\n recordDuration: definitionResponse.result.recordDuration,\n description: definitionResponse.result.description,\n standards: definitionResponse.result.frameworkStandards,\n unit: definitionResponse.result.numericValueDefinition?.unit || '',\n unitName: definitionResponse.result.numericValueDefinition?.unit || '',\n numericCalculationType: definitionResponse.result.numericValueDefinition?.calculationType,\n category: definitionResponse.result.category,\n sectors: definitionResponse.result.sectors,\n rawDataSources: definitionResponse.result.indicatorRawDataSourceIds,\n indicatorDefinitionDataSources: definitionResponse.result.indicatorDefinitionAsDataSourceIds,\n };\n }\n }\n\n setActiveTab(tabValue: string) {\n this.activeTab = tabValue;\n }\n\n ngOnDestroy() {}\n}\n","import { Component, Input } from '@angular/core';\nimport { NarrativeDetailsStateService } from './narrative-details-state.service';\n\n@Component({\n selector: 'esg-narrative-details',\n templateUrl: './narrative-details.component.html',\n styleUrl: './narrative-details.component.scss',\n providers: [NarrativeDetailsStateService],\n})\nexport class NarrativeDetailsComponent {\n @Input({ required: true }) indicatorId!: string;\n\n constructor(public state: NarrativeDetailsStateService) {}\n\n handleOnTabClick(tabValue: string) {\n this.state.setActiveTab(tabValue);\n }\n\n ngOnInit(): void {\n this.state.init(this.indicatorId);\n }\n}\n","\n\n\n
\n \n

\n {{ state.indicator.name }}\n

\n \n
\n \n
\n","import { Component, Input } from '@angular/core';\nimport { IndicatorTableValue, IndicatorTableValueDefinition } from 'src/api-client/report-api.generated';\nimport { RecordSource } from 'src/app/shared/components/records-table/records-table.component';\nimport { GenericColumnType } from 'src/app/shared/table/generic-table/generic-table.types';\nimport { IMenuItem } from 'src/app/shared/ui/context-menu/context-menu.component';\nimport { stringToFormattedNumberString } from 'src/app/shared/utils/number-converters';\nimport { IOption } from 'src/app/static-data/options';\n\ninterface IndicatorTableRowUi {\n rowId: string;\n cells: IndicatorTableCellUi[];\n}\n\ninterface IndicatorTableCellUi {\n columnId: string;\n value: string | number | undefined;\n isNumber: boolean;\n unit?: string;\n}\n\n@Component({\n selector: 'esg-indicator-table-value',\n templateUrl: './indicator-table-value.component.html',\n styleUrl: './indicator-table-value.component.scss',\n})\nexport class IndicatorTableValueComponent {\n @Input() tableValue?: IndicatorTableValue;\n @Input({ required: true }) tableDefinition!: IndicatorTableValueDefinition;\n @Input() periodLabel: string = '';\n @Input() assetName: string = '';\n @Input() errorMessage?: string;\n @Input() recordSource?: RecordSource;\n @Input() isNewlyAdded: boolean = false;\n @Input() contextMenuOptions: IMenuItem[] = [];\n @Input() unitOptions: IOption[] = [];\n @Input() columnTypeMap: Map = new Map();\n @Input() columnOptionsMap: Map = new Map();\n @Input() columnUnitMap: Map = new Map();\n\n readonly RecordSourceEnum = RecordSource;\n rows: IndicatorTableRowUi[] = [];\n\n ngOnChanges() {\n this.rows = this.convertTableValueToGenericRowUi();\n }\n\n private convertTableValueToGenericRowUi(): IndicatorTableRowUi[] {\n const tableDefinitionHasRows = this.tableDefinition.rows && this.tableDefinition.rows.length > 0;\n\n if (!this.tableValue) return [];\n\n return this.tableValue.rows.map(row => ({\n rowId: row.rowId,\n cells: row.cells.map((cell, index) => {\n const columnUnit = this.columnUnitMap.get(cell.columnId);\n const type = this.columnTypeMap.get(cell.columnId);\n if (index === 0 && tableDefinitionHasRows) {\n const rowDef = this.tableDefinition.rows.find(r => r.rowId === row.rowId);\n const unit = this.findUnitInOptions(rowDef?.unit || cell.unit || columnUnit);\n return {\n columnId: cell.columnId,\n value: rowDef?.header || cell.value,\n unit: unit,\n isNumber: false,\n };\n } else {\n const unit = this.findUnitInOptions(cell.unit || columnUnit);\n switch (type) {\n case GenericColumnType.Selector:\n return {\n columnId: cell.columnId,\n value:\n this.columnOptionsMap.get(cell.columnId)?.find(option => option.value === cell.value?.toString())\n ?.label || cell.value,\n unit: unit,\n isNumber: false,\n };\n case GenericColumnType.Currency:\n return {\n columnId: cell.columnId,\n value: stringToFormattedNumberString(cell.value?.toString() || '', 0, 7),\n unit: cell.unit,\n isNumber: true,\n };\n case GenericColumnType.Numeric:\n return {\n columnId: cell.columnId,\n value: stringToFormattedNumberString(cell.value?.toString() || '', 0, 7),\n unit: unit,\n isNumber: true,\n };\n default:\n return {\n columnId: cell.columnId,\n value: cell.value,\n unit: unit,\n isNumber: false,\n };\n }\n }\n }),\n }));\n }\n\n trackByRowId(index: number, row: IndicatorTableRowUi): string {\n return row.rowId;\n }\n\n trackByCell(index: number, row: IndicatorTableCellUi): string {\n return row.columnId;\n }\n\n private findUnitInOptions(unitValue: string | undefined): string | undefined {\n if (!unitValue || unitValue.toUpperCase() === 'NUMBER') return undefined;\n return this.unitOptions.find(option => option.value === unitValue || option.label === unitValue)?.label;\n }\n}\n","
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{ periodLabel }}\n \n {{ assetName }}\n
\n
\n \n
\n
\n\n \n \n \n \n \n
\n
\n {{ cell.value || '' }}\n  {{ cell.unit | formatUnitWithUnicode }}\n
\n
\n","import { Component } from '@angular/core';\nimport { ReportDetailsStateService } from '../report-details-state.service';\nimport { noContentImages } from 'src/app/static-data/no-content-images';\n\n@Component({\n selector: 'esg-no-topic-selected',\n templateUrl: './no-topic-selected.component.html',\n styleUrls: ['./no-topic-selected.component.scss'],\n})\nexport class NoTopicSelectedComponent {\n noContentImage = {\n header: 'Great to have you back.',\n text: 'Keep up the good work :-)',\n src: '/assets/images/report/report-welcome.png',\n width: '488.75',\n height: '320',\n alt: 'Two colleagues working together in front of a monitor',\n };\n // noContentImage = noContentImages[Math.floor(Math.random() * noContentImages.length)];\n // Temporary removed due to text guidelines ref: https://metizoft.atlassian.net/browse/ESG-1887\n\n constructor(public reportState: ReportDetailsStateService) {}\n}\n","
\n {{ noContentImage.header }}\n {{ noContentImage.text }}\n \n
\n
\n Howdy! What a fresh start :-)\n Please select topics in the column to the left to start adding content.\n \n
\n","import { AppConfigurationService } from './../../core/app-configuration.service';\nimport { Injectable } from '@angular/core';\nimport {\n IReport,\n IReportTopic,\n Report,\n ReportMainLevel,\n ReportTopic,\n MoveMainSubjectCommandParams,\n MoveTopicCommandParams,\n TopicItemType,\n ReportStatus,\n} from 'src/api-client/report-api.generated';\nimport { ReportApiService } from 'src/app/api-client/report-api/report-api-service';\nimport { ReportPdfService } from './report-pdf/report-pdf-service';\nimport { AddTopicData, UpdateMainLevelData } from './report-structure/main-level-item/main-level-item.component';\nimport { IReportPdf } from './report-pdf/types';\nimport { openFileInNewTab } from './../../shared/utils/file';\nimport { DeactivateTopicData } from './report-structure/topic-item/topic-item.component';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\nimport { PdfGenerationError } from 'src/app/pdfmake-common/generate-report';\nimport { Router } from '@angular/router';\nimport { TopicItemApiService } from 'src/app/api-client/report-api/topic-item-api-service';\n\n@Injectable()\nexport class ReportDetailsStateService {\n isLoadingReport = false;\n isLoadingIndicators = false;\n isCalculatingIndicators = false;\n isCalculatingIndicatorsLabel = 'Updating Indicators';\n isCreatingPdf = false;\n loadedMainTopics: string[] = [];\n loadedTopics: string[] = [];\n reportData?: IReport;\n selectedTopic?: IReportTopic;\n freshReport: boolean = false;\n\n constructor(\n private router: Router,\n private appConfigurationService: AppConfigurationService,\n private reportApiService: ReportApiService,\n private topicItemApiService: TopicItemApiService,\n private pdfService: ReportPdfService,\n private notificationService: NotificationService\n ) {}\n\n async loadReportData(reportId: string) {\n this.isCreatingPdf = false;\n this.isLoadingReport = true;\n\n var response = await this.reportApiService.getByReportId(reportId);\n this.isLoadingReport = false;\n if (!response.success) {\n this.notificationService.showError('Failed to load report', response.message);\n this.router.navigate(['/home']);\n return;\n }\n this.reportData = response.result;\n if (this.reportData.status === ReportStatus.Todo) this.freshReport = true;\n else this.freshReport = false;\n }\n\n setTopicDetails(topicId: string) {\n if (!this.reportData) {\n throw Error('Report data has to be fetch before you use try set a topic details.');\n }\n this.selectedTopic = (this.reportData.mainLevels || [])\n .reduce((prev, curr) => [...prev, ...(curr.topics || [])], [])\n .find(t => t.id === topicId);\n }\n\n clearTopicDetails() {\n this.selectedTopic = undefined;\n }\n\n clearReportData() {\n this.reportData = undefined;\n }\n\n addMainLevel(name: string) {\n if (!this.reportData) {\n throw Error('Reporta data has to be fetch before you use try set a topic details.');\n }\n\n if (this.reportData?.id && name) {\n this.reportApiService.addMainLevel(this.reportData?.id, name).subscribe(result => {\n if (!this.reportData) {\n throw Error('Reporta data has to be fetch before you use try set a topic details.');\n }\n\n this.reportData = new Report({\n ...this.reportData,\n mainLevels: [...(this.reportData?.mainLevels || []), result],\n });\n });\n }\n }\n\n updateMainLevel(data: UpdateMainLevelData) {\n this.loadedMainTopics.push(data.id);\n\n this.reportApiService.updateMainLevel(this.reportData?.id || '', data.id, data.name).subscribe(\n result => {\n if (!this.reportData) {\n throw Error('Reporta data has to be fetch before you use try set a topic details.');\n }\n\n this.reportData = {\n ...this.reportData,\n mainLevels:\n this.reportData?.mainLevels?.map(ml =>\n ml.id !== data.id\n ? ml\n : new ReportMainLevel({\n ...ml,\n name: data.name,\n })\n ) || [],\n };\n },\n error => {},\n () => {\n this.loadedMainTopics = this.loadedMainTopics.filter(id => id !== data.id);\n }\n );\n }\n\n deleteMainLevel(mainLevelId: string) {\n this.loadedMainTopics.push(mainLevelId);\n this.reportApiService.deleteMainLevel(this.reportData?.id || '', mainLevelId).subscribe(\n result => {\n if (!this.reportData) {\n throw Error('Reporta data has to be fetch before you use try set a topic details.');\n }\n\n if (result.success) {\n this.reportData = new Report({\n ...this.reportData,\n mainLevels: this.reportData?.mainLevels?.filter(m => m.id !== mainLevelId),\n });\n }\n },\n error => {},\n () => {\n this.loadedMainTopics = this.loadedMainTopics.filter(id => id !== mainLevelId);\n }\n );\n }\n\n addTopic(data: AddTopicData) {\n if (data.name) {\n this.reportApiService.addTopic(this.reportData?.id || '', data.mainLevelId, data.name).subscribe(result => {\n if (!this.reportData) {\n throw Error('Reporta data has to be fetch before you use try set a topic details.');\n }\n\n this.reportData = {\n ...this.reportData,\n mainLevels:\n this.reportData?.mainLevels?.map(ml =>\n ml.id !== data.mainLevelId\n ? ml\n : new ReportMainLevel({\n ...ml,\n topics: [...(ml.topics || []), result],\n })\n ) || [],\n };\n });\n }\n }\n\n editTopicName(mainLevelId: string, topicId: string, name: string) {\n this.loadedTopics.push(topicId);\n if (this.reportData?.id) {\n this.reportApiService.editTopicName(this.reportData?.id, mainLevelId, topicId, name).subscribe(\n result => {\n if (!this.reportData) {\n throw Error('Reporta data has to be fetch before you use try set a topic details.');\n }\n\n this.reportData = {\n ...this.reportData,\n mainLevels:\n this.reportData?.mainLevels?.map(ml =>\n ml.id !== mainLevelId\n ? ml\n : new ReportMainLevel({\n ...ml,\n topics: ml.topics?.map(t =>\n t.id !== topicId\n ? t\n : new ReportTopic({\n ...t,\n name: name,\n })\n ),\n })\n ) || [],\n };\n if (this.selectedTopic?.id === topicId) this.selectedTopic = { ...this.selectedTopic, name: name };\n },\n error => {},\n () => {\n this.loadedTopics = this.loadedTopics.filter(id => id !== topicId);\n }\n );\n }\n }\n\n deleteTopic(mainLevelId: string, topicId: string) {\n if (!this.reportData?.id) {\n throw Error('Report id not set.');\n }\n\n this.loadedTopics.push(topicId);\n this.reportApiService.deleteTopic(this.reportData?.id || '', mainLevelId, topicId).subscribe(\n result => {\n if (!this.reportData) {\n throw Error('Reporta data has to be fetch before you use try set a topic details.');\n }\n\n if (result.success) {\n this.reportData = {\n ...this.reportData,\n mainLevels:\n this.reportData?.mainLevels?.map(ml =>\n ml.id !== mainLevelId\n ? ml\n : new ReportMainLevel({\n ...ml,\n topics: ml.topics?.filter(t => t.id !== topicId),\n })\n ) || [],\n };\n }\n },\n error => {},\n () => {\n this.loadedTopics = this.loadedTopics.filter(id => id !== topicId);\n }\n );\n }\n\n deactivateTopic(data: DeactivateTopicData) {\n if (!this.reportData?.id) {\n throw Error('Report id not set.');\n }\n\n this.reportApiService\n .deactivateTopic(this.reportData.id, data.mainLevelId, data.topicId, data.deactivated)\n .subscribe(result => {\n if (!this.reportData) {\n throw Error('Reporta data has to be fetch before you use try set a topic details.');\n }\n\n this.reportData = {\n ...this.reportData,\n mainLevels:\n this.reportData?.mainLevels?.map(ml =>\n ml.id !== data.mainLevelId\n ? ml\n : new ReportMainLevel({\n ...ml,\n topics: ml.topics?.map(t =>\n t.id !== data.topicId\n ? t\n : new ReportTopic({\n ...t,\n deactivated: data.deactivated,\n })\n ),\n })\n ) || [],\n };\n });\n }\n\n moveMainLevel(mainLevelId: string, prevIndex: number, newIndex: number) {\n if (!this.reportData?.id) {\n throw Error('Report id not set.');\n }\n\n this.reportApiService\n .moveMainLevel(\n new MoveMainSubjectCommandParams({\n reportId: this.reportData?.id,\n mainLevelId: mainLevelId,\n prevIndex: prevIndex,\n newIndex: newIndex,\n })\n )\n .subscribe(result => {\n if (!result.success) {\n console.error(result);\n }\n });\n }\n\n moveTopic(topicId: string, mainLevelId: string, prevIndex: number, newIndex: number, targetMainLevelId?: string) {\n this.isLoadingReport = true;\n\n if (!this.reportData?.id) {\n throw Error('Report id not set.');\n }\n\n this.reportApiService\n .moveTopic(\n new MoveTopicCommandParams({\n reportId: this.reportData?.id,\n mainLevelId: mainLevelId,\n topicId: topicId,\n prevIndex: prevIndex,\n newIndex: newIndex,\n targetMainLevelId,\n })\n )\n .subscribe(result => {\n if (!result.success) {\n console.error(result);\n }\n this.reportData = result.updatedReport;\n this.isLoadingReport = false;\n });\n }\n\n async calculateAllIndicators() {\n if (this.reportData?.id) {\n var reportAllTopicItemsResponse = await this.topicItemApiService.allReportTopicItems(this.reportData?.id);\n var allDifferentThenArticleTopicItems = reportAllTopicItemsResponse.filter(\n t => t.type === TopicItemType.NewIndicator\n );\n this.isCalculatingIndicators = true;\n\n let updatedCount = 0;\n\n const updateProgressLabel = () => {\n this.isCalculatingIndicatorsLabel = `Updating Indicators: ${updatedCount}/${allDifferentThenArticleTopicItems.length}`;\n };\n for (let i = 0; i < allDifferentThenArticleTopicItems.length; i++) {\n const topicItem = allDifferentThenArticleTopicItems[i];\n try {\n var response = await this.topicItemApiService.refreshTopicItemNewIndicatorValues(topicItem.id);\n\n if (!response.success) {\n this.notificationService.showError(`Failed to update indicator for topic item ${topicItem.name}`);\n continue;\n }\n\n updatedCount++;\n updateProgressLabel();\n } catch (error) {\n this.notificationService.showError(`Failed to update indicator for topic item ${topicItem.name}`);\n continue;\n }\n }\n\n updateProgressLabel();\n\n try {\n if (updatedCount === allDifferentThenArticleTopicItems.length) {\n this.notificationService.showSuccess('All indicators updated successfully');\n this.loadReportData(this.reportData.id);\n } else {\n this.notificationService.showWarning(\n `${updatedCount}/${allDifferentThenArticleTopicItems.length} of the indicators updated successfully'`\n );\n }\n } catch (error) {\n this.notificationService.showError('Failed to update some indicators');\n } finally {\n this.isCalculatingIndicators = false;\n this.isCalculatingIndicatorsLabel = 'Updating Indicators';\n }\n }\n }\n\n async createPdf(isExecutiveSummaryReport: boolean = false) {\n if (this.reportData?.id) {\n this.isCreatingPdf = true;\n const reportContent = await this.reportApiService.getCompleteReportById(this.reportData?.id);\n\n try {\n const pdfUrl = await this.pdfService.generatePdf(\n {\n ...reportContent,\n organizationDetails: {\n organizationName: reportContent.organizationName,\n logo: reportContent.organizationLogo?.blobName,\n brandColor: reportContent.brandColor,\n tableHeadColor: reportContent.tableHeadColor,\n },\n } as IReportPdf,\n this.appConfigurationService.AppBaseUrl,\n {\n writingSystem: reportContent.pdfWritingSystem,\n isExecutiveSummary: isExecutiveSummaryReport,\n showMainContent: !isExecutiveSummaryReport,\n }\n );\n openFileInNewTab(pdfUrl);\n this.isCreatingPdf = false;\n } catch (e) {\n if (e instanceof PdfGenerationError) {\n this.notificationService.showError('Failed to Generate PDF', e.message);\n console.error(e);\n } else {\n throw e;\n }\n this.isCreatingPdf = false;\n }\n }\n }\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { ReportDetailsStateService } from './report-details-state.service';\nimport { UnitService } from 'src/app/shared/services/unit/unit.service';\nimport { TopicDetailsStateService } from './topic-details/topic-details-state.service';\nimport { FormatUnitWithUnicodePipe } from 'src/app/shared/pipes/format-unit-with-unicode.pipe';\n\n@Component({\n selector: 'esg-report-details',\n templateUrl: './report-details.component.html',\n styleUrls: ['./report-details.component.scss'],\n providers: [TopicDetailsStateService, ReportDetailsStateService, UnitService, FormatUnitWithUnicodePipe],\n})\nexport class ReportDetailsComponent implements OnInit, OnDestroy {\n sub?: Subscription;\n\n constructor(\n private route: ActivatedRoute,\n private indicatorsState: TopicDetailsStateService,\n private router: Router,\n public state: ReportDetailsStateService\n ) {}\n\n ngOnInit(): void {\n this.sub = this.route.params.subscribe(async params => {\n var reportId = params['id'];\n\n if (reportId !== this.state.reportData?.id) {\n this.state.clearTopicDetails();\n this.state.clearReportData();\n await this.state.loadReportData(reportId);\n }\n });\n }\n\n handleAddMainLevel(value: string) {\n this.state.addMainLevel(value);\n }\n\n handleSelectTopic(topicId: string) {\n this.router.navigate(['/report', this.state.reportData?.id, topicId]);\n }\n\n ngOnDestroy(): void {\n this.sub?.unsubscribe();\n }\n}\n","
\n \n \n \n \n\n
\n \n \n \n \n \n \n
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReportDetailsComponent } from './report-details.component';\nimport { UiModule } from 'src/app/shared/ui/ui.module';\nimport { RouterModule } from '@angular/router';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { QuillModule } from 'ngx-quill';\nimport { ContentModule } from '../../content/content.module';\nimport { ReportStructureComponent } from './report-structure/report-structure.component';\nimport { MainLevelItemComponent } from './report-structure/main-level-item/main-level-item.component';\nimport { TopicItemComponent } from './report-structure/topic-item/topic-item.component';\nimport { TopicDetailsComponent } from './topic-details/topic-details.component';\nimport { TopicItemListComponent } from './topic-details/topic-item-list/topic-item-list.component';\nimport { TopicItemDetailsComponent } from './topic-details/topic-item-details/topic-item-details.component';\nimport { IndicatorValuesComponent } from './topic-details/topic-item-details/indicator-values/indicator-values.component';\nimport { ReportMenuItemComponent } from './report-structure/report-menu-item/report-menu-item.component';\nimport { AppLayoutComponent } from 'src/app/app-layout/app-layout.component';\nimport { ReportPageComponent } from '../report/report.component';\nimport { ReportPreviewModule } from 'src/app/report-preview/report-preview.module';\nimport { SharedComponentsModule } from 'src/app/shared/components/shared-components.module';\nimport { MsalGuard } from '@azure/msal-angular';\nimport { SubstrateDataComponent } from './topic-details/topic-item-details/substrate-data/substrate-data.component';\nimport { DirectiveModule } from 'src/app/shared/directives/directive.module';\nimport { IndicatorInputComponent } from './topic-details/topic-item-details/indicator-input/indicator-input.component';\nimport { NoTopicSelectedComponent } from './no-topic-selected/no-topic-selected.component';\nimport { ReportModule } from '../report/report.module';\nimport { KeyboardShortcutsDirective } from 'src/app/shared/directives/keyboard-shortcuts.directive';\nimport { FormatUnitWithUnicodePipe } from 'src/app/shared/pipes/format-unit-with-unicode.pipe';\nimport { NewIndicatorFormComponent } from './topic-details/new-indicator-form/new-indicator-form.component';\nimport { TextDisclosureFormComponent } from './topic-details/text-disclosure-form/text-disclosure-form.component';\nimport { TopicContentComponent } from './topic-content/topic-content.component';\nimport { TopicItemContentComponent } from './topic-content/topic-item-content/topic-item-content.component';\nimport { TopicItemHeaderComponent } from './topic-content/topic-item-header/topic-item-header.component';\nimport { TopicItemPlaceholderComponent } from './topic-content/topic-item-placeholder/topic-item-placeholder.component';\nimport { IndicatorDisclosureDialogComponent } from './topic-content/indicator-disclosure-dialog/indicator-disclosure-dialog.component';\n\n@NgModule({\n declarations: [\n ReportDetailsComponent,\n ReportStructureComponent,\n MainLevelItemComponent,\n TopicItemComponent,\n TopicDetailsComponent,\n TopicItemListComponent,\n TopicItemDetailsComponent,\n IndicatorValuesComponent,\n ReportMenuItemComponent,\n SubstrateDataComponent,\n IndicatorInputComponent,\n NoTopicSelectedComponent,\n NewIndicatorFormComponent,\n TextDisclosureFormComponent,\n TopicContentComponent,\n TopicItemContentComponent,\n TopicItemHeaderComponent,\n TopicItemPlaceholderComponent,\n IndicatorDisclosureDialogComponent,\n ],\n imports: [\n CommonModule,\n UiModule,\n ReactiveFormsModule,\n ContentModule,\n QuillModule,\n ReportPreviewModule,\n SharedComponentsModule,\n ReportModule,\n DirectiveModule,\n KeyboardShortcutsDirective,\n FormatUnitWithUnicodePipe,\n RouterModule.forChild([\n {\n path: 'report',\n component: AppLayoutComponent,\n children: [\n { path: '', component: ReportPageComponent },\n\n {\n path: `:id`,\n component: ReportDetailsComponent,\n children: [\n {\n path: '',\n component: NoTopicSelectedComponent,\n },\n {\n path: ':topicid',\n component: TopicContentComponent,\n },\n ],\n },\n ],\n canActivate: [MsalGuard],\n },\n ]),\n ],\n})\nexport class ReportDetailsModule {}\n","import { Content, TableCell } from 'pdfmake/interfaces';\nimport { IImportFromExcelContentData } from 'src/app/content/content-item/import-from-excel/import-from-excel.component';\nimport { TableDataConfig } from 'src/app/shared/components/table-data/table-data.component';\n\nexport async function importFromExcelTable(content: IImportFromExcelContentData): Promise {\n if (!content?.tableConfig || !content?.rows) return { text: '' };\n const numberOfColumns = content.tableConfig.headers.length;\n const rightColumnsWidth = numberOfColumns > 1 ? Array(numberOfColumns - 1).fill('auto') : [];\n return Promise.resolve({\n columns: [\n {\n table: {\n headerRows: 1,\n widths: ['*'].concat(rightColumnsWidth),\n body: [\n headerColumns(content.tableConfig),\n ...content.rows.map(row => {\n return rowsColumns(row, numberOfColumns);\n }),\n ],\n },\n margin: [122, 0, 14, 0],\n layout: {\n hLineColor: '#CCCCCC',\n vLineColor: '#CCCCCC',\n hLineWidth: function () {\n return 0.5;\n },\n vLineWidth: function () {\n return 0.5;\n },\n },\n },\n ],\n });\n}\n\nfunction headerColumns(tableConfig: TableDataConfig) {\n return tableConfig.headers.map((h, index) => {\n return {\n text: h.label,\n border: [false, false, false, false],\n style: 'excelHeader',\n margin: [0, 0, 0, 0],\n alignment: index !== 0 ? 'left' : undefined,\n };\n });\n}\n\nfunction rowsColumns(rowColumns: string[], numberOfColumns: number): TableCell[] {\n for (let i = rowColumns.length; i < numberOfColumns; i++) {\n rowColumns.push('');\n }\n\n return rowColumns.map((columnValue, index) => {\n var rowCell: TableCell = {\n text: columnValue ?? ' ',\n border: [false, true, false, true],\n style: 'excelBody',\n margin: [0, 0, 0, 0],\n alignment: index !== 0 ? 'left' : undefined,\n };\n return rowCell;\n });\n}\n","import { Content, TableCell } from 'pdfmake/interfaces';\nimport { TimePeriod, TimePeriodType } from 'src/api-client/report-api.generated';\nimport { getTimeLabelFromPeriod } from 'src/app/static-data/time-labels';\nimport { numberToFormattedNumberString } from 'src/app/shared/utils/number-converters';\nimport {\n IIndicatorContentData,\n VisibleValueColumn,\n} from 'src/app/content/content-item/indicator-content/indicator-content.component';\nimport { IKeyfigures } from '../types';\nimport { generateSubstrateData } from '../substrate-data-pdf';\n\nexport const generateIndicatorSet = function (\n content: IIndicatorContentData,\n keyFigures: IKeyfigures[],\n timePeriod?: TimePeriod\n): Content {\n const references = Array.from(\n new Set(keyFigures.flatMap(value => value.referenceStandards?.replace(/(\\r\\n|\\n|\\r)/gm, ', ').split(', ')))\n ).join(', ');\n const visibleColumns = content.visibleColumns;\n const isCustomPeriod = timePeriod?.type === TimePeriodType.Custom;\n const colSpan = 2 + visibleColumns.length;\n\n const tableHeaders: TableCell[] = [\n { text: '', border: [false, false, false, true] },\n { text: 'UNIT', border: [false, false, false, true], style: 'indicatorHeading', margin: 4 },\n ];\n\n if (visibleColumns.includes(VisibleValueColumn.TargetValue)) {\n tableHeaders.push({\n text: isCustomPeriod || !timePeriod ? 'TARGET' : 'TARGET ' + getTimeLabelFromPeriod(timePeriod, 1).toUpperCase(),\n color: '#23D468',\n alignment: 'right',\n border: [false, false, false, true],\n style: 'indicatorHeading',\n margin: 4,\n });\n }\n\n if (visibleColumns.includes(VisibleValueColumn.CurrentValue)) {\n tableHeaders.push({\n text: isCustomPeriod || !timePeriod ? 'CURRENT' : getTimeLabelFromPeriod(timePeriod, 0).toUpperCase(),\n color: '#00B2FF',\n alignment: 'right',\n border: [false, false, false, true],\n style: 'indicatorHeading',\n margin: 4,\n });\n }\n\n if (visibleColumns.includes(VisibleValueColumn.PreviousValue)) {\n tableHeaders.push({\n text: isCustomPeriod || !timePeriod ? 'PREVIOUS' : getTimeLabelFromPeriod(timePeriod, -1).toUpperCase(),\n alignment: 'right',\n border: [false, false, false, true],\n style: 'indicatorHeading',\n margin: 4,\n });\n }\n\n const tableBody: TableCell[][] = [tableHeaders];\n\n if (isCustomPeriod) {\n const periodRow: TableCell[] = [\n { text: '', border: [false, false, false, true] },\n { text: '', border: [false, false, false, true] },\n ];\n\n if (visibleColumns.includes(VisibleValueColumn.TargetValue)) {\n periodRow.push({\n text: getTimeLabelFromPeriod(timePeriod, 1),\n alignment: 'right',\n border: [false, false, false, true],\n style: 'indicatorReference',\n margin: [4, 4, 4, 2],\n });\n }\n\n if (visibleColumns.includes(VisibleValueColumn.CurrentValue)) {\n periodRow.push({\n text: getTimeLabelFromPeriod(timePeriod, 0),\n alignment: 'right',\n border: [false, false, false, true],\n style: 'indicatorReference',\n margin: [4, 4, 4, 2],\n });\n }\n\n if (visibleColumns.includes(VisibleValueColumn.PreviousValue)) {\n periodRow.push({\n text: getTimeLabelFromPeriod(timePeriod, -1),\n alignment: 'right',\n border: [false, false, false, true],\n style: 'indicatorReference',\n margin: [4, 4, 4, 2],\n });\n }\n\n tableBody.push(periodRow);\n }\n\n keyFigures.map(value => {\n const dataRow: TableCell[] = [\n {\n text: value.metadata.label || '',\n border: [false, false, false, true],\n style: 'indicatorValue',\n margin: [4, 8, 4, 8],\n },\n {\n text: value.metadata.unit || '',\n italics: true,\n border: [false, false, false, true],\n style: 'indicatorValue',\n margin: [4, 8, 4, 8],\n },\n ];\n\n if (visibleColumns.includes(VisibleValueColumn.TargetValue)) {\n dataRow.push({\n text:\n value.targetValue.value !== undefined && value.targetValue.value !== null\n ? numberToFormattedNumberString(Number(value.targetValue.value), 0, 7)\n : '-',\n alignment: 'right',\n border: [false, false, false, true],\n style: 'indicatorValue',\n margin: [4, 8, 4, 8],\n });\n }\n\n if (visibleColumns.includes(VisibleValueColumn.CurrentValue)) {\n dataRow.push({\n text:\n value.currentValue.value !== undefined\n ? numberToFormattedNumberString(Number(value.currentValue.value), 0, 7)\n : ' ',\n alignment: 'right',\n bold: true,\n border: [false, false, false, true],\n style: 'indicatorValue',\n margin: [4, 8, 4, 8],\n });\n }\n\n if (visibleColumns.includes(VisibleValueColumn.PreviousValue)) {\n dataRow.push({\n text:\n value.previousValue.value !== undefined\n ? numberToFormattedNumberString(Number(value.previousValue.value), 0, 7)\n : ' ',\n alignment: 'right',\n border: [false, false, false, true],\n style: 'indicatorValue',\n margin: [4, 8, 4, 8],\n });\n }\n\n tableBody.push(dataRow);\n\n // We temporarily disable the substrate data in indicator set component due to the error in report generation\n // if (value.substrateData && value.substrateData.tBody.length) {\n // tableBody.push([generateSubstrateData(value.substrateData, colSpan), ...Array(colSpan - 1).fill({})]);\n // }\n });\n\n tableBody.push([\n {\n text: references || ' ',\n colSpan: colSpan,\n margin: [4, 8, 4, 8],\n border: [false, false, false, false],\n style: 'indicatorReference',\n },\n ...Array(colSpan - 1).fill({}),\n ]);\n\n return {\n margin: [122, 0, 14, 0],\n table: {\n widths: [\n '*',\n 'auto',\n ...(visibleColumns.includes(VisibleValueColumn.TargetValue) ? ['17%'] : []),\n ...(visibleColumns.includes(VisibleValueColumn.CurrentValue) ? ['17%'] : []),\n ...(visibleColumns.includes(VisibleValueColumn.PreviousValue) ? ['17%'] : []),\n ],\n body: tableBody,\n headerRows: 1,\n dontBreakRows: true,\n },\n layout: {\n hLineColor: '#DDDDDD',\n vLineColor: '#DDDDDD',\n hLineWidth: function () {\n return 0.5;\n },\n vLineWidth: function () {\n return 0;\n },\n paddingRight: function () {\n return 0;\n },\n paddingLeft: function () {\n return 0;\n },\n paddingTop: function () {\n return 0;\n },\n paddingBottom: function () {\n return 0;\n },\n },\n };\n};\n","import { Content, TableCell } from 'pdfmake/interfaces';\nimport { getTimeLabelFromPeriod } from 'src/app/static-data/time-labels';\nimport { IndicatorDataValueType, TimePeriod } from 'src/api-client/report-api.generated';\nimport { formatNumbersInString } from 'src/app/shared/utils/number-converters';\nimport { IKeyfigures, ISingleKeyFiguresMetaData, ITableKeyFigureValue } from '../types';\nimport {\n IIndicatorContentData,\n VisibleValueColumn,\n} from 'src/app/content/content-item/indicator-content/indicator-content.component';\n\nexport const generateTableValue = function (\n content: IIndicatorContentData,\n data: IKeyfigures,\n timePeriod?: TimePeriod\n): Content {\n if (!data || !data.metadata)\n return {\n text: '',\n };\n const calculatedTable: TableCell[][] = [];\n const metaData = data.metadata.tableColumnsMetadata;\n\n const visibleColumns = content.visibleColumns || [];\n\n const showCurrentValue = visibleColumns.includes(VisibleValueColumn.CurrentValue);\n const showPreviousValue = visibleColumns.includes(VisibleValueColumn.PreviousValue);\n\n if (metaData && metaData.length) {\n // Generate label, current, and previous tables\n const labelTable = generateLabelTable(data);\n const currentTable = showCurrentValue\n ? generateValueTable(\n metaData,\n data.currentValue.tableRows || [],\n timePeriod ? getTimeLabelFromPeriod(timePeriod, 0).replace('\\n', '') : ''\n )\n : [];\n const previousTable = showPreviousValue\n ? generateValueTable(\n metaData,\n data.previousValue.tableRows || [],\n timePeriod ? getTimeLabelFromPeriod(timePeriod, -1).replace('\\n', '') : ''\n )\n : [];\n\n // Combine tables\n for (let i = 0; i < labelTable.length; i++) {\n const row = [...labelTable[i]];\n\n if (showCurrentValue) {\n const currentCells = i < currentTable.length ? currentTable[i] : currentTable[0].map(() => ({ text: '' }));\n row.push(...currentCells);\n }\n\n if (showPreviousValue) {\n const previousCells = i < previousTable.length ? previousTable[i] : previousTable[0].map(() => ({ text: '' }));\n row.push(...previousCells);\n }\n\n calculatedTable.push(row);\n }\n\n // Calculate column widths\n const widths = Array(calculatedTable[0].length).fill('auto');\n\n const referenceRow: TableCell[] = [];\n\n referenceRow.push({\n text: data.referenceStandards?.replace(/(\\r\\n|\\n|\\r)/gm, ', ') || ' ',\n colSpan: calculatedTable[0].length,\n margin: [4, 8, 4, 8],\n border: [false, false, false, false],\n style: 'indicatorReference',\n });\n\n for (let i = 1; i < calculatedTable[0].length; i++) {\n referenceRow.push({});\n }\n\n calculatedTable.push(referenceRow);\n\n return {\n stack: [\n { text: data.metadata.label || '', style: 'indicatorTableHeading' },\n {\n margin: [122, 0, 14, 0],\n table: {\n body: calculatedTable,\n widths: widths,\n dontBreakRows: true,\n },\n\n layout: {\n hLineColor: '#DDDDDD',\n vLineColor: '#DDDDDD',\n fillColor: function (rowIndex, node, columnIndex) {\n return columnIndex > 0 && columnIndex < metaData.length ? '#f4f4f4' : null;\n },\n hLineWidth: function () {\n return 0.5;\n },\n vLineWidth: function (i) {\n if (i === 0 || i === calculatedTable[0].length) {\n return 0;\n } else {\n return 0.5;\n }\n },\n paddingRight: function () {\n return 0;\n },\n paddingLeft: function () {\n return 0;\n },\n paddingTop: function () {\n return 0;\n },\n paddingBottom: function () {\n return 0;\n },\n },\n },\n ],\n };\n } else {\n return {\n text: '',\n };\n }\n};\n\nconst generateLabelTable = function (data: IKeyfigures): TableCell[][] {\n const tableBody: TableCell[][] = [\n [\n {\n text: '',\n },\n ],\n ];\n\n if (data.metadata.tableColumnsMetadata?.length) {\n const hasGroupLabel = data.metadata.tableColumnsMetadata.some(column => column.groupLabel);\n\n if (hasGroupLabel) {\n tableBody.push([\n {\n text: '',\n },\n ]);\n }\n\n const firstColumn = data.metadata.tableColumnsMetadata[0];\n\n tableBody.push([\n {\n text: firstColumn.label?.toUpperCase() || '',\n style: 'indicatorHeading',\n margin: [4, 10, 4, 10],\n },\n ]);\n }\n\n const tableRows = data.currentValue.tableRows ? data.currentValue.tableRows : data.previousValue.tableRows;\n\n tableRows?.map(row => {\n tableBody.push([\n {\n text: row?.values?.length ? (row.values[0]?.value || '').toString() : '',\n style: 'indicatorValue',\n margin: [4, 8, 4, 8],\n },\n ]);\n });\n\n return tableBody;\n};\n\nconst generateValueTable = function (\n metadata: ISingleKeyFiguresMetaData[],\n tableRows: ITableKeyFigureValue[],\n timperiod: string\n): TableCell[][] {\n const tableBody: TableCell[][] = [];\n const colSpan = metadata.length - 1;\n\n const timePeriodRow: TableCell[] = [];\n timePeriodRow.push({\n text: timperiod.toUpperCase(),\n colSpan: colSpan,\n style: 'indicatorHeading',\n margin: [4, 6, 4, 6],\n alignment: 'center',\n });\n\n for (let i = 1; i < colSpan; i++) {\n timePeriodRow.push({ text: '' });\n }\n\n tableBody.push(timePeriodRow);\n const units: string[] = [];\n const groups: string[] = [];\n\n const groupCells: TableCell[] = [];\n let currentGroup = undefined;\n let groupColSpan = 1;\n const headerCells: TableCell[] = [];\n for (let i = 1; i < metadata.length; i++) {\n if (metadata[i].groupLabel !== currentGroup) {\n if (currentGroup) {\n groupCells.push({\n text: currentGroup.toUpperCase(),\n colSpan: groupColSpan,\n style: 'indicatorHeading',\n alignment: 'center',\n margin: [4, 10, 4, 10],\n });\n for (let i = 1; i < groupColSpan; i++) {\n groupCells.push({ text: '' });\n }\n }\n currentGroup = metadata[i].groupLabel;\n groupColSpan = 1;\n } else if (currentGroup) {\n groupColSpan++;\n }\n\n units.push(metadata[i].unit === 'Number' ? '' : metadata[i].unit || '');\n groups.push(metadata[i].groupLabel || '');\n\n headerCells.push({\n text: metadata[i].label?.toUpperCase() || '',\n style: 'indicatorHeading',\n alignment: metadata[i].type === IndicatorDataValueType.Numeric ? 'right' : 'left',\n margin: [4, 10, 4, 10],\n });\n }\n\n if (groupColSpan > 1) {\n groupCells.push({\n text: currentGroup?.toUpperCase() || '',\n colSpan: groupColSpan,\n style: 'indicatorHeading',\n alignment: 'center',\n margin: [4, 10, 4, 10],\n });\n for (let i = 1; i < groupColSpan; i++) {\n groupCells.push({ text: '' });\n }\n }\n\n if (groupCells.length) tableBody.push(groupCells);\n tableBody.push(headerCells);\n\n for (const row of tableRows) {\n const rowCells: TableCell[] = [];\n\n if (row.values) {\n for (let j = 1; j < headerCells.length + 1; j++) {\n if (j < row.values.length) {\n let text = row.values[j]?.value?.toString();\n let unit = row.values[j]?.unitDetails || units[j - 1];\n rowCells.push({\n text:\n row.values[j]?.type === IndicatorDataValueType.Numeric\n ? formatNumbersInString(text || '', 0, 7) + ' ' + unit\n : text,\n style: 'indicatorValue',\n alignment: row.values[j]?.type === IndicatorDataValueType.Numeric ? 'right' : 'left',\n margin: [4, 8, 4, 8],\n });\n } else {\n rowCells.push({ text: '' });\n }\n }\n }\n tableBody.push(rowCells);\n }\n\n return tableBody;\n};\n","import { Content, TableCell } from 'pdfmake/interfaces';\nimport {\n IndicatorDataValueType,\n TimePeriod,\n TimePeriodType,\n TopicItemType,\n} from '../../../../api-client/report-api.generated';\nimport { getTimeLabelFromPeriod } from '../../../static-data/time-labels';\nimport { numberToFormattedNumberString } from 'src/app/shared/utils/number-converters';\nimport { pickTextColorBasedOnBgColor } from 'src/app/shared/utils/colors';\nimport { IComponent, IKeyfigures, IMainLevel } from './types';\n\nexport interface keyFiguresTable {\n mainTopic?: string;\n keyFigures?: keyFigureRows[];\n}\n\nexport interface keyFigureRows {\n topicItem?: string;\n references?: string;\n rows: keyFigureRow[];\n}\n\nexport interface keyFigureRow {\n label?: string;\n unit?: string;\n target?: number;\n current?: number;\n previous?: number;\n}\n\nexport const mapKeyFiguresToRow = function (keyFigures: IKeyfigures, components: IComponent[] | undefined): keyFigureRow {\n const matchingComponents = components?.filter(component => {\n return component.id && keyFigures.usedInComponentIds?.includes(component.id)\n });\n\n const visibleColumns = matchingComponents\n ? Array.from(\n new Set(\n matchingComponents.flatMap(component => {\n const content = component.content ? JSON.parse(component.content) : {};\n return content.visibleColumns || [];\n })\n )\n )\n : [];\n\n const hasTargetColumn = visibleColumns.includes('TargetValue');\n const hasCurrentColumn = visibleColumns.includes('CurrentValue');\n const hasPreviousColumn = visibleColumns.includes('PreviousValue');\n\n return {\n label: keyFigures.metadata.label,\n unit: keyFigures.currentValue.unitDetails || keyFigures.metadata.unit,\n target:\n hasTargetColumn && (keyFigures.targetValue.value || keyFigures.targetValue.value === 0)\n ? Number(keyFigures.targetValue.value)\n : undefined,\n current:\n hasCurrentColumn && (keyFigures.currentValue.value || keyFigures.currentValue.value === 0)\n ? Number(keyFigures.currentValue.value)\n : undefined,\n previous:\n hasPreviousColumn && (keyFigures.previousValue.value || keyFigures.previousValue.value === 0)\n ? Number(keyFigures.previousValue.value)\n : undefined,\n };\n};\n\nexport const getKeyFigureFromMainLevels = function (mainLevels: IMainLevel[]): keyFiguresTable[] {\n const table: keyFiguresTable[] = [];\n mainLevels.map(async mainTopic => {\n const keyFigures: keyFigureRows[] = [];\n const topics = mainTopic.topics || [];\n topics.map(async topic => {\n const topicItems = topic.topicItems || [];\n topicItems.map(async topicItem => {\n let referenceStandards = '';\n if (topicItem.type === TopicItemType.NewIndicator) {\n referenceStandards = Array.from(\n new Set(\n topicItem.dataValues?.flatMap(value =>\n value.referenceStandards?.replace(/(\\r\\n|\\n|\\r)/gm, '\\n').split('\\n')\n )\n )\n ).join('\\n');\n }\n\n const keyFigure = {\n topicItem: topicItem.name,\n rows:\n topicItem.dataValues\n ?.filter(\n value => value.metadata.type === IndicatorDataValueType.Numeric && value.metadata.isVisibleInReport\n )\n .map(value => mapKeyFiguresToRow(value, topicItem.components)) || [],\n references: referenceStandards,\n };\n if (keyFigure.rows.length) keyFigures.push(keyFigure);\n });\n });\n keyFigures.length && table.push({ mainTopic: mainTopic.name, keyFigures: keyFigures });\n });\n return table;\n};\n\nexport const generateKeyFiguresTable = function (\n keyFiguresTables: keyFiguresTable[],\n timePeriod?: TimePeriod,\n organizationName?: string,\n tableHeadColor?: string\n): Content[] {\n const isCustomPeriod = timePeriod?.type === TimePeriodType.Custom;\n const tableBody: TableCell[][] = [\n [\n { text: '', bold: true, border: [false, false, false, false], style: 'keyFiguresTableCell' },\n { text: '', bold: true, border: [false, false, false, false], style: 'keyFiguresTableCell' },\n { text: 'Unit', bold: true, border: [false, false, false, false], style: 'keyFiguresTableCell' },\n {\n text: isCustomPeriod || !timePeriod ? 'Target' : 'Target ' + getTimeLabelFromPeriod(timePeriod, 1),\n bold: true,\n border: [false, false, false, false],\n style: 'keyFiguresTableCell',\n alignment: 'right',\n },\n {\n text: isCustomPeriod || !timePeriod ? 'Current' : getTimeLabelFromPeriod(timePeriod, 0),\n bold: true,\n border: [false, false, false, false],\n style: 'keyFiguresTableCell',\n alignment: 'right',\n },\n {\n text: isCustomPeriod || !timePeriod ? 'Previous' : getTimeLabelFromPeriod(timePeriod, -1),\n bold: true,\n border: [false, false, false, false],\n style: 'keyFiguresTableCell',\n alignment: 'right',\n },\n {\n text: 'Disclosure Reference',\n bold: true,\n border: [true, false, false, false],\n style: 'keyFiguresTableCell',\n },\n ],\n ];\n\n if (isCustomPeriod) {\n tableBody.push([\n {\n text: '',\n border: [false, true, false, true],\n style: 'keyFiguresTableCell',\n },\n {\n text: '',\n border: [false, true, false, true],\n style: 'keyFiguresTableCell',\n },\n {\n text: '',\n border: [false, true, false, true],\n style: 'keyFiguresTableCell',\n },\n {\n text: getTimeLabelFromPeriod(timePeriod, 1),\n border: [false, true, false, true],\n style: 'keyFiguresTableCell',\n alignment: 'right',\n italics: true,\n },\n {\n text: getTimeLabelFromPeriod(timePeriod, 0),\n border: [false, true, false, true],\n style: 'keyFiguresTableCell',\n alignment: 'right',\n italics: true,\n },\n {\n text: getTimeLabelFromPeriod(timePeriod, -1),\n border: [false, true, false, true],\n style: 'keyFiguresTableCell',\n alignment: 'right',\n italics: true,\n },\n {\n text: '',\n border: [true, true, false, true],\n style: 'keyFiguresTableCell',\n },\n ]);\n }\n\n keyFiguresTables.map(table => {\n tableBody.push([\n {\n text: table.mainTopic,\n border: [false, true, false, true],\n style: 'keyFiguresTableCell',\n bold: true,\n colSpan: 7,\n fillColor: tableHeadColor ? tableHeadColor : '#bedde0',\n color: tableHeadColor ? pickTextColorBasedOnBgColor(tableHeadColor) : 'black',\n },\n ]);\n table.keyFigures?.map(figures => {\n figures.rows.map(indictorValues =>\n tableBody.push([\n {\n text: figures.topicItem || '',\n border: [false, true, false, true],\n style: 'keyFiguresTableCell',\n rowSpan: figures.rows.length,\n colSpan: figures.rows.length > 1 ? 1 : 2,\n },\n {\n text: indictorValues.label || '',\n border: [false, true, false, true],\n style: 'keyFiguresTableCell',\n italics: true,\n },\n {\n text: indictorValues.unit || '',\n border: [false, true, false, true],\n style: 'keyFiguresTableCell',\n italics: true,\n },\n {\n text: indictorValues.target !== undefined ? numberToFormattedNumberString(indictorValues.target, 0, 2) : '-',\n border: [false, true, false, true],\n style: 'keyFiguresTableCell',\n alignment: 'right',\n },\n {\n text:\n indictorValues.current !== undefined ? numberToFormattedNumberString(indictorValues.current, 0, 2) : '-',\n border: [false, true, false, true],\n bold: true,\n style: 'keyFiguresTableCell',\n alignment: 'right',\n },\n {\n text:\n indictorValues.previous !== undefined ? numberToFormattedNumberString(indictorValues.previous, 0, 2) : '-',\n border: [false, true, false, true],\n style: 'keyFiguresTableCell',\n alignment: 'right',\n },\n {\n text: figures.references || '',\n border: [true, true, false, true],\n style: 'keyFiguresTableCell',\n italics: true,\n rowSpan: figures.rows.length,\n },\n ])\n );\n });\n });\n\n return [\n {\n text: organizationName?.toUpperCase() || '',\n style: 'mainTopicTitleLeft',\n margin: [23, 0, 0, 11],\n pageBreak: 'before',\n },\n {\n text: isCustomPeriod || !timePeriod ? 'Key Figures' : 'Key Figures ' + getTimeLabelFromPeriod(timePeriod, 0),\n style: 'keyFigureTitle',\n margin: [23, 0, 0, 20],\n },\n {\n table: {\n headerRows: 1,\n widths: ['15%', '15%', '10%', '15%', '15%', '15%', '15%'],\n body: tableBody,\n },\n margin: [23, 0, 0, 0],\n layout: {\n hLineColor: '#CCCCCC',\n vLineColor: '#CCCCCC',\n hLineWidth: function () {\n return 0.5;\n },\n vLineWidth: function () {\n return 0.5;\n },\n },\n },\n ];\n};\n","export const logo =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAV4AAACWCAYAAACW5+B3AAABhGlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9TtSoVETuIOGSoThZFRRy1CkWoEGqFVh1MLv2CJg1Jiouj4Fpw8GOx6uDirKuDqyAIfoA4OjkpukiJ/0sKLWI9OO7Hu3uPu3eAUC0yzWobBzTdNhOxqJhKr4qBVwTQgS6MoU9mljEnSXG0HF/38PH1LsKzWp/7c/SoGYsBPpF4lhmmTbxBPL1pG5z3iUMsL6vE58SjJl2Q+JHrisdvnHMuCzwzZCYT88QhYjHXxEoTs7ypEU8Rh1VNp3wh5bHKeYuzViyz+j35C4MZfWWZ6zSHEMMiliBBhIIyCijCRoRWnRQLCdqPtvAPun6JXAq5CmDkWEAJGmTXD/4Hv7u1spMTXlIwCrS/OM7HMBDYBWoVx/k+dpzaCeB/Bq70hr9UBWY+Sa80tPAR0LsNXFw3NGUPuNwBBp4M2ZRdyU9TyGaB9zP6pjTQfwt0r3m91fdx+gAkqav4DXBwCIzkKHu9xbs7m3v790y9vx9GCXKVFUm3/gAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAN1wAADdcBQiibeAAAAAd0SU1FB+YHBgoiHsuoL2YAACAASURBVHja7V15dFXVuf995w4JkICCY9ooGW5IcjOAgOJYba1MKloNdnB4rU+xVm2BJJDcgKc1A5AADp0cKn1W2yoObRGCVMVaAW1BSMJNgCQEBYdqQA2Q4d579vf+iH2v1ipJPDc5e9/9W4vFWlnr7vPtb/jtb397ohl1exifRjeALgAM4MOP/9YJUDeDDxJwEEA7MR1kQxxkgXYXG/8Ie+nASPS8udrvD0HjE1hY/8bx7AolRciVZECcCqIkFjgRxIkgOg6gRAhOBCH+458kEpP7n79ngw+DEQEoBPBRAADhQzAdJRbtMKidmd5niINgancJ10F4ug8sy8w8rLX/2Th7xYphHT09X3Jb1ikWURIBxxEwipkTQJQIYAQDBhGN+vffkhDdTNQFAMTcwUQWA13EvTEiiNpdhtFuWVZ7XCRycJtpdmqNawAAfQbxfhEIAG8B2AdQGyDaQLRPWBz0WInBNZOSlHO+ufv3DzM6ulOIjBQQpUBwCgwkg3EqMSUxcRLwf4Q62CY+CPA+ENoA3kds7AO4DZbYXZ2TvhdErKpz+00zwTCMFHK7U8CcwsxJBJzKREkATgWQBOC4QRSpC0AbgDcY2EdE+5h5n0H0hgvYu7209H1NSZp4owEBoBVAPUANxNwQ8Rj1z/nTW2TIWMOecKohjFQmTiWmf/1/LABDQvuHALQAvA2gIIgaERKv1eSnvyeD8BPvv98TOnQo2bCsJAGcCqJUAKkgSgVzKoAUACSRPT4goJGBIAGNxLyN4+K21xcVHdVUpYk3ClKgA4y/AbyJiF4ZfmTYptXnJHc5QUEms3G4ce/NBsFk4OQY8YtWgDcz02ZhYNOozNSgSSScIlzeXXelCMP4BQEXA3ApbgsBoIWBV4loMyKRzQ1CBGGaAhqaeKOQib1OoE1g/Hl4Z/zLQ03EhXXvjmB35w+JuGiQp6dOwEcg2sLgLQbxCyPe2f+aedFFkaEU6ELTdB/0eq8j5jsZOD3G7NHBwBYAWwzglY5weNM+0+zWdKaJ1250AdhERM8D9PzavPRtQyVI8a5diUJ4bgUQAJAYo35zlIGNIF7jFrR+qT/tzSEtN7S3fxeAid66bSyiC0SbwPw8DOP5hpKSbdDQxBsFtIFpncF4clhz+l9XzyZrsAUoCradwrACILoZgDemnQhoYNB6kPVMTWb6q0OxYJdXXT1ChEJ3EFAE4PgYj+s2Ap4D87rOkSM3tNxxR4+mOk28toKBgwRexzBWdx06UPvSIE+BFwRbTxOgABPfCPXrjX0xyAEY9DQLXr08O3XTYJPwuKVLE72RyK0ASgGM1CGOTmJ+EUSr4fU+pRfqNPFGI/V6hwQ9RQZ++2yeb8tgfnp+sDmbyCgHcAXkWkmPJt4k5tWC6fHlOWl/H9QM2DRPEh5PKQG3AIjTpgAAdAD4ExGt7kxIeE5nwpp4o4HdRLQqzLRqwyBuj5rX2DbFgLgbwFnavf6tHMH8kIW4R1f6kw8N1nf9S5acZlhWBYDv6AHxEzPFdiJ6lJh/VR8I7NQa0cRrN0IANhDRI8N3pT89KPVgZipqbLuaiWsAnKbd7BPoAeFPYDxQk5X6wmCVInLKyycR0b0AztYm+BS2EfAbKxz+TdA0D2l1aOK1G21g/il3Gw/VTvF1RPtjtwaDCcMQHyDCXD3d/Y9oJaZfGvH84NK0tI+i/jXTNHK93hsgRCWITtHq/xSOAHhCuFz3BhcurNPq0MRrNw4DWCWEtXL9hKx90f5YUUNzGlxGDffWfzX+sz1+5SbjniVZKVG3R1519QiEQkUMLMCQHeV2ODEAm5j5nsyMjKdXz55taY1o4rUTAsA6Moyqtbnpm6NOwI2tMxj4JYBk7Xr/2R4MrDMMXlKdmb4p2h/LrazMZOYHCThPq/4zsQtEdyfExz+yZd68Lq0OTby2ggkvEXDnuryMl6P5nQWtraNENy1j4pugF3s+D68IhrnCn/ZC1MsPHs/3AVQhdg/EHDs+ehfj7usKhe5uMc0OrRFNvHarZBMxLVo7Pn1jNL8yP9h6HgEPgpCpdf652AzgzprstOej+ZEJS5cmRSKRn0GXg46FwwB+7nW5qrYtXPiRVocmXtsJmAmB2jzfX6KWbLW1xR/pFAtBKAXg0Tr/3JRrE8CLa/zpL0a1/FBeXgCinwE4USv9c3GQgJ92hsMrdAasiTcaeJYMFK/NzWiK1gfmNbZNcTE/xsSpWt3HcFjgz2CjuNqfsiNa38ipqDiZmB8G0Qyt8WPifTAvEZHIT4OmqR9A0MRrKyLMeBiCymrP8EXlsuriXbsS2fLWMPHNWt3HhAD4MWJXcbU/5d3oZNhMuZWVNwFYCWC4Vvkx8SYBi+oDgUe0KjTx2o0PiGipGIa7a32+qBy3LAruLWDi+6EveukLjoJRkzDcWGKmpETlWkR/ZWW2wfw7AHla3X1hFHrJIJpXV1KyXStDE6/d2C2I563PG7cuGo0X7tqXAmE9CuAcreo+oY2Zipf7U5+MRuNjTTN+pNe7lJlvh96J0qcZCTE/FiZa0BQIvKPVoYnXbjzLoO/X5vsO2N2wuXGj+8hJp/0EhIU62PuMDTBct9Rkjm2LRuO55eWzQPRrxN5F+ANFB4DShnD4F/rFDE28duMjAHeemee7LxrP4xQ1tV7KjEcBjNKq7hO6wFjW0fVBxQOTJoVtLz1UVaUbzE+DOVerus/YYljWTXWLFwe1KjTx2qtI4BUYuDkaux/mNbVmGIxnAGRrTffZIHVs4aZoXEfpN80Ew+P5FYDZWtF9RhjAisPhsKmfKdLEaze6GXxX16G3l9l9Ifvtzc0j48KuRwCepdXcZ0QAWmkleu5cmWzzm33MlFdZWci9J970Bfh9x24w39xQVvZyLCtBE2908JrlNq61/dl6Zips2lsMoBJyPic/ROAmwfydFX6f7SvtueXlF4DoCcTOC9S2GISI7utMSCiO1cvYNfFGD4eJULg2L+MBuxue39hyBYEeg95f2r+pLqMyITv1J3bX4vPuuiuFDWMdoI9/94t8gB1kWdfGYu1XE2/08VSc15rzTFbWQTsbLQ7uPVMYvAaMk7SK+xXtLxohccMym3ei5FZVHQ8hngHwFa3kfqEbgNkQDlfH0s4HPV2NPq7qCbl2zNzRcpGdjS7zp/6NIuIcAM1axf2Z5OKrwmPUFQX3FtjZbENJyQddiYlTGfi9VnK/EA9gSY7Hsy6rouJUnfFq2A0L4PIz8zJsnerODe4f7aLQHwCcr1XcT+dnemAEum43/X777hjoXXS7k4E7tYb7OyainYT4VsOiRc8r73uaeAcda7zCc/0fJqR8aBv57t8/zNUR+g0IV2n19huvROCafXf2WFtPWOVUVt5IzL8E4NYq7m+CgkBDaemywXqPTxNv7ORaewh01dr8dPted2Wm+U177yPgB1q//cb7YP6m3VdO5pWXX8VEvwXg1Srub4jQahEKfS9omkdU7J6u8Q7NpCoDEFtm1jcX2OiovDwr9XYC7tH67TdOBNFzhY2tC+xstL6s7Cn0XqzerVXc70SiwPB4tub/5Cd+nfFq2O9exHfV5maYtk2rmKlwV+syMBVq9Q4oJB5J4K6b7Kz75lRUfJ2AP0Bv/xsIOhj49s5AYK0mXg27sbpzpOf6l2y82vDj7G2JVu2AsJldkVnLx41rt6vB/PLy8wTRWgAjtXr7DYuBuTsDgfs08WrYnftudkUwa80k+4K9qLGlmEFLtXIHhBYCZlRnp9m2XS+nvHwSEa0HMEardwBkRXRvfSg0V4X9vrrG6xyvOke4acul21t9djVZnZ2+jAglWrkDQjqAvxYH955pV4M7y8q2MvM09F6XqNHv3ITvyPV4npxomtKXbDTxOsmxCOnCsP566Y7dtgV7dVbaEmZdchiQPYCTBfFfihpbrrGTfEE0DcBRreEB4coej2djTkWF1HdjaOJ1Hk4WRC/OrN9zsV0NLvenlVDv22Ea/Uc8gx4rbNx7o10NNpSWbiHDuBqAfhxyIJND4EwCXskqLz9dE6+GnRjBjGdn1DfbdgVkdVbqfAYe1qodEFwAP1jY2PojuxqsLylZz8zfBBDR6h0Q0t1EL+dXVmZo4tWwE3FgfmJG3R57TqMR8ZtZqTeDsFqrdqCJFlbOb2pdbGPZ4RkCbgSgn8UZGE4TzC/nVFRI9xCpJl5nwwvg8Zl1u2+wo7HVRFaPW1xHwAtatQNkX8aPi4KtP7Yt8w0EHiHm+VqzA8bJAF7IraqaqIlXw9ZpLoMenlG3+7/taOw+n6/HiMNVABq1agcGJiwuCrbUgNmWR0jry8ruJqJ7tWYHPBU5AUK84K+sPFcTr4bNdqIHZtY127LAszQt7SM3GTMJ+IdW7UDJl+YXNe21bcGyPhSaC+CPWrMDxiiDeUN+efl5shDvB5/4R3qPoXNnufzLmTv2fMOOxpZkpewjA5cC6NSqHSD5Aj+c39hSZktjpilEOHwtATu0ZgeM4YLo2byKijMkyNI/GwWb9w/rTBDxkdDReLfHO0YQjzEEj4GBEyDoFBh8OjONBXgsgGQAHm37qCMEGLPW5aevt6Ox+cG9VxPx43r280VGRCqq9qfW2NHWhKVLkyKRyKsfx5PGwPA+C/GVnYsWNTnWZ+xqqOAJdh3JahkLFrkQlEuEXAC5AHzQr7DajU4Qpq/Ly7Dlpdb5wb2lRFyh1foFkl+iOTVZqQ/a0Vh+VdUEIcTLABK0ageMt0iI8+sXLWpTmng/CxcGgwnxYfd4l2Gcy8znATgHwGjtF1/Ych3C4ovXTxj3dzuaK2zc+z8AX68VO2BYBP5OdXb643Y0lltePgtET+uZyBdCq9vtvmD7ggVvxxzx/sfMeFzLZIKYBtBUAJN1RvwFplQGnV2b62v9og3d3twcFxd2BQBcCvAErdoBIQxgRk12mi1P1+RUVMwGcC0BX4O+UnKg2Ol1uc7btnDhRzFNvP+OqcHgaHfEfQmDrgYwXTtYv7GLKO6ctXmnf2BXgwuCradFDJ4GpssImApdu+8POizCeSuz0hrsavDsFSuGHe3svJiJLgUwC717VzX6zHL0kgiFpgZN0zFHtMlJ+rmkrm6Em4fPJOICBmYCGKa9pi/gjSPckWmr7Xy08WOUNDWNCcFzFQm6HoRzta77YA1gX8SiKffkptq+Xa/giSdcu3bvvoiIrmeibwAYoTXeJzzcEAjc6BRhyKlaunhr66g4r3UNM10PsA74Y0f7r9eNz/huND9R2NiSQ6DvMXADdJ3+GIHFr0YS4766Mjm5K1rfmLhkyaiwZRUwMAfAJK31Y2JhQyCw1Bn+IQGm72ieQCT+m0DXs17p/Txjlq3Nz4j67gSzrS3+cLd1jcG4hUFTtOY/0yCrEzJTv2kSRf0uhpzy8kkGcAsTfQu6XPdZEER0TX1p6ZOaePuBK7a3HdfjCt9MjNsBfFn70afzXiK6Zm2eb9AuwpnX2DbFgChC76OOegX+0zORqhp/WulgfS6zsnKMh/lWEN0G5pO0AT6FLiK6qL609DVNvP2dYm3d6jnZO7IAAsUg5Gtf+oRBj8DAmWtzMwZ183hRY6sPTIVM/F/Qz5l/knrBV9Vkpz8zmB89e8WKYYc7O28gomIAKdoMn8ABCocn1pvme5p4B+TSTNPrWy4F2CTgDO1P/2fWPdyFybVTfIN+/HteQ0uy4TYKwTwHQJy2BQDgsGG5zlqWO3bQT1JNvP9+T7i9/VsMLELvc0YavcS3cXQ4fMlLpjkk9yHLPTUk4tp835qz8nyTGVRAQFC7FABwBg0XDw7Fl1fkpu+vyUr9oZuMTIAegb5rFgAS2WU9bm59e9Brr9vmzAnXBwKPiHDYT0S3Ql+M9M9pyEWHPJ6f6IzXBpjMxmv1e64l0DLovY5g0NzafN/dQylDUWPzGYKNGiJcpLMs/K46O+3bQylDXnX1CA6FbgNQBr1QzUx09c7S0qc18dqAC4PBhOERdyFACwDEx7BjRQj81bX54/461IIUBptngYyViPF6IwM/WJ6d9vOhliOnvDyZiGoAzI5x8v1QGMbkYElJiyZemzC9oTkNgn/28emrWMUBorg8O0+2DRRz9+8f5jrcEwCoELFb/w0RxNnV2b7XnSBMTkXF1wH8jHovs4rVmciOzsTEKS133NEzWN9UevtPba6vtTY/YxoRzQbwXoz61ZeZex5ygiArk5O7arLTywyD8gG8HKP28DKM38zdv98RpzJ3BgJ/7k5MzGXARIy+eszA+OEdHeU6440CrmxqGtMdci2n3lNXsTeqM123drzvUed4O9P8Xa03EdNyxGCtkYnuW56VeoeTZMqrqMhhYBVi8xScICG+Xr9o0YuaeKOAmTuap7LBq8A4Nca6/hGsSP66M7LfcJJQc4Mt6S6iVQDOizF7MBFNq85K3eAkoSbef7+np729lHoX39wxZpP9rnA4b4dpfqhLDTZj7XjfcxE2xgNYE2NdHwWX+zcFT7CjruBc6U9vSchK/QoDP0LvtYqxMwlhsaqkqWmMk4TaNmdOeGcg8GNhGOcAaImxGEmOeDyDUpaLySOeG/LT31uX55sF4tsAdMdQ188/Oq55ntOEMonE8uy0e8DG+cS0N4a4NynM3gedKFmwpOTvXeHwRBA9FkvcQMBVuRUV3x6E78Q2ZmzfMx4GngKQGiNd7iEDEwb7SHHfSw/7R7uM8GNgnhY7wc7ftOvlimggp7z8FiK6G7GzE+VD4fFkBYuL39UZb5SwbkLGDssdngzw+hjpchwL/ALMjhx0V/qTD9VkpswAsBAxc+qN7llY/8bxTpVuZ1nZL2EY5xLwRozEyHFGOHyPLjVEGc/5/YfOzMuYCUY5AI6BLn9lRkOzc3d3EHFNdtpSsPgGgMOqG4OBky2XtcTJMjaUlGwTwFkA/hojtDA7p6Jipi41DBKm1zVfTeBHoP7rF4ciMLI25Kc7en/z3KbWXBfjWQCnqc6/zLhguT/tFScL6TdNr8vtfoiJrosBOnhThMP+oGke0RlvlFGb73vSIPoagPcV7+poN6wapwu5MiutIQLXFADbVK83EOGh25ubHV1HDZpmqD4QuAG9pSDVZ4enGV7vj3WpYZDwbJ5vCxt0NoDdisf6dTMa9nzd6VLenT32nU7uvhDABsVdb1xcmIolGCK4IRBYCqIbAUSUtgjzD3OrqiZq4h2szDfX1xqBcQEYdUp3VODeCzdudPxG+Z/7/UcSuPsyEFar7XlUurCpbawMkjaUlq4CUQGAHoUN4oIQti9Ga+L9HGzIT3/Py54LGdiicDczh41JukUGQU2/P/RGZuq3iOkBhe0RH2FRJYuwDaWlfyAhZkDtRdDJOZWV37F1eNX0emxcUlc3woNhf2Tga4p28ZDlDvue8/sPSTL9o/m72u4h5tuVneBKsND2r8itrDwbzOsBjFTUJm+R1zuuvqjoqM54By3zzT9qhBMuJ+AFRbs42h3xlkojLREvz0z5IZh/qmq9gQg1Tt1r/RmZ7xZmnq5w5vslDoVsO/WpM95+4LKtbw+3PEdqAVygYPdChnDlPDshrVmivJAKm/b+DMD3FU18v1WTnf57mSTOLy8/TxDVQs0b54643e5x2xcseFtnvIOINZOSOrmLLoOaW5u8bFiVkuWFXJOV+gMQVima+C4binfavgjqyspeEcDlUHPBLSESDttyb68m3n6idoqvgy2aDkKjcvkVcPWMuj1nyUa+HUc/mANgnYLulnx0WPetsgkdDAQ2gvk6AJZ6YyHdkFNRkaeJdyjI9wzf+8w0FcBbCk5vTdkkfmDSpHBC57ACAJuVswZxcWHduyNkk7uhrGw1iH6gYPgbBnCnJt6hIt983wFmuoyAI2r1jKZN377rXNmkNicldXoodDmAZsVc7UR4jtwqo+ANpaX3A1iq4MzwSv+SJfmaeIeKfMf7tgvi2VDs9A4ZVCaj3FVZWQfZZVwO4AO1PI2Ki3ftSpSUfEuI6HHFQp9clrVYE+9Qkm/euFpizFPMr6ZNr2ueIqPky8el7ELvk+UqvWZxAgu3nDs3iBgez40AXlcpQhi40l9RMV4T7xBi7fiM+4jwsFLUC3GnrLLXZKc9z8ACtQKdimTNeuuLio4y8xVQ6+IpMoABZ72aeG3C8CPDbgOwXaWsV7odDv+a+WanrWQoNcU9QQj3LbIKv7OsbD+E+DbU2ulwxUCzXk28NmH1OcldsCJXMnBQoW7Nl3roCA+/kYGgQvb4kRkMemUVvmHRoueJaLFC9iADKNLEO8RYd0b2G4bADVDnntIrZ7zeeLq0JYf8U466LFcBgE5F4jzpMOILZO5BfUlJFYBahcK+IL+8/EuaeIcYaydkrAVwryLdcZPLI/VFNMtyxzYRUKhMikWSL+QSMYXD/wXmdxUxiUcAt/VbDZoq7cf05uY46sTfAc6VP9LRwZ2UXDvF1yFzNwob9/4B4FlKkC/TBdX+VKnfPsurqprGQqxThIM+EOHwaf15IkhnvFFArc/XQ6BvA+iWvjOMkTSMvyt9WuKxbiLgHyr4FxPPlb0P9SUl6wH8XJGQP97ldl+vSw1OKDnkp+8kIlOR7txR8AS7ZO5Alc/3vsV0syL2mFXU0Jwmeye84XAxgFYVDCKIfgTT7DOfauKNIibnplcDeFWBrqQeztwzVfZOrPCn/kmRp4MMGCT9VZjbTLOTgDlQYDGaAF9eXNwlmngdAJNICEPMgQKnqFxM31XCKCG+DUC79OUGg667eetWj/Qlh0DgBTA/pIJrsRA3auJ1CNbnZtYTSPpdDgxcPv315hNl70dNfvp7AC2UP8px0sjhx12qQox0RSKFAN5RoCuXT6is7FOMaOIdjHlheMRiAHsl74aX3LhWBXskZKWsAkj+B0wVmYW0mGYHiAIKdMVrCdGnRzE18Q4C1kxK6iQe2AkXZwU6f08Fe5hEgmDdBtmPrxKmF+96M0kFmzSUlPwawMvyj4XUp3KDJt5BwtrxGU8r8FhmzrTtuyerYI/qbN/rIMheW3Qzh69XIkCImIC5AITsMZJfXn6mJl5HOZexQHbHchmKLLIBCEfoTkh+kT0zlLFHfSDwOjE/Jns/BNExZ4aaeAcz681L3wbQo1IHOlBw4caNbhXscU9u6j+YUC15NzLmN7VMVCY3AUog/90a1/hN06uJ10GI9L7uIPMLrCcMG32qMs/bU2jEcsi+oi7oalXsUVdW9haYfyp5N45zxcV9VROvg7AhN30/mKSuLRowlAn0mvxTjhJzldz2oNkqxYiIRJYCOCx1Jyzrak28TrNJJFwBoEvicsM3ZD9C/K8YMdz1ICR+MZqJU+cFmyeoYo+gaR4iQOqsl4muuNA03Zp4HYTnJmW/Q0y/krgLJ3f5Ws5XxR5mSko3Q+5aLxnqlBsAIES0XPKsd0y7x3ORJl6nBQrEEkhc6xUEpQJdJHofkPn2MmK1iHdXaelBMP9C6hhnLtDE6zA8O37cW2D8TmKvugLMytznvDI5uUtA6kWdjLlNrbkqxYjb47kHQEjeGKErCp54wqWJ13F2MZZD3puZvjSjYVeOUlkvx/0cwFFZ5XcxT1PJHtsXLHibgd9L3IUTd7e0TNLE6zCszU/fScCL8ia9rqkq2WOlP/kQgEektQdoqmoxQpZVI3FyAgamauJ1ZJqFldI6FeMS1czBLuNeWQOdgfMK694doZI9GhYvboDMdzgwa+J1IiaP99VC1pvLCOdftvXt4SrZY/m4lF0Ayxrocew+coFqMULM90ss/lm5VVXHa+J1GEwiwYxfSyp+vOXpVC7QQfSArKIbpF65wYpEngLwvqTiu5j5Ik28zgz0VZD0ikKGUC7QE0T3k7IGOjOUs0fQNEMkc+39P5QbNPE6ALX5vgMA/1nOagN9TblZiN8fYiI5V9MJmcV1zV9WLjexrFUSi3+JJl7HpiqGpI7F/ou3to5SzhxMv5VWdg+dq5o96hYvDoK5TlLxx+YtXfplTbwOROco958g5xFJI84tpqhmjxXZKa8C2CNpfni2ijFCRNLe1cvh8NmaeB2Il1JSugFaJ6VTkVAz0FnOzftMOEfJIHG7fwdZHxIg0sTr2IABnlTBqZSxh4uektSRxpuKbfMDgPoFCw4A+Juk4p+jidepA3p4xDrIeWR1ikrXRP4TNZmp9cQk4x5rz+Hh3ZOUDBKiP0oq+RkTTXO4Jl4HYs2kpE4Az0mYYY08mrkrW81AZykD3SBWstzgsqynJBXdE/Z6J2ridSqHEa+XUm7hnqymPcSfpJSbcaaK9tixaFEzgN0yyi6EOEsTr2MjxqiVMjGEyFHRHAkitBlyvkScq3CUbJByFgLkaeJ1KHoPU0g4ohMpGeim3x8C8BcJRU9V7cKc/3c1el7KnArI0cTrbDwnoVvlKGwPGQPdMOKOZqlojB6XayOAsIQjRvY/32HTxOvIaTu9IKHUp0x/vflENS3CcmZY1v9PbVXC7gULDgP4u4Six7W7XD5NvE5NVcJiMyS8E9YwSMmstyYrLQjgkIRTW7+yQcL8ipSx7XL5NfE6FGsmjWsHqFm6WCCh5oIOEQN4TT6xFV5gM4wtUo4XojdGNPE6Nlth6RyLgEyFLbJFPh9CtrLWYJaTeIl0xuvoAZ2wWb5Ap7HqDoTGqxKKfertzc1xKtpjZyDwDwBt0iUnzKmaeJ09bX9dQqmVJV4v9UhoDxjxYeM0hcNkh3QSE52uidfBcPWMbIR8NzGNBTOpaI+qrKyDAN6STW6h9CwEMt7PO3rikiWjNPE6FGsmJXUSS/cI5rBL6ltPVNgs0gU6EZQlXmLeIaPcPZZ1uiZeJ2crBhqkm5KzpW6GxaiXT2hxusLEWy+j3AbRWE28TjYQsFM2mS0gRWF7NMsnNSlLvPWW9QaAHukSKiE08TraQMwtEor9ZXUtQhISL5QlXpimAKQrx4EMQ5caHG6hN+QTGSeoao4wGfINhAyVa+5g0G+irQAAAZ9JREFUQEKb8EmaeB0Mt8uQcJ+iMUZVe9ydPfYdyPZCCGGMyjFCRK0Sij1GE6+DER9MfQuS3cLE4DGKm0W2LWWjTWZl45yZD0iYpWvidTJWzyYLwH7ZRnOlp7YsHfG6uhveHKWqPQzmt6XL0jXxSoH3JHOqE1Q2BpF8hyh6XGFlB0OW8FALgBM08Tof7XIFguqlBnpHvsHCpexg6GJ+R0KxR2ridf6IflCyMD9e7YyXpbuX1wUxWlnitawPZHQjTbyOD3SSjHgRp+p9DQAgBD6UTmZCvKr2SAQ+hIyPBmhqc3jGy0I24sX0lhavwhnvhxKKHaeqPV4yzQhk2+KniVcKE3XKJrHHstQlXpYv4zXAcYoHyUeaeDXshnRn0fkIKRvo5JLQHgKqE2+3Jl4Nm6NGwkB3qxvoDISkGywAr+JRIp1NNPE630LSES8RKxvoIkIhCZ1I9Yw3LF9Ya+iM137mVTjjlY94mZQvNeiMV8PuaSJLt1UmEjGU9SvDLd/WJSZ2qZ2bSPdEliZeDQ0NDU28GhoaGpp4NTQ0NDTsxP8CCmI/qZS1AdcAAAAASUVORK5CYII=';\n","import { Content, StyleDictionary, Node } from 'pdfmake/interfaces';\nimport { TimePeriod } from 'src/api-client/report-api.generated';\nimport { getTimeLabelFromPeriod } from 'src/app/static-data/time-labels';\nimport { fixLineHeight, FontTypes } from '../../../pdfmake-common/fonts';\nimport { IReportPdfConfiguration } from './types';\nimport { pickTextColorBasedOnBgColor } from 'src/app/shared/utils/colors';\n\nexport const generateTopicTitle = function (mainTopic?: string, topic?: string, brandColor?: string): Content {\n return {\n unbreakable: true,\n style: 'topicTitleStack',\n stack: [\n {\n margin: [0, 0, 14, 9],\n table: {\n widths: ['100%'],\n body: [\n [\n {\n text: mainTopic?.toUpperCase() || '',\n style: 'mainTopicTitleLeft',\n border: [false, false, false, false],\n margin: [0, 0, 0, 7],\n },\n ],\n [\n {\n text: topic?.toUpperCase() || '',\n style: 'topicTitle',\n border: [false, true, false, false],\n margin: [0, 9, 0, 0],\n },\n ],\n ],\n },\n layout: {\n hLineColor: brandColor ? brandColor : '#4AD1DA',\n vLineColor: brandColor ? brandColor : '#4AD1DA',\n hLineWidth: function () {\n return 0.5;\n },\n paddingRight: function () {\n return 405;\n },\n paddingLeft: function () {\n return 0;\n },\n paddingTop: function () {\n return 0;\n },\n paddingBottom: function () {\n return 0;\n },\n },\n },\n ],\n };\n};\n\nexport const generateChapterPage = function (\n mainTopicTitle: string,\n organizationName: string,\n timePeriod?: TimePeriod,\n brandColor?: string\n): Content[] {\n return [\n {\n absolutePosition: { x: 0, y: 0 },\n canvas: [\n {\n type: 'rect',\n x: 0,\n y: 0,\n w: 595.28,\n h: 841.89,\n color: brandColor ? brandColor : '#4AD1DA',\n fillOpacity: 1,\n },\n ],\n pageBreak: 'before',\n },\n {\n table: {\n widths: ['auto', 'auto', 'auto'],\n body: [\n [\n {\n text: organizationName.toUpperCase(),\n margin: [0, 0, 4, 0],\n style: 'companyNameCover',\n color: brandColor ? pickTextColorBasedOnBgColor(brandColor) : 'white',\n },\n {\n canvas: [\n {\n type: 'line',\n x1: 0,\n y1: 3,\n x2: 0,\n y2: 11,\n lineWidth: 0.5,\n lineColor: brandColor ? pickTextColorBasedOnBgColor(brandColor) : 'white',\n },\n ],\n },\n {\n text: timePeriod ? getTimeLabelFromPeriod(timePeriod, 0).toUpperCase().replace('\\n', '') : '',\n margin: [4, 0, 0, 0],\n style: 'companyNameCover',\n color: brandColor ? pickTextColorBasedOnBgColor(brandColor) : 'white',\n },\n ],\n ],\n },\n layout: {\n hLineWidth: function () {\n return 0;\n },\n vLineWidth: function () {\n return 0;\n },\n },\n margin: [51, 113, 28, 42],\n },\n {\n text: mainTopicTitle || '',\n style: 'mainTopicTitleCover',\n color: brandColor ? pickTextColorBasedOnBgColor(brandColor) : 'white',\n margin: [51, 0, 28, 0],\n pageBreak: 'after',\n },\n ];\n};\n\nexport const frontPage = function (\n configuration: IReportPdfConfiguration,\n coverPhoto: string,\n reportTitle: string,\n organization: string,\n brandColor?: string,\n logo?: string\n): Content[] {\n const content: Content[] = coverPhoto\n ? [\n {\n image: coverPhoto,\n fit: [595.35, 595.35],\n alignment: 'center',\n margin: [0, -85, -12, 0],\n },\n ]\n : [\n {\n absolutePosition: { x: 0, y: 0 },\n canvas: [\n {\n type: 'rect',\n x: 0,\n y: 0,\n w: 595.28,\n h: 595.35,\n color: '#444444',\n fillOpacity: 1,\n },\n ],\n },\n { text: ' ', fontSize: 0, margin: [-34, -85, 0, 595.35] },\n ];\n content.push({\n canvas: [\n {\n type: 'line',\n x1: 11.5,\n y1: -10,\n x2: 380.5,\n y2: -10,\n lineWidth: 23,\n lineColor: 'white',\n },\n ],\n alignment: 'center',\n });\n content.push({\n text: organization.toUpperCase(),\n style: 'companyName',\n alignment: 'center',\n margin: [11.5, 0, 0, 20],\n });\n content.push({\n canvas: [\n {\n type: 'line',\n x1: 11.5,\n y1: 0,\n x2: 67.5,\n y2: 0,\n lineWidth: 2,\n lineColor: brandColor ? brandColor : '#4AD1DA',\n },\n ],\n alignment: 'center',\n });\n content.push({\n text: reportTitle,\n style: 'reportTitle',\n alignment: 'center',\n margin: [11.5, 20, 0, 0],\n });\n\n configuration.isExecutiveSummary &&\n content.push({\n text: 'EXECUTIVE SUMMARY',\n fontSize: 10,\n characterSpacing: 1.5,\n color: brandColor,\n alignment: 'center',\n margin: [11.5, 13, 0, 0],\n });\n\n content.push({\n text: '',\n margin: [0, 0, 0, configuration.isExecutiveSummary ? 41 : 51],\n });\n\n logo &&\n content.push({\n alignment: 'center',\n margin: [11.5, 0, 0, 0],\n columns: [\n {\n image: logo,\n fit: [369, 34],\n },\n ],\n });\n\n return content;\n};\n\nexport const footer = function (\n currentPage: number,\n reportTitle: string,\n organization: string,\n configuration: IReportPdfConfiguration\n): Content {\n if (currentPage != 1) {\n return {\n table: {\n widths: ['*', 'auto', '*'],\n body: [\n [\n {\n text: organization + (configuration.isExecutiveSummary ? ' - Executive Summary' : ''),\n border: [false, false, false, false],\n alignment: 'right',\n marginRight: 8,\n style: 'footerText',\n },\n {\n text: currentPage,\n bold: true,\n border: [false, false, false, false],\n alignment: 'center',\n style: 'footerText',\n },\n {\n text: reportTitle,\n border: [false, false, false, false],\n alignment: 'left',\n marginLeft: 8,\n style: 'footerText',\n },\n ],\n ],\n },\n margin: [0, 22, 0, 0],\n };\n } else {\n return { text: '' };\n }\n};\n\nexport const pageBreak = function (\n currentNode: Node,\n followingNodesOnPage: Node[],\n nodesOnNextPage: Node[],\n pageMarginTop: number\n) {\n const style = Array.isArray(currentNode.style) && currentNode.style.length ? currentNode.style[0] : currentNode.style;\n // Footer nodes are counted, therefore followingNodesOnPage.length === {number of footerNodes} means last element\n switch (style) {\n case 'topicTitleStack':\n // 4 + 3 nodes in topicTitleStack\n if (\n followingNodesOnPage.length === 7 ||\n (followingNodesOnPage.length === 8 && followingNodesOnPage[3].style === 'topicItemTitle') ||\n (followingNodesOnPage.length < 22 && followingNodesOnPage[3].style === 'indicatorStack') // 4 + 3 + 14\n )\n return true;\n else return false;\n case 'indicatorStack':\n if (followingNodesOnPage.length === 5) {\n return true;\n } else return false;\n case 'html-p':\n if (currentNode.pageNumbers.length > 1) {\n const pageInnerHeight = currentNode.startPosition.pageInnerHeight;\n const top = currentNode.startPosition.top ? currentNode.startPosition.top : 0;\n\n // lines < 2 bottom of page\n if (pageInnerHeight + pageMarginTop - top < 30) return true;\n // lines < 2 top of new page\n else if (nodesOnNextPage && nodesOnNextPage.length && nodesOnNextPage[0].startPosition.top - pageMarginTop < 15)\n return true;\n else return false;\n } else return false;\n default:\n return false;\n }\n};\n\nexport const defaultHTMLStyles = {\n defaultStyles: {\n p: {\n margin: 0,\n padding: 0,\n marginLeft: 122,\n marginRight: 14,\n fontSize: 10,\n lineHeight: fixLineHeight(1.4),\n },\n h1: {\n margin: 0,\n padding: 0,\n marginLeft: 122,\n marginRight: 14,\n fontSize: 11,\n bold: false,\n font: FontTypes.SemiBold,\n lineHeight: fixLineHeight(1.27),\n },\n h2: {\n margin: 0,\n padding: 0,\n marginLeft: 122,\n marginRight: 14,\n fontSize: 11,\n bold: false,\n font: FontTypes.SemiBold,\n lineHeight: fixLineHeight(1.27),\n },\n h3: {\n margin: 0,\n padding: 0,\n marginLeft: 122,\n marginRight: 14,\n fontSize: 11,\n bold: false,\n font: FontTypes.SemiBold,\n lineHeight: fixLineHeight(1.27),\n },\n h4: {\n margin: 0,\n padding: 0,\n marginLeft: 122,\n marginRight: 14,\n fontSize: 11,\n bold: false,\n font: FontTypes.SemiBold,\n lineHeight: fixLineHeight(1.27),\n },\n h5: {\n margin: 0,\n padding: 0,\n marginLeft: 122,\n marginRight: 14,\n fontSize: 11,\n bold: false,\n font: FontTypes.SemiBold,\n lineHeight: fixLineHeight(1.27),\n },\n h6: {\n margin: 0,\n padding: 0,\n marginLeft: 122,\n marginRight: 14,\n fontSize: 11,\n bold: false,\n font: FontTypes.SemiBold,\n lineHeight: fixLineHeight(1.27),\n },\n img: {\n margin: 0,\n padding: 0,\n marginLeft: 122,\n marginRight: 14,\n marginBottom: 20,\n marginTop: 20,\n },\n li: { margin: 0, padding: 0, marginLeft: 130, fontSize: 10, lineHeight: fixLineHeight(1.4) },\n strong: { color: '#555555', bold: true },\n },\n};\n\nexport const pdfStyles: StyleDictionary = {\n reportTitle: {\n fontSize: 20,\n lineHeight: fixLineHeight(1),\n },\n companyName: {\n font: FontTypes.Light,\n fontSize: 10,\n lineHeight: fixLineHeight(1),\n characterSpacing: 0.3,\n },\n mainTopicTitleCover: {\n font: FontTypes.Light,\n fontSize: 48,\n lineHeight: fixLineHeight(1),\n color: 'white',\n },\n companyNameCover: {\n fontSize: 9,\n lineHeight: fixLineHeight(1),\n characterSpacing: 0.3,\n },\n mainTopicTitleLeft: {\n fontSize: 6,\n lineHeight: fixLineHeight(1),\n characterSpacing: 0.3,\n },\n keyFigureTitle: {\n fontSize: 24,\n bold: true,\n lineHeight: fixLineHeight(1.16),\n margin: [0, 0, 0, 12],\n },\n topicTitle: {\n font: FontTypes.SemiBold,\n fontSize: 9,\n lineHeight: fixLineHeight(1.22),\n characterSpacing: 0.3,\n },\n topicItemTitle: {\n fontSize: 13,\n lineHeight: fixLineHeight(1.077),\n margin: [122, 0, 14, 14],\n },\n keyFiguresTableCell: {\n fontSize: 7,\n lineHeight: fixLineHeight(1.3),\n margin: [0, 4, 0, 0],\n },\n indicatorHeading: {\n fontSize: 6,\n lineHeight: fixLineHeight(1),\n characterSpacing: 0.3,\n bold: true,\n color: '#666666',\n },\n indicatorValue: {\n fontSize: 8,\n lineHeight: fixLineHeight(1.25),\n },\n indicatorTableHeading: {\n fontSize: 10,\n lineHeight: fixLineHeight(1.4),\n margin: [122, 0, 14, 8],\n bold: true,\n color: '#555555',\n },\n indicatorReference: {\n fontSize: 7,\n lineHeight: fixLineHeight(1.14),\n italics: true,\n },\n excelHeader: {\n fontSize: 7,\n font: FontTypes.SemiBold,\n lineHeight: fixLineHeight(1.3),\n },\n excelBody: {\n fontSize: 7,\n lineHeight: fixLineHeight(1.3),\n },\n footerText: {\n fontSize: 7,\n lineHeight: fixLineHeight(1.3),\n },\n 'ql-align-center': {\n alignment: 'center',\n },\n 'ql-align-right': {\n alignment: 'right',\n },\n textDisclosureReference: {\n fontSize: 7,\n lineHeight: fixLineHeight(1.14),\n italics: true,\n margin: [122, 0, 14, 0]\n },\n};\n","import htmlToPdfmake from 'html-to-pdfmake';\nimport { Injectable, resolveForwardRef } from '@angular/core';\nimport { ReportAppApiService } from 'src/app/api-client/report-api/app-api-service';\nimport { TDocumentDefinitions, Content, ContentImage, TFontDictionary } from 'pdfmake/interfaces';\nimport { generateReport, generateVfs, throwErrorIfPdfDefinitionNotValid } from 'src/app/pdfmake-common/generate-report';\nimport { IReportPdf, IComponent, IReportPdfConfiguration, IKeyfigures } from './types';\nimport { keyFiguresTable, generateKeyFiguresTable, getKeyFigureFromMainLevels } from './key-figures-table-pdf';\nimport { ITextAreaContentData } from '../../../content/content-item/text-area/text-area.component';\nimport { IPictureContentData } from '../../../content/content-item/picture/picture.component';\nimport { getBase64ImageFromURL } from '../../../shared/utils/file';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport {\n frontPage,\n footer,\n defaultHTMLStyles,\n pdfStyles,\n pageBreak,\n generateChapterPage,\n generateTopicTitle,\n} from './report-pdf-constants';\nimport { logo } from './logo';\nimport { fontsFactory, FontTypes } from '../../../pdfmake-common/fonts';\nimport { IImportFromExcelContentData } from 'src/app/content/content-item/import-from-excel/import-from-excel.component';\nimport { importFromExcelTable } from './components/import-from-excel';\nimport _ from 'lodash';\nimport {\n IIndicatorContentData,\n IndicatorContentType,\n} from 'src/app/content/content-item/indicator-content/indicator-content.component';\nimport { ComponentType, TimePeriod } from 'src/api-client/report-api.generated';\nimport { generateIndicatorSet } from './components/indicator-set-pdf';\nimport { generateTableValue } from './components/indicator-table-value-pdf';\nimport { ITextDisclosureData } from 'src/app/content/content-item/text-disclosure/text-disclosure.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ReportPdfService {\n constructor(private appConfig: AppConfigurationService, private appApiService: ReportAppApiService) {}\n\n getPictureUrl(blobName: string): string {\n return this.appApiService.getBlobUrl(blobName);\n }\n\n getCoverPhotoUrl(blobName: string) {\n return `${this.appConfig.ReportApiBaseUrl}/report/cover-photo/${blobName}`;\n }\n\n replaceListItems(html: string, listType: 'ul' | 'ol', itemPrefix: (index: number) => string): string {\n let counter = 1;\n return html.replace(new RegExp(`<${listType}>([\\\\s\\\\S]*?)<\\\\/${listType}>`, 'g'), (_, listItems: string) => {\n return listItems.replace(/]*)>(.*?)<\\/li>/g, (_, attributes: string, content: string) => {\n return `

\n ${itemPrefix(counter++)}\n ${content}\n

`;\n });\n });\n }\n\n replaceHorizontalRule(html: string): string {\n return html.replace(\n /
/g,\n '
'\n );\n }\n\n formatListItems(html: string): string {\n html = this.replaceListItems(html, 'ul', () => '•');\n html = this.replaceListItems(html, 'ol', index => `${index}.`);\n return html;\n }\n\n updateImgAttributesForPdf(html: string): string {\n const A4_WIDTH = 595.28; // A4 paper width in points (approx 210mm)\n const marginLeft = 120;\n const maxWidth = A4_WIDTH - marginLeft;\n \n // Regular expression to match tags\n const imgRegex = /]*)>/g;\n \n return html.replace(imgRegex, (match, imgAttributes) => {\n let updatedAttributes = imgAttributes;\n \n // Check if width is already set\n const widthMatch = imgAttributes.match(/width=\"([^\"]*)\"/);\n if (widthMatch) {\n const existingWidth = parseInt(widthMatch[1], 10); // Get the existing width value\n // Only update the width if the existing width is greater than maxWidth\n if (existingWidth > maxWidth) {\n updatedAttributes = updatedAttributes.replace(/width=\"([^\"]*)\"/, `width=\"${maxWidth}\"`);\n }\n } else {\n // If width is not set, add it\n updatedAttributes += ` width=\"${maxWidth}\"`;\n }\n \n // Check if height is already set, if not, add it\n const heightMatch = imgAttributes.match(/height=\"([^\"]*)\"/);\n if (heightMatch) {\n // Update height if already set\n updatedAttributes = updatedAttributes.replace(/height=\"([^\"]*)\"/, 'height=\"auto\"');\n } else {\n // Add height if not set\n updatedAttributes += ' height=\"auto\"';\n }\n \n // Return the updated tag with the modified attributes\n return ``;\n });\n }\n\n HTMlToContent(html: string): Content {\n html = html.replace(/font-family:\\s*Verdana/g, `font-family: ${FontTypes.Regular}`);\n\n html = this.formatListItems(html);\n html = this.replaceHorizontalRule(html);\n html = this.updateImgAttributesForPdf(html)\n return htmlToPdfmake(html, defaultHTMLStyles);\n }\n\n contentToPdf = {\n [ComponentType.Text]: async (content: ITextAreaContentData) => {\n let textHtml = /\\<[^\\>]+\\>/.test(content.textHtml) ? content.textHtml : '

' + content.textHtml + '

';\n return textHtml ? this.HTMlToContent(textHtml) : '';\n },\n [ComponentType.Picture]: async (content: IPictureContentData): Promise => {\n const image = await getBase64ImageFromURL(this.getPictureUrl(content.blobName));\n return image\n ? {\n image: image,\n width: 368,\n margin: [122, 0, 14, 0],\n }\n : { text: '' };\n },\n [ComponentType.ImportFromExcel]: async (content: IImportFromExcelContentData): Promise =>\n importFromExcelTable(content),\n [ComponentType.Indicator]: async (\n content: IIndicatorContentData,\n keyFigures: IKeyfigures[],\n timePeriod?: TimePeriod\n ): Promise => {\n try {\n const usedKeyFigures = content?.indicatorIds\n .map(id => keyFigures.find(value => value.indicatorId === id)!)\n .filter(Boolean);\n if (content.indicatorType === IndicatorContentType.IndicatorSet) {\n return generateIndicatorSet(content, usedKeyFigures, timePeriod);\n } else if (content.indicatorType === IndicatorContentType.IndicatorTableValue) {\n return generateTableValue(content, usedKeyFigures[0], timePeriod);\n }\n } catch {\n }\n return { text: '' };\n },\n [ComponentType.Narrative]: async (content: ITextDisclosureData, keyFigures: IKeyfigures[]): Promise => {\n let textHtml = /\\<[^\\>]+\\>/.test(content.textHtml) ? content.textHtml : '

' + content.textHtml + '

';\n\n const usedKeyFigures = content?.indicatorIds\n .map(id => keyFigures.find(value => value.indicatorId === id)!)\n .filter(Boolean);\n\n const references = Array.from(\n new Set(usedKeyFigures.flatMap(value => value.referenceStandards?.replace(/(\\r\\n|\\n|\\r)/gm, ', ').split(', ')))\n ).join(', ');\n\n if (references) {\n textHtml += '
' + references + '
';\n }\n return textHtml ? this.HTMlToContent(textHtml) : '';\n },\n };\n\n generateComponentsContent(\n components: IComponent[],\n keyFigures: IKeyfigures[],\n timePeriod?: TimePeriod\n ): Promise[] {\n let content: Promise[] = [];\n components\n .filter(c => c.isVisibleInReport)\n .map(async c => {\n if (c.type && c.content) {\n if (c.type === ComponentType.Indicator) {\n content.push(this.contentToPdf[c.type](JSON.parse(c.content), keyFigures, timePeriod));\n content.push(Promise.resolve({ text: ' ', fontSize: 0, margin: [122, 0, 0, 28] }));\n } else if (c.type === ComponentType.Narrative) {\n content.push(this.contentToPdf[c.type](JSON.parse(c.content), keyFigures));\n content.push(Promise.resolve({ text: ' ', fontSize: 0, margin: [122, 0, 0, 28] }));\n } else {\n content.push(this.contentToPdf[c.type](JSON.parse(c.content)));\n }\n content.push(Promise.resolve({ text: ' ', fontSize: 0, margin: [122, 0, 0, 28] }));\n }\n });\n\n console.log('in generate', content)\n return content;\n }\n\n async generateReportContent(\n reportData: IReportPdf,\n fonts: TFontDictionary,\n vfs: { [file: string]: string },\n showMainContent: boolean = true\n ): Promise {\n let content: Content[] = [];\n let keyFiguresTables: keyFiguresTable[] = getKeyFigureFromMainLevels(reportData.mainLevels || []);\n\n let mainContent: Promise[] = [];\n const mainLevels = reportData.mainLevels || [];\n if (showMainContent) {\n mainLevels.map(async mainTopic => {\n const topics = mainTopic.topics || [];\n topics.length &&\n generateChapterPage(\n mainTopic.name || '',\n reportData.organizationDetails.organizationName || '',\n reportData.timePeriod,\n reportData.organizationDetails.brandColor\n ).map(c => mainContent.push(Promise.resolve(c)));\n\n topics.map(async (topic, topicIndex) => {\n const topicItems = topic.topicItems || [];\n topicItems.length &&\n mainContent.push(\n Promise.resolve(generateTopicTitle(mainTopic.name, topic.name, reportData.organizationDetails.brandColor))\n );\n topicItems.map(async (topicItem, topicItemIndex) => {\n const topicItemErrorId = `${mainTopic.name || ''}/${topic.name || ''}/${topicItem.name || ''}`;\n mainContent.push(Promise.resolve({ text: topicItem.name || '', style: 'topicItemTitle' }));\n this.generateComponentsContent(\n topicItem.components || [],\n topicItem.dataValues || [],\n reportData.timePeriod\n ).map(async c => {\n mainContent.push(this.validateContent(topicItemErrorId, c, fonts, vfs));\n });\n if (!(topicIndex === topics.length - 1 && topicItemIndex === topicItems.length - 1)) {\n mainContent.push(Promise.resolve({ text: ' ', fontSize: 0, margin: [122, 0, 0, 14] }));\n }\n });\n });\n });\n }\n\n const keyFiguresContent: Content[] = keyFiguresTables.length\n ? generateKeyFiguresTable(\n keyFiguresTables,\n reportData.timePeriod,\n reportData.organizationDetails.organizationName,\n reportData.organizationDetails.tableHeadColor\n )\n : [];\n\n return content.concat(keyFiguresContent, await Promise.all(mainContent));\n }\n\n async generatePdf(reportData: IReportPdf, appBaseUrl: string, configuration: IReportPdfConfiguration) {\n let content: Content[] = [];\n\n let frontPageContent: Content[] = frontPage(\n configuration,\n reportData.coverPhotoSquare?.blobName\n ? await getBase64ImageFromURL(this.getCoverPhotoUrl(reportData.coverPhotoSquare.blobName))\n : '',\n reportData.name || '',\n reportData.organizationDetails.organizationName || '',\n reportData.organizationDetails.brandColor,\n reportData.organizationDetails.logo\n ? await getBase64ImageFromURL(this.getPictureUrl(reportData.organizationDetails.logo))\n : ''\n );\n\n const pageMarginTop = 85;\n const fonts = fontsFactory(appBaseUrl)(configuration.writingSystem);\n const vfs = await generateVfs(fonts);\n\n const finishedContent = await this.generateReportContent(reportData, fonts, vfs, configuration.showMainContent);\n\n console.log('test ==>', finishedContent)\n let dd: TDocumentDefinitions = {\n pageMargins: [34, pageMarginTop, 57, 71],\n pageSize: 'A4', // pixels: [595.28, 841.89], in mm: [210, 297]. 1mm = 2,835px\n content: content.concat([frontPageContent, finishedContent]),\n footer: currentPage =>\n footer(\n currentPage,\n reportData.name || '',\n reportData.organizationDetails.organizationName || '',\n configuration\n ),\n styles: pdfStyles,\n defaultStyle: {\n font: FontTypes.Regular,\n },\n images: {\n logo: logo,\n },\n pageBreakBefore: (currentNode, followingNodesOnPage, nodesOnNextPage) =>\n pageBreak(currentNode, followingNodesOnPage, nodesOnNextPage, pageMarginTop),\n };\n console.log('really ====>', dd)\n let pdfUrl = await generateReport(dd, fonts, vfs);\n return pdfUrl;\n }\n\n async validateContent(\n id: string,\n content: Promise,\n fonts: TFontDictionary,\n vfs: { [file: string]: string }\n ) {\n let dd: TDocumentDefinitions = {\n content: _.cloneDeep(await content),\n defaultStyle: {\n font: FontTypes.Regular,\n },\n styles: pdfStyles,\n };\n\n throwErrorIfPdfDefinitionNotValid(id, dd, fonts, vfs);\n\n return content;\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { ReportMainLevel } from 'src/api-client/report-api.generated';\nimport { ContextMenuComponent, IMenuItem } from '../../../../shared/ui/context-menu/context-menu.component';\n\nexport interface UpdateMainLevelData {\n id: string;\n name: string;\n}\n\nexport interface DeleteMainLevelData {\n id: string;\n name?: string;\n}\n\nexport interface AddTopicData {\n mainLevelId: string;\n name: string;\n}\n\n@Component({\n selector: 'esg-main-level-item',\n templateUrl: './main-level-item.component.html',\n styleUrls: ['./main-level-item.component.scss'],\n})\nexport class MainLevelItemComponent implements OnInit {\n editingMainLevelFormControl?: FormControl;\n addingTopicFormControl?: FormControl;\n @Input({ required: true }) mainLevelData!: ReportMainLevel;\n @Input() isLoading: boolean = false;\n @Output() onUpdateMainLevel = new EventEmitter();\n @Output() onAddTopic = new EventEmitter();\n @Output() onDeleteMainLevel = new EventEmitter();\n\n expanded: boolean = true;\n\n @ViewChild(ContextMenuComponent)\n private contextMenuComponent?: ContextMenuComponent;\n\n constructor() {}\n\n ngOnInit(): void {}\n\n handleSingleClick() {\n this.toggleExpand();\n this.contextMenuComponent?.handleClose();\n }\n\n handleDoubleClick() {\n this.handleEditClick();\n this.contextMenuComponent?.handleClose();\n }\n\n handleMouseLeave() {\n this.contextMenuComponent?.handleClose();\n }\n\n handleEditClick() {\n this.editingMainLevelFormControl = new FormControl(this.mainLevelData.name || '', [Validators.required]);\n }\n\n handleDragStart() {\n this.contextMenuComponent?.handleClose();\n }\n\n handleEditingMainLevelClickOutside() {\n if (this.editingMainLevelFormControl?.value) {\n this.onUpdateMainLevel.emit({\n id: this.mainLevelData.id || '',\n name: this.editingMainLevelFormControl?.value || '',\n });\n }\n this.editingMainLevelFormControl = undefined;\n }\n\n handleEnableAddTopic(event: Event) {\n event.stopPropagation();\n this.addingTopicFormControl = new FormControl('', [Validators.required]);\n }\n\n handleAddingTopicClickOutside() {\n this.onAddTopic.emit({\n mainLevelId: this.mainLevelData.id || '',\n name: this.addingTopicFormControl?.value || '',\n });\n this.addingTopicFormControl = undefined;\n }\n\n handleCancelMainLevelForm() {\n this.editingMainLevelFormControl = undefined;\n }\n\n handleCancelTopicForm() {\n this.addingTopicFormControl = undefined;\n }\n\n toggleExpand() {\n this.expanded = !this.expanded;\n }\n\n mainLevelMenuProvider = (): IMenuItem[] => [\n { id: 'edit', label: 'Edit', onClick: () => this.handleEditClick() },\n {\n id: 'delete',\n label: 'Delete',\n onClick: () =>\n this.onDeleteMainLevel.emit({ id: this.mainLevelData.id || '', name: this.mainLevelData.name || 'main topic' }),\n },\n ];\n}\n","
\n
\n \n
\n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n\n
\n \n {{ mainLevelData.name }}\n \n \n
\n\n \n\n \n \n \n
\n \n \n \n
\n \n \n
\n
\n \n
\n\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'esg-report-menu-item',\n templateUrl: './report-menu-item.component.html',\n styleUrls: ['./report-menu-item.component.scss'],\n})\nexport class ReportMenuItemComponent implements OnInit {\n @Input() label: string = '';\n @Output() onClick = new EventEmitter();\n\n constructor() {}\n\n ngOnInit(): void {}\n\n handleClick(event: Event) {\n this.onClick.emit(event);\n }\n}\n","
\n \n {{ label }}\n \n
\n","import { CdkDragDrop, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';\nimport { Component, EventEmitter, Input, OnInit, Output, ChangeDetectorRef } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { IndicatorValueStatus, IReport, ReportVersion } from 'src/api-client/report-api.generated';\nimport { ReportDetailsStateService } from '../report-details-state.service';\nimport { DeleteMainLevelData } from './main-level-item/main-level-item.component';\nimport { EditTopicData, DeleteTopicData, DeactivateTopicData } from './topic-item/topic-item.component';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\nimport { AppInfoService } from 'src/app/core/app-info.service';\n\n@Component({\n selector: 'esg-report-structure',\n templateUrl: './report-structure.component.html',\n styleUrls: ['./report-structure.component.scss'],\n})\nexport class ReportStructureComponent implements OnInit {\n reportVersionEnum = ReportVersion;\n newMainLevel?: FormControl;\n @Input({ required: true }) reportData!: IReport;\n @Output() onSelectTopic = new EventEmitter();\n @Output() addMainLevel = new EventEmitter();\n @Output() onCreatePDF = new EventEmitter();\n @Output() onCreateSummaryPDF = new EventEmitter();\n @Output() onCalculateIndicators = new EventEmitter();\n\n valueStatusEnum = IndicatorValueStatus;\n\n removeMainLevelData?: DeleteMainLevelData = undefined;\n removeMainLevelTitle: string = 'Are you sure you want to\\ndelete main topic?';\n removeMainLevelMessage: string =\n 'Once you delete this main topic, you delete all its\\ncontent and there is no turning back.';\n\n removeTopicData?: DeleteTopicData = undefined;\n removeTopicTitle: string = 'Are you sure you want to\\ndelete topic?';\n removeTopicMessage: string = 'Once you delete this topic, you delete all its\\ncontent and there is no turning back.';\n\n createPdfContextMenuOpen = false;\n templateFormDialogOpen = false;\n reportFormDialogOpen = false;\n\n hanldeOpenCreatePdfContextMenu(event: Event) {\n event.stopPropagation();\n this.createPdfContextMenuOpen = !this.createPdfContextMenuOpen;\n }\n handleCloseCreatePdfContextMenu() {\n this.createPdfContextMenuOpen = false;\n }\n\n constructor(\n private router: Router,\n public state: ReportDetailsStateService,\n public appInfoState: AppInfoService,\n private notificationService: NotificationService,\n private cdr: ChangeDetectorRef\n ) {}\n\n ngOnInit(): void {}\n\n handleAddMainLevel(event: Event) {\n event.stopPropagation();\n this.newMainLevel = new FormControl('', [Validators.required]);\n }\n\n handleDeleteMainLevel(mainLevel: DeleteMainLevelData) {\n this.removeMainLevelTitle = 'Are you sure you want to delete ' + mainLevel.name + '?';\n this.removeMainLevelData = mainLevel;\n }\n\n trackByTopic(index: number, topic: any) {\n return topic.id;\n }\n\n handleDeleteMainLevelSubmit() {\n if (this.removeMainLevelData) {\n this.state.deleteMainLevel(this.removeMainLevelData.id);\n if (this.removeMainLevelData.id === this.state.selectedTopic?.mainLevelId) {\n this.router.navigate(['/report', this.state.reportData?.id]);\n this.state.selectedTopic = undefined;\n }\n this.removeMainLevelData = undefined;\n }\n }\n\n handleDeactivateTopic(data: DeactivateTopicData) {\n this.state.deactivateTopic(data);\n }\n\n handleSelectTopic(topicId: string) {\n this.onSelectTopic.emit(topicId);\n }\n\n handleSubmitAddNewMainLevel() {\n if (this.newMainLevel?.value) {\n this.addMainLevel.emit(this.newMainLevel?.value);\n this.newMainLevel = undefined;\n } else {\n this.newMainLevel = undefined;\n }\n }\n\n handleEditTopic(t: EditTopicData) {\n this.state.editTopicName(t.mainLevelId, t.topicId, t.updatedName);\n }\n\n handleDeleteTopic(t: DeleteTopicData) {\n this.removeTopicTitle = 'Are you sure you want to delete ' + t.topicName + '?';\n this.removeTopicData = t;\n }\n\n handleDeleteTopicSubmit() {\n if (this.removeTopicData) {\n this.state.deleteTopic(this.removeTopicData.mainLevelId, this.removeTopicData.topicId);\n if (this.removeTopicData.topicId === this.state.selectedTopic?.id) {\n this.router.navigate(['/report', this.state.reportData?.id]);\n this.state.selectedTopic = undefined;\n }\n\n this.removeTopicData = undefined;\n }\n }\n\n dropMainLevel(event: CdkDragDrop) {\n moveItemInArray(this.reportData.mainLevels || [], event.previousIndex, event.currentIndex);\n this.state.moveMainLevel(\n this.reportData?.mainLevels?.[event.currentIndex].id || '',\n event.previousIndex,\n event.currentIndex\n );\n }\n\n dropTopic(event: CdkDragDrop, mainLevel: any) {\n const previousContainer = event.previousContainer;\n const currentContainer = event.container;\n\n if (previousContainer === currentContainer) {\n moveItemInArray(mainLevel.topics || [], event.previousIndex, event.currentIndex);\n this.state.moveTopic(\n mainLevel.topics?.[event.currentIndex].id || '',\n mainLevel.id,\n event.previousIndex,\n event.currentIndex\n );\n } else {\n const topicToMove = previousContainer.data[event.previousIndex];\n const targetMainLevelId = currentContainer.data.length > 0 ? currentContainer.data[0].mainLevelId : mainLevel.id;\n \n if (currentContainer.data.length === 0) {\n this.cdr.detectChanges();\n }\n \n this.state.moveTopic(\n topicToMove.id || '',\n previousContainer.data[0].mainLevelId,\n event.previousIndex,\n event.currentIndex,\n targetMainLevelId,\n )\n transferArrayItem(previousContainer.data, currentContainer.data, event.previousIndex, event.currentIndex)\n }\n this.cdr.detectChanges();\n }\n\n handleReportSettings() {\n this.reportFormDialogOpen = true;\n }\n\n handleCloseReportFormDialog() {\n this.reportFormDialogOpen = false;\n }\n\n handleSaveReportAsTemplate() {\n this.templateFormDialogOpen = true;\n }\n\n handleSavedAsTemplateSuccess() {\n this.templateFormDialogOpen = false;\n this.notificationService.showSuccess('Report saved as a template successfully.');\n }\n\n handleCloseTemplateFormDialog() {\n this.templateFormDialogOpen = false;\n }\n\n handleHtmlReport() {\n window.open(`/preview/${this.reportData.id}`, '_blank');\n }\n\n handleCalculateIndicators() {\n this.onCalculateIndicators.emit();\n }\n\n handleCreatePdfReport() {\n this.onCreatePDF.emit();\n this.createPdfContextMenuOpen = false;\n }\n\n handleCreatePdfExecutiveSummaryReport() {\n this.onCreateSummaryPDF.emit();\n this.createPdfContextMenuOpen = false;\n }\n}\n","\n
\n
{{ state.reportData?.name }}
\n \n {{\n state.reportData?.subOrganizationId ? state.reportData?.subOrganizationName : state.reportData?.organizationName\n }}\n \n
\n
\n
\n \n
\n \n
\n \n
\n\n \n\n
\n \n
\n
\n\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
Full ESG Report
\n
Executive Summary
\n
\n
\n \n \n \n \n \n \n \n
\n \n
\n\n\n\n\n\n\n\n","import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { ReportTopic } from 'src/api-client/report-api.generated';\nimport { ContextMenuComponent, IMenuItem } from '../../../../shared/ui/context-menu/context-menu.component';\n\nexport interface EditTopicData {\n mainLevelId: string;\n topicId: string;\n updatedName: string;\n}\n\nexport interface DeleteTopicData {\n mainLevelId: string;\n topicId: string;\n topicName?: string;\n}\nexport interface DeactivateTopicData {\n mainLevelId: string;\n topicId: string;\n deactivated: boolean;\n}\n\n@Component({\n selector: 'esg-topic-item',\n templateUrl: './topic-item.component.html',\n styleUrls: ['./topic-item.component.scss'],\n})\nexport class TopicItemComponent {\n editingFormControl?: FormControl;\n @Input({ required: true }) reportId!: string;\n @Input({ required: true }) mainLevelId!: string;\n @Input({ required: true }) topicData!: ReportTopic;\n @Input() isLoading: boolean = false;\n @Output() onSelectTopic = new EventEmitter();\n @Output() onEditTopic = new EventEmitter();\n @Output() onDeleteTopic = new EventEmitter();\n @Output() onDeactivateTopic = new EventEmitter();\n\n @ViewChild(ContextMenuComponent)\n private contextMenuComponent?: ContextMenuComponent;\n\n handleEditTopic() {\n this.editingFormControl = new FormControl('', [Validators.required]);\n this.editingFormControl.setValue(this.topicData.name || '');\n }\n\n handleSingleClick() {\n this.onSelectTopic.emit(this.topicData.id);\n this.contextMenuComponent?.handleClose();\n }\n\n handleDoubleClick() {\n this.handleEditTopic();\n this.contextMenuComponent?.handleClose();\n }\n\n handleMouseLeave() {\n this.contextMenuComponent?.handleClose();\n }\n\n handleDragStart() {\n this.contextMenuComponent?.handleClose();\n }\n\n handleClickOutside() {\n if (this.editingFormControl?.value) {\n this.onEditTopic.emit({\n mainLevelId: this.mainLevelId,\n topicId: this.topicData.id || '',\n updatedName: this.editingFormControl.value,\n });\n }\n this.editingFormControl = undefined;\n }\n\n handleCancel() {\n this.editingFormControl = undefined;\n }\n\n topicMenuProvider = (): IMenuItem[] => [\n { id: 'edit', label: 'Edit', onClick: () => this.handleEditTopic() },\n {\n id: 'active-deactive',\n label: this.topicData.deactivated ? 'Activate' : 'Deactivate',\n onClick: () =>\n this.onDeactivateTopic.emit({\n mainLevelId: this.mainLevelId,\n topicId: this.topicData.id || '',\n deactivated: !this.topicData.deactivated,\n }),\n },\n {\n id: 'delete',\n label: 'Delete',\n onClick: () =>\n this.onDeleteTopic.emit({\n mainLevelId: this.mainLevelId,\n topicId: this.topicData.id || '',\n topicName: this.topicData.name || 'topic',\n }),\n },\n ];\n}\n","\n
\n \n \n \n \n \n \n \n \n
\n \n \n {{ topicData.name }}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\nexport interface IndicatorDisclosureUi {\n label: string;\n description: string;\n referenceStandards: string;\n}\n\n@Component({\n selector: 'esg-indicator-disclosure-dialog',\n templateUrl: './indicator-disclosure-dialog.component.html',\n styleUrl: './indicator-disclosure-dialog.component.scss',\n})\nexport class IndicatorDisclosureDialogComponent {\n @Input() disclosures?: IndicatorDisclosureUi[];\n @Output() onClose = new EventEmitter();\n\n handleClose() {\n this.onClose.emit();\n }\n}\n","
\n
\n \n
\n
\n
\n
\n \n Description\n
\n \n
\n
\n {{ disclosure.referenceStandards }}\n
\n
\n {{ disclosure.label }}\n
\n \n
\n
\n
\n
\n
\n","import { Injectable } from '@angular/core';\nimport {\n CreateNewIndicatorTopicItemCommandParams,\n DeleteTopicItemCommandParams,\n IndicatorCategory,\n IndicatorValueType,\n MoveTopicItemCommandParams,\n Permission,\n TimePeriod,\n TopicItemStatus,\n TopicItemType,\n UpdateTopicItemResponsiblePersonCommandParams,\n UpdateTopicItemStatusCommandParams,\n UpdateTopicItemVisibilityCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { TopicItemApiService } from 'src/app/api-client/report-api/topic-item-api-service';\nimport { IGroupedOptions, IOption } from 'src/app/static-data/options';\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { UserApiService } from 'src/app/api-client/report-api/user-api-service';\nimport { IndicatorApiService } from 'src/app/api-client/report-api/indicator-api-service';\nimport _ from 'lodash';\nimport { IndicatorPeriodLabelsUi } from 'src/app/content/content-item/indicator-content/indicator-content.component';\nimport { getTimeLabelFromPeriod } from 'src/app/static-data/time-labels';\nimport { Subscription } from 'rxjs';\nimport { ActivatedRoute } from '@angular/router';\nimport { IDisclosure } from 'src/app/content/dynamic-content-data';\nimport { topicItemStatusOptions } from 'src/app/static-data/options';\nexport interface TopicItemUi {\n id: string;\n name: string;\n visible: boolean;\n responsiblePerson?: IOption;\n status?: IOption;\n collapsed: boolean;\n}\n\n@Injectable()\nexport class TopicContentStateService {\n isLoading = false;\n private organizationContextSub?: Subscription;\n\n sectionSub?: Subscription;\n fragmentSectionId?: string;\n\n topicTopicItems: TopicItemUi[] = [];\n reportId: string = '';\n mainLevelId: string = '';\n topicId: string = '';\n\n reordering: boolean = false;\n\n responsiblePersonOptions: IOption[] = [];\n\n removeTopicItemId?: string;\n removeTopicItemMessage = 'Once you delete the section\\nthere is no turning back.';\n\n indicatorOptions: IGroupedOptions[] = [];\n indicatorSingleValueOptions: IGroupedOptions[] = [];\n narrativeIndicatorOptions: IGroupedOptions[] = [];\n isDisclosureModalVisible: boolean = false;\n disclosures?: IDisclosure[];\n\n indicatorPeriodLabels: IndicatorPeriodLabelsUi = {\n targetLabel: 'Target',\n currentLabel: 'Current',\n previousLabel: 'Previous',\n };\n\n constructor(\n private topicItemApiService: TopicItemApiService,\n private appInfoService: AppInfoService,\n private userApiService: UserApiService,\n private indicatorApiService: IndicatorApiService,\n private route: ActivatedRoute\n ) {\n this.sectionSub = this.route.fragment.subscribe(topicItemId => {\n if (topicItemId) this.fragmentSectionId = topicItemId;\n });\n }\n\n async init(reportId: string, mainLevelId: string, topicId: string, timePeriod: TimePeriod) {\n this.isLoading = true;\n this.reportId = reportId;\n this.mainLevelId = mainLevelId;\n this.topicId = topicId;\n this.indicatorPeriodLabels = {\n targetLabel: 'Target ' + getTimeLabelFromPeriod(timePeriod, 1),\n currentLabel: getTimeLabelFromPeriod(timePeriod, 0),\n previousLabel: getTimeLabelFromPeriod(timePeriod, -1),\n };\n\n await this.getAllIndicatorOptions();\n this.allTopicItems(reportId, mainLevelId, topicId);\n\n this.organizationContextSub = this.appInfoService.organizationContext$.subscribe(organizationId => {\n if (organizationId && this.appInfoService.hasPermission(Permission.Report_User_Read)) {\n this.userApiService.getUsersByOrganizationId(organizationId).subscribe(result => {\n this.responsiblePersonOptions = [\n { value: '', label: 'Unassigned' },\n ...result.result.map(u => ({ value: u.id, label: u.name })),\n ];\n });\n }\n });\n }\n\n allTopicItems(reportId: string, mainLevelId: string, topicId: string) {\n this.isLoading = true;\n this.topicItemApiService.allTopicItems(reportId, mainLevelId, topicId).subscribe(result => {\n this.topicTopicItems = result.map(u => ({\n id: u.id,\n name: u.name,\n visible: u.visible,\n responsiblePerson:\n u.responsiblePersonId && u.responsiblePersonName\n ? { value: u.responsiblePersonId, label: u.responsiblePersonName }\n : undefined,\n collapsed: true,\n status: topicItemStatusOptions.find(option => option.value === u.status),\n }));\n this.isLoading = false;\n });\n }\n\n async handleOnAddHeader() {\n const response = await this.topicItemApiService.addTopicItem(\n new CreateNewIndicatorTopicItemCommandParams({\n type: TopicItemType.NewIndicator,\n reportId: this.reportId,\n mainLevelId: this.mainLevelId,\n topicId: this.topicId,\n name: '',\n indicatorIds: [],\n })\n );\n this.fragmentSectionId = response.result.id;\n const topicItemStatus = topicItemStatusOptions.find(s => s.value === response.result.status);\n this.topicTopicItems.push({\n id: response.result.id,\n name: '',\n visible: true,\n responsiblePerson: undefined,\n collapsed: false,\n status: topicItemStatus,\n });\n }\n\n handleOnMoveTopicItem(event: CdkDragDrop) {\n moveItemInArray(this.topicTopicItems, event.previousIndex, event.currentIndex);\n this.topicItemApiService\n .moveTopicItem(\n new MoveTopicItemCommandParams({\n reportId: this.reportId,\n mainLevelId: this.mainLevelId,\n topicId: this.topicId,\n topicItemId: event.item.element.nativeElement.id,\n prevIndex: event.previousIndex,\n newIndex: event.currentIndex,\n })\n )\n .subscribe({\n error: () => {\n moveItemInArray(this.topicTopicItems, event.currentIndex, event.previousIndex);\n },\n });\n }\n\n handleOnInitateDeleteTopicItem(topicItemId: string) {\n this.removeTopicItemId = topicItemId;\n }\n\n handleOnDeleteTopicItemCancel() {\n this.removeTopicItemId = undefined;\n }\n\n handleOnDeleteTopicItem() {\n const topicItemId = this.removeTopicItemId;\n if (topicItemId) {\n this.topicItemApiService\n .deleteTopicItem(\n new DeleteTopicItemCommandParams({\n topicItemId: topicItemId,\n })\n )\n .subscribe(result => {\n this.topicTopicItems = this.topicTopicItems.filter(t => t.id !== topicItemId);\n });\n }\n this.removeTopicItemId = undefined;\n }\n\n updateResponsiblePerson(topicItemId: string, user: IOption) {\n this.topicItemApiService\n .updateResponsiblePerson(\n new UpdateTopicItemResponsiblePersonCommandParams({\n topicItemId: topicItemId,\n responsiblePersonId: !!user.value ? user.value : undefined,\n })\n )\n .subscribe(result => {\n if (this.topicTopicItems && result.success) {\n this.topicTopicItems = this.topicTopicItems.map(topicItem =>\n topicItem.id !== topicItemId\n ? topicItem\n : {\n ...topicItem,\n responsiblePerson: user,\n modifiedDate: result.result?.modifiedDate,\n }\n );\n }\n });\n }\n\n updateVisibility(topicItemId: string, visible: boolean) {\n this.topicItemApiService\n .updateVisibility(\n new UpdateTopicItemVisibilityCommandParams({\n topicItemId: topicItemId,\n visible: visible,\n })\n )\n .subscribe(result => {\n if (this.topicTopicItems && result.success) {\n this.topicTopicItems = this.topicTopicItems.map(topicItem =>\n topicItem.id !== topicItemId\n ? topicItem\n : {\n ...topicItem,\n visible: visible,\n }\n );\n }\n });\n }\n\n handleOnReordering() {\n this.reordering = !this.reordering;\n }\n\n handleOnReorderCancel() {\n this.reordering = false;\n }\n\n async getAllIndicatorOptions() {\n const categories = [\n IndicatorCategory.Environment,\n IndicatorCategory.Social,\n IndicatorCategory.Governance,\n IndicatorCategory.Other,\n IndicatorCategory.General,\n ];\n const availableIndicatorsResponse = await this.indicatorApiService.getAllIndicators(\n undefined,\n undefined,\n undefined,\n undefined,\n undefined\n );\n const availableIndicators = availableIndicatorsResponse.result.items;\n\n const groupedIndicators = categories.map(category => {\n return {\n label: category,\n options: _.orderBy(\n availableIndicators.filter(x => x.category === category),\n i => i.name\n ).map(x => {\n return { value: x.id, label: x.name, category: x.category };\n }),\n };\n });\n\n const singleGroupedIndicators = categories.map(category => {\n return {\n label: category,\n options: _.orderBy(\n availableIndicators.filter(x => x.valueType === IndicatorValueType.Numeric && x.category === category),\n i => i.name\n ).map(x => {\n return { value: x.id, label: x.name, category: x.category };\n }),\n };\n });\n\n const narrativeGroupedIndicators = categories\n .map(category => {\n const options = _.orderBy(\n availableIndicators.filter(x => x.valueType === IndicatorValueType.Narrative && x.category === category),\n i => i.name\n ).map(x => {\n return { value: x.id, label: x.name, category: x.category };\n });\n\n return {\n label: category,\n options,\n };\n })\n .filter(group => group.options.length > 0);\n\n this.indicatorOptions = groupedIndicators;\n this.indicatorSingleValueOptions = singleGroupedIndicators;\n this.narrativeIndicatorOptions = narrativeGroupedIndicators;\n }\n\n openDisclosureModal(disclosures?: IDisclosure[]): void {\n this.disclosures = disclosures;\n this.isDisclosureModalVisible = !!disclosures;\n }\n\n closeDisclosureModal() {\n this.disclosures = undefined;\n this.isDisclosureModalVisible = false;\n }\n\n updateTopicItemStatus(topicItemId: string, status: TopicItemStatus) {\n this.topicItemApiService\n .updateStatus(\n new UpdateTopicItemStatusCommandParams({\n topicItemId: topicItemId,\n status: status,\n })\n )\n .subscribe(result => {\n if (this.topicTopicItems && result.success) {\n this.topicTopicItems = this.topicTopicItems.map(topicItem =>\n topicItem.id !== topicItemId\n ? topicItem\n : {\n ...topicItem,\n modifiedDate: result.result?.modifiedDate,\n status: topicItemStatusOptions.find(o => o.value === status),\n }\n );\n }\n });\n }\n\n ngOnDestroy() {\n this.organizationContextSub?.unsubscribe();\n this.sectionSub?.unsubscribe();\n }\n}\n","import { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { ReportDetailsStateService } from '../report-details-state.service';\nimport { TopicContentStateService } from './topic-content-state.service';\nimport { IOption } from 'src/app/static-data/options';\nimport { TopicItemStatus } from 'src/api-client/report-api.generated';\n\n@Component({\n selector: 'esg-topic-content',\n templateUrl: './topic-content.component.html',\n styleUrl: './topic-content.component.scss',\n providers: [TopicContentStateService],\n})\nexport class TopicContentComponent {\n topicSub?: Subscription;\n\n constructor(\n public state: TopicContentStateService,\n public reportState: ReportDetailsStateService,\n private route: ActivatedRoute\n ) {}\n\n ngOnInit(): void {\n this.topicSub = this.route.params.subscribe(params => {\n const selectedTopicId = params['topicid'];\n if (selectedTopicId) {\n this.reportState.clearTopicDetails();\n this.reportState.setTopicDetails(selectedTopicId);\n this.reportState.reportData &&\n this.reportState.selectedTopic &&\n this.state.init(\n this.reportState.reportData.id,\n this.reportState.selectedTopic.mainLevelId,\n this.reportState.selectedTopic.id,\n this.reportState.reportData.timePeriod\n );\n } else if (!selectedTopicId && this.reportState.selectedTopic) this.reportState.clearTopicDetails();\n });\n }\n\n shouldShowTooltip(): boolean {\n const topicName = this.reportState?.selectedTopic?.name || '';\n return topicName.length > 35;\n }\n\n updateTopicItemStatus(topicItemId: string | undefined, status: IOption) {\n const topicItemStatus = Object.values(TopicItemStatus).find(s => s === status.value);\n topicItemId && topicItemStatus && this.state.updateTopicItemStatus(topicItemId, status.value);\n }\n\n ngOnDestroy(): void {\n this.topicSub?.unsubscribe();\n }\n}\n","
\n
\n \n \n {{ reportState.selectedTopic?.name || '' }}\n \n \n \n {{ reportState.selectedTopic?.name || '' }}\n \n \n \n
Add section
\n
\n
Click Add Section to start adding content
\n \n
\n \n \n Done\n
\n
\n\n @for (item of state.topicTopicItems; track item.id; let last = $last){ @defer (on viewport) {\n \n } @placeholder {\n \n } }\n\n\n\n\n\n","import { Component, Injectable } from '@angular/core';\nimport {\n ComponentType,\n CreateComponentCommandParams,\n DeleteComponentCommandParams,\n IndicatorDataValueType,\n MoveComponentCommandParams,\n NewIndicatorTopicItemVm,\n TopicItemType,\n UpdateComponentCommandParams,\n UpdateNewIndicatorTopicItemCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { DynamicContent, DynamicComponentFactory } from 'src/app/content/dynamic-content';\nimport { ReportAppApiService } from 'src/app/api-client/report-api/app-api-service';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { ChatAIApiService } from 'src/app/api-client/report-api/chat-ai-service';\nimport { ContentDataTypes, ContentStatesTypes } from 'src/app/content/content-configuration';\nimport { lastValueFrom } from 'rxjs';\nimport { IUploadedPhoto } from 'src/app/shared/ui/upload-picture/upload-picture.component';\nimport { IPictureContentData } from 'src/app/content/content-item/picture/picture.component';\nimport { IGroupedOptions } from 'src/app/static-data/options';\nimport { TopicItemApiService } from 'src/app/api-client/report-api/topic-item-api-service';\nimport {\n IIndicatorContentData,\n IIndicatorContentStates,\n IndicatorContentType,\n IndicatorContentValuesUi,\n IndicatorPeriodLabelsUi,\n VisibleValueColumn,\n} from 'src/app/content/content-item/indicator-content/indicator-content.component';\nimport { IndicatorContentSubstrateDataUi } from 'src/app/content/content-item/indicator-content/indicator-content-substrate-data/indicator-content-substrate-data.component';\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport {\n ITextDisclosureActions,\n ITextDisclosureData,\n ITextDisclosureStates,\n TextDisclosureValuesUi,\n} from 'src/app/content/content-item/text-disclosure/text-disclosure.component';\nimport { IDisclosure } from 'src/app/content/dynamic-content-data';\n\nexport interface DataValuesUi {\n indicatorId: string;\n currentValue: DataValueUi;\n metadata: DataValueMetaDataUi;\n previousValue: DataValueUi;\n targetValue: DataValueUi;\n substrateData?: IndicatorContentSubstrateDataUi;\n referenceStandards?: string;\n}\n\ninterface DataSingleValueMetaDataUi {\n label?: string;\n type?: string;\n unit?: string;\n unitDescription?: string;\n groupLabel?: string;\n isVisibleInReport?: boolean;\n}\n\ninterface DataValueMetaDataUi extends DataSingleValueMetaDataUi {\n tableColumnsMetadata?: DataSingleValueMetaDataUi[];\n}\n\ninterface DataSingleValueUi {\n type?: string;\n value?: string | number;\n unitDetails?: string;\n errorMessage?: string;\n}\n\nexport interface DataValueUi extends DataSingleValueUi {\n tableRows?: DataTableValueRowUi[];\n}\n\nexport interface DataTableValueRowUi {\n values?: DataSingleValueUi[];\n}\n\n@Injectable()\nexport class TopicItemContentStateService {\n reportId: string = '';\n topicItemId: string = '';\n dynamicContent: DynamicContent[] = [];\n dataValues: DataValuesUi[] = [];\n removeContentId?: string;\n removeContentMessage = 'Once you delete this component\\nthere is no turning back.';\n\n indicatorPeriodLabels: IndicatorPeriodLabelsUi = {\n targetLabel: 'Target',\n currentLabel: 'Current',\n previousLabel: 'Previous',\n };\n indicatorOptions: IGroupedOptions[] = [];\n indicatorSingleValueOptions: IGroupedOptions[] = [];\n\n isLoadingComponents: boolean = false;\n\n narrativeIndicatorOptions: IGroupedOptions[] = [];\n\n constructor(\n private topicItemApiService: TopicItemApiService,\n private appApiService: ReportAppApiService,\n private domSanitizer: DomSanitizer,\n private chatAIService: ChatAIApiService\n ) {}\n\n setIndicatorOptions(\n indicatorOptions: IGroupedOptions[],\n indicatorSingleValueOptions: IGroupedOptions[],\n narrativeIndicatorOptions: IGroupedOptions[]\n ) {\n this.indicatorOptions = indicatorOptions;\n this.narrativeIndicatorOptions = narrativeIndicatorOptions;\n this.indicatorSingleValueOptions = indicatorSingleValueOptions;\n }\n\n setIndicatorPeriodLabels(indicatorPeriodLabels: IndicatorPeriodLabelsUi) {\n this.indicatorPeriodLabels = indicatorPeriodLabels;\n }\n\n async getTopicItemComponents(reportId: string, topicItemId: string) {\n this.reportId = reportId;\n this.topicItemId = topicItemId;\n this.dynamicContent = [];\n this.dataValues = [];\n this.isLoadingComponents = true;\n\n this.topicItemApiService.getTopicItemDetails(topicItemId).subscribe(result => {\n if (result instanceof NewIndicatorTopicItemVm) {\n this.dataValues = result.dataValues.map(value => ({\n indicatorId: value.indicatorId,\n currentValue: value.currentValue as DataValueUi,\n metadata: value.metadata,\n previousValue: value.previousValue as DataValueUi,\n targetValue: value.targetValue as DataValueUi,\n substrateData: value.substrateData,\n referenceStandards: value.referenceStandards,\n description: value.description,\n }));\n\n const dynamicComponentFactory = DynamicComponentFactory({\n uploadPhoto: this.handleUploadPhoto,\n getUploadedPhoto: this.getUploadPhoto,\n generateText: this.handleGetBotAnswer,\n addIndicator: this.handleAddIndicatorToSet,\n deleteIndicator: this.handleRemoveIndicatorFromSet,\n addTextDisclosure: this.handleAddTextDisclosureComponent,\n setDisclosures: this.handleOnSetDisclosures,\n });\n result.components.map(c => {\n let dynamicComponent;\n const isVisibleInReport = result.visible ? c.isVisibleInReport || false : false;\n if (c.type === ComponentType.Indicator) {\n const content = c.content ? JSON.parse(c.content) : undefined;\n const indicatorIds = content?.indicatorIds || [];\n const indicatorValues = this.getOrderedIndicatorValues(this.dataValues || [], indicatorIds);\n dynamicComponent = dynamicComponentFactory[c.type](\n c.id,\n isVisibleInReport,\n this.indicatorPeriodLabels,\n c.content ? this.getUnusedIndicatorOptions(indicatorIds) : this.indicatorOptions,\n indicatorValues,\n c.content\n );\n } else if (c.type === ComponentType.Narrative) {\n const content = c.content ? JSON.parse(c.content) : undefined;\n const indicatorIds = content?.indicatorIds || [];\n const indicatorValue = this.getTextDisclosureValues(this.dataValues || [], indicatorIds[0]);\n dynamicComponent = dynamicComponentFactory[c.type](\n c.id,\n isVisibleInReport,\n this.narrativeIndicatorOptions,\n indicatorValue,\n c.content\n );\n } else {\n dynamicComponent = dynamicComponentFactory[c.type](c.id, isVisibleInReport, c.content);\n }\n\n this.dynamicContent.push(dynamicComponent);\n });\n }\n this.isLoadingComponents = false;\n });\n }\n\n onDataChangeComponent = (\n contentId: string,\n isVisibleInReport: boolean,\n states: ContentStatesTypes,\n data?: ContentDataTypes,\n componentType?: ComponentType | undefined\n ) => {\n const component = this.dynamicContent.find(c => c.contentId === contentId);\n\n if (!component) {\n throw Error(`Component with id: ${contentId} doesn't exists`);\n }\n\n var updatedComponent: DynamicContent = {\n ...component,\n isVisibleInReport: isVisibleInReport,\n states: states,\n data,\n };\n\n if (componentType != undefined) {\n updatedComponent.contentType = componentType;\n if (componentType == ComponentType.Narrative) {\n (updatedComponent.actions as ITextDisclosureActions).generateText = this.handleGetBotAnswer;\n (updatedComponent.actions as ITextDisclosureActions).setDisclosures = this.handleOnSetDisclosures;\n }\n }\n this.dynamicContent = this.dynamicContent.map(c => (c.contentId !== component.contentId ? c : updatedComponent));\n\n this.topicItemApiService\n .updateComponent(\n new UpdateComponentCommandParams({\n componentId: component.contentId,\n topicItemId: this.topicItemId || '',\n title: '',\n isVisibleInReport: isVisibleInReport,\n content: data ? JSON.stringify(data) : '',\n componentType: componentType,\n })\n )\n .subscribe(result => {\n console.log('updated successfully!');\n });\n };\n\n async uploadPhoto(file: File) {\n const photo$ = this.appApiService.uploadImage({\n data: file,\n fileName: file.name,\n });\n return await lastValueFrom(photo$);\n }\n\n getUploadPhoto = (blobName: string): IUploadedPhoto => {\n var blobUrl = this.appApiService.getBlobUrl(blobName);\n var safeUrl = this.domSanitizer.bypassSecurityTrustResourceUrl(blobUrl);\n return {\n url: safeUrl,\n fileName: blobName,\n };\n };\n\n handleUploadPhoto = (componentId: string) => async (file?: File) => {\n const component = this.dynamicContent.find(c => c.contentId === componentId);\n\n if (!component) {\n throw Error(`Comonent with id: ${componentId} doesn't exists`);\n }\n\n if (file) {\n const result = await this.uploadPhoto(file);\n const uploadedPhoto = this.getUploadPhoto(result.blobName || '');\n\n const updatedContent: IPictureContentData = {\n altText: '',\n blobName: result.blobName || '',\n };\n\n this.onDataChangeComponent(\n componentId,\n component.isVisibleInReport,\n {\n ...component?.states,\n uploadedPhoto: uploadedPhoto,\n },\n updatedContent\n );\n } else {\n this.onDataChangeComponent(\n componentId,\n component.isVisibleInReport,\n {\n ...component?.states,\n uploadedPhoto: undefined,\n },\n undefined\n );\n }\n };\n\n handleGetBotAnswer = async (question: string): Promise => {\n return (await this.chatAIService.getBotAnswer(question)).answer;\n };\n\n async handleTopicItemNameChange(name: string) {\n const result = await this.topicItemApiService.updateTopicItem(\n new UpdateNewIndicatorTopicItemCommandParams({\n topicItemId: this.topicItemId,\n name: name,\n type: TopicItemType.NewIndicator,\n indicatorIds: this.dataValues.map(v => v.indicatorId),\n })\n );\n if (result?.success) {\n return name;\n } else {\n return null;\n }\n }\n\n handleOnAddComponent(type: ComponentType) {\n switch (type) {\n case ComponentType.Indicator:\n this.addEmptyIndicatorComponent();\n break;\n case ComponentType.Text:\n this.addTextComponent();\n break;\n case ComponentType.Picture:\n this.addImageComponent();\n break;\n case ComponentType.ImportFromExcel:\n this.addImportFromExcelComponent();\n break;\n case ComponentType.Narrative:\n this.addTextDisclosureComponent();\n break;\n default:\n break;\n }\n }\n\n addEmptyIndicatorComponent() {\n this.topicItemApiService\n .addComponent(\n new CreateComponentCommandParams({\n topicItemId: this.topicItemId || '',\n reportId: this.reportId || '',\n type: ComponentType.Indicator,\n title: '',\n isVisibleInReport: true,\n })\n )\n .subscribe(result => {\n const IndicatorComponent = DynamicComponentFactory({\n uploadPhoto: this.handleUploadPhoto,\n getUploadedPhoto: this.getUploadPhoto,\n generateText: this.handleGetBotAnswer,\n setDisclosures: this.handleOnSetDisclosures,\n addIndicator: this.handleAddIndicatorToSet,\n deleteIndicator: this.handleRemoveIndicatorFromSet,\n })[ComponentType.Indicator](\n result.result?.id || '',\n true,\n this.indicatorPeriodLabels,\n this.indicatorOptions,\n [],\n JSON.stringify({\n visibleColumns: [\n VisibleValueColumn.PreviousValue,\n VisibleValueColumn.CurrentValue,\n VisibleValueColumn.TargetValue,\n ],\n })\n );\n this.dynamicContent = [...this.dynamicContent, IndicatorComponent];\n });\n }\n\n addTextDisclosureComponent() {\n this.topicItemApiService\n .addComponent(\n new CreateComponentCommandParams({\n topicItemId: this.topicItemId || '',\n reportId: this.reportId || '',\n type: ComponentType.Narrative,\n title: '',\n isVisibleInReport: true,\n })\n )\n .subscribe(result => {\n const textDisclosureComponent = DynamicComponentFactory({\n uploadPhoto: this.handleUploadPhoto,\n getUploadedPhoto: this.getUploadPhoto,\n generateText: this.handleGetBotAnswer,\n addTextDisclosure: this.handleAddTextDisclosureComponent,\n setDisclosures: this.handleOnSetDisclosures,\n deleteIndicator: this.handleRemoveIndicatorFromSet,\n })[ComponentType.Narrative](\n result.result?.id || '',\n true,\n this.narrativeIndicatorOptions,\n undefined,\n undefined\n );\n this.dynamicContent = [...this.dynamicContent, textDisclosureComponent];\n });\n }\n\n addTextComponent() {\n this.topicItemApiService\n .addComponent(\n new CreateComponentCommandParams({\n topicItemId: this.topicItemId || '',\n reportId: this.reportId || '',\n type: ComponentType.Text,\n title: '',\n isVisibleInReport: true,\n })\n )\n .subscribe(result => {\n this.dynamicContent = [\n ...this.dynamicContent,\n new DynamicContent(\n result.result?.id || '',\n ComponentType.Text,\n true,\n {\n generateText: this.handleGetBotAnswer,\n },\n {},\n undefined\n ),\n ];\n });\n }\n\n addImageComponent() {\n this.topicItemApiService\n .addComponent(\n new CreateComponentCommandParams({\n topicItemId: this.topicItemId || '',\n reportId: this.reportId || '',\n type: ComponentType.Picture,\n title: '',\n isVisibleInReport: true,\n })\n )\n .subscribe(result => {\n this.dynamicContent = [\n ...this.dynamicContent,\n new DynamicContent(\n result.result?.id || '',\n ComponentType.Picture,\n true,\n {\n uploadPhoto: this.handleUploadPhoto(result.result?.id || ''),\n },\n {},\n undefined\n ),\n ];\n });\n }\n\n addImportFromExcelComponent() {\n this.topicItemApiService\n .addComponent(\n new CreateComponentCommandParams({\n topicItemId: this.topicItemId || '',\n reportId: this.reportId || '',\n type: ComponentType.ImportFromExcel,\n title: '',\n isVisibleInReport: true,\n })\n )\n .subscribe(result => {\n this.dynamicContent = [\n ...this.dynamicContent,\n new DynamicContent(result.result?.id || '', ComponentType.ImportFromExcel, true, {}, {}, undefined),\n ];\n });\n }\n\n moveComponent(event: CdkDragDrop) {\n const newList = [...this.dynamicContent];\n const prevList = [...this.dynamicContent];\n moveItemInArray(newList, event.previousIndex, event.currentIndex);\n this.dynamicContent = [...newList];\n\n this.topicItemApiService\n .moveComponent(\n new MoveComponentCommandParams({\n topicItemId: this.topicItemId || '',\n componentId: event.item.element.nativeElement.id,\n prevIndex: event.previousIndex,\n newIndex: event.currentIndex,\n })\n )\n .subscribe(\n result => {},\n error => {\n this.dynamicContent = [...prevList];\n }\n );\n }\n\n handleOnInitateDeleteComponent(removeContentId: string) {\n this.removeContentId = removeContentId;\n }\n\n handleOnDeleteComponentCancel() {\n this.removeContentId = undefined;\n }\n\n async deleteComponent() {\n const component = this.dynamicContent.find(comp => comp.contentId === this.removeContentId);\n if (!component) {\n throw Error(`Component with id: ${this.removeContentId} doesn't exist`);\n }\n if (!this.removeContentId) return;\n\n const contentId = this.removeContentId;\n\n if (component.contentType === ComponentType.Indicator) {\n const response = await this.topicItemApiService.removeIndicatorComponent(this.topicItemId || '', contentId);\n if (!response.success) return;\n }\n this.topicItemApiService\n .removeComponent(\n new DeleteComponentCommandParams({ topicItemId: this.topicItemId || '', componentId: contentId })\n )\n .subscribe(result => {\n if (result.success) {\n const newList = [...this.dynamicContent];\n newList.splice(\n this.dynamicContent.findIndex(comp => comp.contentId === contentId),\n 1\n );\n this.dynamicContent = [...newList];\n }\n });\n this.removeContentId = undefined;\n }\n\n handleAddIndicatorToSet = (contentId: string) => async (indicatorId: string) => {\n const component = this.dynamicContent.find(c => c.contentId === contentId);\n if (!component) {\n throw Error(`Component with id: ${contentId} doesn't exists`);\n }\n if (component.contentType !== ComponentType.Indicator && component.contentType !== ComponentType.Narrative) return;\n\n const response = await this.topicItemApiService.addIndicatorToComponent(\n this.topicItemId || '',\n contentId,\n indicatorId\n );\n const states = component.states as IIndicatorContentStates;\n const data = component.data as IIndicatorContentData;\n const indicator = response.result as IndicatorContentValuesUi;\n\n if (indicator.metadata.type === IndicatorDataValueType.Numeric) {\n if (data?.indicatorIds?.length) {\n this.onDataChangeComponent(\n contentId,\n component.isVisibleInReport,\n {\n ...component.states,\n indicatorValues: [...states.indicatorValues, indicator],\n indicatorOptions: this.getUnusedIndicatorOptions([...data.indicatorIds, indicatorId]),\n },\n {\n ...data,\n indicatorIds: [...data.indicatorIds, indicatorId],\n }\n );\n } else {\n this.onDataChangeComponent(\n contentId,\n component.isVisibleInReport,\n {\n ...component.states,\n indicatorValues: [indicator],\n indicatorOptions: this.getUnusedIndicatorOptions([indicatorId]),\n },\n {\n ...data,\n indicatorType: IndicatorContentType.IndicatorSet,\n visibleColumns: [\n VisibleValueColumn.TargetValue,\n VisibleValueColumn.CurrentValue,\n VisibleValueColumn.PreviousValue,\n ],\n indicatorIds: [indicatorId],\n }\n );\n }\n } else if (indicator.metadata.type === IndicatorDataValueType.Table) {\n this.onDataChangeComponent(\n contentId,\n component.isVisibleInReport,\n { ...component.states, indicatorValues: [indicator] },\n {\n ...data,\n indicatorType: IndicatorContentType.IndicatorTableValue,\n visibleColumns: [VisibleValueColumn.CurrentValue, VisibleValueColumn.PreviousValue],\n indicatorIds: [indicatorId],\n }\n );\n } else if (indicator.metadata.type === IndicatorDataValueType.Narrative) {\n const tdStates = component.states as ITextDisclosureStates;\n const tdData = component.data as ITextDisclosureData;\n const tdIndicator = response.result as TextDisclosureValuesUi;\n tdStates.indicatorValue = indicator;\n this.onDataChangeComponent(\n contentId,\n component.isVisibleInReport,\n {\n ...component.states,\n indicatorValue: tdIndicator,\n indicatorOptions: this.narrativeIndicatorOptions,\n },\n {\n ...tdData,\n indicatorType: IndicatorContentType.Narrative,\n indicatorIds: [indicatorId],\n },\n ComponentType.Narrative\n );\n }\n };\n\n handleRemoveIndicatorFromSet = (contentId: string) => async (indicatorId: string) => {\n const component = this.dynamicContent.find(c => c.contentId === contentId);\n if (!component) {\n throw Error(`Component with id: ${contentId} doesn't exist`);\n }\n if (component.contentType !== ComponentType.Indicator) return;\n\n const response = await this.topicItemApiService.removeIndicatorFromComponent(\n this.topicItemId || '',\n contentId,\n indicatorId\n );\n\n if (response.success) {\n const states = component.states as IIndicatorContentStates;\n const indicatorRows = states.indicatorValues || [];\n const newIndicatorRows = indicatorRows.filter(i => i.indicatorId !== indicatorId);\n const contentData = component.data as IIndicatorContentData;\n const newIndicatorContentData = {\n ...contentData,\n indicatorIds: (contentData.indicatorIds || []).filter(id => id !== indicatorId),\n };\n this.onDataChangeComponent(\n contentId,\n component.isVisibleInReport,\n {\n ...component.states,\n indicatorValues: newIndicatorRows,\n },\n newIndicatorContentData\n );\n }\n };\n\n getUnusedIndicatorOptions(indicatorIds: string[]) {\n return this.indicatorSingleValueOptions.map(group => {\n return {\n label: group.label,\n options: group.options.filter(option => !indicatorIds.includes(option.value)),\n };\n });\n }\n\n getOrderedIndicatorValues(\n indicatorValues: IndicatorContentValuesUi[],\n indicatorIds: string[]\n ): IndicatorContentValuesUi[] {\n return indicatorIds.map(id => indicatorValues.find(value => value.indicatorId === id)!).filter(Boolean);\n }\n\n handleOnSetDisclosures?: (disclosures?: IDisclosure[]) => void;\n\n handleAddTextDisclosureComponent = (contentId: string) => async (indicatorId: string) => {\n const component = this.dynamicContent.find(c => c.contentId === contentId);\n if (!component) {\n throw Error(`Component with id: ${contentId} doesn't exists`);\n }\n if (component.contentType !== ComponentType.Narrative) return;\n\n const response = await this.topicItemApiService.addIndicatorToComponent(\n this.topicItemId || '',\n contentId,\n indicatorId\n );\n const states = component.states as ITextDisclosureStates;\n const data = component.data as ITextDisclosureData;\n const indicator = response.result as TextDisclosureValuesUi;\n states.indicatorValue = indicator;\n\n this.onDataChangeComponent(\n contentId,\n component.isVisibleInReport,\n {\n ...component.states,\n indicatorValue: indicator,\n indicatorOptions: this.narrativeIndicatorOptions,\n },\n {\n ...data,\n indicatorIds: [indicatorId],\n indicatorType: IndicatorContentType.Narrative,\n }\n );\n };\n\n getTextDisclosureOptions(indicatorIds: string[]) {\n return this.narrativeIndicatorOptions.map(group => {\n return {\n label: group.label,\n options: group.options.filter(option => !indicatorIds.includes(option.value)),\n };\n });\n }\n\n getTextDisclosureValues(\n indicatorValues: IndicatorContentValuesUi[],\n indicatorIds: string\n ): IndicatorContentValuesUi | undefined {\n return indicatorValues.find(value => value.indicatorId === indicatorIds);\n }\n}\n","import { Component, ElementRef, EventEmitter, Input, Output } from '@angular/core';\nimport { IGroupedOptions, IOption } from 'src/app/static-data/options';\nimport { TopicItemContentStateService } from './topic-item-content-state.service';\nimport { TopicItemUi } from '../topic-content-state.service';\nimport { IndicatorPeriodLabelsUi } from 'src/app/content/content-item/indicator-content/indicator-content.component';\nimport { ComponentType } from 'src/api-client/report-api.generated';\nimport { IDisclosure } from 'src/app/content/dynamic-content-data';\n\n@Component({\n selector: 'esg-topic-item-content',\n templateUrl: './topic-item-content.component.html',\n styleUrl: './topic-item-content.component.scss',\n providers: [TopicItemContentStateService],\n host: {\n '[class.reordering]': 'reorderMode',\n },\n})\nexport class TopicItemContentComponent {\n @Input({ required: true }) topicItem!: TopicItemUi;\n @Input({ required: true }) reportId!: string;\n @Input() indicatorOptions: IGroupedOptions[] = [];\n @Input() narrativeIndicatorOptions: IGroupedOptions[] = [];\n @Input() indicatorSingleValueOptions: IGroupedOptions[] = [];\n @Input() responsiblePersonOptions: IOption[] = [];\n @Input() indicatorPeriodLabels: IndicatorPeriodLabelsUi = {\n targetLabel: 'Target',\n currentLabel: 'Current',\n previousLabel: 'Previous',\n };\n @Input() reorderMode: boolean = false;\n @Input() showEmptyText: boolean = false;\n @Input() scrollIntoViewOnInit: boolean = false;\n @Input() isLastItem: boolean = false;\n @Input() isDisclosureVisible: boolean = false;\n @Output() onDeleteHeader = new EventEmitter();\n @Output() onResponsiblePersonChange = new EventEmitter();\n @Output() onUpdateVisibility = new EventEmitter();\n @Output() onSetDisclosures = new EventEmitter();\n @Output() onTopicItemStatusChange = new EventEmitter();\n\n constructor(private hostRef: ElementRef, public state: TopicItemContentStateService) {}\n\n ngOnInit(): void {\n this.state.handleOnSetDisclosures = this.handleOnSetDisclosures;\n this.state.setIndicatorPeriodLabels(this.indicatorPeriodLabels);\n this.state.setIndicatorOptions(\n this.indicatorOptions,\n this.indicatorSingleValueOptions,\n this.narrativeIndicatorOptions\n );\n this.state.getTopicItemComponents(this.reportId, this.topicItem.id);\n }\n\n ngAfterViewInit() {\n if (this.scrollIntoViewOnInit) {\n this.hostRef.nativeElement.scrollIntoView();\n }\n }\n\n handleOnDeleteHeader() {\n this.onDeleteHeader.emit();\n }\n\n handleOnResponsiblePersonChange(option: IOption) {\n this.onResponsiblePersonChange.emit(option);\n }\n\n handleOnUpdateVisibility(visible: boolean) {\n this.onUpdateVisibility.emit(visible);\n }\n\n async handleOnEditHeader(value: string) {\n const updatedName = await this.state.handleTopicItemNameChange(value);\n if (updatedName) {\n this.topicItem.name = updatedName;\n }\n }\n\n handleOnAddContent(componentType: ComponentType) {\n this.topicItem.collapsed = false;\n this.state.handleOnAddComponent(componentType);\n }\n\n handleOnToggleCollapse() {\n this.topicItem.collapsed = !this.topicItem.collapsed;\n }\n\n handleOnSetDisclosures = (disclosures?: IDisclosure[]) => {\n this.onSetDisclosures.emit(disclosures);\n };\n\n handleOnTopicItemStatusChange(option: IOption) {\n this.onTopicItemStatusChange.emit(option);\n }\n}\n","\n\n\n \n \n \n\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { debounceTime, distinctUntilChanged } from 'rxjs';\nimport { ComponentType } from 'src/api-client/report-api.generated';\nimport { IOption } from 'src/app/static-data/options';\nimport { topicItemStatusOptions } from 'src/app/static-data/options';\n\n@Component({\n selector: 'esg-topic-item-header',\n templateUrl: './topic-item-header.component.html',\n styleUrl: './topic-item-header.component.scss',\n})\nexport class TopicItemHeaderComponent {\n @Input({ required: true }) topicItemId!: string;\n @Input() headerText: string = '';\n @Input() visible: boolean = false;\n @Input() collapsed: boolean = true;\n @Input() responsiblePerson?: IOption;\n @Input() responsiblePersonOptions: IOption[] = [];\n @Input() reorderMode: boolean = false;\n @Input() showEmptyText: boolean = false;\n @Input() showCollapseButton: boolean = false;\n @Input() status?: IOption;\n @Input() statusOptions: IOption[] = topicItemStatusOptions;\n @Output() onAddContent = new EventEmitter();\n @Output() onEdit = new EventEmitter();\n @Output() onDelete = new EventEmitter();\n @Output() onResponsiblePersonChange = new EventEmitter();\n @Output() onTopicItemStatusChange = new EventEmitter();\n @Output() onUpdateVisibility = new EventEmitter();\n @Output() onToggleCollapse = new EventEmitter();\n\n headerTextControl: FormControl = new FormControl('', { nonNullable: true });\n active: boolean = false;\n responsiblePersonDropdownCollapsed: boolean = true;\n statusDropdownCollapsed: boolean = true;\n\n ngOnInit(): void {\n this.headerTextControl.setValue(this.headerText);\n this.headerTextControl.valueChanges.pipe(debounceTime(500), distinctUntilChanged()).subscribe(value => {\n this.onEdit.emit(value);\n });\n }\n\n handleFocus() {\n this.active = true;\n }\n\n handleOutsideClick() {\n this.active = false;\n }\n\n handleOnDelete() {\n this.onDelete.emit();\n }\n\n handleOnResponsiblePersonChange(responsiblePerson: IOption) {\n this.onResponsiblePersonChange.emit(responsiblePerson);\n }\n handleOnUpdateVisibility() {\n this.onUpdateVisibility.emit(!this.visible);\n }\n\n handleOnOpenResponsiblePersonDropdown(event: Event) {\n event.stopPropagation();\n if (!this.active) {\n this.active = true;\n } else {\n this.responsiblePersonDropdownCollapsed = !this.responsiblePersonDropdownCollapsed;\n }\n }\n\n handleOnToggleResponsiblePersonDropdown(collapse: boolean) {\n this.responsiblePersonDropdownCollapsed = collapse;\n }\n\n handleOnStatusChange(status: IOption) {\n this.onTopicItemStatusChange.emit(status);\n }\n\n handleOnOpenStatusDropdown(event: Event) {\n event.stopPropagation();\n if (!this.active) {\n this.active = true;\n } else {\n this.statusDropdownCollapsed = !this.statusDropdownCollapsed;\n }\n }\n\n handleOnToggleStatusDropdown(collapse: boolean) {\n this.statusDropdownCollapsed = collapse;\n }\n\n handleOnToggleCollapse() {\n this.onToggleCollapse.emit();\n }\n}\n","\n
\n
\n \n Visible\n
\n \n
\n
\n \n \n \n \n
\n \n {{ headerTextControl.value || 'Untitled Section' }}\n
\n \n \n \n {{ status?.label || '' }}\n
\n \n \n \n\n \n \n \n {{ responsiblePerson?.label || 'Unassigned' }}\n \n \n \n \n Click the plus to start adding content\n\n\n \n \n \n\n","import { Component, ElementRef, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-topic-item-placeholder',\n templateUrl: './topic-item-placeholder.component.html',\n styleUrl: './topic-item-placeholder.component.scss',\n})\nexport class TopicItemPlaceholderComponent {\n @Input() scrollIntoViewOnInit: boolean = false;\n\n constructor(private hostRef: ElementRef) {}\n\n ngAfterViewInit() {\n if (this.scrollIntoViewOnInit) {\n this.hostRef.nativeElement.scrollIntoView();\n }\n }\n}\n","\n","import { Injectable } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport {\n CreateNewIndicatorTopicItemCommandParams,\n NewIndicatorTopicItemVm,\n TopicItemType,\n UpdateNewIndicatorTopicItemCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { IndicatorApiService } from 'src/app/api-client/report-api/indicator-api-service';\nimport { TopicItemApiService } from 'src/app/api-client/report-api/topic-item-api-service';\nimport { IOption } from 'src/app/shared/ui/dropdown-multiple/dropdown-multiple-form.component';\nimport { TopicItemContentUi } from '../topic-item-details/topic-item-details-state.service';\nimport _ from 'lodash';\n\ninterface IndicatorForm {\n title: FormControl;\n selectedIndicators: FormControl;\n}\n\n@Injectable()\nexport class NewIndicatorFormStateService {\n indicatorOptions: IOption[] = [];\n indicatorFc: IndicatorForm;\n formgroup: FormGroup;\n\n headerText = 'Create new content';\n submitText = 'Create';\n constructor(private topicItemApiService: TopicItemApiService, private indicatorApiService: IndicatorApiService) {\n this.indicatorFc = {\n title: new FormControl('', { validators: [Validators.required], nonNullable: true }),\n selectedIndicators: new FormControl({ value: [], disabled: true }, { nonNullable: true }),\n };\n this.formgroup = new FormGroup(this.indicatorFc);\n }\n\n async initForm(selectedIndicator?: TopicItemContentUi) {\n this.indicatorFc.title.setValue(selectedIndicator?.name || '', { emitEvent: false });\n var availableIndicatorsResponse = await this.indicatorApiService.getAllNamesIndicators();\n this.indicatorOptions = _.orderBy(availableIndicatorsResponse.result, i => i.name).map(x => {\n return { value: x.id, label: x.name };\n });\n\n this.headerText = selectedIndicator ? 'Edit Indicator' : 'Add Indicator';\n this.submitText = selectedIndicator ? 'Save changes' : 'Add Indicator';\n\n if (selectedIndicator?.id) {\n this.topicItemApiService.getTopicItemDetails(selectedIndicator.id).subscribe(x => {\n var topicItem = x as NewIndicatorTopicItemVm;\n\n if (!!this.indicatorFc) {\n this.indicatorFc.selectedIndicators.setValue(\n topicItem.dataValues.map(x => {\n var indicatorName = this.indicatorOptions.find(y => y.value === x.indicatorId)?.label;\n return { value: x.indicatorId, label: indicatorName || 'Not found indicator name' };\n })\n );\n }\n });\n }\n }\n\n async submitForm(reportId: string, mainLevelId: string, topicId: string, topicItemId?: string) {\n this.formgroup?.markAsPristine();\n if (this.formgroup.valid) {\n if (topicItemId) {\n return await this.topicItemApiService.updateTopicItem(\n new UpdateNewIndicatorTopicItemCommandParams({\n type: TopicItemType.NewIndicator,\n name: this.indicatorFc?.title.value || '',\n topicItemId: topicItemId,\n indicatorIds: this.indicatorFc.selectedIndicators.value.map(x => x.value),\n })\n );\n } else {\n return await this.topicItemApiService.addTopicItem(\n new CreateNewIndicatorTopicItemCommandParams({\n type: TopicItemType.NewIndicator,\n reportId: reportId,\n mainLevelId: mainLevelId,\n topicId: topicId,\n name: this.indicatorFc?.title.value || '',\n indicatorIds: this.indicatorFc.selectedIndicators.value.map(x => x.value),\n })\n );\n }\n }\n return;\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { NewIndicatorFormStateService } from './new-indicator-form-state.service';\nimport { TopicItemContentUi } from '../topic-item-details/topic-item-details-state.service';\n\n@Component({\n selector: 'esg-new-indicator-form',\n templateUrl: './new-indicator-form.component.html',\n styleUrl: './new-indicator-form.component.scss',\n providers: [NewIndicatorFormStateService],\n})\nexport class NewIndicatorFormComponent implements OnInit {\n @Input({ required: true }) reportId!: string;\n @Input({ required: true }) mainLevelId!: string;\n @Input({ required: true }) topicId!: string;\n @Input() selectedTopicItem?: TopicItemContentUi;\n\n @Output() onCancel = new EventEmitter();\n @Output() onAddSubmit = new EventEmitter();\n @Output() onEditSubmit = new EventEmitter();\n\n constructor(public state: NewIndicatorFormStateService) {}\n\n ngOnInit(): void {\n this.state.initForm(this.selectedTopicItem);\n }\n\n handleFormSubmit() {\n this.state\n .submitForm(this.reportId, this.mainLevelId, this.topicId, this.selectedTopicItem?.id)\n .then(() => (this.selectedTopicItem ? this.onEditSubmit.emit() : this.onAddSubmit.emit()));\n }\n}\n","\n
\n
{{ state.headerText }}
\n
\n \n \n
\n
\n\n","import { Injectable } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport {\n TopicItemType,\n UpdateTextDisclosureTopicItemCommandParams,\n CreateTextDisclosureTopicItemCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { TopicItemApiService } from 'src/app/api-client/report-api/topic-item-api-service';\nimport { TopicItemContentUi } from '../topic-item-details/topic-item-details-state.service';\n\ninterface TextDisclosureForm {\n title: FormControl;\n description: FormControl;\n references: FormControl;\n}\n\n@Injectable()\nexport class TextDisclosureFormStateService {\n textDisclosureFc?: TextDisclosureForm = undefined;\n formgroup?: FormGroup = undefined;\n\n headerText = 'Create new content';\n submitText = 'Create';\n\n constructor(private topicItemApiService: TopicItemApiService) {}\n\n initForm(selectedIndicator: TopicItemContentUi | undefined) {\n this.textDisclosureFc = {\n title: new FormControl(selectedIndicator?.name || '', {\n nonNullable: true,\n validators: [Validators.required],\n }),\n description: new FormControl(selectedIndicator?.description || '', {\n nonNullable: true,\n }),\n references: new FormControl(selectedIndicator?.referenceStandards || '', {\n nonNullable: true,\n }),\n };\n this.formgroup = new FormGroup(this.textDisclosureFc);\n this.headerText = selectedIndicator ? 'Edit Text Disclosure' : 'Create Text Disclosure';\n this.submitText = selectedIndicator ? 'Save changes' : 'Create';\n }\n\n async submitForm(reportId: string, mainLevelId: string, topicId: string, topicItemId?: string) {\n this.formgroup?.markAsPristine();\n const textDisclosureParams = {\n type: TopicItemType.TextDisclosure,\n name: this.textDisclosureFc?.title.value || '',\n description: this.textDisclosureFc?.description.value || '',\n referenceStandards: this.textDisclosureFc?.references.value || '',\n };\n if (topicItemId) {\n await this.topicItemApiService.updateTopicItem(\n new UpdateTextDisclosureTopicItemCommandParams({\n topicItemId: topicItemId,\n ...textDisclosureParams,\n })\n );\n } else {\n await this.topicItemApiService.addTopicItem(\n new CreateTextDisclosureTopicItemCommandParams({\n reportId: reportId,\n mainLevelId: mainLevelId,\n topicId: topicId,\n ...textDisclosureParams,\n })\n );\n }\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { TopicItemContentUi } from '../topic-item-details/topic-item-details-state.service';\nimport { TextDisclosureFormStateService } from './text-disclosure-form-state.service';\n\n@Component({\n selector: 'esg-text-disclosure-form',\n templateUrl: './text-disclosure-form.component.html',\n styleUrls: ['./text-disclosure-form.component.scss'],\n providers: [TextDisclosureFormStateService],\n})\nexport class TextDisclosureFormComponent implements OnInit {\n @Input({ required: true }) reportId!: string;\n @Input({ required: true }) mainLevelId!: string;\n @Input({ required: true }) topicId!: string;\n @Input() selectedTopicItem?: TopicItemContentUi;\n\n @Output() onCancel = new EventEmitter();\n @Output() onAddSubmit = new EventEmitter();\n @Output() onEditSubmit = new EventEmitter();\n\n constructor(public state: TextDisclosureFormStateService) {}\n\n ngOnInit(): void {\n this.state.initForm(this.selectedTopicItem);\n }\n\n handleFormSubmit() {\n this.state\n .submitForm(this.reportId, this.mainLevelId, this.topicId, this.selectedTopicItem?.id)\n .then(() => (this.selectedTopicItem ? this.onEditSubmit.emit() : this.onAddSubmit.emit()));\n }\n}\n","\n
\n
{{ state.headerText }}
\n\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n\n","import { IOption } from 'src/app/static-data/options';\nimport { Injectable } from '@angular/core';\nimport {\n MoveTopicItemCommandParams,\n DeleteTopicItemCommandParams,\n TopicItemStatus,\n UpdateTopicItemStatusCommandParams,\n TimePeriod,\n TopicItemType,\n UpdateTopicItemResponsiblePersonCommandParams,\n UpdateTopicItemVisibilityCommandParams,\n NewIndicatorTopicItemVm,\n} from 'src/api-client/report-api.generated';\nimport { TopicItemApiService } from 'src/app/api-client/report-api/topic-item-api-service';\nimport { TopicItemUi } from './topic-item-list/topic-item-list.component';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { UserApiService } from 'src/app/api-client/report-api/user-api-service';\nimport { DataValuesUi, DataValueUi, TopicItemContentUi } from './topic-item-details/topic-item-details-state.service';\nimport {\n IContent,\n SectionContentViewModel,\n} from 'src/app/shared/components/section-content-preview/section-content-preview.component';\nimport { ReportAppApiService } from 'src/app/api-client/report-api/app-api-service';\nimport { IUnit, UnitService } from 'src/app/shared/services/unit/unit.service';\nimport { Subscription } from 'rxjs';\nimport { ObjectArray } from 'src/app/shared/utils/object-array';\nimport { ReportDetailsStateService } from '../report-details-state.service';\n\n@Injectable()\nexport class TopicDetailsStateService {\n private unitsSubscription?: Subscription;\n\n isLoadingTopicItems = false;\n reportId?: string;\n mainLevelId?: string;\n topicId?: string;\n topicName?: string;\n selectedTopicItem?: TopicItemContentUi;\n selectedType!: TopicItemType;\n selectedTopicItemId?: string;\n topicTopicItems?: TopicItemUi[];\n timePeriod?: TimePeriod;\n topicItemDetailsFade: boolean = false;\n\n responsiblePersonOptions: IOption[] = [];\n indicatorPreviewViewModel?: SectionContentViewModel;\n units: ObjectArray = {};\n\n get isSelectedTopicItemArticle() {\n return this.selectedType === TopicItemType.Article;\n }\n\n constructor(\n private topicItemApiService: TopicItemApiService,\n private appInfoService: AppInfoService,\n private appApiService: ReportAppApiService,\n private userApiService: UserApiService,\n private unitService: UnitService\n ) {\n this.unitsSubscription = this.unitService.units$.subscribe(units => {\n this.units = units;\n this.setIndicatorValueDescriptions();\n });\n }\n\n init(reportId: string, mainLevelId: string, topicId: string, topicName: string, timePeriod: TimePeriod) {\n this.topicName = topicName;\n this.timePeriod = timePeriod;\n this.allTopicItems(reportId, mainLevelId, topicId);\n if (this.appInfoService.organizationContext.value) {\n this.userApiService.getUsersByOrganizationId(this.appInfoService.organizationContext.value).subscribe(result => {\n this.responsiblePersonOptions = [\n { value: '', label: 'Unassigned' },\n ...result.result.map(u => ({ value: u.id, label: u.name })),\n ];\n });\n }\n }\n\n clearTopicItems() {\n this.topicTopicItems = undefined;\n }\n\n loadTopicTopicItems() {\n this.allTopicItems(this.reportId || '', this.mainLevelId || '', this.topicId || '');\n }\n\n allTopicItems(reportId: string, mainLevelId: string, topicId: string) {\n this.reportId = reportId;\n this.mainLevelId = mainLevelId;\n this.topicId = topicId;\n this.isLoadingTopicItems = true;\n this.topicItemApiService.allTopicItems(reportId, mainLevelId, topicId).subscribe(result => {\n this.topicTopicItems = result.map(u => ({\n id: u.id,\n name: u.name,\n status: u.status,\n visible: u.visible,\n modifiedDate: u.modifiedDate,\n responsiblePerson:\n u.responsiblePersonId && u.responsiblePersonName\n ? { value: u.responsiblePersonId, label: u.responsiblePersonName }\n : undefined,\n }));\n this.isLoadingTopicItems = false;\n });\n }\n\n setTopicItemDetails(topicItemId: string) {\n this.topicItemApiService.getTopicItemDetails(topicItemId).subscribe(result => {\n if (result instanceof NewIndicatorTopicItemVm) {\n const references = Array.from(\n new Set(\n result.dataValues.flatMap(value => value.referenceStandards.replace(/(\\r\\n|\\n|\\r)/gm, '\\n').split('\\n'))\n )\n ).join('\\n');\n\n const description = result.dataValues\n .reduce((acc, value) => {\n if (value.description) {\n acc.push(value.description);\n }\n return acc;\n }, [])\n .join('\\n\\n');\n\n this.selectedTopicItem = {\n id: result.id,\n name: result.name,\n visible: result.visible,\n calculationDate: result.updateDate,\n type: result.type,\n referenceStandards: references,\n description: description,\n dataValues: result.dataValues.map(value => ({\n indicatorId: value.indicatorId,\n currentValue: value.currentValue as DataValueUi,\n metadata: value.metadata,\n previousValue: value.previousValue as DataValueUi,\n targetValue: value.targetValue as DataValueUi,\n isCurrentValueConnected: true,\n isPreviousValueConnected: true,\n substrateData: value.substrateData,\n referenceStandards: value.referenceStandards,\n })),\n components: result.components,\n };\n } else {\n this.selectedTopicItem = result;\n }\n const topicItemType = Object.values(TopicItemType).find(type => type === this.selectedTopicItem?.type);\n if (topicItemType) this.setSelectedContentType(topicItemType);\n this.setIndicatorValueDescriptions();\n });\n }\n\n setIndicatorValueDescriptions() {\n if (this.selectedTopicItem) {\n this.selectedTopicItem.dataValues?.map(value => {\n if (value.metadata.unit) value.metadata.unitDescription = this.units[value.metadata.unit]?.description;\n });\n }\n }\n\n onTopicItemDetailsReorder(reordering: boolean) {\n this.topicItemDetailsFade = reordering;\n }\n\n setSelectedContentType(selectedType: TopicItemType) {\n this.selectedType = selectedType;\n }\n\n getSelectedContentType() {\n return Object.values(TopicItemType).find(type => type === (this.selectedTopicItem as TopicItemContentUi)?.type);\n }\n\n clearTopicItemDetails() {\n this.selectedTopicItemId = undefined;\n this.selectedTopicItem = undefined;\n }\n\n moveTopicItem(topicItemId: string, prevIndex: number, newIndex: number) {\n this.isLoadingTopicItems = true;\n\n if (!this.reportId || !this.mainLevelId || !this.topicId) {\n throw Error('Reporta data has to be fetch before you use try set a topic details.');\n }\n\n this.topicItemApiService\n .moveTopicItem(\n new MoveTopicItemCommandParams({\n reportId: this.reportId,\n mainLevelId: this.mainLevelId,\n topicId: this.topicId,\n topicItemId: topicItemId,\n prevIndex: prevIndex,\n newIndex: newIndex,\n })\n )\n .subscribe(result => {\n if (!result.success) {\n console.error(result);\n }\n this.isLoadingTopicItems = false;\n });\n }\n\n removeTopicItem(topicItemId: string) {\n this.topicItemApiService\n .deleteTopicItem(new DeleteTopicItemCommandParams({ topicItemId: topicItemId }))\n .subscribe(result => {\n this.clearTopicItemDetails();\n this.allTopicItems(this.reportId || '', this.mainLevelId || '', this.topicId || '');\n });\n }\n\n updateStatus(topicItemId: string, status: TopicItemStatus) {\n this.topicItemApiService\n .updateStatus(\n new UpdateTopicItemStatusCommandParams({\n topicItemId: topicItemId,\n status: status,\n })\n )\n .subscribe(result => {\n if (this.topicTopicItems && result.success) {\n this.topicTopicItems = this.topicTopicItems.map(topicItem =>\n topicItem.id !== topicItemId\n ? topicItem\n : {\n ...topicItem,\n status: status,\n modifiedDate: result.result?.modifiedDate,\n }\n );\n }\n });\n }\n\n updateResponsiblePerson(topicItemId: string, user: IOption) {\n this.topicItemApiService\n .updateResponsiblePerson(\n new UpdateTopicItemResponsiblePersonCommandParams({\n topicItemId: topicItemId,\n responsiblePersonId: !!user.value ? user.value : undefined,\n })\n )\n .subscribe(result => {\n if (this.topicTopicItems && result.success) {\n this.topicTopicItems = this.topicTopicItems.map(topicItem =>\n topicItem.id !== topicItemId\n ? topicItem\n : {\n ...topicItem,\n responsiblePerson: user,\n modifiedDate: result.result?.modifiedDate,\n }\n );\n }\n });\n }\n\n updateVisibility(topicItemId: string, visible: boolean) {\n this.topicItemApiService\n .updateVisibility(\n new UpdateTopicItemVisibilityCommandParams({\n topicItemId: topicItemId,\n visible: visible,\n })\n )\n .subscribe(result => {\n if (this.topicTopicItems && result.success) {\n this.topicTopicItems = this.topicTopicItems.map(topicItem =>\n topicItem.id !== topicItemId\n ? topicItem\n : {\n ...topicItem,\n visible: visible,\n }\n );\n }\n });\n }\n\n handleClickIndicatorPreview() {\n if (this.selectedTopicItem) {\n this.indicatorPreviewViewModel = this.mapAppStateToIndicatorViewModel(this.selectedTopicItem, this.timePeriod);\n } else {\n this.indicatorPreviewViewModel = undefined;\n }\n }\n\n handleCloseIndicatorPreview() {\n this.indicatorPreviewViewModel = undefined;\n }\n\n mapAppStateToIndicatorViewModel(topicItem: TopicItemContentUi, timePeriod?: TimePeriod): SectionContentViewModel {\n let contents: IContent[] = [];\n topicItem?.components?.forEach(c => {\n let content = c.content ? JSON.parse(c.content || '') : undefined;\n if (content) {\n let blobUrl = content.blobName ? this.appApiService.getBlobUrl(content.blobName) : '';\n const indicatorIds: string[] = content?.indicatorIds || [];\n const keyFigures = this.getOrderedIndicatorValues(topicItem.dataValues || [], indicatorIds);\n\n contents?.push({\n textHtml: content.textHtml ? content.textHtml : '',\n blobUrl: blobUrl,\n altText: content.altText || '',\n title: '',\n tableConfig: content.tableConfig || undefined,\n rows: content.rows || [],\n indicatorType: content.indicatorType,\n visibleColumns: content.visibleColumns,\n keyFigures: keyFigures,\n });\n }\n });\n\n return {\n id: topicItem.id,\n name: topicItem.name,\n type: topicItem.type,\n timePeriod: timePeriod,\n keyFigures: topicItem.dataValues,\n substrateData: topicItem.substrateData,\n contents: contents,\n } as SectionContentViewModel;\n }\n\n getOrderedIndicatorValues(indicatorValues: DataValuesUi[], indicatorIds: string[]): DataValuesUi[] {\n return indicatorIds.map(id => indicatorValues.find(value => value.indicatorId === id)!).filter(Boolean);\n }\n\n ngOnDestroy() {\n if (this.unitsSubscription) {\n this.unitsSubscription.unsubscribe();\n }\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { TopicDetailsStateService } from './topic-details-state.service';\nimport { IMenuItem } from 'src/app/shared/ui/context-menu/context-menu.component';\nimport { ReportVersion, TopicItemType } from 'src/api-client/report-api.generated';\nimport { ReportDetailsStateService } from '../report-details-state.service';\n\n// Currently not used\n// Whole folder could potentially be removed\n\n@Component({\n selector: 'esg-topic-details',\n templateUrl: './topic-details.component.html',\n styleUrls: ['./topic-details.component.scss'],\n})\nexport class TopicDetailsComponent implements OnInit {\n topicItemType = TopicItemType;\n showAddTopicItemDialog = false;\n showRemoveTopicItemDialog = false;\n showAddKeyFiguresDialog = false;\n removeTopicItemMessage = 'Once you delete the content\\nthere is no turning back.';\n topicSub?: Subscription;\n detailsSub?: Subscription;\n userContextOpen = false;\n\n constructor(\n public state: TopicDetailsStateService,\n private reportState: ReportDetailsStateService,\n private route: ActivatedRoute,\n private router: Router\n ) {}\n\n ngOnInit(): void {\n this.topicSub = this.route.params.subscribe(params => {\n const selectedTopicId = params['topicid'];\n if (selectedTopicId) {\n this.reportState.clearTopicDetails();\n this.reportState.setTopicDetails(selectedTopicId);\n this.state.clearTopicItems();\n this.reportState.reportData &&\n this.reportState.selectedTopic &&\n this.state.init(\n this.reportState.reportData.id,\n this.reportState.selectedTopic.mainLevelId,\n this.reportState.selectedTopic.id,\n this.reportState.selectedTopic.name,\n this.reportState.reportData.timePeriod\n );\n } else if (!selectedTopicId && this.reportState.selectedTopic) this.reportState.clearTopicDetails();\n });\n this.detailsSub = this.route.fragment.subscribe(selectedTopicItemId => {\n if (selectedTopicItemId) {\n if (selectedTopicItemId !== this.state.selectedTopicItem?.id) {\n this.state.clearTopicItemDetails();\n this.state.selectedTopicItemId = selectedTopicItemId;\n this.showAddKeyFiguresDialog = true;\n this.state.setTopicItemDetails(selectedTopicItemId);\n } else this.showAddKeyFiguresDialog = true;\n } else this.state.clearTopicItemDetails();\n });\n }\n\n ngOnDestroy(): void {\n this.topicSub?.unsubscribe();\n this.detailsSub?.unsubscribe();\n }\n\n handleAddTopicItem(selectedType: TopicItemType) {\n this.state.setSelectedContentType(selectedType);\n this.showAddTopicItemDialog = true;\n }\n\n handleEditTopicItem(selectedType: TopicItemType) {\n this.state.setSelectedContentType(selectedType);\n this.showAddKeyFiguresDialog = false;\n this.showAddTopicItemDialog = true;\n }\n\n handleDialogClose() {\n this.showAddTopicItemDialog = false;\n this.showRemoveTopicItemDialog = false;\n if (this.state.selectedTopicItemId && this.state.selectedTopicItem) this.showAddKeyFiguresDialog = true;\n }\n\n handleSubmitAddTopicItem() {\n this.showAddTopicItemDialog = false;\n this.state.loadTopicTopicItems();\n }\n\n handleSubmitEditTopicItem() {\n this.showAddTopicItemDialog = false;\n this.showAddKeyFiguresDialog = true;\n this.state.loadTopicTopicItems();\n this.state.selectedTopicItemId && this.state.setTopicItemDetails(this.state.selectedTopicItemId);\n }\n\n handleSelectTopicItem(topicItemId: string) {\n this.router.navigate(['/report', this.state.reportId, this.state.topicId], { fragment: topicItemId });\n }\n\n handleTopicItemDetailsClose() {\n this.state.clearTopicItemDetails();\n this.showAddKeyFiguresDialog = false;\n this.state.loadTopicTopicItems();\n this.router.navigate(['/report', this.state.reportId, this.state.topicId]);\n }\n\n handleDeleteTopicItem() {\n this.showRemoveTopicItemDialog = true;\n }\n\n handleDeleteTopicItemSubmit(topicItemId: string | undefined) {\n if (topicItemId) {\n this.state.removeTopicItem(topicItemId);\n this.showRemoveTopicItemDialog = false;\n this.showAddKeyFiguresDialog = false;\n this.router.navigate(['/report', this.state.reportId, this.state.topicId]);\n }\n }\n\n handleOpenContextMenu(event: Event) {\n event.stopPropagation();\n this.userContextOpen = !this.userContextOpen;\n }\n\n userContextMenuProvider = (): IMenuItem[] => {\n return this.reportState.reportData?.reportVersion === ReportVersion.V1\n ? [\n {\n id: 'create',\n label: 'Create Indicator',\n onClick: () => {\n this.handleAddTopicItem(TopicItemType.DataValueIndicator);\n this.userContextOpen = false;\n },\n },\n {\n id: 'add',\n label: 'Add Article',\n onClick: () => {\n this.handleAddTopicItem(TopicItemType.Article);\n this.userContextOpen = false;\n },\n },\n ]\n : [\n {\n id: 'create-new',\n label: 'Add Indicator',\n onClick: () => {\n this.handleAddTopicItem(TopicItemType.NewIndicator);\n this.userContextOpen = false;\n },\n },\n {\n id: 'create-new',\n label: 'Create Text Disclosure',\n onClick: () => {\n this.handleAddTopicItem(TopicItemType.TextDisclosure);\n this.userContextOpen = false;\n },\n },\n ];\n };\n topicItemMenuProvider = (): IMenuItem[] => [\n {\n id: 'edit',\n label: 'Edit',\n onClick: () => this.handleEditTopicItem(this.state.getSelectedContentType() || TopicItemType.Article),\n },\n { id: 'delete', label: 'Delete', onClick: () => this.handleDeleteTopicItem() },\n ];\n}\n","

{{ state.topicName }}

\n\n
\n \n \n \n
\n\n
\n \n \n
\n\n\n\n
\n
There is no content
\n
\n Please\n \n add content\n \n .\n
\n
\n\n\n \n \n\n\n \n\n\n\n
\n \n
\n\n","import { Injectable } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport {\r\n CreateComponentCommandParams,\r\n UpdateComponentCommandParams,\r\n MoveComponentCommandParams,\r\n DeleteComponentCommandParams,\r\n ComponentType,\r\n IndicatorCategory,\r\n IndicatorValueType,\r\n TimePeriod,\r\n IndicatorDataValueType,\r\n} from 'src/api-client/report-api.generated';\r\nimport { ReportAppApiService } from 'src/app/api-client/report-api/app-api-service';\r\nimport { TopicItemApiService } from 'src/app/api-client/report-api/topic-item-api-service';\r\nimport { IUploadedPhoto } from 'src/app/shared/ui/upload-picture/upload-picture.component';\r\nimport { ContentDataTypes, ContentStatesTypes } from 'src/app/content/content-configuration';\r\nimport { DynamicContent, DynamicComponentFactory } from 'src/app/content/dynamic-content';\r\nimport { IPictureContentData } from 'src/app/content/content-item/picture/picture.component';\r\nimport { moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { IMovedContent } from 'src/app/content/dynamic-content-data';\r\nimport { ChatAIApiService } from 'src/app/api-client/report-api/chat-ai-service';\r\nimport { lastValueFrom } from 'rxjs';\r\nimport { IndicatorApiService } from 'src/app/api-client/report-api/indicator-api-service';\r\nimport _ from 'lodash';\r\nimport { IGroupedOptions } from 'src/app/static-data/options';\r\nimport {\r\n IIndicatorContentData,\r\n IIndicatorContentStates,\r\n IndicatorContentType,\r\n IndicatorContentValuesUi,\r\n IndicatorPeriodLabelsUi,\r\n VisibleValueColumn,\r\n} from 'src/app/content/content-item/indicator-content/indicator-content.component';\r\nimport { getTimeLabelFromPeriod } from 'src/app/static-data/time-labels';\r\nimport { TopicItemContentUi } from '../topic-item-details-state.service';\r\nimport {\r\n ITextDisclosureData,\r\n ITextDisclosureStates,\r\n TextDisclosureValuesUi,\r\n} from 'src/app/content/content-item/text-disclosure/text-disclosure.component';\r\n\r\n@Injectable()\r\nexport class ComponentsStateService {\r\n constructor(\r\n private topicItemApiService: TopicItemApiService,\r\n private appApiService: ReportAppApiService,\r\n private indicatorApiService: IndicatorApiService,\r\n private domSanitizer: DomSanitizer,\r\n private chatAIService: ChatAIApiService\r\n ) {}\r\n\r\n reportId?: string;\r\n topicItemId?: string;\r\n topicItem?: TopicItemContentUi;\r\n componentsList: DynamicContent[] = [];\r\n\r\n defaultCompTextTitle = 'Untitled paragraph';\r\n defaultCompImageTitle = 'Untitled image';\r\n defaultCompImportFromExcelTitle = 'Untitled import from excel';\r\n\r\n indicatorPeriodLabels: IndicatorPeriodLabelsUi = {\r\n targetLabel: 'Target',\r\n currentLabel: 'Current',\r\n previousLabel: 'Previous',\r\n };\r\n indicatorOptions: IGroupedOptions[] = [];\r\n indicatorSingleValueOptions: IGroupedOptions[] = [];\r\n narrativeIndicatorOptions: IGroupedOptions[] = [];\r\n\r\n loading: boolean = false;\r\n fade: boolean = false;\r\n\r\n async getTopicItemComponents(\r\n reportId: string,\r\n topicItemId: string,\r\n topicItem?: TopicItemContentUi,\r\n timePeriod?: TimePeriod\r\n ) {\r\n this.reportId = reportId;\r\n this.topicItemId = topicItemId;\r\n this.indicatorPeriodLabels = timePeriod\r\n ? {\r\n targetLabel: 'Target ' + getTimeLabelFromPeriod(timePeriod, 1),\r\n currentLabel: getTimeLabelFromPeriod(timePeriod, 0),\r\n previousLabel: getTimeLabelFromPeriod(timePeriod, -1),\r\n }\r\n : {\r\n targetLabel: 'Target',\r\n currentLabel: 'Current',\r\n previousLabel: 'Previous',\r\n };\r\n this.topicItem = topicItem;\r\n this.loading = true;\r\n await this.getAllIndicatorOptions();\r\n this.componentsList = [];\r\n this.topicItemApiService.getTopicItemComponents(topicItemId, reportId).subscribe(result => {\r\n result.map(c => {\r\n const dynamicComponentFactory = DynamicComponentFactory({\r\n uploadPhoto: this.handleUploadPhoto,\r\n getUploadedPhoto: this.getUploadPhoto,\r\n generateText: this.handleGetBotAnswer,\r\n addIndicator: this.handleAddIndicatorToSet,\r\n deleteIndicator: this.handleRemoveIndicatorFromSet,\r\n });\r\n\r\n let dynamicComponent;\r\n if (c.type === ComponentType.Indicator) {\r\n const content = c.content ? JSON.parse(c.content) : undefined;\r\n const indicatorIds = content?.indicatorIds || [];\r\n const indicatorValues = this.getOrderedIndicatorValues(this.topicItem?.dataValues || [], indicatorIds);\r\n dynamicComponent = dynamicComponentFactory[c.type](\r\n c.id,\r\n c.isVisibleInReport,\r\n this.indicatorPeriodLabels,\r\n c.content ? this.getUnusedIndicatorOptions(indicatorIds) : this.indicatorOptions,\r\n indicatorValues,\r\n c.content\r\n );\r\n } else if (c.type === ComponentType.Narrative) {\r\n const content = c.content ? JSON.parse(c.content) : undefined;\r\n const indicatorId = content?.indicatorId || undefined;\r\n const indicatorValue = this.getTextDisclosureValues(this.topicItem?.dataValues || [], indicatorId);\r\n dynamicComponent = dynamicComponentFactory[c.type](\r\n c.id,\r\n c.isVisibleInReport,\r\n c.content ? this.getUnusedIndicatorOptions(indicatorId) : this.indicatorOptions,\r\n indicatorValue,\r\n c.content\r\n );\r\n } else {\r\n dynamicComponent = dynamicComponentFactory[c.type](c.id, c.isVisibleInReport, c.content);\r\n }\r\n\r\n this.componentsList.push(dynamicComponent);\r\n });\r\n this.loading = false;\r\n });\r\n }\r\n\r\n getUnusedIndicatorOptions(indicatorIds: string[]) {\r\n return this.indicatorSingleValueOptions.map(group => {\r\n return {\r\n label: group.label,\r\n options: group.options.filter(option => !indicatorIds.includes(option.value)),\r\n };\r\n });\r\n }\r\n\r\n getOrderedIndicatorValues(\r\n indicatorValues: IndicatorContentValuesUi[],\r\n indicatorIds: string[]\r\n ): IndicatorContentValuesUi[] {\r\n return indicatorIds.map(id => indicatorValues.find(value => value.indicatorId === id)!).filter(Boolean);\r\n }\r\n\r\n getTextDisclosureValues(\r\n indicatorValues: IndicatorContentValuesUi[],\r\n indicatorId: string\r\n ): IndicatorContentValuesUi | undefined {\r\n return indicatorValues.find(value => value.indicatorId === indicatorId);\r\n }\r\n\r\n async getAllIndicatorOptions() {\r\n const categories = [\r\n IndicatorCategory.Environment,\r\n IndicatorCategory.Social,\r\n IndicatorCategory.Governance,\r\n IndicatorCategory.Other,\r\n ];\r\n const availableIndicatorsResponse = await this.indicatorApiService.getAllIndicators(\r\n undefined,\r\n undefined,\r\n undefined,\r\n undefined,\r\n undefined\r\n );\r\n\r\n const singleValueIndicators = availableIndicatorsResponse.result.items.filter(\r\n x => x.valueType === IndicatorValueType.Numeric\r\n );\r\n\r\n const groupedIndicators = categories.map(category => {\r\n return {\r\n label: category,\r\n options: _.orderBy(\r\n availableIndicatorsResponse.result.items.filter(x => x.category === category),\r\n i => i.name\r\n ).map(x => {\r\n return { value: x.id, label: x.name, category: x.category };\r\n }),\r\n };\r\n });\r\n\r\n const singleGroupedIndicators = categories.map(category => {\r\n return {\r\n label: category,\r\n options: _.orderBy(\r\n singleValueIndicators.filter(x => x.category === category),\r\n i => i.name\r\n ).map(x => {\r\n return { value: x.id, label: x.name, category: x.category };\r\n }),\r\n };\r\n });\r\n\r\n this.indicatorOptions = groupedIndicators;\r\n this.indicatorSingleValueOptions = singleGroupedIndicators;\r\n }\r\n\r\n handleAddIndicatorToSet = (contentId: string) => async (indicatorId: string) => {\r\n const component = this.componentsList.find(c => c.contentId === contentId);\r\n if (!component) {\r\n throw Error(`Component with id: ${contentId} doesn't exists`);\r\n }\r\n if (component.contentType !== ComponentType.Indicator) return;\r\n\r\n const response = await this.topicItemApiService.addIndicatorToComponent(\r\n this.topicItemId || '',\r\n contentId,\r\n indicatorId\r\n );\r\n const states = component.states as IIndicatorContentStates;\r\n const data = component.data as IIndicatorContentData;\r\n const indicator = response.result as IndicatorContentValuesUi;\r\n\r\n if (indicator.metadata.type === IndicatorDataValueType.Numeric) {\r\n if (data?.indicatorIds?.length) {\r\n this.onDataChangeComponent(\r\n contentId,\r\n component.isVisibleInReport,\r\n {\r\n ...component.states,\r\n indicatorValues: [...states.indicatorValues, indicator],\r\n indicatorOptions: this.getUnusedIndicatorOptions([...data.indicatorIds, indicatorId]),\r\n },\r\n {\r\n ...data,\r\n indicatorIds: [...data.indicatorIds, indicatorId],\r\n }\r\n );\r\n } else {\r\n this.onDataChangeComponent(\r\n contentId,\r\n component.isVisibleInReport,\r\n {\r\n ...component.states,\r\n indicatorValues: [indicator],\r\n indicatorOptions: this.getUnusedIndicatorOptions([indicatorId]),\r\n },\r\n {\r\n ...data,\r\n indicatorType: IndicatorContentType.IndicatorSet,\r\n visibleColumns: [\r\n VisibleValueColumn.TargetValue,\r\n VisibleValueColumn.CurrentValue,\r\n VisibleValueColumn.PreviousValue,\r\n ],\r\n indicatorIds: [indicatorId],\r\n }\r\n );\r\n }\r\n } else if (indicator.metadata.type === IndicatorDataValueType.Table) {\r\n this.onDataChangeComponent(\r\n contentId,\r\n component.isVisibleInReport,\r\n { ...component.states, indicatorValues: [indicator] },\r\n {\r\n ...data,\r\n indicatorType: IndicatorContentType.IndicatorTableValue,\r\n visibleColumns: [VisibleValueColumn.CurrentValue, VisibleValueColumn.PreviousValue],\r\n indicatorIds: [indicatorId],\r\n }\r\n );\r\n } else if (indicator.metadata.type === IndicatorDataValueType.Narrative) {\r\n const tdStates = component.states as ITextDisclosureStates;\r\n const tdData = component.data as ITextDisclosureData;\r\n const tdIndicator = response.result as TextDisclosureValuesUi;\r\n tdStates.indicatorValue = indicator;\r\n this.onDataChangeComponent(\r\n contentId,\r\n component.isVisibleInReport,\r\n {\r\n ...component.states,\r\n indicatorValue: tdIndicator,\r\n indicatorOptions: this.narrativeIndicatorOptions,\r\n },\r\n {\r\n ...tdData,\r\n indicatorIds: [indicatorId],\r\n }\r\n );\r\n }\r\n };\r\n\r\n handleRemoveIndicatorFromSet = (contentId: string) => async (indicatorId: string) => {\r\n const component = this.componentsList.find(c => c.contentId === contentId);\r\n if (!component) {\r\n throw Error(`Component with id: ${contentId} doesn't exist`);\r\n }\r\n if (component.contentType !== ComponentType.Indicator) return;\r\n\r\n const response = await this.topicItemApiService.removeIndicatorFromComponent(\r\n this.topicItemId || '',\r\n contentId,\r\n indicatorId\r\n );\r\n\r\n if (response.success) {\r\n const states = component.states as IIndicatorContentStates;\r\n const indicatorRows = states.indicatorValues || [];\r\n const newIndicatorRows = indicatorRows.filter(i => i.indicatorId !== indicatorId);\r\n this.onDataChangeComponent(\r\n contentId,\r\n component.isVisibleInReport,\r\n {\r\n ...component.states,\r\n indicatorValues: newIndicatorRows,\r\n },\r\n component.data\r\n );\r\n }\r\n };\r\n\r\n handleOnAddComponent(type: ComponentType) {\r\n switch (type) {\r\n case ComponentType.Indicator:\r\n this.addEmptyIndicatorComponent();\r\n break;\r\n case ComponentType.Text:\r\n this.addTextComponent();\r\n break;\r\n case ComponentType.Picture:\r\n this.addImageComponent();\r\n break;\r\n case ComponentType.ImportFromExcel:\r\n this.addImportFromExcelComponent();\r\n break;\r\n case ComponentType.Narrative:\r\n this.addTextComponent();\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n addEmptyIndicatorComponent() {\r\n this.topicItemApiService\r\n .addComponent(\r\n new CreateComponentCommandParams({\r\n topicItemId: this.topicItemId || '',\r\n reportId: this.reportId || '',\r\n type: ComponentType.Indicator,\r\n title: '',\r\n isVisibleInReport: true,\r\n })\r\n )\r\n .subscribe(result => {\r\n const IndicatorComponent = DynamicComponentFactory({\r\n uploadPhoto: this.handleUploadPhoto,\r\n getUploadedPhoto: this.getUploadPhoto,\r\n generateText: this.handleGetBotAnswer,\r\n addIndicator: this.handleAddIndicatorToSet,\r\n deleteIndicator: this.handleRemoveIndicatorFromSet,\r\n })[ComponentType.Indicator](\r\n result.result?.id || '',\r\n true,\r\n this.indicatorPeriodLabels,\r\n this.indicatorOptions,\r\n [],\r\n JSON.stringify({\r\n visibleColumns: [\r\n VisibleValueColumn.PreviousValue,\r\n VisibleValueColumn.CurrentValue,\r\n VisibleValueColumn.TargetValue,\r\n ],\r\n })\r\n );\r\n this.componentsList = [...this.componentsList, IndicatorComponent];\r\n });\r\n }\r\n\r\n addTextComponent() {\r\n this.topicItemApiService\r\n .addComponent(\r\n new CreateComponentCommandParams({\r\n topicItemId: this.topicItemId || '',\r\n reportId: this.reportId || '',\r\n type: ComponentType.Text,\r\n title: '',\r\n isVisibleInReport: true,\r\n })\r\n )\r\n .subscribe(result => {\r\n this.componentsList = [\r\n ...this.componentsList,\r\n new DynamicContent(\r\n result.result?.id || '',\r\n ComponentType.Text,\r\n true,\r\n {\r\n generateText: this.handleGetBotAnswer,\r\n },\r\n {},\r\n undefined\r\n ),\r\n ];\r\n });\r\n }\r\n\r\n addTextDisclosureComponent() {\r\n this.topicItemApiService\r\n .addComponent(\r\n new CreateComponentCommandParams({\r\n topicItemId: this.topicItemId || '',\r\n reportId: this.reportId || '',\r\n type: ComponentType.Narrative,\r\n title: '',\r\n isVisibleInReport: true,\r\n })\r\n )\r\n .subscribe(result => {\r\n this.componentsList = [\r\n ...this.componentsList,\r\n new DynamicContent(\r\n result.result?.id || '',\r\n ComponentType.Narrative,\r\n true,\r\n {\r\n generateText: this.handleGetBotAnswer,\r\n addIndicator: this.addTextDisclosureComponent,\r\n },\r\n {},\r\n undefined\r\n ),\r\n ];\r\n });\r\n }\r\n\r\n addImageComponent() {\r\n this.topicItemApiService\r\n .addComponent(\r\n new CreateComponentCommandParams({\r\n topicItemId: this.topicItemId || '',\r\n reportId: this.reportId || '',\r\n type: ComponentType.Picture,\r\n title: '',\r\n isVisibleInReport: true,\r\n })\r\n )\r\n .subscribe(result => {\r\n this.componentsList = [\r\n ...this.componentsList,\r\n new DynamicContent(\r\n result.result?.id || '',\r\n ComponentType.Picture,\r\n true,\r\n {\r\n uploadPhoto: this.handleUploadPhoto(result.result?.id || ''),\r\n },\r\n {},\r\n undefined\r\n ),\r\n ];\r\n });\r\n }\r\n\r\n addImportFromExcelComponent() {\r\n this.topicItemApiService\r\n .addComponent(\r\n new CreateComponentCommandParams({\r\n topicItemId: this.topicItemId || '',\r\n reportId: this.reportId || '',\r\n type: ComponentType.ImportFromExcel,\r\n title: '',\r\n isVisibleInReport: true,\r\n })\r\n )\r\n .subscribe(result => {\r\n this.componentsList = [\r\n ...this.componentsList,\r\n new DynamicContent(result.result?.id || '', ComponentType.ImportFromExcel, true, {}, {}, undefined),\r\n ];\r\n });\r\n }\r\n\r\n moveComponent(movedContent: IMovedContent) {\r\n const newList = [...this.componentsList];\r\n const prevList = [...this.componentsList];\r\n moveItemInArray(newList, movedContent.prevIndex, movedContent.newIndex);\r\n this.componentsList = [...newList];\r\n\r\n this.topicItemApiService\r\n .moveComponent(\r\n new MoveComponentCommandParams({\r\n topicItemId: this.topicItemId || '',\r\n componentId: movedContent.contentId,\r\n prevIndex: movedContent.prevIndex,\r\n newIndex: movedContent.newIndex,\r\n })\r\n )\r\n .subscribe(\r\n result => {},\r\n error => {\r\n this.componentsList = [...prevList];\r\n }\r\n );\r\n }\r\n\r\n async deleteComponent(contentId: string) {\r\n const component = this.componentsList.find(comp => comp.contentId === contentId);\r\n if (!component) {\r\n throw Error(`Component with id: ${contentId} doesn't exist`);\r\n }\r\n\r\n if (component.contentType === ComponentType.Indicator) {\r\n const response = await this.topicItemApiService.removeIndicatorComponent(this.topicItemId || '', contentId);\r\n if (response.success) {\r\n const newList = [...this.componentsList];\r\n newList.splice(\r\n this.componentsList.findIndex(comp => comp.contentId === contentId),\r\n 1\r\n );\r\n this.componentsList = [...newList];\r\n }\r\n } else {\r\n this.topicItemApiService\r\n .removeComponent(\r\n new DeleteComponentCommandParams({ topicItemId: this.topicItemId || '', componentId: contentId })\r\n )\r\n .subscribe(result => {\r\n if (result.success) {\r\n const newList = [...this.componentsList];\r\n newList.splice(\r\n this.componentsList.findIndex(comp => comp.contentId === contentId),\r\n 1\r\n );\r\n this.componentsList = [...newList];\r\n }\r\n });\r\n }\r\n }\r\n\r\n onDataChangeComponent = (\r\n contentId: string,\r\n isVisibleInReport: boolean,\r\n states: ContentStatesTypes,\r\n data?: ContentDataTypes\r\n ) => {\r\n const component = this.componentsList.find(c => c.contentId === contentId);\r\n\r\n if (!component) {\r\n throw Error(`Component with id: ${contentId} doesn't exists`);\r\n }\r\n\r\n var updatedComponent: DynamicContent = {\r\n ...component,\r\n isVisibleInReport: isVisibleInReport,\r\n states: states,\r\n data,\r\n };\r\n\r\n this.componentsList = this.componentsList.map(c => (c.contentId !== component.contentId ? c : updatedComponent));\r\n this.topicItemApiService\r\n .updateComponent(\r\n new UpdateComponentCommandParams({\r\n componentId: component.contentId,\r\n topicItemId: this.topicItemId || '',\r\n title: '',\r\n isVisibleInReport: isVisibleInReport,\r\n content: data ? JSON.stringify(data) : '',\r\n })\r\n )\r\n .subscribe(result => {\r\n console.log('updated successfully!');\r\n });\r\n };\r\n\r\n async uploadPhoto(file: File) {\r\n const photo$ = this.appApiService.uploadImage({\r\n data: file,\r\n fileName: file.name,\r\n });\r\n return await lastValueFrom(photo$);\r\n }\r\n\r\n getUploadPhoto = (blobName: string): IUploadedPhoto => {\r\n var blobUrl = this.appApiService.getBlobUrl(blobName);\r\n var safeUrl = this.domSanitizer.bypassSecurityTrustResourceUrl(blobUrl);\r\n return {\r\n url: safeUrl,\r\n fileName: blobName,\r\n };\r\n };\r\n\r\n handleUploadPhoto = (componentId: string) => async (file?: File) => {\r\n const component = this.componentsList.find(c => c.contentId === componentId);\r\n\r\n if (!component) {\r\n throw Error(`Comonent with id: ${componentId} doesn't exists`);\r\n }\r\n\r\n if (file) {\r\n const result = await this.uploadPhoto(file);\r\n const uploadedPhoto = this.getUploadPhoto(result.blobName || '');\r\n\r\n const updatedContent: IPictureContentData = {\r\n altText: '',\r\n blobName: result.blobName || '',\r\n };\r\n\r\n this.onDataChangeComponent(\r\n componentId,\r\n component.isVisibleInReport,\r\n {\r\n ...component?.states,\r\n uploadedPhoto: uploadedPhoto,\r\n },\r\n updatedContent\r\n );\r\n } else {\r\n this.onDataChangeComponent(\r\n componentId,\r\n component.isVisibleInReport,\r\n {\r\n ...component?.states,\r\n uploadedPhoto: undefined,\r\n },\r\n undefined\r\n );\r\n }\r\n };\r\n\r\n handleGetBotAnswer = async (question: string): Promise => {\r\n return (await this.chatAIService.getBotAnswer(question)).answer;\r\n };\r\n\r\n onReorder(reordering: boolean) {\r\n this.fade = reordering;\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { KeyboardShortcutsDirective } from 'src/app/shared/directives/keyboard-shortcuts.directive';\nimport { IMenuItem } from 'src/app/shared/ui/context-menu/context-menu.component';\n\n// Currently not used\n\n@Component({\n selector: 'esg-indicator-input',\n templateUrl: './indicator-input.component.html',\n styleUrls: ['./indicator-input.component.scss'],\n host: {\n '(onEscapeKey)': 'handleOnClose($event)',\n '(onEnterKey)': 'handleOnEnter()',\n },\n hostDirectives: [{ directive: KeyboardShortcutsDirective, outputs: ['onEscapeKey', 'onEnterKey'] }],\n})\nexport class IndicatorInputComponent {\n @Input({ required: true }) fc!: FormControl;\n @Input() header: string = '';\n @Input() unit: string = '';\n @Input() isCalculated: boolean = false;\n @Output() onSubmit = new EventEmitter();\n @Output() onClose = new EventEmitter();\n @Output() onGoToDatacollect = new EventEmitter();\n @Output() onSetConnection = new EventEmitter();\n\n showConnectionDialog: boolean = false;\n disconnectDataCollectMessage =\n 'If you disconnect this value from Data Collect\\nyou will be able to manually edit the value in\\nthe report. Any updates done in Data Collect\\nwill not show in the report as long as it is\\ndisconnected. But no worries, you can re-\\nconnect to Data Collect at any time.';\n reconnectDataCollectMessage =\n 'If you reconnect this value to Data Collect it will\\nbe calculated based on data in Data Collect. You\\n will not be able to manually edit the value in the\\nreport. ';\n alertTitle: 'Disconnect from Data Collect?' | 'Reconnect to Data Collect?' = 'Disconnect from Data Collect?';\n alertSubmitText: 'Disconnect' | 'Reconnect' = 'Disconnect';\n alertMessage = '';\n\n handleOnClose(event: Event) {\n event.stopPropagation();\n this.onClose.emit();\n }\n\n handleOnEnter() {\n this.handleOnSubmit();\n this.onClose.emit();\n }\n\n handleOnSubmit() {\n if (this.fc.dirty) {\n this.onSubmit.emit();\n this.fc.markAsPristine();\n }\n }\n\n handleOnCloseConnectionDialog() {\n this.showConnectionDialog = false;\n }\n\n handleOnSetConnection() {\n this.onSetConnection.emit();\n this.showConnectionDialog = false;\n }\n\n indicatorValueMenuProvider = (): IMenuItem[] => [\n { id: 'go-to-data-collect', label: 'Go to Data Collect', onClick: () => this.onGoToDatacollect.emit() },\n {\n id: 'connect-disconnect',\n label: this.fc.disabled ? 'Disconnect Data' : 'Reconnect Data',\n onClick: () => {\n this.alertTitle = this.fc.disabled ? 'Disconnect from Data Collect?' : 'Reconnect to Data Collect?';\n this.alertMessage = this.fc.disabled ? this.disconnectDataCollectMessage : this.reconnectDataCollectMessage;\n this.alertSubmitText = this.fc.disabled ? 'Disconnect' : 'Reconnect';\n this.showConnectionDialog = true;\n },\n },\n ];\n}\n","
\n
\n {{ header }}\n \n
\n
\n \n \n \n
\n
{{ unit }}
\n
\n
\n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { TimePeriod, TimePeriodType } from 'src/api-client/report-api.generated';\nimport { stringToFormattedNumberString } from 'src/app/shared/utils/number-converters';\nimport { getTimeLabelFromPeriod } from 'src/app/static-data/time-labels';\nimport { DataValuesUi } from '../topic-item-details-state.service';\n\nexport interface IIndicatorValueForm {\n targetValue: FormControl;\n currentValue: FormControl;\n previousValue: FormControl;\n}\n\nexport interface IIndicatorValueConnection {\n index: number;\n isCurrentValueConnected: boolean;\n isPreviousValueConnected: boolean;\n}\n\nexport interface IIndicatorValueRow extends IIndicatorValueConnection {\n targetValue: string;\n currentValue: string;\n previousValue: string;\n}\n\n// Currently not used\n\n@Component({\n selector: 'esg-indicator-values',\n templateUrl: './indicator-values.component.html',\n styleUrls: ['./indicator-values.component.scss'],\n})\nexport class IndicatorValuesComponent implements OnInit {\n @Input({ required: true }) indicatorValues!: DataValuesUi[];\n @Input() timePeriod?: TimePeriod;\n @Input() isCalculated: boolean = false;\n @Output() onSubmit = new EventEmitter();\n @Output() onGoToDatacollect = new EventEmitter();\n @Output() onSetConnection = new EventEmitter();\n\n targetValue?: FormControl;\n currentValue?: FormControl;\n previousValue?: FormControl;\n\n editIndex?: number;\n expandedRowIds: number[] = [];\n\n get isInputModalOpen() {\n return this.targetValue || this.currentValue || this.previousValue ? true : false;\n }\n\n get isCustomPeriod() {\n return this.timePeriod?.type === TimePeriodType.Custom;\n }\n\n constructor() {}\n\n ngOnInit(): void {}\n\n handleOnEditingTarget(index: number) {\n this.handleOnCloseInputModal();\n this.editIndex = index;\n this.targetValue = new FormControl(\n this.formatNumberCell(this.indicatorValues[index].targetValue.value?.toString() || ''),\n { nonNullable: true }\n );\n }\n\n handleOnEditingCurrent(index: number) {\n this.handleOnCloseInputModal();\n this.editIndex = index;\n this.currentValue = new FormControl(\n {\n value: this.formatNumberCell(this.indicatorValues[index].currentValue.value?.toString() || ''),\n disabled: this.indicatorValues[index].isCurrentValueConnected,\n },\n { nonNullable: true }\n );\n }\n\n handleOnEditingPrevious(index: number) {\n this.handleOnCloseInputModal();\n this.editIndex = index;\n this.previousValue = new FormControl(\n {\n value: this.formatNumberCell(this.indicatorValues[index].previousValue.value?.toString() || ''),\n disabled: this.indicatorValues[index].isPreviousValueConnected,\n },\n { nonNullable: true }\n );\n }\n\n handleOnSubmit(index: number) {\n const value = this.indicatorValues[index];\n this.onSubmit.emit({\n index: index,\n targetValue: this.targetValue\n ? this.formatNumberCell(this.targetValue.value.toString())\n : this.formatNumberCell(value.targetValue.value?.toString() || ''),\n currentValue: this.currentValue\n ? this.formatNumberCell(this.currentValue.value.toString())\n : this.formatNumberCell(value.currentValue.value?.toString() || ''),\n previousValue: this.previousValue\n ? this.formatNumberCell(this.previousValue.value.toString())\n : this.formatNumberCell(value.previousValue.value?.toString() || ''),\n isCurrentValueConnected: value.isCurrentValueConnected,\n isPreviousValueConnected: value.isPreviousValueConnected,\n });\n this.handleOnCloseInputModal();\n }\n\n handleOnSetConnection(index: number, isPreviousValueConnected: boolean, isCurrentValueConnected: boolean) {\n this.onSetConnection.emit({\n index: index,\n isPreviousValueConnected: isPreviousValueConnected,\n isCurrentValueConnected: isCurrentValueConnected,\n });\n this.handleOnCloseInputModal();\n }\n\n handleOnCloseInputModal() {\n this.editIndex = undefined;\n this.targetValue = undefined;\n this.currentValue = undefined;\n this.previousValue = undefined;\n }\n\n formatNumberCell(value: string) {\n return stringToFormattedNumberString(value, 0, 2) || '';\n }\n\n getFigureTimeLabel(shift: number) {\n if (this.timePeriod) {\n return getTimeLabelFromPeriod(this.timePeriod, shift);\n }\n return '';\n }\n\n handleExpandRow(index: number) {\n var exists = this.expandedRowIds.some(i => i === index);\n if (exists) {\n this.expandedRowIds = this.expandedRowIds.filter(i => i !== index);\n } else {\n this.expandedRowIds = [...this.expandedRowIds, index];\n }\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n {{\n formatNumberCell(value.targetValue.value?.toString() || '') ||\n (value.indicatorId ? 'Not set' : 'Type number')\n }}\n \n \n \n \n \n \n \n \n {{\n formatNumberCell(value.currentValue.value?.toString() || '') ||\n (value.isCurrentValueConnected && !value.indicatorId ? 'Update data' : '-')\n }}\n \n \n \n \n \n \n \n \n {{\n formatNumberCell(value.previousValue.value?.toString() || '') ||\n (value.isPreviousValueConnected && !value.indicatorId ? 'Update data' : '-')\n }}\n \n \n \n \n \n\n \n \n \n \n \n
\n
\n Unit\n \n
\n
\n
\n {{ isCustomPeriod ? 'target' : 'target ' + getFigureTimeLabel(1) }}\n {{ getFigureTimeLabel(1) }}\n
\n
\n
\n {{ isCustomPeriod ? 'current' : getFigureTimeLabel(0) }}\n {{ getFigureTimeLabel(0) }}\n
\n
\n
\n {{ isCustomPeriod ? 'previous' : getFigureTimeLabel(-1) }}\n {{ getFigureTimeLabel(-1) }}\n
\n
{{ value.metadata.label }}\n \n \n {{ value.currentValue.unitDetails || value.metadata.unit | formatUnitWithUnicode }}\n \n \n \n {{ value.currentValue.unitDetails || value.metadata.unit | formatUnitWithUnicode }}\n \n \n \n
\n \n
\n","import { Component, Input, OnInit } from '@angular/core';\nimport { formatNumbersInString } from 'src/app/shared/utils/number-converters';\n\nexport interface SubstrateDataUi {\n tHead: TrUi[];\n tBody: TrUi[];\n tFoot: TrUi[];\n}\n\ninterface TrUi {\n items: TrItemUi[];\n}\n\ninterface TrItemUi {\n rowSpan?: number;\n colSpan?: number;\n content?: string;\n isNumber: boolean;\n}\n\n// Currently not used\n\n@Component({\n selector: 'esg-substrate-data',\n templateUrl: './substrate-data.component.html',\n styleUrls: ['./substrate-data.component.scss'],\n})\nexport class SubstrateDataComponent implements OnInit {\n @Input({ required: true }) substrateData!: SubstrateDataUi;\n @Input() showFooter: boolean = false;\n\n getFormattedNumbers = formatNumbersInString;\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n {{ cell.content }}\n
\n {{ cell.isNumber ? getFormattedNumbers(cell.content || '', 0, 2) : cell.content || '' }}\n
\n {{ cell.isNumber ? getFormattedNumbers(cell.content || '', 0, 2) : cell.content || '' }}\n
\n","import { Injectable } from '@angular/core';\nimport { Component, IndicatorDataValueType } from 'src/api-client/report-api.generated';\nimport { TopicItemApiService } from 'src/app/api-client/report-api/topic-item-api-service';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\nimport { IIndicatorValueConnection, IIndicatorValueRow } from './indicator-values/indicator-values.component';\nimport { SubstrateDataUi } from './substrate-data/substrate-data.component';\n\nexport interface TopicItemContentUi {\n id: string;\n name: string;\n visible: boolean;\n description?: string;\n referenceStandards?: string;\n calculationDate?: Date;\n type?: string;\n predefinedIndicatorId?: string;\n dataValues?: DataValuesUi[];\n substrateData?: SubstrateDataUi;\n components?: Component[];\n}\n\nexport interface DataValuesUi {\n indicatorId?: string;\n currentValue: DataValueUi;\n metadata: DataValueMetaDataUi;\n previousValue: DataValueUi;\n targetValue: DataValueUi;\n isCurrentValueConnected: boolean;\n isPreviousValueConnected: boolean;\n substrateData?: SubstrateDataUi;\n referenceStandards?: string;\n}\n\ninterface DataSingleValueMetaDataUi {\n label?: string;\n type?: string;\n unit?: string;\n unitDescription?: string;\n groupLabel?: string;\n isVisibleInReport?: boolean;\n}\n\ninterface DataValueMetaDataUi extends DataSingleValueMetaDataUi {\n tableColumnsMetadata?: DataSingleValueMetaDataUi[];\n}\n\ninterface DataSingleValueUi {\n type?: string;\n value?: string | number;\n unitDetails?: string;\n errorMessage?: string;\n}\n\nexport interface DataValueUi extends DataSingleValueUi {\n tableRows?: DataTableValueRowUi[];\n}\n\nexport interface DataTableValueRowUi {\n values?: DataSingleValueUi[];\n}\n\n@Injectable()\nexport class TopicItemDetailsStateService {\n lastUpdated?: Date;\n calculateIsHovered: boolean = false;\n\n constructor(private topicItemApiService: TopicItemApiService, private notificationService: NotificationService) {}\n\n setLastUpdated(lastUpdated: Date | undefined) {\n this.lastUpdated = lastUpdated;\n }\n\n setCalculationIsHovered(hover: boolean) {\n this.calculateIsHovered = hover;\n }\n\n async handleCalculateNewIndicator(topicItemId: string) {\n var response = await this.topicItemApiService.refreshTopicItemNewIndicatorValues(topicItemId);\n }\n}\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { TimePeriod, TopicItemType } from 'src/api-client/report-api.generated';\nimport { Router } from '@angular/router';\nimport { ComponentsStateService } from './components/components-state.service';\nimport { TopicItemDetailsStateService, TopicItemContentUi } from './topic-item-details-state.service';\n\n@Component({\n selector: 'esg-topic-item-details',\n templateUrl: './topic-item-details.component.html',\n styleUrls: ['./topic-item-details.component.scss'],\n providers: [TopicItemDetailsStateService, ComponentsStateService],\n})\nexport class TopicItemDetailsComponent implements OnInit {\n @Input({ required: true }) reportId!: string;\n @Input() topicItem?: TopicItemContentUi;\n @Input() timePeriod?: TimePeriod;\n @Output() onReorder = new EventEmitter();\n @Output() onCalculate = new EventEmitter();\n\n stickyComponentsToolbar: boolean = false;\n\n constructor(\n public hostRef: ElementRef,\n public state: TopicItemDetailsStateService,\n public componentsState: ComponentsStateService,\n private router: Router\n ) {}\n\n get isNewIndicator() {\n return this.topicItem?.type === TopicItemType.NewIndicator;\n }\n\n get showReferences() {\n return this.topicItem?.type === TopicItemType.TextDisclosure;\n }\n\n get formattedReferenceStandards() {\n return this.topicItem?.referenceStandards?.replace(/(\\r\\n|\\n|\\r)/gm, ' | ');\n }\n\n ngOnInit(): void {\n this.state.setLastUpdated(this.topicItem?.calculationDate);\n this.componentsState.getTopicItemComponents(\n this.reportId,\n this.topicItem?.id || '',\n this.topicItem,\n this.timePeriod\n );\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.topicItem && changes.topicItem.currentValue) {\n this.state.setLastUpdated(this.topicItem?.calculationDate);\n }\n }\n\n handleStickyComponentMenu(tabEntry: IntersectionObserverEntry) {\n if (tabEntry.rootBounds?.top) {\n this.stickyComponentsToolbar = tabEntry.boundingClientRect.top < tabEntry.rootBounds.top;\n } else this.stickyComponentsToolbar = false;\n }\n\n handleGoToDatacollect() {\n this.router.navigate(['/data-collect']);\n }\n\n async handleCalculateIndicator() {\n if (!this.topicItem?.id) {\n throw Error('Lack of the information about topicItem identifier');\n }\n if (this.topicItem.type === TopicItemType.NewIndicator) {\n await this.state.handleCalculateNewIndicator(this.topicItem.id);\n this.componentsState.getTopicItemComponents(\n this.reportId,\n this.topicItem?.id || '',\n this.topicItem,\n this.timePeriod\n );\n this.onCalculate.emit();\n }\n }\n\n handleOnReorder(reordering: boolean) {\n this.componentsState.onReorder(reordering);\n this.onReorder.emit(reordering);\n }\n}\n","
\n
\n
Deactivated. This Item will not show in report
\n \n

{{ topicItem.name || '' }}

\n
\n \n \n \n Update all indicators\n \n \n {{ 'Last updated ' + (state.lastUpdated | date : 'dd. MMM yyyy HH:mm') }}\n \n
\n
\n
\n\n
\n
\n \n \n Reference Standards\n \n {{ formattedReferenceStandards }}\n
\n
\n\n\n\n\n","import { Component, Output, OnInit, EventEmitter } from '@angular/core';\nimport { TopicItemStatus } from 'src/api-client/report-api.generated';\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { IOption, topicItemStatusOptions } from 'src/app/static-data/options';\nimport { TopicDetailsStateService } from '../topic-details-state.service';\n\nexport interface TopicItemUi {\n id: string;\n name: string;\n status: TopicItemStatus;\n visible: boolean;\n responsiblePerson?: IOption;\n modifiedDate?: Date;\n}\n\n@Component({\n selector: 'esg-topic-item-list',\n templateUrl: './topic-item-list.component.html',\n styleUrls: ['./topic-item-list.component.scss'],\n})\nexport class TopicItemListComponent implements OnInit {\n @Output() onTopicItemClick = new EventEmitter();\n\n statusOptions: IOption[] = topicItemStatusOptions;\n\n constructor(public state: TopicDetailsStateService) {}\n\n ngOnInit(): void {}\n\n drop(event: CdkDragDrop) {\n if (this.state.topicTopicItems) {\n moveItemInArray(this.state.topicTopicItems, event.previousIndex, event.currentIndex);\n\n this.state.moveTopicItem(\n this.state.topicTopicItems[event.currentIndex].id || '',\n event.previousIndex,\n event.currentIndex\n );\n }\n }\n\n handleTopicItemClick(topicItemId: string | undefined) {\n if (topicItemId) {\n this.onTopicItemClick.emit(topicItemId);\n }\n }\n\n getInitialStatus(status: TopicItemStatus | undefined) {\n return this.statusOptions.find(option => option.value === status);\n }\n\n updateStatus(topicItemId: string | undefined, status: IOption) {\n const topicItemStatus = Object.values(TopicItemStatus).find(s => s === status.value);\n topicItemId && topicItemStatus && this.state.updateStatus(topicItemId, status.value);\n }\n\n updateVisibility(topicItemId: string, visible: boolean) {\n this.state.updateVisibility(topicItemId, visible);\n }\n\n updateResponsiblePerson(topicItemId: string, responsiblePerson: IOption) {\n this.state.updateResponsiblePerson(topicItemId, responsiblePerson);\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
CONTENTSTATUSVISIBLERESPONSIBLELAST EDITED
\n \n \n \n \n \n \n \n \n \n {{ item.name }}\n \n \n \n \n \n \n \n {{ item.modifiedDate | date : 'dd.MMM' }}\n {{ item.modifiedDate | date : 'HH:mm' }}\n \n
\n \n \n \n \n
\n
\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { TimePeriod, TimePeriodType } from 'src/api-client/report-api.generated';\nimport { IMenuItem } from 'src/app/shared/ui/context-menu/context-menu.component';\nimport { IOption } from 'src/app/static-data/options';\nimport { getTimeLabelFromPeriod } from 'src/app/static-data/time-labels';\n\n@Component({\n selector: 'esg-report-card',\n templateUrl: './report-card.component.html',\n styleUrls: ['./report-card.component.scss'],\n})\nexport class ReportCardComponent {\n @Input() backgroundPictureUrl?: string;\n @Input({ required: true }) title!: string;\n @Input() organizationName?: string;\n @Input() lastModifiedData?: Date;\n @Input() timePeriod?: TimePeriod;\n @Input({ required: true }) status!: IOption;\n @Input() oldVersion?: boolean;\n @Input() showRemoveIcon?: boolean;\n @Output() onClick = new EventEmitter();\n @Output() onDuplicate = new EventEmitter();\n @Output() onRemove = new EventEmitter();\n\n formatTimePeriod(timePeriod: TimePeriod): string {\n const timeLabel = getTimeLabelFromPeriod(timePeriod);\n return timePeriod.type === TimePeriodType.Annual ? `${timePeriod.type} ${timeLabel}` : timeLabel;\n }\n\n handleRemove() {\n if (this.onRemove.subscribe.length) {\n this.onRemove.emit();\n }\n }\n\n handleDuplicate() {\n this.onDuplicate.emit();\n }\n\n detailsMenuProvider = (): IMenuItem[] => [\n { id: 'duplicate', label: 'Duplicate Report', onClick: () => this.handleDuplicate() },\n { id: 'delete', label: 'Delete Report', onClick: () => this.handleRemove() },\n ];\n}\n","
\n
\n
\n {{ formatTimePeriod(timePeriod) }}\n
\n
\n
\n \n \n \n Open\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
{{ organizationName }}
\n
\n {{ title }}\n
\n
\n Last modified\n {{ lastModifiedData | date : 'dd.MM.yyyy' }}\n
\n
\n
\n {{ oldVersion ? 'Old Version' : status.label }}\n
\n
\n
","import { IOption } from '../../../../shared/ui/dropdown-multiple/dropdown-multiple-form.component';\nimport { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { IUploadPhotoComponentTexts, IUploadedPhoto } from 'src/app/shared/ui/upload-picture/upload-picture.component';\nimport { ITimePeriodData } from '../../../../shared/components/time-period/time-period.component';\nimport { FormControl } from '@angular/forms';\nimport { ReportFormStateService } from '../report-form-state.service';\nimport { ReportVersion, TimePeriodType } from 'src/api-client/report-api.generated';\nimport { ITreeOption } from 'src/app/shared/ui/select/select-tree-options/select-tree-options.component';\n\nexport interface ReportDataState {\n id?: string;\n title: string;\n pdfWritingSystem?: IOption;\n timePeriod?: ITimePeriodData;\n coverPhoto?: IUploadedPhoto;\n}\n\nexport interface IReportDataUi {\n title: FormControl;\n reportScope: FormControl;\n inludeSubOrgs: FormControl;\n pdfWritingSystem: FormControl;\n timePeriod: FormControl;\n coverPhoto: FormControl;\n coverPhotoSquare: FormControl;\n}\n\nexport interface TemplateDataState {\n templateId: string;\n title: string;\n timePeriod?: ITimePeriodData;\n coverPhoto?: IUploadedPhoto;\n}\n\n@Component({\n selector: 'esg-edit-form',\n templateUrl: './edit-form.component.html',\n styleUrls: ['./edit-form.component.scss'],\n})\nexport class EditFormComponent implements OnInit {\n reportVersionEnum = ReportVersion;\n timePeriodTypeEnum = TimePeriodType;\n submitted = false;\n edited = false;\n @Input() reportId?: string;\n @Input() isLoading = true;\n @Output() onBackBtnClick = new EventEmitter();\n @Output() onAddReportBtnClick = new EventEmitter();\n @Output() onEditReportBtnClick = new EventEmitter();\n @Output() onUplodCoverPhoto = new EventEmitter();\n @Output() onSubmit = new EventEmitter();\n\n @ViewChild('main') public main!: ElementRef;\n\n componentTextsForHtml: IUploadPhotoComponentTexts = {\n firstLineP1: 'Drag and drop a logo here or ',\n firstLineP2: ' a photo',\n firstLineP1UploadedPhoto: 'Drag and drop or ',\n firstLineP2UploadedPhoto: ' to replace photo',\n secondLine:\n 'Photo must be PNG or JPG. We recommend to use a wide screen format with the minimum size of 1600px width x 660px height.',\n };\n\n showStickyDivider = false;\n\n constructor(public hostRef: ElementRef, public state: ReportFormStateService) {}\n\n ngOnInit(): void {}\n\n handleWritingSystem(option: IOption) {\n this.state.fc.pdfWritingSystem.setValue(option);\n this.state.fc.pdfWritingSystem.markAsDirty();\n }\n\n handleTitleChange(value: string) {\n this.state.fc.title.setValue(value);\n this.state.fc.title.markAsDirty();\n }\n\n handleReportScopeChange(value: ITreeOption | null) {\n this.state.fc.reportScope.setValue(value);\n this.state.fc.reportScope.markAsDirty();\n if (value?.children?.length) {\n this.state.fc.inludeSubOrgs.setValue(true);\n this.state.fc.inludeSubOrgs.enable();\n } else {\n this.state.fc.inludeSubOrgs.setValue(false);\n this.state.fc.inludeSubOrgs.disable();\n }\n }\n\n handleIncludeSubOrgsChange() {\n this.state.fc.inludeSubOrgs.setValue(!this.state.fc.inludeSubOrgs.value);\n this.state.fc.inludeSubOrgs.markAsDirty();\n }\n\n handleTimePeriodChange(timePeriodData: ITimePeriodData) {\n if (timePeriodData.type === TimePeriodType.Custom && (!timePeriodData.customStart || !timePeriodData.customEnd)) {\n this.state.fc.timePeriod.setValue(null);\n } else {\n this.state.fc.timePeriod.setValue(timePeriodData);\n }\n this.state.fc.timePeriod.markAsDirty();\n }\n\n handleStickyDivider(tabEntry: IntersectionObserverEntry) {\n if (tabEntry.rootBounds?.bottom) {\n this.showStickyDivider = tabEntry.boundingClientRect.bottom > tabEntry.rootBounds.bottom;\n } else this.showStickyDivider = false;\n }\n\n async submitAddReport() {\n if (this.submitted) return;\n this.submitted = true;\n await this.state.saveReportFromTemplate();\n this.onSubmit.emit();\n }\n\n async submitEditReport() {\n if (this.edited) return;\n this.edited = true;\n await this.state.editReport();\n this.onSubmit.emit();\n }\n}\n","
\n
\n
\n \n Template gallery\n
\n
TEMPLATE
\n
\n \n

\n This is an empty blank template. You’ll need to create every scope from scratch with fully customization of\n every single input.\n

\n

Use this template if there are no other templates that covers your need.

\n
\n
\n \n
\n
\n
Edit report settings
\n
\n
\n
\n
Report Title
\n \n
\n\n
\n
Reporting organization
\n \n
\n \n Include Sub Organization\n
\n
\n\n
\n
Time period
\n \n
\n
\n
Writing system for PDF Export
\n \n
\n
\n \n
Upload Cover Photo
\n
You can upload cover photos for your PDF and Website reports. You can update them at any time.
\n
\n
COVER PHOTO PDF REPORT
\n \n
COVER PHOTO WEBSITE REPORT
\n \n
\n
\n
\n
\n
\n \n Create Report\n \n \n Save Changes\n \n
\n
\n
\n
\n","import { IOption, PdfWritingSystemOptions } from '../../../static-data/options';\nimport {\n CoverPhoto,\n CreateReportBasedOnTemplateCommandParams,\n CreateReportCommandParams,\n PdfWritingSystem,\n ReportVersion,\n SubOrganizationVm,\n TimePeriod,\n UpdateReportCommandParams,\n} from '../../../../api-client/report-api.generated';\nimport { Injectable } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { ReportApiService } from 'src/app/api-client/report-api/report-api-service';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\nimport { IUploadedPhoto } from 'src/app/shared/ui/upload-picture/upload-picture.component';\nimport { IReportDataUi } from './edit-form/edit-form.component';\nimport { ITimePeriodData } from '../../../shared/components/time-period/time-period.component';\nimport { TemplateType, VisibleForm } from './report-form.component';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ReportAppApiService } from 'src/app/api-client/report-api/app-api-service';\nimport { NotificationLinkUi } from 'src/app/shared/ui/notification/notification.component';\nimport { Router } from '@angular/router';\nimport { ReportStateService } from '../report-state.service';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { OrganizationApiService } from 'src/app/api-client/report-api/organization-api-service';\nimport {\n findNestedOption,\n ITreeOption,\n} from 'src/app/shared/ui/select/select-tree-options/select-tree-options.component';\n\nexport interface TemplateData {\n type: TemplateType;\n id?: string;\n title?: string;\n description?: string;\n shortDescription?: string;\n backgroundPhotoUrl?: string;\n}\n\nfunction getSubOrganization(subOrganizations: SubOrganizationVm[]): ITreeOption[] {\n return subOrganizations.map(so => ({\n value: so.id || '',\n label: so.name,\n children: getSubOrganization(so.subOrganizations),\n }));\n}\n\n@Injectable()\nexport class ReportFormStateService {\n visibleForm?: VisibleForm;\n showReportForm() {\n return this.visibleForm === VisibleForm.ReportForm;\n }\n\n showTemplateList() {\n return this.visibleForm === VisibleForm.TemplateList;\n }\n\n isLoading = false;\n\n reportId?: string;\n reportVersion?: ReportVersion;\n templateData?: TemplateData;\n\n fc: IReportDataUi = {\n title: new FormControl('', { nonNullable: true, validators: [Validators.required] }),\n reportScope: new FormControl(null),\n inludeSubOrgs: new FormControl(true, { nonNullable: true }),\n pdfWritingSystem: new FormControl(null, {\n nonNullable: true,\n validators: [Validators.required],\n }),\n timePeriod: new FormControl(null, { nonNullable: true, validators: [Validators.required] }),\n coverPhoto: new FormControl(null),\n coverPhotoSquare: new FormControl(null),\n };\n\n formgroup = new FormGroup(this.fc);\n organizationSubOrganizationOptions: ITreeOption[] = [];\n pdfWritingSystemOptions = PdfWritingSystemOptions;\n\n constructor(\n private appInfo: AppInfoService,\n private appApiService: ReportAppApiService,\n private domSanitizer: DomSanitizer,\n private reportApiService: ReportApiService,\n private notificationService: NotificationService,\n private router: Router,\n private reportStateService: ReportStateService,\n protected organizationApiService: OrganizationApiService\n ) {}\n\n selectTemplate(templateData: TemplateData) {\n this.templateData = templateData;\n this.visibleForm = VisibleForm.ReportForm;\n }\n\n async initReport(reportId?: string, reportVersion?: ReportVersion) {\n var organizationContextId = this.appInfo.organizationContext.value;\n if (!organizationContextId) {\n throw Error('Organization context not set.');\n }\n if (reportId) this.isLoading = true;\n var organizationListResponse = await this.organizationApiService.getSubOrganizationTree(organizationContextId);\n this.organizationSubOrganizationOptions = organizationListResponse.result.items.map(o => ({\n value: '',\n label: o.name,\n children: getSubOrganization(o.subOrganizations),\n }));\n this.reportVersion = reportVersion;\n this.reportId = reportId;\n if (reportId) {\n const { result } = await this.reportApiService.getByReportId(reportId);\n this.reportVersion = result.reportVersion;\n this.fc.title.setValue(result.name);\n this.fc.reportScope.setValue(\n (result.subOrganizationId &&\n findNestedOption(this.organizationSubOrganizationOptions, result.subOrganizationId)) ||\n this.organizationSubOrganizationOptions[0]\n );\n this.fc.inludeSubOrgs.setValue(result.includeNestedSubOrganizations);\n this.fc.timePeriod.setValue(result.timePeriod as ITimePeriodData);\n this.fc.pdfWritingSystem.setValue(\n this.pdfWritingSystemOptions.find(p => p.value === result.pdfWritingSystem) || null\n );\n this.fc.coverPhoto.setValue(result.coverPhoto ? this.getLogo(result.coverPhoto) : null);\n this.fc.coverPhotoSquare.setValue(result.coverPhotoSquare ? this.getLogo(result.coverPhotoSquare) : null);\n this.isLoading = false;\n } else {\n this.fc.pdfWritingSystem.setValue(PdfWritingSystemOptions[0]);\n this.fc.reportScope.setValue(this.organizationSubOrganizationOptions[0]);\n }\n if (!this.fc.reportScope.value?.children?.length) {\n this.fc.inludeSubOrgs.setValue(false);\n this.fc.inludeSubOrgs.disable();\n }\n }\n\n getSubOgrnizationId() {\n return this.fc.reportScope.value?.value ? this.fc.reportScope.value?.value : undefined;\n }\n\n async editReport() {\n const timePeriodData = this.fc.timePeriod.value;\n const coverPhotoValue = this.fc.coverPhoto.value;\n const coverPhotoSquareValue = this.fc.coverPhotoSquare.value;\n const pdfWritingSystemValue = this.fc.pdfWritingSystem.value;\n\n if (!this.reportId || !pdfWritingSystemValue) {\n throw Error('Data not valid');\n }\n const result = await this.reportApiService.edit(\n new UpdateReportCommandParams({\n reportId: this.reportId,\n name: this.fc.title.value,\n subOrganizationId: this.getSubOgrnizationId(),\n includeNestedSubOrganizations: this.fc.inludeSubOrgs.value,\n pdfWritingSystem: PdfWritingSystem[pdfWritingSystemValue.value as keyof typeof PdfWritingSystem],\n coverPhoto: coverPhotoValue\n ? new CoverPhoto({\n blobName: coverPhotoValue.blobName || '',\n blobThumbnailName: coverPhotoValue.blobThumbnailName,\n fileName: coverPhotoValue.fileName,\n })\n : undefined,\n coverPhotoSquare: coverPhotoSquareValue\n ? new CoverPhoto({\n blobName: coverPhotoSquareValue.blobName || '',\n blobThumbnailName: coverPhotoSquareValue.blobThumbnailName,\n fileName: coverPhotoSquareValue.fileName,\n })\n : undefined,\n timePeriod: timePeriodData ? new TimePeriod(timePeriodData) : undefined,\n })\n );\n this.clearState();\n }\n\n async saveReportFromTemplate() {\n const timePeriod = this.fc.timePeriod.value;\n const coverPhotoValue = this.fc.coverPhoto.value;\n const coverPhotoSquareValue = this.fc.coverPhotoSquare.value;\n const pdfWritingSystemValue = this.fc.pdfWritingSystem.value;\n\n if (!timePeriod || !pdfWritingSystemValue) {\n throw Error('Data not valid');\n }\n\n if (this.templateData?.id) {\n const result = await this.reportApiService.createBaseOnTemplate(\n new CreateReportBasedOnTemplateCommandParams({\n templateId: this.templateData?.id || '',\n name: this.fc.title.value,\n subOrganizationId: this.getSubOgrnizationId(),\n includeNestedSubOrganizations: this.fc.inludeSubOrgs.value,\n pdfWritingSystem: PdfWritingSystem[pdfWritingSystemValue.value as keyof typeof PdfWritingSystem],\n coverPhoto: coverPhotoValue\n ? new CoverPhoto({\n blobName: coverPhotoValue.blobName || '',\n blobThumbnailName: coverPhotoValue.blobThumbnailName,\n fileName: coverPhotoValue.fileName,\n })\n : undefined,\n coverPhotoSquare: coverPhotoSquareValue\n ? new CoverPhoto({\n blobName: coverPhotoSquareValue.blobName || '',\n blobThumbnailName: coverPhotoSquareValue.blobThumbnailName,\n fileName: coverPhotoSquareValue.fileName,\n })\n : undefined,\n timePeriodType: timePeriod.type,\n year: timePeriod.year,\n period: timePeriod.period || 0,\n customStart: timePeriod.customStart,\n customEnd: timePeriod.customEnd,\n })\n );\n this.onCreateReportSucess(result.result.id);\n } else {\n if (!this.reportVersion) {\n throw Error('Report version not set.');\n }\n const result = await this.reportApiService.create(\n new CreateReportCommandParams({\n reportVersion: this.reportVersion,\n name: this.fc.title.value,\n subOrganizationId: this.getSubOgrnizationId(),\n includeNestedSubOrganizations: this.fc.inludeSubOrgs.value,\n pdfWritingSystem: PdfWritingSystem[pdfWritingSystemValue.value as keyof typeof PdfWritingSystem],\n coverPhoto: coverPhotoValue\n ? new CoverPhoto({\n blobName: coverPhotoValue.blobName || '',\n blobThumbnailName: coverPhotoValue.blobThumbnailName,\n fileName: coverPhotoValue.fileName,\n })\n : undefined,\n coverPhotoSquare: coverPhotoSquareValue\n ? new CoverPhoto({\n blobName: coverPhotoSquareValue.blobName || '',\n blobThumbnailName: coverPhotoSquareValue.blobThumbnailName,\n fileName: coverPhotoSquareValue.fileName,\n })\n : undefined,\n timePeriodType: timePeriod.type,\n year: timePeriod.year,\n period: timePeriod.period || 0,\n customStart: timePeriod.customStart,\n customEnd: timePeriod.customEnd,\n })\n );\n this.onCreateReportSucess(result.result.id);\n }\n }\n\n onCreateReportSucess(reportId: string) {\n const link: NotificationLinkUi = {\n text: 'Go to report.',\n routerLink: ['/', 'report', reportId],\n };\n this.notificationService.showSuccess('Report created successfully', '', link);\n if (this.router.url === '/report') {\n this.reportStateService.loadReports();\n }\n this.clearState();\n }\n\n uploadCoverPhoto(file: File) {\n this.appApiService\n .uploadImage({\n fileName: file.name,\n data: file,\n })\n .subscribe(result => {\n let objectUrl = URL.createObjectURL(file);\n var cp: IUploadedPhoto = {\n url: this.domSanitizer.bypassSecurityTrustResourceUrl(objectUrl),\n fileName: file.name,\n blobName: result.blobName,\n blobThumbnailName: result.blobThumbnailName,\n };\n this.fc.coverPhoto.setValue(cp);\n this.fc.coverPhoto.markAsDirty();\n });\n }\n\n removeCoverPhoto() {\n this.fc.coverPhoto.setValue(null);\n this.fc.coverPhoto.markAsDirty();\n }\n\n uploadCoverSquarePhoto(file: File) {\n this.appApiService\n .uploadImage({\n fileName: file.name,\n data: file,\n })\n .subscribe(result => {\n let objectUrl = URL.createObjectURL(file);\n var cp: IUploadedPhoto = {\n url: this.domSanitizer.bypassSecurityTrustResourceUrl(objectUrl),\n fileName: file.name,\n blobName: result.blobName,\n blobThumbnailName: result.blobThumbnailName,\n };\n this.fc.coverPhotoSquare.setValue(cp);\n this.fc.coverPhotoSquare.markAsDirty();\n });\n }\n\n removeCoverSquarePhoto() {\n this.fc.coverPhotoSquare.setValue(null);\n this.fc.coverPhotoSquare.markAsDirty();\n }\n clearState() {\n this.visibleForm = VisibleForm.TemplateList;\n this.templateData = undefined;\n }\n\n getLogo(logo: CoverPhoto): IUploadedPhoto {\n const blobUrl = this.appApiService.getBlobUrl(logo.blobThumbnailName || logo.blobName);\n const safeUrl = this.domSanitizer.bypassSecurityTrustResourceUrl(blobUrl);\n return {\n url: safeUrl,\n fileName: logo.fileName,\n blobName: logo.blobName,\n blobThumbnailName: logo.blobThumbnailName,\n };\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ReportTemplate, ReportVersion } from 'src/api-client/report-api.generated';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport { ReportFormStateService } from './report-form-state.service';\n\nexport enum TemplateType {\n Custom,\n Existing,\n}\n\nexport enum VisibleForm {\n TemplateList,\n ReportForm,\n}\n\n@Component({\n selector: 'esg-report-form',\n templateUrl: './report-form.component.html',\n styleUrls: ['./report-form.component.scss'],\n providers: [ReportFormStateService],\n})\nexport class ReportFormComponent implements OnInit {\n @Input() reportId?: string;\n @Input() version?: ReportVersion;\n @Output() onClose = new EventEmitter();\n @Output() onSubmit = new EventEmitter();\n readonly VisibleFormEnum = VisibleForm;\n\n constructor(public state: ReportFormStateService, private appConfig: AppConfigurationService) {}\n\n ngOnInit(): void {\n this.state.visibleForm = this.reportId ? VisibleForm.ReportForm : VisibleForm.TemplateList;\n this.state.initReport(this.reportId, this.version);\n }\n\n getCoverPhotoUrl(blobName?: string) {\n // TODO CANSU : CURRENTLY THIS FUNCTION IS REPEATING. SHOULD BE IN A COMMON PLACE\n return blobName ? `${this.appConfig.ReportApiBaseUrl}/report/cover-photo/${blobName}` : undefined;\n }\n\n handleSelectTemplate(event?: ReportTemplate) {\n if (event) {\n const { id: templateId, title, description, shortDescription, coverPhoto } = event;\n const backgroundPhotoUrl = this.getCoverPhotoUrl(coverPhoto?.blobName);\n this.state.selectTemplate({\n type: TemplateType.Existing,\n id: templateId,\n title,\n description,\n shortDescription,\n backgroundPhotoUrl,\n });\n } else {\n this.state.selectTemplate({\n type: TemplateType.Custom,\n });\n }\n }\n\n handleBackBtnClick() {\n this.state.clearState();\n }\n\n handleOnSubmit() {\n this.onSubmit.emit();\n }\n\n handleClose() {\n this.state.clearState();\n this.onClose.emit();\n }\n}\n","\n \n \n \n \n
\n \n
\n
\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'esg-template-card',\n templateUrl: './template-card.component.html',\n styleUrls: ['./template-card.component.scss'],\n})\nexport class TemplateCardComponent implements OnInit {\n @Input() backgroundPictureUrl?: string;\n @Input({ required: true }) title!: string;\n @Input() shortDescription?: string = '';\n @Input() longDescription?: string = '';\n @Input() showChooseBtn: boolean = true;\n @Input() blankReport: boolean = true;\n @Output() onClick = new EventEmitter();\n\n ngOnInit(): void {}\n}\n","
\n
\n
\n
\n
\n \n\n \n \n \n \n \n \n Choose\n \n \n \n
\n
\n
\n
\n \n\n \n \n \n \n \n \n Choose\n \n \n \n
\n
\n
\n {{ title }}\n
\n
\n {{ shortDescription }}\n
\n
\n \n
\n
\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ReportTemplate, ReportVersion } from 'src/api-client/report-api.generated';\nimport { ReportAppApiService } from 'src/app/api-client/report-api/app-api-service';\nimport { TemplateApiService } from 'src/app/api-client/report-api/template-api-service';\nimport { TemplateType } from '../report-form.component';\n\n@Component({\n selector: 'esg-template-list',\n templateUrl: './template-list.component.html',\n styleUrls: ['./template-list.component.scss'],\n})\nexport class TemplateListComponent {\n @Input() version?: ReportVersion;\n @Output() onSelectTemplate = new EventEmitter();\n templates: ReportTemplate[] = [];\n isLoading: boolean = true;\n blank: TemplateType = TemplateType.Custom;\n fromTemplate: TemplateType = TemplateType.Existing;\n\n constructor(public appApiService: ReportAppApiService, private templateApiService: TemplateApiService) {\n this.templateApiService.getAllTemplates(true).subscribe(result => {\n this.templates = result.result.filter(x => x.reportVersion === this.version) || [];\n this.isLoading = false;\n });\n }\n}\n","
\n
Select a template
\n\n
\n \n\n
\n \n
\n
\n \n
\n","import { Injectable } from '@angular/core';\nimport { Report, ReportTemplate, ReportVersion } from 'src/api-client/report-api.generated';\nimport { ReportApiService } from 'src/app/api-client/report-api/report-api-service';\nimport { TemplateApiService } from 'src/app/api-client/report-api/template-api-service';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\nimport { IndicatorsPageStateService } from '../indicators/indicators-page-state.service';\nimport { result } from 'lodash';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ReportStateService {\n reportFormDialogOpen: boolean = false;\n reportVersion?: ReportVersion;\n\n isLoadingReports = false;\n isLoadingTemplates = false;\n reports: Report[] = [];\n templates: ReportTemplate[] = [];\n constructor(\n private reportApiService: ReportApiService,\n private templateApiService: TemplateApiService,\n private IndicatorsPageStateService: IndicatorsPageStateService,\n private notificationService: NotificationService\n ) { }\n\n handleCreate(reportVersion: ReportVersion) {\n this.reportVersion = reportVersion;\n this.reportFormDialogOpen = true;\n }\n\n handleCloseCreateDialog() {\n this.reportVersion = undefined;\n this.reportFormDialogOpen = false;\n }\n\n loadReports() {\n this.isLoadingReports = true;\n this.reportApiService.all().subscribe({\n next: result => {\n this.reports = result.result || [];\n this.isLoadingReports = false;\n },\n error: error => {\n this.isLoadingReports = false;\n },\n complete: () => {\n this.isLoadingReports = false;\n },\n });\n }\n\n async duplicateReport(reportId: string) {\n const reportIndex = this.reports.findIndex(report => report.id === reportId);\n const emptyReport = new Report();\n if (reportIndex !== -1) {\n this.reports.splice(reportIndex + 1, 0, emptyReport);\n } else {\n this.reports.push(emptyReport);\n }\n\n try {\n const result = await this.reportApiService.duplicateById(reportId);\n if (result.success && result.newDuplicatedReportId) {\n const response = await this.reportApiService.getByReportId(result.newDuplicatedReportId);\n if (reportIndex !== -1) {\n this.reports.splice(reportIndex + 1, 1, response.result);\n } else {\n this.reports.pop();\n this.reports.push(response.result);\n }\n } else {\n if (reportIndex !== -1) {\n this.reports.splice(reportIndex + 1, 1);\n } else {\n this.reports.pop();\n }\n }\n } catch (error) {\n if (reportIndex !== -1) {\n this.reports.splice(reportIndex + 1, 1);\n } else {\n this.reports.pop();\n }\n this.notificationService.showError('Unable to duplicate report');\n }\n }\n\n removeReport(reportId: string) {\n this.reports = this.reports.filter(r => r.id !== reportId);\n this.reportApiService.removeById(reportId).subscribe(result => {\n console.log('Removed: ' + reportId);\n });\n }\n\n removeTemplate(templateId: string) {\n this.templates = this.templates.filter(r => r.id !== templateId);\n this.templateApiService.removeTemplate(templateId).subscribe(result => {\n console.log('Removed: ' + templateId);\n });\n }\n\n loadTemplates() {\n this.isLoadingTemplates = true;\n this.templateApiService.getAllTemplates(false).subscribe(\n result => {\n this.templates = result.result || [];\n this.isLoadingTemplates = false;\n },\n error => {\n this.isLoadingTemplates = false;\n },\n () => {\n this.isLoadingTemplates = false;\n }\n );\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport { ReportStateService } from './report-state.service';\nimport { Permission, ReportStatus, ReportVersion } from 'src/api-client/report-api.generated';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { IOption, reportStatusOptions } from 'src/app/static-data/options';\nimport { ITabItem } from 'src/app/shared/ui/tabs/tabs.component';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'esg-report',\n templateUrl: './report.component.html',\n styleUrls: ['./report.component.scss'],\n})\nexport class ReportPageComponent implements OnInit {\n reportVersionEnum = ReportVersion;\n private userInfoSub!: Subscription;\n private organizationContextSub!: Subscription;\n removeReportId?: string;\n removeTemplateId?: string;\n selectedTemplateId?: string;\n removeMessage: string = '';\n\n hasCreateReportPermission = false;\n hasRemoveReportPermission = false;\n\n tabs: ITabItem[] = [{ value: 'reports', label: 'Your reports' }];\n activeTab: string = this.tabs[0].value;\n\n constructor(\n private appConfig: AppConfigurationService,\n private appInfoState: AppInfoService,\n public state: ReportStateService,\n private router: Router\n ) {}\n\n getStatusColor(status?: ReportStatus): IOption {\n var statusOption = reportStatusOptions.find(s => s.value === status);\n if (!statusOption) {\n throw Error('Report status not mapped.');\n }\n return statusOption;\n }\n\n ngOnInit(): void {\n this.userInfoSub = this.appInfoState.userInfo$.subscribe(() => this.init());\n this.organizationContextSub = this.appInfoState.organizationContext$.subscribe(() => this.init());\n }\n\n init() {\n this.hasCreateReportPermission = this.appInfoState.hasPermission(Permission.Report_Create);\n this.hasRemoveReportPermission = this.appInfoState.hasPermission(Permission.Report_Delete);\n\n this.state.loadReports();\n\n if (this.appInfoState.hasPermission(Permission.Template_Read)) {\n !this.tabs.find(val => val.value === 'templates') &&\n this.tabs.push({ value: 'templates', label: 'Custom templates' });\n this.state.loadTemplates();\n }\n }\n\n handleSelectReport(reportId: string) {\n this.router.navigate(['/report', reportId]);\n }\n\n getCoverPhotoUrl(blobName?: string) {\n return blobName ? `${this.appConfig.ReportApiBaseUrl}/report/cover-photo/${blobName}` : undefined;\n }\n\n handleDuplicate(reportId: string) {\n if(reportId){\n this.state.duplicateReport(reportId);\n }\n }\n\n handleRemoveSubmit() {\n if (this.removeReportId) {\n this.state.removeReport(this.removeReportId);\n this.removeReportId = undefined;\n } else if (this.removeTemplateId) {\n this.state.removeTemplate(this.removeTemplateId);\n this.removeTemplateId = undefined;\n }\n }\n handleRemoveCancel() {\n this.removeReportId = undefined;\n this.removeTemplateId = undefined;\n }\n\n handleRemoveReport(reportId: string) {\n this.removeMessage = 'Once you delete this report, nobody can access it and there is no turning back.';\n this.removeReportId = reportId;\n }\n\n handleRemoveTemplate(templateId: string) {\n this.removeMessage = 'Once you delete this template, nobody can access it and there is no turning back.';\n this.removeTemplateId = templateId;\n }\n\n handleSelectTemplate(templateId: string) {\n this.selectedTemplateId = templateId;\n }\n\n handleOnEditTemplate() {\n this.state.loadTemplates();\n this.selectedTemplateId = undefined;\n }\n\n handleCloseTemplateDialog() {\n this.selectedTemplateId = undefined;\n }\n\n handleOnTabClick(value: string) {\n this.activeTab = value;\n }\n\n ngOnDestroy() {\n this.userInfoSub.unsubscribe();\n this.organizationContextSub.unsubscribe();\n }\n}\n","\n\n
\n
\n \n\n \n
\n\n \n\n \n
\n
\n \n
\n \n
\n \n \n \n
\n
\n
\n\n
\n \"Woman\n \n {{ 'You have yet not created any reports.\\n Please ' }}\n create a new report\n .\n \n
\n
\n\n
\n
\n
\n \n
\n
\n
\n \"Woman\n There are no custom templates in your organization yet.\n
\n \n
\n \n \n
\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReportPageComponent } from './report.component';\nimport { RouterModule } from '@angular/router';\nimport { UiModule } from 'src/app/shared/ui/ui.module';\nimport { ReportCardComponent } from './report-card/report-card.component';\nimport { TemplateCardViewComponent } from './template-form/template-card-view/template-card-view.component';\nimport { AppLayoutComponent } from 'src/app/app-layout/app-layout.component';\nimport { MsalGuard } from '@azure/msal-angular';\nimport { ReportFormComponent } from './report-form/report-form.component';\nimport { TemplateListComponent } from './report-form/template-list/template-list.component';\nimport { EditFormComponent } from './report-form/edit-form/edit-form.component';\nimport { TemplateCardComponent } from './report-form/template-card/template-card.component';\nimport { TemplateFormComponent } from './template-form/template-form.component';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { SharedComponentsModule } from 'src/app/shared/components/shared-components.module';\nimport { QuillModule } from 'ngx-quill';\nimport { DirectiveModule } from 'src/app/shared/directives/directive.module';\nimport { SideNavigationComponent } from 'src/app/app-layout/side-navigation/side-navigation.component';\n\n@NgModule({\n declarations: [\n ReportPageComponent,\n ReportCardComponent,\n TemplateCardViewComponent,\n ReportFormComponent,\n TemplateListComponent,\n EditFormComponent,\n TemplateCardComponent,\n TemplateFormComponent,\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n UiModule,\n SharedComponentsModule,\n QuillModule,\n DirectiveModule,\n RouterModule.forChild([\n {\n path: 'report',\n component: AppLayoutComponent,\n children: [\n {\n path: ``,\n component: SideNavigationComponent,\n outlet: 'side',\n },\n { path: '', component: ReportPageComponent },\n ],\n canActivate: [MsalGuard],\n },\n ]),\n ],\n exports: [ReportFormComponent, TemplateFormComponent],\n})\nexport class ReportModule {}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'esg-template-card-view',\n templateUrl: './template-card-view.component.html',\n styleUrls: ['./template-card-view.component.scss'],\n})\nexport class TemplateCardViewComponent implements OnInit {\n @Input() backgroundPictureUrl?: string;\n @Input({ required: true }) title!: string;\n @Input({ required: true }) shortDescription!: string;\n @Input() lastModifiedData?: Date;\n @Output() onClick = new EventEmitter();\n @Output() onRemove = new EventEmitter();\n\n ngOnInit(): void {}\n\n handleRemove(event: Event) {\n event.stopPropagation();\n event.preventDefault();\n this.onRemove.emit();\n }\n}\n","
\n
\n
\n
\n \n \n \n Edit Settings\n
\n
\n \n \n \n
\n
\n \n
\n
\n
\n
\n
\n
\n {{ title }}\n
\n
\n {{ shortDescription }}\n
\n
\n","import { Injectable } from '@angular/core';\nimport { TemplateData } from '../report-form/report-form-state.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TemplateStateService {\n templateData?: TemplateData;\n constructor() {}\n\n async getBlobFromImgUrl(url: string): Promise {\n if (!url) {\n throw Error('url required!');\n }\n const response = await fetch(url);\n return response.blob();\n }\n}\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { UserRole } from 'src/api-client/report-api.generated';\nimport { TemplateApiService } from 'src/app/api-client/report-api/template-api-service';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { IUploadedPhoto } from 'src/app/shared/ui/upload-picture/upload-picture.component';\nimport { TemplateStateService } from './template-form-state.service';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\n\nexport interface ITemplateData {\n id?: string;\n name?: string;\n global: boolean;\n longDescription: FormControl;\n shortDescription: FormControl;\n reportId?: string;\n coverPhoto?: IUploadedPhoto;\n}\n\n@Component({\n selector: 'esg-template-form',\n templateUrl: './template-form.component.html',\n styleUrls: ['./template-form.component.scss'],\n providers: [TemplateStateService],\n})\nexport class TemplateFormComponent implements OnInit {\n notGlobalIndicatorsWarningMessage = '';\n submitted = false;\n @Input() reportId?: string;\n @Input() templateId?: string;\n @Output() onClose = new EventEmitter();\n @Output() onSubmit = new EventEmitter();\n\n @ViewChild('main') public main!: ElementRef;\n\n hasAccessToMarkTemplateAsGlobal = false;\n canCreateAsGlobalTemplate = false;\n templateData: ITemplateData = {\n id: '',\n name: '',\n global: false,\n longDescription: new FormControl(''),\n shortDescription: new FormControl(''),\n reportId: '',\n coverPhoto: undefined,\n };\n coverPhotoValue = new FormControl(undefined);\n\n textAreaStyles = {\n height: '163px',\n 'font-size': '14px',\n color: '#333333',\n };\n\n tmpCoverPhoto: any;\n\n showStickyDivider = false;\n\n constructor(\n public state: TemplateStateService,\n private domSanitizer: DomSanitizer,\n private templateApiService: TemplateApiService,\n private appConfig: AppConfigurationService,\n private appInfo: AppInfoService\n ) {}\n\n ngOnInit(): void {\n this.templateData!.reportId = this.reportId;\n this.templateData!.id = this.templateId;\n\n this.init();\n }\n\n async init() {\n if (this.templateData.id) {\n const result = await this.templateApiService.getTemplate(this.templateData.id);\n this.templateData.name = result.title;\n this.templateData.global = result.global;\n this.templateData.shortDescription.setValue(result.shortDescription);\n this.templateData.longDescription.setValue(result.description);\n this.tmpCoverPhoto = result.coverPhoto;\n if (result.coverPhoto?.blobName) {\n this.templateData.coverPhoto = {\n ...result.coverPhoto,\n url: this.getCoverPhotoUrl(result.coverPhoto?.blobName),\n fileName: result.coverPhoto?.fileName || result.coverPhoto?.blobName,\n };\n this.coverPhotoValue.setValue(this.templateData.coverPhoto);\n }\n this.templateData.reportId = result.exportedFromReportId;\n }\n\n const userInfo = this.appInfo.userInfo.value;\n\n this.hasAccessToMarkTemplateAsGlobal =\n userInfo?.role === UserRole.SuperAdmin && userInfo?.organizationContextIsGlobal;\n\n if (this.hasAccessToMarkTemplateAsGlobal && this.templateData.reportId) {\n this.getCanCreateAsGlobalTemplate(this.templateData.reportId);\n }\n }\n\n getCoverPhotoUrl(blobName?: string) {\n return blobName ? `${this.appConfig.ReportApiBaseUrl}/report/cover-photo/${blobName}` : '';\n }\n\n get templateDataValid() {\n return (\n this.templateData?.reportId &&\n this.templateData?.name &&\n this.templateData?.longDescription.value &&\n this.templateData?.shortDescription.value &&\n this.templateData?.coverPhoto &&\n this.globalCheckboxValid\n );\n }\n\n get globalCheckboxValid() {\n if (this.templateData.global && !this.canCreateAsGlobalTemplate) return false;\n else return true;\n }\n\n async getCanCreateAsGlobalTemplate(reportId: string) {\n const response = await this.templateApiService.canCreateAsGlobalTemplate(reportId);\n this.canCreateAsGlobalTemplate = response.result;\n if (response.result === false) {\n this.notGlobalIndicatorsWarningMessage = (response.validationErrors || []).join(', \\n');\n }\n }\n\n handleUploadCoverPhoto(file: File) {\n var objectUrl = URL.createObjectURL(file);\n var coverPhoto: IUploadedPhoto = {\n url: this.domSanitizer.bypassSecurityTrustResourceUrl(objectUrl),\n fileName: file.name,\n file: {\n data: file,\n fileName: file.name,\n },\n };\n this.templateData!.coverPhoto = coverPhoto;\n }\n\n handleStickyDivider(tabEntry: IntersectionObserverEntry) {\n if (tabEntry.rootBounds?.bottom) {\n this.showStickyDivider = tabEntry.boundingClientRect.bottom > tabEntry.rootBounds.bottom;\n } else this.showStickyDivider = false;\n }\n\n handleNameChange(value: string) {\n this.templateData.name = value;\n }\n\n handleGlobalClick() {\n this.templateData = {\n ...this.templateData,\n global: !this.templateData.global,\n };\n }\n\n handleShortDescriptionChange(evt: any) {\n this.templateData.shortDescription = evt.target.value;\n }\n handleSaveTemplate() {\n const { coverPhoto, name, shortDescription, longDescription, global, reportId } = this.templateData;\n if (name && shortDescription && shortDescription && reportId) {\n if (this.submitted) return;\n this.submitted = true;\n if (this.templateData.id) {\n if (!coverPhoto?.file && coverPhoto?.url) {\n // photo didn't changed\n this.state.getBlobFromImgUrl(coverPhoto?.url.toString()).then(blobData => {\n coverPhoto.file = {\n data: blobData,\n fileName: coverPhoto.fileName,\n };\n this.templateApiService\n .update(\n this.templateData.id || '',\n name,\n shortDescription.value,\n longDescription.value,\n global,\n coverPhoto.file\n )\n .subscribe(res => {\n this.handleOnSubmit();\n });\n });\n } else {\n // photo changed\n this.templateApiService\n .update(\n this.templateData.id || '',\n name,\n shortDescription.value,\n longDescription.value,\n global,\n coverPhoto?.file\n )\n .subscribe(res => {\n this.handleOnSubmit();\n });\n }\n } else {\n this.templateApiService\n .saveReportAsTemplate(name, shortDescription.value, longDescription.value, reportId, global, coverPhoto?.file)\n .subscribe(res => {\n this.handleOnSubmit();\n });\n }\n }\n }\n\n handleOnSubmit() {\n this.onSubmit.emit();\n }\n\n handleCancel() {\n this.onClose.emit();\n }\n\n handleClearPhoto(uploadedPhoto: IUploadedPhoto) {\n this.templateData.coverPhoto = undefined;\n }\n}\n","\n
\n
\n
Save report as template
\n
\n When saving a report as a template, you create a template with all Main Topics, Topics and Indicators from the\n report, but not the content that is filled in. In other words: The new template will have the complete structure\n of this report, but not the content.\n
\n
\n
\n
\n
Edit template
\n
\n Editing a template will not have impact on reports that has been created using these template. It will only\n affect new reports created with this template.\n
\n
\n
\n
\n
\n
\n What is the name of the new template?\n \n
\n \n
\n \n Make template available for all users in all organizations.\n
\n \n {{\n 'Only Indicators with global accessibility can be included in a Global template.\\n Please remove non-global indicators from the report and try again:'\n }}\n {{ '\\n\\n' + notGlobalIndicatorsWarningMessage }}\n \n
\n
\n
\n Please add a very short description of the template\n (Max 70 characters)\n
\n \n
\n
\n
Please write a more detailed description of the template
\n
\n \n
\n
\n
\n
And finally, upload a cover photo for the template
\n \n
\n
\n
\n\n
\n
\n Cancel\n \n Save Template\n \n
\n
\n
\n \n
\n","import { Injectable } from '@angular/core';\nimport { SupportTopicItemApiService } from 'src/app/api-client/report-api/support-topic-item-api-service';\nimport {\n ComponentType,\n ComponentType2,\n CreateSupportComponentCommandParams,\n DeleteSupportComponentCommandParams,\n MoveSupportComponentCommandParams,\n UpdateSupportComponentCommandParams,\n} from 'src/api-client/report-api.generated';\nimport { SupportArticleDetailsUi } from './support-article-details.component';\nimport { DynamicComponentFactory, DynamicContent } from 'src/app/content/dynamic-content';\nimport { ReportAppApiService } from 'src/app/api-client/report-api/app-api-service';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { ContentDataTypes, ContentStatesTypes } from 'src/app/content/content-configuration';\nimport { IMovedContent } from 'src/app/content/dynamic-content-data';\nimport { moveItemInArray } from '@angular/cdk/drag-drop';\nimport { IUploadedPhoto } from 'src/app/shared/ui/upload-picture/upload-picture.component';\nimport { IPictureContentData } from 'src/app/content/content-item/picture/picture.component';\nimport { lastValueFrom } from 'rxjs';\n\n@Injectable()\nexport class SupportArticleStateService {\n article?: SupportArticleDetailsUi;\n contentFade: boolean = false;\n\n constructor(\n private supportTopicItemApiService: SupportTopicItemApiService,\n private appApiService: ReportAppApiService,\n private domSanitizer: DomSanitizer\n ) {}\n\n async init(articleId: string) {\n const response = await this.supportTopicItemApiService.getTopicItem(articleId);\n this.article = {\n id: response.id,\n name: response.name,\n components: response.components.map(c => {\n const dynamicComponent = DynamicComponentFactory({\n uploadPhoto: this.handleUploadPhoto,\n getUploadedPhoto: this.getUploadPhoto,\n })[c.type];\n return dynamicComponent(c.id, true, c.content);\n }),\n };\n }\n\n handleOnAddComponent(type: ComponentType) {\n switch (type) {\n case ComponentType.Text:\n this.addTextComponent();\n break;\n case ComponentType.Picture:\n this.addImageComponent();\n break;\n case ComponentType.ImportFromExcel:\n this.addImportFromExcelComponent();\n break;\n default:\n break;\n }\n }\n\n addTextComponent() {\n this.supportTopicItemApiService\n .createComponent(\n new CreateSupportComponentCommandParams({\n supportTopicItemId: this.article?.id || '',\n type: ComponentType2.Text,\n title: '',\n })\n )\n .then(result => {\n if (this.article)\n this.article.components = [\n ...this.article.components,\n new DynamicContent(result.result?.id || '', ComponentType.Text, true, {}, {}, undefined),\n ];\n });\n }\n\n addImageComponent() {\n this.supportTopicItemApiService\n .createComponent(\n new CreateSupportComponentCommandParams({\n supportTopicItemId: this.article?.id || '',\n type: ComponentType2.Picture,\n title: '',\n })\n )\n .then(result => {\n if (this.article)\n this.article.components = [\n ...this.article.components,\n new DynamicContent(\n result.result?.id || '',\n ComponentType.Picture,\n true,\n {\n uploadPhoto: this.handleUploadPhoto(result.result?.id || ''),\n },\n {},\n undefined\n ),\n ];\n });\n }\n\n addImportFromExcelComponent() {\n this.supportTopicItemApiService\n .createComponent(\n new CreateSupportComponentCommandParams({\n supportTopicItemId: this.article?.id || '',\n type: ComponentType2.ImportFromExcel,\n title: '',\n })\n )\n .then(result => {\n if (this.article)\n this.article.components = [\n ...this.article.components,\n new DynamicContent(result.result?.id || '', ComponentType.ImportFromExcel, true, {}, {}, undefined),\n ];\n });\n }\n\n moveComponent(movedContent: IMovedContent) {\n if (this.article) {\n const newList = [...this.article.components];\n const prevList = [...this.article.components];\n moveItemInArray(newList, movedContent.prevIndex, movedContent.newIndex);\n this.article.components = [...newList];\n this.supportTopicItemApiService\n .moveComponent(\n new MoveSupportComponentCommandParams({\n supportTopicItemId: this.article.id,\n componentId: movedContent.contentId,\n prevIndex: movedContent.prevIndex,\n newIndex: movedContent.newIndex,\n })\n )\n .then(\n result => {},\n error => {\n if (this.article) this.article.components = [...prevList];\n }\n );\n }\n }\n\n deleteComponent(contentId: string) {\n this.supportTopicItemApiService\n .deleteComponent(\n new DeleteSupportComponentCommandParams({ supportTopicItemId: this.article?.id || '', componentId: contentId })\n )\n .then(result => {\n if (result.success && this.article) {\n const newList = [...this.article.components];\n newList.splice(\n this.article.components.findIndex(comp => comp.contentId === contentId),\n 1\n );\n this.article.components = [...newList];\n }\n });\n }\n\n onDataChangeComponent = (\n contentId: string,\n isVisibleInReport: boolean,\n states: ContentStatesTypes,\n data?: ContentDataTypes\n ) => {\n const component = this.article?.components.find(c => c.contentId === contentId);\n\n if (!component) {\n throw Error(`Component with id: ${contentId} doesn't exists`);\n }\n\n var updatedComponent: DynamicContent = {\n ...component,\n isVisibleInReport: isVisibleInReport,\n states: states,\n data,\n };\n\n if (this.article) {\n this.article.components = this.article.components.map(c =>\n c.contentId !== component.contentId ? c : updatedComponent\n );\n\n this.supportTopicItemApiService\n .updateComponent(\n new UpdateSupportComponentCommandParams({\n componentId: component.contentId,\n supportTopicItemId: this.article.id || '',\n title: '',\n content: data ? JSON.stringify(data) : '',\n })\n )\n .then(result => {\n console.log('updated successfully!');\n });\n }\n };\n\n async uploadPhoto(file: File) {\n const photo$ = this.appApiService.uploadImage({\n data: file,\n fileName: file.name,\n });\n return await lastValueFrom(photo$);\n }\n\n getUploadPhoto = (blobName: string): IUploadedPhoto => {\n var blobUrl = this.appApiService.getBlobUrl(blobName);\n var safeUrl = this.domSanitizer.bypassSecurityTrustResourceUrl(blobUrl);\n return {\n url: safeUrl,\n fileName: blobName,\n };\n };\n\n handleUploadPhoto = (componentId: string) => async (file?: File) => {\n const component = this.article?.components.find(c => c.contentId === componentId);\n\n if (!component) {\n throw Error(`Comonent with id: ${componentId} doesn't exists`);\n }\n\n if (file) {\n const result = await this.uploadPhoto(file);\n const uploadedPhoto = this.getUploadPhoto(result.blobName || '');\n\n const updatedContent: IPictureContentData = {\n altText: '',\n blobName: result.blobName || '',\n };\n\n this.onDataChangeComponent(\n componentId,\n component.isVisibleInReport,\n {\n ...component?.states,\n uploadedPhoto: uploadedPhoto,\n },\n updatedContent\n );\n } else {\n this.onDataChangeComponent(\n componentId,\n component.isVisibleInReport,\n {\n ...component?.states,\n uploadedPhoto: undefined,\n },\n undefined\n );\n }\n };\n\n onReorder(reordering: boolean) {\n this.contentFade = reordering;\n }\n}\n","import { Component, ElementRef, EventEmitter, Input, Output } from '@angular/core';\nimport { DynamicContent } from 'src/app/content/dynamic-content';\nimport { SupportArticleStateService } from './support-article-details-state.service';\n\nexport interface SupportArticleDetailsUi {\n id: string;\n name: string;\n components: DynamicContent[];\n}\n\n@Component({\n selector: 'esg-support-article-details',\n templateUrl: './support-article-details.component.html',\n styleUrls: ['./support-article-details.component.scss'],\n providers: [SupportArticleStateService],\n})\nexport class SupportArticleDetailsComponent {\n @Input({ required: true }) selectedArticleId!: string;\n @Input() readMode: boolean = true;\n @Output() onClose = new EventEmitter();\n @Output() onReorder = new EventEmitter();\n\n stickyComponentsToolbar: boolean = false;\n\n constructor(public hostRef: ElementRef, public state: SupportArticleStateService) {}\n\n ngOnInit(): void {\n this.state.init(this.selectedArticleId);\n }\n\n handleOnClose() {\n this.onClose.emit();\n }\n\n handleOnReorder(reordering: boolean) {\n this.state.onReorder(reordering);\n this.onReorder.emit(reordering);\n }\n\n handleStickyComponentMenu(tabEntry: IntersectionObserverEntry) {\n if (tabEntry.rootBounds?.top) {\n this.stickyComponentsToolbar = tabEntry.boundingClientRect.top < tabEntry.rootBounds.top;\n } else this.stickyComponentsToolbar = false;\n }\n}\n","\n
\n
\n {{ state.article.name || '' }}\n
\n
\n \n \n
\n\n\n","import { FormControl } from '@angular/forms';\nimport { Injectable } from '@angular/core';\nimport { SupportTopicItemApiService } from 'src/app/api-client/report-api/support-topic-item-api-service';\nimport { SupportArticleUi, ViewModeEnums } from './support-content-list.component';\nimport {\n CreateSupportTopicItemCommandParams,\n DeleteSupportTopicItemCommandParams,\n MoveSupportTopicItemCommandParams,\n UpdateSupportTopicItemCommandParams,\n} from 'src/api-client/report-api.generated';\n\n@Injectable()\nexport class SupportContentListStateService {\n topicId: string = '';\n topicName: string = '';\n articles: SupportArticleUi[] = [];\n\n viewMode?: ViewModeEnums;\n editPermisson: boolean = false;\n showDeleteDialog: boolean = false;\n articleFade: boolean = false;\n loading: boolean = false;\n\n editedArticle?: SupportArticleUi;\n articleNameFormControl = new FormControl('');\n selectedArticleId?: string;\n\n constructor(private supportTopicItemApiService: SupportTopicItemApiService) {}\n\n async init(supportTopicId: string, topicName: string) {\n this.loading = true;\n this.topicId = supportTopicId;\n this.topicName = topicName;\n await this.getArticles();\n this.loading = false;\n }\n\n async getArticles() {\n const response = await this.supportTopicItemApiService.getTopicItemsByTopic(this.topicId);\n\n this.articles = response.result.map(item => ({\n id: item.id,\n name: item.name,\n lastUpdated: item.lastUpdated,\n editedBy: item.editedBy,\n }));\n }\n\n setEditPermission(editPermission: boolean) {\n this.editPermisson = editPermission;\n }\n\n create() {\n this.viewMode = ViewModeEnums.Create;\n }\n\n async submitCreate() {\n this.viewMode = undefined;\n if (this.articleNameFormControl.value && this.editPermisson) {\n await this.supportTopicItemApiService.createTopicItem(\n new CreateSupportTopicItemCommandParams({\n supportTopicId: this.topicId,\n name: this.articleNameFormControl.value,\n })\n );\n this.articleNameFormControl.setValue('');\n this.getArticles();\n }\n }\n\n cancelCreate() {\n this.viewMode = undefined;\n this.articleNameFormControl.setValue('');\n }\n\n selectArticle(articleId: string) {\n this.selectedArticleId = articleId;\n }\n\n onDetailsReorder(reordering: boolean) {\n this.articleFade = reordering;\n }\n\n editArticle(article: SupportArticleUi) {\n if (this.editPermisson) {\n this.viewMode = ViewModeEnums.Edit;\n this.articleNameFormControl.setValue(article.name);\n this.articleNameFormControl.markAsDirty();\n\n this.editedArticle = { ...article };\n }\n }\n\n async submitEdit() {\n if (!this.editedArticle || !this.articleNameFormControl.value) {\n throw Error('Edited indicator has to be set.');\n }\n\n if (this.editedArticle.name !== this.articleNameFormControl.value && this.editPermisson) {\n await this.supportTopicItemApiService.updateTopicItem(\n new UpdateSupportTopicItemCommandParams({\n supportTopicItemId: this.editedArticle?.id,\n name: this.articleNameFormControl.value,\n })\n );\n this.getArticles();\n }\n }\n\n clearSelection() {\n this.viewMode = undefined;\n this.editedArticle = undefined;\n this.articleNameFormControl.setValue('');\n }\n\n closeSelectedArticle() {\n this.selectedArticleId = undefined;\n }\n\n showDelete() {\n this.showDeleteDialog = true;\n }\n\n closeDelete() {\n this.showDeleteDialog = false;\n }\n\n async deleteArticle() {\n this.closeDelete();\n if (this.editPermisson && this.selectedArticleId) {\n await this.supportTopicItemApiService.deleteTopicItem(\n new DeleteSupportTopicItemCommandParams({ supportTopicItemId: this.selectedArticleId })\n );\n this.closeSelectedArticle();\n this.getArticles();\n }\n }\n\n async moveArticleItem(topicItemId: string, prevIndex: number, newIndex: number) {\n this.loading = true;\n\n if (!this.topicId) {\n throw Error('Support topic data has to be fetch before you use try set a topic details.');\n }\n\n const response = await this.supportTopicItemApiService.moveTopicItem(\n new MoveSupportTopicItemCommandParams({\n supportTopicId: this.topicId,\n supportTopicItemId: topicItemId,\n prevIndex: prevIndex,\n newIndex: newIndex,\n })\n );\n\n if (!response.success) {\n console.error(response.message);\n }\n this.loading = false;\n }\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { Permission } from 'src/api-client/report-api.generated';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { IMenuItem } from 'src/app/shared/ui/context-menu/context-menu.component';\nimport { SupportPageStateService } from '../support-page-state.service';\nimport { SupportContentListStateService } from './support-content-list-state.service';\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\n\nexport interface SupportArticleUi {\n id: string;\n name: string;\n lastUpdated: Date;\n editedBy: string;\n}\n\nexport enum ViewModeEnums {\n Read,\n Create,\n Edit,\n}\n\n@Component({\n selector: 'esg-support-content-list',\n templateUrl: './support-content-list.component.html',\n styleUrls: ['./support-content-list.component.scss'],\n})\nexport class SupportContentListComponent implements OnInit, OnDestroy {\n private topicSub?: Subscription;\n private articleSub?: Subscription;\n private userInfoSub?: Subscription;\n ViewModes = ViewModeEnums;\n\n removeArticleMessage = 'Once you delete the article\\nthere is no turning back.';\n\n constructor(\n private parentState: SupportPageStateService,\n private route: ActivatedRoute,\n private router: Router,\n private appInfo: AppInfoService,\n public state: SupportContentListStateService\n ) {}\n\n ngOnInit(): void {\n this.topicSub = this.route.params.subscribe(params => {\n const topicId = params['topicId'];\n if (topicId) {\n const topicName = this.parentState.topics.find(topic => topic.id === topicId)?.name;\n this.state.init(topicId, topicName || '');\n } else if (this.parentState.topics.length) {\n this.router.navigate(['/support', this.parentState.topics[0].id]);\n }\n });\n this.articleSub = this.route.fragment.subscribe(f => {\n f && this.state.selectArticle(f);\n });\n this.userInfoSub = this.appInfo.userInfo$.subscribe(userInfo => {\n if (userInfo) {\n this.state.setEditPermission(\n this.appInfo.hasPermission(Permission.Support_Create) &&\n this.appInfo.hasPermission(Permission.Support_Update) &&\n this.appInfo.hasPermission(Permission.Support_Delete)\n );\n }\n });\n }\n\n drop(event: CdkDragDrop) {\n if (event.previousIndex !== event.currentIndex) {\n var supportTopicItemId = this.state.articles[event.previousIndex].id || '';\n moveItemInArray(this.state.articles, event.previousIndex, event.currentIndex);\n\n this.state.moveArticleItem(supportTopicItemId, event.previousIndex, event.currentIndex);\n }\n }\n\n userMenuProvider = (): IMenuItem[] =>\n this.state.editPermisson\n ? [\n {\n id: 'delete',\n label: 'Delete',\n onClick: () => this.handleDelete(),\n disabled: false,\n },\n ]\n : [];\n\n handleClickCreate(event: Event) {\n event.stopPropagation();\n this.state.create();\n }\n\n async handleSubmitCreate() {\n await this.state.submitCreate();\n this.parentState.getSupportTopics();\n }\n\n handleCancelCreate() {\n this.state.cancelCreate();\n }\n\n handleEditArticle(article: SupportArticleUi) {\n this.state.editArticle(article);\n }\n\n handleSelectArticle(articleId: string) {\n this.router.navigate(['/support', this.state.topicId], { fragment: articleId });\n this.state.selectArticle(articleId);\n }\n\n handleCloseSelectedArticle() {\n this.router.navigate(['/support', this.state.topicId]);\n this.state.closeSelectedArticle();\n }\n\n handleCancelEdit() {\n this.state.clearSelection();\n }\n\n async handleSubmitEdit() {\n await this.state.submitEdit();\n this.state.clearSelection();\n }\n\n handleDelete() {\n this.state.showDelete();\n }\n\n handleCancelDelete() {\n this.state.closeDelete();\n }\n\n async handleDeleteSubmit() {\n await this.state.deleteArticle();\n this.parentState.getSupportTopics();\n this.router.navigate(['/support', this.state.topicId]);\n }\n\n ngOnDestroy() {\n this.topicSub?.unsubscribe();\n this.articleSub?.unsubscribe();\n this.userInfoSub?.unsubscribe();\n }\n}\n","\n {{ state.topicName }}\n\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
CONTENTLAST EDITEDEDITED BY
\n {{ item.name }}\n \n \n
\n \n \n {{ item.name }}\n \n {{ item.lastUpdated | date }}\n \n {{ item.editedBy }}\n \n \n
\n \n \n \n
\n \n \n \n
\n \n\n \n \n \n\n \n
\n","import { Injectable } from '@angular/core';\nimport { SupportTopicApiService } from 'src/app/api-client/report-api/support-topic-api-service';\nimport { SupportTopicUi } from './support-page.component';\n\n@Injectable()\nexport class SupportPageStateService {\n topics: SupportTopicUi[] = [];\n selectedTopic?: string;\n initialized: boolean = false;\n\n constructor(private supportTopicApiService: SupportTopicApiService) {}\n\n async init() {\n this.initialized = false;\n await this.getSupportTopics();\n this.initialized = true;\n }\n\n async getSupportTopics() {\n const topicResponse = await this.supportTopicApiService.all();\n this.topics = topicResponse.result.map(topic => ({\n id: topic.id,\n name: topic.name,\n count: topic.name === 'Tutorials' ? 4 : topic.topicItemIds.length,\n }));\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { SupportContentListStateService } from './support-content-list/support-content-list-state.service';\nimport { SupportPageStateService } from './support-page-state.service';\n\nexport interface SupportTopicUi {\n id: string;\n name: string;\n count: number;\n}\n\n@Component({\n selector: 'esg-support-page',\n templateUrl: './support-page.component.html',\n styleUrls: ['./support-page.component.scss'],\n providers: [SupportPageStateService, SupportContentListStateService],\n})\nexport class SupportPageComponent implements OnInit {\n constructor(public state: SupportPageStateService, public appInfoState: AppInfoService) {}\n\n ngOnInit(): void {\n this.state.init();\n }\n}\n","
\n \n Support\n
\n
\n \n
\n {{ topic.name }}\n ({{ topic.count }})\n
\n \n
\n \n
\n
\n
\n \n
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SupportPageComponent } from './support-page.component';\nimport { RouterModule } from '@angular/router';\nimport { AppLayoutComponent } from 'src/app/app-layout/app-layout.component';\nimport { MsalGuard } from '@azure/msal-angular';\nimport { SupportContentListComponent } from './support-content-list/support-content-list.component';\nimport { TableModule } from 'src/app/shared/table/table.module';\nimport { UiModule } from 'src/app/shared/ui/ui.module';\nimport { DirectiveModule } from 'src/app/shared/directives/directive.module';\nimport { SupportArticleDetailsComponent } from './support-content-list/support-article-details/support-article-details.component';\nimport { ContentModule } from 'src/app/content/content.module';\nimport { SharedComponentsModule } from 'src/app/shared/components/shared-components.module';\nimport { TutorialsComponent } from './tutorials/tutorials.component';\nimport { TutorialDialogComponent } from './tutorials/tutorial-dialog/tutorial-dialog.component';\n\n@NgModule({\n declarations: [\n SupportPageComponent,\n SupportContentListComponent,\n SupportArticleDetailsComponent,\n TutorialsComponent,\n TutorialDialogComponent,\n ],\n imports: [\n CommonModule,\n TableModule,\n UiModule,\n SharedComponentsModule,\n DirectiveModule,\n ContentModule,\n RouterModule.forChild([\n {\n path: `support`,\n component: AppLayoutComponent,\n children: [\n {\n path: ``,\n component: SupportPageComponent,\n children: [\n {\n path: ``,\n component: SupportContentListComponent,\n },\n {\n path: 'tutorials',\n component: TutorialsComponent,\n },\n {\n path: `:topicId`,\n component: SupportContentListComponent,\n },\n ],\n },\n ],\n canActivate: [MsalGuard],\n },\n ]),\n ],\n})\nexport class SupportModule {}\n","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { TutorialUi } from '../tutorials.component';\n\n@Component({\n selector: 'esg-tutorial-dialog',\n templateUrl: './tutorial-dialog.component.html',\n styleUrl: './tutorial-dialog.component.scss',\n})\nexport class TutorialDialogComponent {\n @Input() tutorial!: TutorialUi;\n @Output() onClose = new EventEmitter();\n\n @ViewChild('video') video!: ElementRef;\n\n isPlayingVideo = false;\n isVideoLoaded = false;\n\n get trustedVideoSrc(): SafeResourceUrl {\n return this.domSanitizer.bypassSecurityTrustResourceUrl(this.tutorial.videoSrc);\n }\n\n get trustedImageSrc(): SafeResourceUrl {\n return this.domSanitizer.bypassSecurityTrustResourceUrl(this.tutorial.thumbnailSrc);\n }\n\n constructor(private domSanitizer: DomSanitizer) {}\n\n ngAfterViewInit(): void {\n this.video.nativeElement.addEventListener('loadedmetadata', () => this.videoIsLoaded());\n }\n\n handleClose() {\n this.onClose.emit();\n }\n\n videoIsLoaded() {\n this.isVideoLoaded = true;\n this.video.nativeElement.play();\n this.isPlayingVideo = true;\n }\n\n handleVideoClick(): void {\n if (!this.isVideoLoaded) return;\n\n if (this.isPlayingVideo) {\n this.video.nativeElement.pause();\n this.isPlayingVideo = false;\n } else {\n this.video.nativeElement.play();\n this.isPlayingVideo = true;\n }\n }\n\n ngOnDestroy() {\n this.video.nativeElement.removeEventListener('loadedmetadata', () => this.videoIsLoaded());\n }\n}\n","\n
\n \n \n\n \n \n
\n
\n
\n
\n","import { Component } from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\n\nexport interface TutorialUi {\n title: string;\n description: string;\n thumbnailSrc: string;\n videoSrc: string;\n}\n\n@Component({\n selector: 'esg-tutorials',\n templateUrl: './tutorials.component.html',\n styleUrl: './tutorials.component.scss',\n})\nexport class TutorialsComponent {\n tutorials: TutorialUi[] = [\n {\n title: 'Basic Overview',\n videoSrc: 'https://esgreportdevblobstorage.blob.core.windows.net/videos/1-General-master-720.mp4',\n thumbnailSrc: 'https://esgreportdevblobstorage.blob.core.windows.net/videos/1-General-master-720-thumbnail.png',\n description: 'Get a basic overview of the ESG Application',\n },\n {\n title: 'Assets',\n videoSrc: 'https://esgreportdevblobstorage.blob.core.windows.net/videos/2-Asset-master-720.mp4',\n thumbnailSrc: 'https://esgreportdevblobstorage.blob.core.windows.net/videos/2-Asset-master-720-thumbnail.png',\n description: 'Get an overview of the asset feature',\n },\n {\n title: 'Raw Data',\n videoSrc: 'https://esgreportdevblobstorage.blob.core.windows.net/videos/3-Records-master-720.mp4',\n thumbnailSrc: 'https://esgreportdevblobstorage.blob.core.windows.net/videos/3-Records-master-720-thumbnail.png',\n description: 'Get an overview of how to add raw data records',\n },\n {\n title: 'Reports',\n videoSrc: 'https://esgreportdevblobstorage.blob.core.windows.net/videos/4-Report-master-720.mp4',\n thumbnailSrc: 'https://esgreportdevblobstorage.blob.core.windows.net/videos/4-Report-master-720-thumbnail.png',\n description: 'Get an overview of the report tools',\n },\n ];\n\n selectedTutorial?: TutorialUi = undefined;\n\n constructor(private domSanitizer: DomSanitizer) {}\n\n handleOnVideoClick(selectedTutorial: TutorialUi) {\n this.selectedTutorial = selectedTutorial;\n }\n\n getTrustedImageSrc(thumbnailSrc: string): SafeResourceUrl {\n return this.domSanitizer.bypassSecurityTrustResourceUrl(thumbnailSrc);\n }\n\n handleOnDialogClose() {\n this.selectedTutorial = undefined;\n }\n}\n","

Tutorials

\n\n
\n
\n
\n \n \n
\n
\n {{ tutorial.title }}\n {{ tutorial.description }}\n
\n
\n\n\n","export const base64ToBlob = async (base64Data: string) => {\n const base64Response = await fetch(`data:image/jpeg;base64,${base64Data}`);\n const blob = await base64Response.blob();\n return blob;\n};\n\nexport function arrayBufferToBase64(buffer: ArrayBuffer): string {\n let binary = '';\n const bytes = new Uint8Array(buffer);\n const len = bytes.byteLength;\n for (let i = 0; i < len; i++) {\n binary += String.fromCharCode(bytes[i]);\n }\n return btoa(binary);\n}\n","import { PdfWritingSystem } from './../../api-client/report-api.generated';\nimport { TFontDictionary } from 'pdfmake/interfaces';\nimport { arrayBufferToBase64 } from './converters';\n\ninterface TypographyInfo {\n sTypoAscender: number;\n sTypoDescender: number;\n unitsPerEm: number;\n}\n\nexport enum FontTypes {\n Regular = 'Regular',\n SemiBold = 'SemiBold',\n Light = 'Light',\n Arial = 'Arial',\n CourierNew = 'CourierNew',\n Georgia = 'Georgia',\n LucidaSansUnicode = 'LucidaSansUnicode',\n Tahoma = 'Tahoma',\n TimesNewRoman = 'TimesNewRoman',\n TrebuchetMS = 'TrebuchetMS',\n Verdana = 'Verdana',\n}\n\n// Values needed for calculating correct lineheight in pdfMake\nconst fontValues: Record = {\n [FontTypes.Regular]: {\n sTypoAscender: 1024,\n sTypoDescender: -400,\n unitsPerEm: 1000,\n },\n [FontTypes.SemiBold]: {\n sTypoAscender: 1024,\n sTypoDescender: -400,\n unitsPerEm: 1000,\n },\n [FontTypes.Light]: {\n sTypoAscender: 1024,\n sTypoDescender: -400,\n unitsPerEm: 1000,\n },\n};\n\nexport function fixLineHeight(lineHeight: number, font: string = 'Regular'): number {\n const fontTypographyInfo = fontValues[font];\n if (!fontTypographyInfo) {\n throw new Error('Missing Typography info for font: ' + font);\n }\n const { sTypoAscender, sTypoDescender, unitsPerEm } = fontTypographyInfo;\n const ascender = sTypoAscender / unitsPerEm;\n const descender = sTypoDescender / unitsPerEm;\n return lineHeight / (ascender - descender);\n}\n\nexport async function getFontBase64(fontPath: string): Promise<{ [file: string]: string }> {\n const response = await fetch(fontPath);\n const fontData = await response.arrayBuffer();\n const base64Font = arrayBufferToBase64(fontData);\n const vfs: { [file: string]: string } = {\n [fontPath]: base64Font,\n };\n return vfs;\n}\n\nexport const fontsFactory =\n (appBaseUrl: string) =>\n (pdfWritingSystem: PdfWritingSystem): TFontDictionary => {\n const availableFonts: { [key: string]: TFontDictionary } = {\n [PdfWritingSystem.English]: {\n [FontTypes.Regular]: {\n normal: `${appBaseUrl}/assets/fonts/SourceSans3-Regular.ttf`,\n bold: `${appBaseUrl}/assets/fonts/SourceSans3-Bold.ttf`,\n italics: `${appBaseUrl}/assets/fonts/SourceSans3-Italic.ttf`,\n bolditalics: `${appBaseUrl}/assets/fonts/SourceSans3-BoldItalic.ttf`,\n },\n [FontTypes.SemiBold]: {\n normal: `${appBaseUrl}/assets/fonts/SourceSans3-SemiBold.ttf`,\n bold: `${appBaseUrl}/assets/fonts/SourceSans3-SemiBold.ttf`,\n italics: `${appBaseUrl}/assets/fonts/SourceSans3-SemiBoldItalic.ttf`,\n bolditalics: `${appBaseUrl}/assets/fonts/SourceSans3-SemiBoldItalic.ttf`,\n },\n [FontTypes.Light]: {\n normal: `${appBaseUrl}/assets/fonts/SourceSans3-Light.ttf`,\n bold: `${appBaseUrl}/assets/fonts/SourceSans3-Light.ttf`,\n italics: `${appBaseUrl}/assets/fonts/SourceSans3-LightItalic.ttf`,\n bolditalics: `${appBaseUrl}/assets/fonts/SourceSans3-LightItalic.ttf`,\n },\n [FontTypes.Arial]: {\n normal: `${appBaseUrl}/assets/fonts/Arial-Regular.ttf`,\n bold: `${appBaseUrl}/assets/fonts/Arial-Bold.ttf`,\n italics: `${appBaseUrl}/assets/fonts/Arial-Italic.ttf`,\n bolditalics: `${appBaseUrl}/assets/fonts/Arial-BoldItalic.ttf`,\n },\n [FontTypes.CourierNew]: {\n normal: `${appBaseUrl}/assets/fonts/CourierNew-Regular.ttf`,\n bold: `${appBaseUrl}/assets/fonts/CourierNew-Bold.ttf`,\n italics: `${appBaseUrl}/assets/fonts/CourierNew-Italic.ttf`,\n bolditalics: `${appBaseUrl}/assets/fonts/CourierNew-BoldItalic.ttf`,\n },\n [FontTypes.Georgia]: {\n normal: `${appBaseUrl}/assets/fonts/Georgia-Regular.ttf`,\n bold: `${appBaseUrl}/assets/fonts/Georgia-Bold.ttf`,\n italics: `${appBaseUrl}/assets/fonts/Georgia-Italic.ttf`,\n bolditalics: `${appBaseUrl}/assets/fonts/Georgia-BoldItalic.ttf`,\n },\n [FontTypes.LucidaSansUnicode]: {\n normal: `${appBaseUrl}/assets/fonts/LucidaSansUnicode-Regular.ttf`,\n bold: `${appBaseUrl}/assets/fonts/LucidaSansUnicode-Bold.ttf`,\n italics: `${appBaseUrl}/assets/fonts/LucidaSansUnicode-Italic.ttf`,\n bolditalics: `${appBaseUrl}/assets/fonts/LucidaSansUnicode-BoldItalic.ttf`,\n },\n [FontTypes.Tahoma]: {\n normal: `${appBaseUrl}/assets/fonts/Tahoma-Regular.ttf`,\n bold: `${appBaseUrl}/assets/fonts/Tahoma-Bold.ttf`,\n italics: `${appBaseUrl}/assets/fonts/Tahoma-Italic.ttf`,\n bolditalics: `${appBaseUrl}/assets/fonts/Tahoma-BoldItalic.ttf`,\n },\n [FontTypes.TimesNewRoman]: {\n normal: `${appBaseUrl}/assets/fonts/TimesNewRoman-Regular.ttf`,\n bold: `${appBaseUrl}/assets/fonts/TimesNewRoman-Bold.ttf`,\n italics: `${appBaseUrl}/assets/fonts/TimesNewRoman-Italic.ttf`,\n bolditalics: `${appBaseUrl}/assets/fonts/TimesNewRoman-BoldItalic.ttf`,\n },\n [FontTypes.TrebuchetMS]: {\n normal: `${appBaseUrl}/assets/fonts/TrebuchetMS-Regular.ttf`,\n bold: `${appBaseUrl}/assets/fonts/TrebuchetMS-Bold.ttf`,\n italics: `${appBaseUrl}/assets/fonts/TrebuchetMS-Italic.ttf`,\n bolditalics: `${appBaseUrl}/assets/fonts/TrebuchetMS-BoldItalic.ttf`,\n },\n [FontTypes.Verdana]: {\n normal: `${appBaseUrl}/assets/fonts/Verdana-Regular.ttf`,\n bold: `${appBaseUrl}/assets/fonts/Verdana-Bold.ttf`,\n italics: `${appBaseUrl}/assets/fonts/Verdana-Italic.ttf`,\n bolditalics: `${appBaseUrl}/assets/fonts/Verdana-BoldItalic.ttf`,\n },\n },\n [PdfWritingSystem.Chinese]: {\n [FontTypes.Regular]: {\n normal: `${appBaseUrl}/assets/fonts/NotoSansSC-Regular.otf`,\n bold: `${appBaseUrl}/assets/fonts/NotoSansSC-Bold.otf`,\n italics: `${appBaseUrl}/assets/fonts/NotoSansSC-Regular.otf`,\n bolditalics: `${appBaseUrl}/assets/fonts/NotoSansSC-Regular.otf`,\n },\n [FontTypes.SemiBold]: {\n normal: `${appBaseUrl}/assets/fonts/NotoSansSC-Regular.otf`,\n bold: `${appBaseUrl}/assets/fonts/NotoSansSC-Bold.otf`,\n italics: `${appBaseUrl}/assets/fonts/NotoSansSC-Regular.otf`,\n bolditalics: `${appBaseUrl}/assets/fonts/NotoSansSC-Regular.otf`,\n },\n [FontTypes.Light]: {\n normal: `${appBaseUrl}/assets/fonts/NotoSansSC-Regular.otf`,\n bold: `${appBaseUrl}/assets/fonts/NotoSansSC-Bold.otf`,\n italics: `${appBaseUrl}/assets/fonts/NotoSansSC-Regular.otf`,\n bolditalics: `${appBaseUrl}/assets/fonts/NotoSansSC-Regular.otf`,\n },\n },\n [PdfWritingSystem.Japanese]: {\n [FontTypes.Regular]: {\n normal: `${appBaseUrl}/assets/fonts/NotoSansJP-Regular.otf`,\n bold: `${appBaseUrl}/assets/fonts/NotoSansJP-Bold.otf`,\n italics: `${appBaseUrl}/assets/fonts/NotoSansJP-Regular.otf`,\n bolditalics: `${appBaseUrl}/assets/fonts/NotoSansJP-Regular.otf`,\n },\n [FontTypes.SemiBold]: {\n normal: `${appBaseUrl}/assets/fonts/NotoSansJP-Regular.otf`,\n bold: `${appBaseUrl}/assets/fonts/NotoSansJP-Bold.otf`,\n italics: `${appBaseUrl}/assets/fonts/NotoSansJP-Regular.otf`,\n bolditalics: `${appBaseUrl}/assets/fonts/NotoSansJP-Regular.otf`,\n },\n [FontTypes.Light]: {\n normal: `${appBaseUrl}/assets/fonts/NotoSansJP-Regular.otf`,\n bold: `${appBaseUrl}/assets/fonts/NotoSansJP-Bold.otf`,\n italics: `${appBaseUrl}/assets/fonts/NotoSansJP-Regular.otf`,\n bolditalics: `${appBaseUrl}/assets/fonts/NotoSansJP-Regular.otf`,\n },\n },\n [PdfWritingSystem.Korean]: {\n [FontTypes.Regular]: {\n normal: `${appBaseUrl}/assets/fonts/NotoSansKR-Regular.otf`,\n bold: `${appBaseUrl}/assets/fonts/NotoSansKR-Bold.otf`,\n italics: `${appBaseUrl}/assets/fonts/NotoSansKR-Regular.otf`,\n bolditalics: `${appBaseUrl}/assets/fonts/NotoSansKR-Regular.otf`,\n },\n [FontTypes.SemiBold]: {\n normal: `${appBaseUrl}/assets/fonts/NotoSansKR-Regular.otf`,\n bold: `${appBaseUrl}/assets/fonts/NotoSansKR-Bold.otf`,\n italics: `${appBaseUrl}/assets/fonts/NotoSansKR-Regular.otf`,\n bolditalics: `${appBaseUrl}/assets/fonts/NotoSansKR-Regular.otf`,\n },\n [FontTypes.Light]: {\n normal: `${appBaseUrl}/assets/fonts/NotoSansKR-Regular.otf`,\n bold: `${appBaseUrl}/assets/fonts/NotoSansKR-Bold.otf`,\n italics: `${appBaseUrl}/assets/fonts/NotoSansKR-Regular.otf`,\n bolditalics: `${appBaseUrl}/assets/fonts/NotoSansKR-Regular.otf`,\n },\n },\n [PdfWritingSystem.Thai]: {\n [FontTypes.Regular]: {\n normal: `${appBaseUrl}/assets/fonts/NotoSansThai-Regular.ttf`,\n bold: `${appBaseUrl}/assets/fonts/NotoSansThai-Bold.ttf`,\n italics: `${appBaseUrl}/assets/fonts/NotoSansThai-Regular.ttf`,\n bolditalics: `${appBaseUrl}/assets/fonts/NotoSansThai-Regular.ttf`,\n },\n [FontTypes.SemiBold]: {\n normal: `${appBaseUrl}/assets/fonts/NotoSansThai-Regular.ttf`,\n bold: `${appBaseUrl}/assets/fonts/NotoSansThai-Bold.ttf`,\n italics: `${appBaseUrl}/assets/fonts/NotoSansThai-Regular.ttf`,\n bolditalics: `${appBaseUrl}/assets/fonts/NotoSansThai-Regular.ttf`,\n },\n [FontTypes.Light]: {\n normal: `${appBaseUrl}/assets/fonts/NotoSansThai-Regular.ttf`,\n bold: `${appBaseUrl}/assets/fonts/NotoSansThai-Bold.ttf`,\n italics: `${appBaseUrl}/assets/fonts/NotoSansThai-Regular.ttf`,\n bolditalics: `${appBaseUrl}/assets/fonts/NotoSansThai-Regular.ttf`,\n },\n },\n };\n\n return availableFonts[pdfWritingSystem] || availableFonts[PdfWritingSystem.English];\n };\n","import * as pdfMake from 'pdfmake/build/pdfmake';\nimport { Content, TDocumentDefinitions, TFontDictionary } from 'pdfmake/interfaces';\nimport { getFontBase64 } from './fonts';\n\nexport class PdfGenerationError extends Error {\n constructor(public id: string, public message: string) {\n super(message);\n }\n}\n\nexport async function generateVfs(fonts: TFontDictionary): Promise<{ [file: string]: string }> {\n return Object.assign(\n {},\n ...(await Promise.all(\n Object.values(fonts).flatMap(fontStyles =>\n Object.values(fontStyles).map(async fontPath => {\n return getFontBase64(fontPath);\n })\n )\n ))\n );\n}\n\nexport async function generateReport(\n definition: TDocumentDefinitions,\n fonts: TFontDictionary,\n vfs: { [file: string]: string }\n): Promise {\n return new Promise(async (resolve, reject) => {\n try {\n const pdfGenerator = pdfMake.createPdf(definition, undefined, fonts, vfs);\n\n let chunks: Uint8Array[] = [];\n const stream = pdfGenerator.getStream();\n stream.on('data', chunk => {\n chunks.push(chunk);\n });\n stream.on('end', () => {\n const result = new Uint8Array(chunks.reduce((prev, curr) => prev + curr.length, 0));\n let offset = 0;\n chunks.forEach(chunk => {\n result.set(chunk, offset);\n offset += chunk.length;\n });\n const objectUrl = URL.createObjectURL(new Blob([result], { type: 'application/pdf' }));\n resolve(objectUrl);\n });\n stream.on('error', error => {\n reject(error);\n });\n stream.end();\n } catch (e) {\n reject(e);\n }\n });\n}\n\nexport function throwErrorIfPdfDefinitionNotValid(\n contentId: string,\n definition: TDocumentDefinitions,\n fonts: TFontDictionary,\n vfs: { [file: string]: string }\n) {\n try {\n pdfMake.createPdf(definition, undefined, fonts, vfs).getStream();\n } catch (e) {\n throw new PdfGenerationError(contentId, `Error in ${contentId}. Error: ${e}`);\n }\n}\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { AppConfigurationService } from 'src/app/core/app-configuration.service';\nimport { AppInfoService } from 'src/app/core/app-info.service';\nimport { MainTopicFeedStateService } from '../pages/main-topic-feed/main-topic-feed-state.service';\nimport { ReportPreviewStateService } from '../report-preview-state.service';\nimport { BreakpointObserver } from '@angular/cdk/layout';\n\n@Component({\n selector: 'esg-preview-layout',\n templateUrl: './preview-layout.component.html',\n styleUrls: ['./preview-layout.component.scss'],\n})\nexport class PreviewLayoutComponent implements OnInit {\n @Input() showShareButton = true;\n @Output() onShare = new EventEmitter();\n brandColor: string | undefined = undefined;\n tabObserverRootMargin = '-60px';\n\n get coverPhotoBackground() {\n return this.reportState.coverPhoto\n ? 'linear-gradient(0deg, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url(' +\n this.reportState.coverPhoto +\n ') no-repeat'\n : '#444444';\n }\n\n @ViewChild('tabs') tabs!: ElementRef;\n\n constructor(\n private breakpointObserver: BreakpointObserver,\n public appSettings: AppConfigurationService,\n public appInfoState: AppInfoService,\n public reportState: ReportPreviewStateService,\n public feedState: MainTopicFeedStateService\n ) {}\n\n ngOnInit(): void {\n this.breakpointObserver\n .observe([\n this.reportState.breakpointEnum.WideDesktop,\n this.reportState.breakpointEnum.NarrowDesktop,\n this.reportState.breakpointEnum.Tablet,\n this.reportState.breakpointEnum.Mobile,\n ])\n .subscribe(result => {\n if (result.matches) {\n this.reportState.setBreakPoint(\n Object.values(this.reportState.breakpointEnum).find(breakpoint => result.breakpoints[breakpoint])\n );\n }\n });\n }\n\n handleOnTabClick() {\n this.feedState.resetTabs();\n }\n}\n","
\n \n
\n \n \n
\n \n
\n \n
\n
\n {{ reportState.organizationName }}\n {{ reportState.reportName }}\n
\n \n \n
\n
\n \n \n \n \n \n \n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { Breakpoint } from 'src/app/static-data/breakpoints';\n\n@Component({\n selector: '[esg-preview-navbar]',\n templateUrl: './preview-navbar.component.html',\n host: {\n '[class.has-content]': '!isMobile && hasContent',\n '[class.hide]': 'showOnlyContent && !hasContent',\n '[class.mobile]': 'isMobile',\n },\n styleUrls: ['./preview-navbar.component.scss'],\n})\nexport class PreviewNavbarComponent implements OnInit {\n @Input() showShareButton = true;\n @Input() breakpoint: Breakpoint = Breakpoint.WideDesktop;\n @Input() showDetails: boolean = true;\n @Input() hasContent: boolean = false;\n @Input() open: boolean = false;\n @Input() organizationName: string = '';\n @Input() organizationLogoSquare: string = '';\n @Input() reportName: string = '';\n @Output() onMenuClick = new EventEmitter();\n @Output() onCopyLink = new EventEmitter();\n\n get isMobile() {\n return this.breakpoint === Breakpoint.Mobile;\n }\n\n get isTablet() {\n return this.breakpoint === Breakpoint.Tablet;\n }\n\n get showOnlyContent() {\n return this.breakpoint === Breakpoint.NarrowDesktop || this.breakpoint === Breakpoint.Tablet;\n }\n\n constructor() {}\n\n ngOnInit(): void {}\n\n handleOnCopyLink() {\n this.onCopyLink.emit();\n }\n\n handleOnMenuClick() {\n this.onMenuClick.emit();\n }\n}\n","
\n \"logo\"\n
\n {{ organizationName }}\n |\n {{ reportName }}\n
\n
\n
\n
\n \n \n
\n","import { Injectable } from '@angular/core';\nimport { numberToFormattedNumberString } from '../../../shared/utils/number-converters';\nimport { MainLevel } from '../../report-preview-state.service';\n\ninterface KeyFigureRowsUi {\n indicator?: string;\n references?: string;\n rows: KeyFigureRowUi[];\n}\n\ninterface KeyFigureRowUi {\n label?: string | undefined;\n unit?: string | undefined;\n type?: KeyFigureInputType;\n previous?: string | undefined;\n current: string | undefined;\n target?: string | undefined;\n references?: string | undefined;\n}\n\nenum KeyFigureInputType {\n Text = 'Text',\n Numeric = 'Numeric',\n}\n\nexport interface KeyFiguresTable {\n mainTopic?: string;\n keyFigures?: KeyFigureRowsUi[];\n}\n\n@Injectable()\nexport class KeyFiguresPreviewStateService {\n keyFiguresList: KeyFiguresTable[] = [];\n\n constructor() { }\n\n setKeyFigures(mainLevels: (MainLevel | undefined)[]) {\n this.keyFiguresList = mainLevels?.map(mainTopic => {\n let topicItems = mainTopic?.topics?.flatMap(x => x.topicItems || []);\n let keyFigures: KeyFigureRowsUi[] = [];\n topicItems?.map(item => {\n let indicatorValues = item.dataValues?.reduce((acc: KeyFigureRowUi[], figure) => {\n if (figure.metadata.type === 'Numeric' && figure.metadata.isVisibleInReport) {\n const matchingComponents = item.components?.filter(component => {\n return component.id && figure.usedInComponentIds?.includes(component.id)\n });\n\n const visibleColumns = matchingComponents\n ? Array.from(\n new Set(\n matchingComponents.flatMap(component => {\n const content = JSON.parse(component.content);\n return content.visibleColumns || [];\n })\n )\n )\n : [];\n\n const hasTargetColumn = visibleColumns.includes('TargetValue');\n const hasCurrentColumn = visibleColumns.includes('CurrentValue');\n const hasPreviousColumn = visibleColumns.includes('PreviousValue');\n acc.push({\n label: figure.metadata.label,\n unit: figure.currentValue.unitDetails || figure.metadata.unit,\n target:\n hasTargetColumn\n ? (figure.targetValue.value || figure.targetValue.value === 0\n ? numberToFormattedNumberString(Number(figure.targetValue.value))\n : '-')\n : '-',\n current:\n hasCurrentColumn\n ? (figure.currentValue.value || figure.currentValue.value === 0\n ? numberToFormattedNumberString(Number(figure.currentValue.value))\n : '-')\n : '-',\n previous:\n hasPreviousColumn\n ? (figure.previousValue.value || figure.previousValue.value === 0\n ? numberToFormattedNumberString(Number(figure.previousValue.value))\n : '-')\n : '-',\n references: figure.referenceStandards\n });\n }\n return acc;\n }, []);\n const combinedReferences = indicatorValues?.reduce((acc, indicator) => {\n const reference = indicator.references || \"\";\n return acc ? `${acc}\\r\\n${reference}` : reference;\n }, \"\");\n indicatorValues?.length &&\n keyFigures.push({ indicator: item.name, references: combinedReferences, rows: indicatorValues });\n });\n return keyFigures && keyFigures.length > 0 ? { mainTopic: mainTopic?.name, keyFigures: keyFigures } : {};\n });\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { MainLevel, ReportPreviewStateService } from '../../report-preview-state.service';\nimport { stringToFormattedNumberString } from 'src/app/shared/utils/number-converters';\nimport { getTimeLabelFromPeriod } from 'src/app/static-data/time-labels';\nimport { KeyFiguresPreviewStateService } from './key-figures-preview-state.service';\nimport { TimePeriodType } from 'src/api-client/report-api.generated';\n\n@Component({\n selector: 'esg-key-figures',\n templateUrl: './key-figures.component.html',\n styleUrls: ['./key-figures.component.scss'],\n})\nexport class KeyFiguresComponent implements OnInit {\n getFormattedNumber = stringToFormattedNumberString;\n constructor(public reportState: ReportPreviewStateService, public state: KeyFiguresPreviewStateService) {}\n\n get isCustomPeriod() {\n return this.reportState.timePeriod?.type === TimePeriodType.Custom;\n }\n\n ngOnInit(): void {\n this.reportState.mainLevelsObservable$.subscribe((mainLevels: (MainLevel | undefined)[]) => {\n this.state.setKeyFigures(mainLevels);\n });\n }\n\n getFigureTimeLabel(shift: number) {\n if (this.reportState.timePeriod) {\n return getTimeLabelFromPeriod(this.reportState.timePeriod, shift);\n }\n return '';\n }\n}\n","
\n
\n
Key Figures {{ isCustomPeriod ? '' : getFigureTimeLabel(0) }}
\n
\n
\n
\n
UNIT
\n
{{ isCustomPeriod ? 'TARGET' : 'TARGET ' + getFigureTimeLabel(1) }}
\n
{{ isCustomPeriod ? 'CURRENT' : getFigureTimeLabel(0) }}
\n
{{ isCustomPeriod ? 'PREVIOUS' : getFigureTimeLabel(-1) }}
\n
REFERENCE
\n\n \n
\n
\n
\n
{{ getFigureTimeLabel(1) }}
\n
{{ getFigureTimeLabel(0) }}
\n
{{ getFigureTimeLabel(-1) }}
\n
\n
\n\n \n \n \n \n \n \n \n \n \n\n \n
{{ keyFigure.indicator }}
\n
\n \n
{{ value.label }}
\n
{{ value.unit | formatUnitWithUnicode }}
\n
{{ getFormattedNumber(value.target || '-', 0, 2) }}
\n
{{ getFormattedNumber(value.current || '-', 0, 2) }}
\n
{{ getFormattedNumber(value.previous || '-', 0, 2) }}
\n
\n
\n
{{ keyFigure.references }}
\n
\n
\n
\n
\n
\n
\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { TimePeriod } from 'src/api-client/report-api.generated';\nimport { ReportAppApiService } from 'src/app/api-client/report-api/app-api-service';\nimport { SectionContentViewModel } from 'src/app/shared/components/section-content-preview/section-content-preview.component';\nimport { ITabItem } from 'src/app/shared/ui/tabs/tabs.component';\nimport { IKeyfigures, MainLevel, TopicItem } from '../../report-preview-state.service';\nimport { IToCList } from '../../shared/components/table-of-contents/table-of-contents.component';\nimport {\n IndicatorContentType,\n VisibleValueColumn,\n} from 'src/app/content/content-item/indicator-content/indicator-content.component';\n\nexport interface MainTopicPreviewUi {\n id?: string;\n name?: string;\n topics: TopicPreviewUi[];\n}\n\ninterface TopicPreviewUi {\n id?: string;\n name?: string;\n indicatorViewModels: SectionContentViewModel[];\n}\n\ninterface ContentUi {\n textHtml: string;\n blobUrl: string;\n altText: string;\n title: string;\n tableConfig?: any;\n rows?: any;\n indicatorType?: IndicatorContentType;\n visibleColumns?: VisibleValueColumn[];\n keyFigures?: IKeyfigures[];\n}\n\n@Injectable()\nexport class MainTopicFeedStateService {\n reportId: string = '';\n activeTopicId: string = '';\n activeTopicItemId: string = '';\n mainTopicPreviewUiState: MainTopicPreviewUi = {\n id: '',\n name: '',\n topics: [],\n };\n topicTabs?: ITabItem[] = undefined;\n topicItemTabs?: IToCList;\n topicInitialized: boolean = false;\n\n topicPaddingTop: number = 60;\n changeContentOn: number = 500;\n observationBuffer = 1;\n\n tocRootmargin: string = '-200px 0px 0px 0px'; // fixed when top = 200px\n\n // observing top: changeContentOn, height: observationBuffer\n get contentRootmargin() {\n return (\n -this.changeContentOn +\n 'px 0px ' +\n (this.changeContentOn + this.observationBuffer - window.innerHeight) +\n 'px 0px'\n );\n }\n\n fixedToc: boolean = false;\n\n constructor(private router: Router, private appApiService: ReportAppApiService) {}\n\n initMainlevel(reportId: string, mainLevel: MainLevel, timePeriod?: TimePeriod) {\n this.reportId = reportId;\n this.topicTabs = [];\n this.mainTopicPreviewUiState = {\n id: mainLevel.id,\n name: mainLevel.name,\n topics:\n mainLevel.topics?.map(t => {\n this.topicTabs &&\n this.topicTabs.push({\n value: t.id || '',\n label: t.name,\n link: [mainLevel.id || '', t.id || ''],\n });\n return {\n id: t.id || '',\n name: t.name || '',\n indicatorViewModels:\n t.topicItems?.map(topicItem => this.mapToIndicatorViewModel(topicItem, timePeriod)) || [],\n };\n }) || [],\n };\n mainLevel?.topics?.length && mainLevel.topics[0].id && this.setTopicItemTabs(mainLevel.topics[0].id);\n }\n\n setTopicItemTabs(topicId: string, activeStart: boolean = true) {\n const topic = this.mainTopicPreviewUiState.topics?.find(topic => topic.id === topicId);\n\n if (topic) {\n this.topicItemTabs = {\n label: topic.name || '',\n items:\n topic.indicatorViewModels?.map(topicItem => ({\n value: topicItem.id || '',\n label: topicItem.name,\n link: ['./'],\n fragment: topicItem.id,\n })) || [],\n };\n this.setUrl(\n topicId,\n topic.indicatorViewModels?.length\n ? topic.indicatorViewModels[activeStart ? 0 : topic.indicatorViewModels.length - 1].id\n : undefined\n );\n }\n }\n\n resetTabs() {\n this.mainTopicPreviewUiState.id = undefined;\n this.topicTabs = undefined;\n this.topicItemTabs = undefined;\n }\n\n onTopicInit() {\n if (!this.topicInitialized) {\n this.onContentLinkClick(this.activeTopicId);\n this.topicInitialized = true;\n }\n }\n\n onContentLinkClick(id: string) {\n const element = document.getElementById(id);\n if (element) {\n element.scrollIntoView({ behavior: 'smooth' });\n }\n }\n\n setUrl(topicId: string, topicItemId?: string) {\n this.activeTopicId = topicId;\n this.activeTopicItemId = topicItemId || '';\n const urlParts = this.router.url.split('/');\n const rootPage = urlParts[1];\n this.router.navigate([`/${rootPage}`, this.reportId, this.mainTopicPreviewUiState.id, topicId], {\n fragment: topicItemId,\n queryParamsHandling: 'preserve',\n });\n }\n\n handleTopicChange(topicEntry: IntersectionObserverEntry) {\n if (!this.topicTabs?.length) return;\n\n const currentTopicIndex = this.topicTabs.findIndex(item => item.value === this.activeTopicId);\n if (topicEntry.boundingClientRect.top > this.changeContentOn && currentTopicIndex) {\n this.setTopicItemTabs(this.topicTabs[currentTopicIndex - 1].value, false);\n } else if (\n topicEntry.boundingClientRect.bottom < this.changeContentOn &&\n currentTopicIndex !== undefined &&\n currentTopicIndex < this.topicTabs.length - 1\n ) {\n this.setTopicItemTabs(this.topicTabs[currentTopicIndex + 1].value, true);\n }\n }\n\n handleTopicItemChange(topicItemEntry: IntersectionObserverEntry) {\n if (!this.topicItemTabs?.items?.length) return;\n\n const currentTopicItemIndex = this.topicItemTabs.items.findIndex(item => item.value === this.activeTopicItemId);\n if (\n topicItemEntry.boundingClientRect.top > this.changeContentOn &&\n currentTopicItemIndex &&\n currentTopicItemIndex > 0\n ) {\n this.setUrl(this.activeTopicId, this.topicItemTabs.items[currentTopicItemIndex - 1].value);\n } else if (\n topicItemEntry.boundingClientRect.bottom < this.changeContentOn &&\n currentTopicItemIndex !== undefined &&\n currentTopicItemIndex < this.topicItemTabs.items.length - 1\n ) {\n this.setUrl(this.activeTopicId, this.topicItemTabs.items[currentTopicItemIndex + 1].value);\n }\n }\n\n handleOnTocIntersection(tocItemEntry: IntersectionObserverEntry) {\n this.fixedToc = tocItemEntry.intersectionRatio === 0;\n }\n\n mapToIndicatorViewModel(indicator: TopicItem, timePeriod?: TimePeriod): SectionContentViewModel {\n let contents: ContentUi[] = [];\n indicator?.components?.forEach(c => {\n let content = c.content ? JSON.parse(c.content || '') : undefined;\n if (content) {\n let blobUrl = content.blobName ? this.appApiService.getBlobUrl(content.blobName) : '';\n const indicatorIds: string[] = content?.indicatorIds || [];\n const keyFigures = this.getOrderedIndicatorValues(indicator.dataValues || [], indicatorIds);\n contents?.push({\n textHtml: content.textHtml ? content.textHtml : '',\n blobUrl: blobUrl,\n altText: content.altText || '',\n title: c?.title || '',\n tableConfig: content.tableConfig || undefined,\n rows: content.rows || [],\n indicatorType: content.indicatorType,\n visibleColumns: content.visibleColumns,\n keyFigures: keyFigures,\n });\n }\n });\n return {\n id: indicator.id,\n name: indicator.name,\n type: indicator.type,\n timePeriod: timePeriod,\n contents: contents,\n } as SectionContentViewModel;\n }\n\n getOrderedIndicatorValues(indicatorValues: IKeyfigures[], indicatorIds: string[]): IKeyfigures[] {\n return indicatorIds.map(id => indicatorValues.find(value => value.indicatorId === id)!).filter(Boolean);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { ReportPreviewStateService } from '../../report-preview-state.service';\nimport { MainTopicFeedStateService } from './main-topic-feed-state.service';\n\n@Component({\n selector: 'esg-main-topic-feed',\n templateUrl: './main-topic-feed.component.html',\n styleUrls: ['./main-topic-feed.component.scss'],\n})\nexport class MainTopicFeedComponent implements OnInit {\n constructor(\n private route: ActivatedRoute,\n public reportState: ReportPreviewStateService,\n public state: MainTopicFeedStateService\n ) {}\n\n ngOnInit(): void {\n this.reportState.mainLevelsObservable$.subscribe(result => {\n if (result) {\n this.route.params.subscribe(params => {\n const mainLevelId = params['mainLevelId'];\n const topicId = params['topicId'];\n if (mainLevelId !== this.state.mainTopicPreviewUiState.id) {\n const mainLevel = this.reportState.mainLevels?.find(item => item.id === mainLevelId);\n if (mainLevel)\n this.state.initMainlevel(this.reportState.reportId || '', mainLevel, this.reportState.timePeriod);\n }\n if (topicId !== this.state.activeTopicId) {\n this.state.activeTopicId = topicId;\n this.state.setTopicItemTabs(topicId);\n }\n });\n\n this.route.fragment.subscribe(f => {\n this.state.activeTopicItemId = f || '';\n });\n }\n });\n }\n}\n","
\n
\n
\n \n \n \n \n {{ topic.name }}\n \n
\n \n \n
\n
\n
\n \n \n
\n
\n\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport {\n NewIndicatorTopicItemVm,\n ReportMainLevelVm,\n ReportTopicVm,\n TimePeriod,\n TopicItemType,\n TopicItemVm,\n} from 'src/api-client/report-api.generated';\nimport { ReportAppApiService } from '../api-client/report-api/app-api-service';\nimport { ReportApiService } from '../api-client/report-api/report-api-service';\nimport { SubstrateDataPreviewUi } from '../shared/components/substrate-data-preview/substrate-data-preview.component';\nimport { ITabItem } from '../shared/ui/tabs/tabs.component';\nimport { Breakpoint } from '../static-data/breakpoints';\n\nexport interface MainLevel {\n id?: string;\n name?: string | undefined;\n topics?: Topic[] | undefined;\n active: boolean;\n}\n\ninterface Topic {\n id?: string;\n mainLevelId?: string;\n name?: string | undefined;\n topicItems?: TopicItem[] | undefined;\n active: boolean;\n}\n\ninterface ITopicItem {\n id?: string;\n type?: TopicItemType;\n name?: string;\n referenceStandards?: string;\n description?: string;\n dataValues?: IKeyfigures[];\n substrateData?: SubstrateDataPreviewUi;\n components?: Component[];\n}\n\nexport interface TopicItem extends ITopicItem {\n audit?: boolean;\n active: boolean;\n}\n\nexport interface IKeyfigures {\n indicatorId: string;\n currentValue: IKeyFigureValue;\n metadata: IKeyFiguresMetaData;\n previousValue: IKeyFigureValue;\n targetValue: IKeyFigureValue;\n referenceStandards?: string;\n usedInComponentIds?: string[]\n}\n\ninterface IKeyFiguresMetaData {\n label?: string;\n type?: string;\n unit?: string;\n isVisibleInReport: boolean;\n}\n\ninterface IKeyFigureValue {\n type?: string;\n value?: string | number;\n unitDetails?: string;\n}\n\ninterface Component {\n id?: string;\n reportId?: string;\n title?: string | undefined;\n content?: any | undefined;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ReportPreviewStateService {\n showShareButton: boolean = false;\n showShareDialog: boolean = false;\n mainLevels?: MainLevel[] = [];\n public readonly mainLevelBehavior = new BehaviorSubject<(MainLevel | undefined)[]>([]);\n mainLevelsObservable$ = this.mainLevelBehavior.asObservable();\n reportId: string | undefined = '';\n reportName: string | undefined = '';\n timePeriod?: TimePeriod;\n organizationName: string | undefined = '';\n organizationLogoSquareUrl: string | undefined = '';\n coverPhoto: string | undefined = '';\n brandColor: string | undefined = '#4ad1da';\n tableHeadColor: string | undefined = '#bedde0';\n\n mainLevelId: string = '';\n\n mainTopicTabs: ITabItem[] = [{ value: 'keyFigures', link: ['key-figures'], label: 'Key Figures' }];\n isMenuOpen: boolean = false;\n stickyTabs: boolean = false;\n showNavbarDetails: boolean = false;\n\n readonly breakpointEnum = Breakpoint;\n currentBreakpoint: Breakpoint = Breakpoint.WideDesktop;\n\n get isDesktop() {\n return (\n this.currentBreakpoint === this.breakpointEnum.WideDesktop ||\n this.currentBreakpoint === this.breakpointEnum.NarrowDesktop\n );\n }\n get isWideDesktop() {\n return this.currentBreakpoint === this.breakpointEnum.WideDesktop;\n }\n get isNarrowDesktop() {\n return this.currentBreakpoint === this.breakpointEnum.NarrowDesktop;\n }\n get isTablet() {\n return this.currentBreakpoint === this.breakpointEnum.Tablet;\n }\n get isMobile() {\n return this.currentBreakpoint === this.breakpointEnum.Mobile;\n }\n get isNarrow() {\n return (\n this.currentBreakpoint === this.breakpointEnum.Tablet ||\n this.currentBreakpoint === this.breakpointEnum.NarrowDesktop\n );\n }\n\n constructor(private reportApiService: ReportApiService, private appApiService: ReportAppApiService) {}\n\n async initHTMLReport(reportId: string, token?: string) {\n if (!token) {\n this.showShareButton = true;\n }\n if (!reportId) return;\n const completeReportData = token\n ? await this.reportApiService.getCompleteTokenAuthReportById(reportId, token)\n : await this.reportApiService.getCompleteReportById(reportId);\n this.reportId = reportId;\n this.reportName = completeReportData.name;\n this.timePeriod = completeReportData.timePeriod;\n this.organizationName = completeReportData.organizationName;\n if (completeReportData.brandColor) {\n this.brandColor = completeReportData.brandColor;\n }\n if (completeReportData.tableHeadColor) {\n this.tableHeadColor = completeReportData.tableHeadColor;\n }\n if (completeReportData.organizationLogoSquare?.blobName) {\n this.organizationLogoSquareUrl = this.appApiService.getBlobUrl(\n completeReportData.organizationLogoSquare?.blobName\n );\n }\n\n if (completeReportData.coverPhoto?.blobName) {\n this.coverPhoto = this.appApiService.getBlobUrl(completeReportData.coverPhoto?.blobName);\n }\n\n this.mainLevels =\n completeReportData.mainLevels?.map(m => {\n this.mainTopicTabs.push({ value: m.name, label: m.name, link: [m.id] });\n return this.mapToMainLevel(m);\n }) || [];\n this.mainLevelBehavior.next(this.mainLevels);\n }\n\n mapToMainLevel(mainLevelData: ReportMainLevelVm) {\n const mappedTopics = mainLevelData.topics?.map(t => this.mapToTopic(t));\n const mapped: MainLevel = {\n id: mainLevelData.id,\n name: mainLevelData.name,\n topics: mappedTopics,\n active: false,\n };\n return mapped;\n }\n\n mapToTopic(topic: ReportTopicVm): Topic {\n const mappedTopicItems = topic.topicItems?.map(i => this.mapToTopicItem(i));\n const mapped: Topic = {\n id: topic.id,\n mainLevelId: topic.mainLevelId,\n name: topic.name,\n topicItems: mappedTopicItems,\n active: false,\n };\n return mapped;\n }\n\n mapToTopicItem(topicItem: TopicItemVm): TopicItem {\n if (topicItem instanceof NewIndicatorTopicItemVm) {\n const references = Array.from(\n new Set(\n topicItem.dataValues.flatMap(value => value.referenceStandards.replace(/(\\r\\n|\\n|\\r)/gm, '\\n').split('\\n'))\n )\n ).join('\\n');\n return {\n id: topicItem.id,\n name: topicItem.name,\n type: topicItem.type,\n referenceStandards: references,\n audit: false,\n dataValues: topicItem.dataValues.map(value => ({\n indicatorId: value.indicatorId,\n targetValue: value.targetValue as IKeyFigureValue,\n currentValue: value.currentValue as IKeyFigureValue,\n metadata: value.metadata,\n previousValue: value.previousValue as IKeyFigureValue,\n referenceStandards: value.referenceStandards,\n usedInComponentIds: value.usedInComponentIds,\n })),\n components: topicItem.components.filter(c => c.isVisibleInReport),\n active: false,\n };\n } else {\n return {\n id: topicItem.id,\n name: topicItem.name,\n audit: false,\n active: false,\n };\n }\n }\n\n setBreakPoint(breakpoint?: Breakpoint) {\n this.currentBreakpoint = breakpoint || Breakpoint.WideDesktop;\n }\n\n onToggleMenu() {\n this.isMenuOpen = !this.isMenuOpen;\n }\n\n handleTabsObservation(tabEntry: IntersectionObserverEntry) {\n this.stickyTabs = tabEntry.boundingClientRect.top < 0;\n const ratio = tabEntry.intersectionRatio;\n this.showNavbarDetails = ratio < 1;\n }\n\n handleShare() {\n this.showShareDialog = true;\n }\n\n handleShareDialogClose() {\n this.showShareDialog = false;\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AppConfigurationService } from '../core/app-configuration.service';\nimport { AppInfoService } from '../core/app-info.service';\nimport { KeyFiguresPreviewStateService } from './pages/key-figures/key-figures-preview-state.service';\nimport { MainTopicFeedStateService } from './pages/main-topic-feed/main-topic-feed-state.service';\nimport { ReportPreviewStateService } from './report-preview-state.service';\nimport { FormatUnitWithUnicodePipe } from '../shared/pipes/format-unit-with-unicode.pipe';\n\n@Component({\n selector: 'esg-report-preview',\n templateUrl: './report-preview.component.html',\n providers: [KeyFiguresPreviewStateService, MainTopicFeedStateService, FormatUnitWithUnicodePipe],\n})\nexport class ReportPreviewComponent implements OnInit {\n reportId!: string;\n\n constructor(\n public state: ReportPreviewStateService,\n public appSettings: AppConfigurationService,\n public appInfoState: AppInfoService,\n private route: ActivatedRoute\n ) {}\n\n ngOnInit(): void {\n this.route.params.subscribe(async params => {\n var oldReportId = this.reportId;\n this.reportId = params['id'];\n\n if (oldReportId !== this.reportId) {\n let token = this.route.snapshot.queryParams['t'];\n\n await this.state.initHTMLReport(this.reportId, token);\n }\n });\n }\n}\n","\n\n \n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { UiModule } from 'src/app/shared/ui/ui.module';\nimport { KeyFiguresComponent } from './pages/key-figures/key-figures.component';\nimport { MainTopicFeedComponent } from './pages/main-topic-feed/main-topic-feed.component';\nimport { ReportPreviewComponent } from './report-preview.component';\nimport { PreviewLayoutComponent } from './layout/preview-layout.component';\nimport { SharedComponentsModule } from '../shared/components/shared-components.module';\nimport { DynamicSeperatorComponent } from './shared/components/dynamic-seperator/dynamic-seperator.component';\nimport { DynamicTableHeaderCellComponent } from './shared/components/dynamic-table-header-cell/dynamic-table-header-cell.component';\nimport { MsalGuard } from '@azure/msal-angular';\nimport { PreviewNavbarComponent } from './layout/preview-navbar/preview-navbar.component';\nimport { TableOfContentsComponent } from './shared/components/table-of-contents/table-of-contents.component';\nimport { PreviewSideMenuComponent } from './shared/components/preview-side-menu/preview-side-menu.component';\nimport { MobileNavigationComponent } from './shared/components/mobile-navigation/mobile-navigation.component';\nimport { DirectiveModule } from '../shared/directives/directive.module';\nimport { TopicTabsComponent } from './shared/components/topic-tabs/topic-tabs.component';\nimport { FormatUnitWithUnicodePipe } from '../shared/pipes/format-unit-with-unicode.pipe';\nimport { ReportShareDialogComponent } from './report-share-dialog/report-share-dialog.component';\n\nexport const RootPathOfTheSharePage = 'share';\n\n@NgModule({\n declarations: [\n PreviewLayoutComponent,\n MainTopicFeedComponent,\n KeyFiguresComponent,\n ReportPreviewComponent,\n DynamicSeperatorComponent,\n DynamicTableHeaderCellComponent,\n PreviewNavbarComponent,\n TableOfContentsComponent,\n PreviewSideMenuComponent,\n MobileNavigationComponent,\n TopicTabsComponent,\n ReportShareDialogComponent,\n ],\n imports: [\n CommonModule,\n UiModule,\n DirectiveModule,\n SharedComponentsModule,\n FormatUnitWithUnicodePipe,\n RouterModule.forRoot([\n {\n path: 'preview/:id',\n component: ReportPreviewComponent,\n children: [\n { path: '', redirectTo: 'key-figures', pathMatch: 'full' },\n { path: 'key-figures', component: KeyFiguresComponent },\n { path: ':mainLevelId', component: MainTopicFeedComponent },\n { path: ':mainLevelId/:topicId', component: MainTopicFeedComponent },\n ],\n canActivate: [MsalGuard],\n },\n {\n path: `${RootPathOfTheSharePage}/:id`,\n component: ReportPreviewComponent,\n children: [\n { path: '', redirectTo: 'key-figures', pathMatch: 'full' },\n { path: 'key-figures', component: KeyFiguresComponent },\n { path: ':mainLevelId', component: MainTopicFeedComponent },\n { path: ':mainLevelId/:topicId', component: MainTopicFeedComponent },\n ],\n },\n ]),\n ],\n exports: [RouterModule],\n})\nexport class ReportPreviewModule {}\n","import { Injectable } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { AccessTokenTypes } from 'src/api-client/report-api.generated';\nimport { AccessTokenApiService } from 'src/app/api-client/report-api/access-token-service';\n\nexport interface ReportShareLink {\n id: string;\n name: string;\n token: string;\n url: string;\n addedBy: string;\n createdDateTime: Date;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ReportShareDialogStateService {\n reportId!: string;\n list: ReportShareLink[] = [];\n\n showCreateAccessToken = false;\n accessTokenName = new FormControl('', {\n nonNullable: true,\n validators: [Validators.required, Validators.maxLength(50)],\n });\n\n constructor(private accessTokenApi: AccessTokenApiService) {}\n\n init(reportId: string) {\n this.reportId = reportId;\n this.loadShareLinks(reportId);\n }\n\n async loadShareLinks(reportId: string) {\n const reponse = await this.accessTokenApi.getBy(AccessTokenTypes.Report, reportId);\n\n this.list = reponse.result.map(i => ({\n id: i.id,\n name: i.name,\n token: i.token,\n url: `${window.location.origin}/share/${reportId}?t=${i.token}`,\n addedBy: i.addedBy,\n createdDateTime: i.createdDateTime,\n }));\n }\n\n async createAccessToken() {\n this.showCreateAccessToken = true;\n }\n\n async cancelCreateAccessToken() {\n this.showCreateAccessToken = false;\n this.accessTokenName.reset();\n }\n\n async saveAccessToken() {\n if (!this.accessTokenName.valid) return;\n var response = await this.accessTokenApi.create(this.accessTokenName.value, AccessTokenTypes.Report, this.reportId);\n if (response.success) {\n this.loadShareLinks(this.reportId);\n }\n this.showCreateAccessToken = false;\n this.accessTokenName.reset();\n }\n\n async deleteAccessToken(id: string) {\n await this.accessTokenApi.delete(id);\n this.list = this.list.filter(x => x.id !== id);\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ReportShareDialogStateService } from './report-share-dialog-state.service';\nimport { NotificationService } from 'src/app/shared/services/notification/notification.service';\n\n@Component({\n selector: 'esg-report-share-dialog',\n templateUrl: './report-share-dialog.component.html',\n styleUrl: './report-share-dialog.component.scss',\n})\nexport class ReportShareDialogComponent implements OnInit {\n @Input({ required: true }) reportId!: string;\n @Output() onClose = new EventEmitter();\n constructor(public state: ReportShareDialogStateService, private notification: NotificationService) {}\n\n ngOnInit(): void {\n this.state.init(this.reportId);\n }\n\n copyText(text: string) {\n const textArea = document.createElement('textarea');\n textArea.value = text;\n document.body.appendChild(textArea);\n textArea.select();\n document.execCommand('Copy');\n textArea.remove();\n\n // Optional: Display some notification that the text was copied\n this.notification.showSuccess('Report URL copied!');\n }\n}\n","\n
\n
Share Report
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
DescriptionUrl
{{ item.name }}\n
\n \n {{ item.url }}\n \n \n
\n
\n Delete\n
\n
\n
\n \n \n \n Save\n \n \n Cancel\n \n
\n
\n
\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'esg-dynamic-seperator',\n template: `\n
\n `,\n styleUrls: ['./dynamic-seperator.component.scss'],\n})\nexport class DynamicSeperatorComponent implements OnInit {\n @Input() bgColor: string | undefined = '#4ad1da';\n constructor() {}\n\n ngOnInit(): void {}\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { pickTextColorBasedOnBgColor } from 'src/app/shared/utils/colors';\n\n@Component({\n selector: 'esg-dynamic-table-header-cell',\n template: `\n
\n {{ content }}\n
\n `,\n styleUrls: ['./dynamic-table-header-cell.component.scss'],\n})\nexport class DynamicTableHeaderCellComponent implements OnInit {\n @Input() content?: string | undefined = '';\n @Input() bgColor: string | undefined;\n fontColor: string | undefined = 'black';\n\n constructor() {}\n\n ngOnInit(): void {\n this.fontColor = this.bgColor ? pickTextColorBasedOnBgColor(this.bgColor) : 'black';\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { MainLevel } from 'src/app/report-preview/report-preview-state.service';\n\n@Component({\n selector: 'esg-mobile-navigation',\n templateUrl: './mobile-navigation.component.html',\n styleUrls: ['./mobile-navigation.component.scss'],\n})\nexport class MobileNavigationComponent implements OnInit {\n @Input() mainLevels?: MainLevel[] = [];\n @Output() onClose = new EventEmitter();\n\n constructor() {}\n\n ngOnInit(): void {}\n\n handleOnClose() {\n this.onClose.emit();\n }\n}\n","
\n
\n
\n Key Figures (Home Page)\n \n
\n
\n
\n
\n {{ mainLevel.name }}\n \n \n
\n\n \n
\n
\n {{ topic.name }}\n \n \n
\n\n \n \n {{ indicator.name }}\n \n
\n
\n
\n \n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ITabItem } from 'src/app/shared/ui/tabs/tabs.component';\n\n@Component({\n selector: 'esg-preview-side-menu',\n templateUrl: './preview-side-menu.component.html',\n styleUrls: ['./preview-side-menu.component.scss'],\n})\nexport class PreviewSideMenuComponent implements OnInit {\n @Input() reportName: string = '';\n @Input() tabs: ITabItem[] = [];\n @Input() brandColor: string = '#4ad1da';\n @Output() onClose = new EventEmitter();\n @Output() onTabClick = new EventEmitter();\n\n constructor() {}\n\n ngOnInit(): void {}\n\n handleOnClose() {\n this.onClose.emit();\n }\n\n handleOnTabClick() {\n this.onTabClick.emit();\n this.handleOnClose();\n }\n}\n","
\n \n
\n
\n \n
\n
\n \n
\n {{ reportName }}\n
\n \n {{ tab.label ? tab.label : tab.value }}\n \n
\n
\n
\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { IsActiveMatchOptions } from '@angular/router';\nimport { ITabItem } from '../../../../shared/ui/tabs/tabs.component';\n\nexport interface IToCList {\n label: string;\n items: ITabItem[];\n}\n\n@Component({\n selector: 'esg-table-of-contents',\n templateUrl: './table-of-contents.component.html',\n styleUrls: ['./table-of-contents.component.scss'],\n})\nexport class TableOfContentsComponent implements OnInit {\n @Input({ required: true }) list!: IToCList;\n @Input() activeItem?: string;\n @Output() onItemClick = new EventEmitter();\n\n fragmentActiveOptions: IsActiveMatchOptions = {\n matrixParams: 'exact',\n queryParams: 'exact',\n paths: 'exact',\n fragment: 'exact',\n };\n\n constructor() {}\n\n ngOnInit(): void {}\n\n handleOnItemClick(event: Event, itemValue: string) {\n event.stopPropagation();\n event.preventDefault();\n this.list.items.length > 1 && this.onItemClick.emit(itemValue);\n }\n}\n","{{ list.label }}\n\n\n \n {{ item.label ? item.label : item.value }}\n \n \n\n \n {{ item.label ? item.label : item.value }}\n \n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ITabItem } from 'src/app/shared/ui/tabs/tabs.component';\n\n@Component({\n selector: 'esg-topic-tabs',\n templateUrl: './topic-tabs.component.html',\n styleUrls: ['./topic-tabs.component.scss'],\n})\nexport class TopicTabsComponent implements OnInit {\n @Input() tabs: ITabItem[] = [];\n @Output() onTabClick = new EventEmitter();\n\n constructor() {}\n\n ngOnInit(): void {}\n\n handleOnTabClick(event: Event, tabValue: string) {\n event.stopPropagation();\n event.preventDefault();\n this.onTabClick.emit(tabValue);\n }\n}\n","
\n \n {{ tab.label ? tab.label : tab.value }}\n \n \n \n
\n","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\n\nexport interface IChangedValueUi {\n name: string;\n value?: any | undefined;\n}\n\nexport interface IChangeHistoryItemUi {\n date: Date;\n userId: string;\n userName: string;\n changes: IChangedValueUi[];\n}\n\n@Component({\n selector: 'esg-asset-history-dialog',\n templateUrl: './asset-history-dialog.component.html',\n styleUrls: ['./asset-history-dialog.component.scss'],\n})\nexport class AssetHistoryDialogComponent {\n @Input() title = 'Asset history';\n @Input() historyItems: IChangeHistoryItemUi[] = [];\n @Output() onClose = new EventEmitter();\n\n openDetailsIndex?: number;\n\n constructor(public hostRef: ElementRef) {}\n\n handleOpenDetails(index: number) {\n this.openDetailsIndex = index;\n }\n}\n","\n
\n
\n {{ title }}\n
\n
\n
\n
\n
\n
{{ item.date | date }}
\n
{{ item.userName }}
\n
\n
\n \n
\n {{ item.name }}\n
\n
\n {{ item.value }}\n
\n
\n
\n
\n
\n
\n
\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-beta-tag',\n templateUrl: './beta-tag.component.html',\n styleUrls: ['./beta-tag.component.scss'],\n})\nexport class BetaTagComponent {\n @Input() backgroundColor: string = '#999999';\n @Input() textColor: string = '#FFFFFF';\n}\n","\n \n \n \n \n \n\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChange, SimpleChanges } from '@angular/core';\nimport { IDataSeriesUi } from './types';\n\nimport * as Highcharts from 'highcharts';\nimport HighchartsExporting from 'highcharts/modules/exporting';\nimport { numberToFormattedNumberString } from '../../utils/number-converters';\nHighchartsExporting(Highcharts);\n\nfunction generateTooltip(title: string, points: Array) {\n var renderPoint = (point: Highcharts.TooltipFormatterContextObject): string => {\n return `
\n
\n ${point.series.name}:\n ${point.y || point.y === 0 ? numberToFormattedNumberString(point.y, 1) : ''}\n
`;\n };\n\n var renderErrorMessage = (errorMessage: string) => {\n return `
${errorMessage}
`;\n };\n\n var pointWithError = points.find(p => !!(p.point as any).errorMessage);\n\n return `\n
\n
${title}
\n
\n ${\n !pointWithError\n ? points.reduce((prev, curr) => prev + renderPoint(curr), '')\n : renderErrorMessage((pointWithError.point as any).errorMessage)\n }\n
\n
\n `;\n}\n\n@Component({\n selector: 'esg-chart-v3',\n templateUrl: './chart-v3.component.html',\n styleUrls: ['./chart-v3.component.scss'],\n})\nexport class ChartV3Component implements OnInit, OnChanges {\n @Input({ required: true }) name!: string;\n @Input({ required: true }) isLoading!: boolean;\n @Input({ required: true }) xLabel!: string;\n @Input({ required: true }) yLabel!: string;\n @Input({ required: true }) valueSeries!: IDataSeriesUi[];\n @Input({ required: true }) targetSeries!: IDataSeriesUi;\n @Output() chartIntanceHandler: EventEmitter = new EventEmitter();\n\n update = false;\n Highcharts: typeof Highcharts = Highcharts;\n\n chartOptions: Highcharts.Options = {\n chart: {\n backgroundColor: 'transparent',\n plotBackgroundColor: 'transparent',\n },\n title: { text: this.name },\n series: [],\n tooltip: {\n outside: true,\n shared: true,\n useHTML: true,\n formatter: function () {\n return generateTooltip(this.x as string, this.points || []); //s;\n },\n },\n exporting: {\n enabled: false,\n buttons: {\n contextButton: {\n className: 'esg-export-context-menu',\n menuItems: ['downloadPNG', 'downloadSVG'],\n },\n },\n fallbackToExportServer: false,\n },\n plotOptions: {\n series: {\n pointPlacement: 0, // Set the point placement to 0\n events: {\n click: undefined,\n },\n },\n },\n xAxis: {\n crosshair: {\n width: 1,\n color: 'gray',\n dashStyle: 'ShortDot',\n },\n },\n };\n\n ngOnInit(): void {}\n\n hanleOnCreateChart(chart: Highcharts.Chart) {\n this.chartIntanceHandler.emit(chart);\n }\n\n updateSeries = (valueSeriesArray: IDataSeriesUi[], targetSeries: IDataSeriesUi) => {\n let updatedSeries: Highcharts.SeriesOptionsType[] = [];\n\n if (this.targetSeries.series.length) {\n updatedSeries.push({\n type: 'line',\n name: 'Target',\n data: targetSeries.series.map(di => {\n // return { x: di.name, y: di.value };\n return { y: di.value, marker: { radius: 1 } };\n }),\n });\n }\n\n updatedSeries = updatedSeries.concat(\n valueSeriesArray.map((valueSeries, index) => {\n return {\n type: 'line',\n name: valueSeries.name,\n visible: !valueSeries.hidden,\n // color: 'green',\n data: valueSeries.series.map(di => {\n return {\n y: di.value,\n marker: { radius: 3 },\n color: di.errorMessage ? 'red' : undefined,\n errorMessage: di.errorMessage,\n };\n }),\n };\n })\n );\n\n if (valueSeriesArray.length && valueSeriesArray[0].series.length) {\n this.chartOptions = {\n ...this.chartOptions,\n xAxis: {\n ...this.chartOptions.xAxis,\n categories: valueSeriesArray[0].series.map(s => s.name),\n },\n };\n }\n\n this.chartOptions = {\n ...this.chartOptions,\n series: updatedSeries,\n };\n this.update = true;\n };\n\n ngOnChanges(changes: SimpleChanges): void {\n const valueSeries: SimpleChange = changes['valueSeries'];\n const targetSeries: SimpleChange = changes['targetSeries'];\n if (\n valueSeries?.previousValue !== valueSeries?.currentValue ||\n targetSeries?.previousValue !== targetSeries?.currentValue\n ) {\n this.updateSeries(valueSeries.currentValue, targetSeries.currentValue);\n }\n }\n}\n","
\n
\n \n\n
\n \n
\n
\n
\n","import { Component, ElementRef, EventEmitter, HostListener, Input, Output, ViewChild } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { IOption } from 'src/app/static-data/options';\n\n@Component({\n selector: 'esg-column-viewer',\n templateUrl: './column-viewer.component.html',\n styleUrl: './column-viewer.component.scss',\n})\nexport class ColumnViewerComponent {\n @Input({ required: true }) fc!: FormControl;\n @Input() options: IOption[] = [];\n @Output() onChange = new EventEmitter();\n open = false;\n dropUp = false;\n maxHeight: string = 'unset';\n\n @ViewChild('button') private button: ElementRef | undefined;\n\n @HostListener('window:resize', ['$event'])\n onResize() {\n this.setMaxHeigth();\n }\n\n toggleOpenOptions() {\n this.open = !this.open;\n if (this.open) {\n this.setDropUp();\n this.setMaxHeigth();\n }\n }\n\n handleSelectOption(option: IOption) {\n if (this.fc.value.some(o => o.value == option.value)) {\n this.fc.setValue(this.fc.value.filter(o => o.value !== option.value));\n } else {\n this.fc.setValue([...this.fc.value, option]);\n }\n this.fc.markAsDirty();\n this.setDropUp();\n this.onChange.emit();\n }\n\n optionSelected(option: IOption) {\n return this.fc.value.some(o => o.value == option.value);\n }\n\n deleteOption(event: Event, option: IOption) {\n event.stopPropagation();\n this.fc.setValue(this.fc.value.filter(o => o.value !== option.value));\n this.fc.markAsDirty();\n this.onChange.emit();\n }\n\n closeOptions() {\n this.open = false;\n }\n\n setDropUp() {\n if (this.button && window.innerHeight - this.button.nativeElement.getBoundingClientRect().bottom < 200)\n this.dropUp = true;\n else this.dropUp = false;\n }\n\n setMaxHeigth() {\n if (this.button?.nativeElement) {\n const inputRect = this.button.nativeElement.getBoundingClientRect();\n const windowHeight = window.innerHeight;\n const remainingHeight = this.dropUp ? inputRect.top - 160 : windowHeight - inputRect.bottom - 100;\n this.maxHeight = `${remainingHeight}px`;\n } else {\n this.maxHeight = 'unset';\n }\n }\n}\n","
\n \n \n
\n","import { Injectable } from '@angular/core';\nimport { CellObject, WorkBook, WorkSheet, read, utils } from 'xlsx';\nimport {\n CellValue,\n ExcelCell,\n ExcelSheet,\n GetCellValue,\n ValueType,\n calculateAlphabeticalString,\n isExcelNumberChangedNumberOfDecimals,\n isExcelNumberTextFormat,\n isExcelStringDateFormat,\n isValid,\n isValidExcelRange,\n mapToValueType,\n} from './excel-importer';\nimport { FormControl } from '@angular/forms';\nimport { IOption } from 'src/app/static-data/options';\nimport { DebouncedFunc, debounce } from 'lodash';\nimport { parse } from 'date-fns';\n\nexport interface FieldConfig {\n title: string;\n type: ValueType;\n optional?: boolean;\n propertyName: string;\n}\n\nexport interface DataRecordOutput {\n [propertyName: string]: { rowNo: number; valid: boolean; value: any; type: ValueType };\n}\n\nexport interface ImportDataColumnOutput {\n destinationColumnAlphabetical: string;\n selectedColumnNo: number;\n selectedColumnAlphabetical: string;\n selectedColumnName: string;\n}\n\nexport interface ExcelImportValidationMessage {\n title: string;\n description: string;\n}\n\nexport interface ImportDataOutput {\n columns: ImportDataColumnOutput[];\n records: DataRecordOutput[];\n}\n\nexport enum ImportExcelSteps {\n Step1UploadDataSource,\n Step2SelectSheet,\n Step3MapData,\n}\n\nexport class MappintToValueTypeError extends Error {\n constructor(public message: string) {\n super(message);\n }\n}\n\nexport interface FieldConfigValue {\n propertyName: string;\n title: string;\n type: ValueType;\n optional?: boolean;\n mappedTo: FormControl;\n}\n\nexport interface FieldConfigState {\n [propertyName: string]: FieldConfigValue;\n}\n\nconst selectOption: IOption = { value: '', label: 'Do not import' };\n\n@Injectable()\nexport class DataImportFromExcelStateService {\n importExcelStep = ImportExcelSteps.Step1UploadDataSource;\n importDataOfUpdateRanteDebounced: DebouncedFunc<(range: string) => void>;\n createConfigurationBaseOnImportedData = false;\n fieldConfigs: FieldConfig[] = [];\n fieldConfigState: FieldConfigState = {};\n\n get fieldConfigStateArray() {\n return Object.values(this.fieldConfigState);\n }\n\n get notValidDataImport() {\n var fca = this.fieldConfigStateArray;\n var importedData = this.importedData;\n\n if (this.fieldConfigs.length === 0) {\n return false;\n }\n\n var notValidDatFields = importedData.some((row, i) => {\n return fca\n .filter(fc => fc.mappedTo.value?.value)\n .some(f => {\n if (f.mappedTo.value?.value) {\n return !this.isValidImportedField(f.type, row, f.mappedTo.value?.value, f.optional);\n }\n return false;\n });\n });\n\n return (\n notValidDatFields || this.fieldConfigStateArray.filter(fct => !fct.optional).some(f => !f.mappedTo.value?.value)\n );\n }\n\n fileName: string = '';\n sheetNames: string[] = [];\n workBook?: WorkBook;\n showPreview = false;\n\n selectedSheetName: string = '';\n selectedWorkSheet?: WorkSheet;\n selectedSheetRange: string = '';\n importSheetRangeFc: FormControl;\n importedHeaders: ExcelCell[] = [];\n importedData: ExcelCell[][] = [];\n\n importedFieldOptions: IOption[] = [];\n\n mapDataHeaderColumns: { label: string; optional: boolean }[] = [];\n\n get sheetNamesString() {\n return this.sheetNames.join(', ');\n }\n\n constructor() {\n this.importDataOfUpdateRanteDebounced = debounce(this.importDataOfUpdatedRange, 1000);\n this.importSheetRangeFc = new FormControl('');\n this.importSheetRangeFc.valueChanges.subscribe(value => {\n if (isValidExcelRange(value)) {\n this.importDataOfUpdateRanteDebounced(value);\n }\n });\n }\n\n initialize(fieldConfigs?: FieldConfig[]) {\n if (!!fieldConfigs) {\n this.fieldConfigs = fieldConfigs;\n\n this.mapDataHeaderColumns = fieldConfigs.map(fc => ({ label: fc.title, optional: fc.optional || false }));\n\n this.fieldConfigState = fieldConfigs.reduce((acc, fieldConfig) => {\n const formControl = new FormControl(selectOption);\n\n acc[fieldConfig.propertyName] = {\n propertyName: fieldConfig.propertyName,\n title: fieldConfig.title,\n type: fieldConfig.type,\n optional: fieldConfig.optional,\n mappedTo: formControl,\n };\n return acc;\n }, {});\n } else {\n this.createConfigurationBaseOnImportedData = true;\n }\n }\n\n handleShowHidePreview() {\n this.showPreview = !this.showPreview;\n }\n\n async uploadExcelFile(file: File) {\n this.clearSelectedSheetData();\n this.fileName = file.name;\n\n const fileData = await file.arrayBuffer();\n\n this.workBook = read(fileData, {\n type: 'array',\n cellNF: true,\n cellFormula: true,\n cellText: true,\n cellStyles: true,\n cellDates: true,\n raw: true,\n });\n\n this.sheetNames = this.workBook.SheetNames;\n }\n\n handleSelectSheet(sheetName: string) {\n this.clearFieldConfigState();\n this.selectedSheetName = sheetName;\n this.selectedWorkSheet = this.workBook?.Sheets[this.selectedSheetName];\n\n this.selectedSheetRange = this.selectedWorkSheet?.['!ref'] || '';\n this.importSheetRangeFc.setValue(this.selectedSheetRange);\n this.importDataOfUpdatedRange(this.selectedSheetRange);\n }\n\n importDataOfUpdatedRange(range: string) {\n const getCellValue: GetCellValue = (row: number, column: number) => {\n if (this.selectedWorkSheet) {\n const cellAddress = `${calculateAlphabeticalString(column)}${row}`;\n const cell = utils.decode_cell(cellAddress);\n const sheetCell: CellObject = this.selectedWorkSheet[utils.encode_cell(cell)];\n if (sheetCell && sheetCell.v !== undefined) {\n try {\n if (isExcelNumberTextFormat(sheetCell)) {\n const cellValue: CellValue = { value: sheetCell.v.toString(), type: 'string' };\n return cellValue;\n }\n\n if (sheetCell.w && isExcelNumberChangedNumberOfDecimals(sheetCell)) {\n // for number of percentage\n if(sheetCell.w.includes('%')) {\n const cellValue: CellValue = { value: sheetCell.w, type: 'string' };\n return cellValue;\n }\n const cellValue: CellValue = { value: parseFloat(sheetCell.w), type: 'number' };\n return cellValue;\n }\n\n var isExcelStringDateFormatResult = isExcelStringDateFormat(sheetCell);\n if (isExcelStringDateFormatResult.isValid) {\n const formatString = `dd${isExcelStringDateFormatResult.separator}MM${isExcelStringDateFormatResult.separator}yyyy`;\n const parsedDate = parse(sheetCell.v as string, formatString, new Date());\n const cellValue: CellValue = { value: parsedDate, type: 'date' };\n return cellValue;\n }\n\n var valueType = mapToValueType(sheetCell, row, column);\n const cellValue: CellValue = { value: sheetCell.v, type: valueType };\n return cellValue;\n } catch (e) {\n throw new MappintToValueTypeError(`Error in cell ${cellAddress}: ${JSON.stringify(sheetCell)}. ${e}`);\n }\n }\n }\n return undefined;\n };\n\n if (this.selectedWorkSheet) {\n const excelSheet = new ExcelSheet(this.selectedSheetName, range, getCellValue);\n this.importedHeaders = excelSheet.headers;\n this.importedData = excelSheet.data;\n this.importedFieldOptions = [\n selectOption,\n ...excelSheet.columnNames.map((c, i) => {\n return {\n value: i.toString(),\n label: c,\n };\n }),\n ];\n\n if (this.createConfigurationBaseOnImportedData) {\n this.mapDataHeaderColumns = this.importedHeaders.map((h, index) => ({\n label: `Column ${index + 1}`,\n optional: true,\n }));\n\n this.fieldConfigState = this.importedHeaders.reduce((acc, importedHeader) => {\n const formControl = new FormControl(selectOption);\n\n acc[importedHeader.column] = {\n propertyName: importedHeader.columnName,\n title: importedHeader.value,\n type: importedHeader.type,\n optional: true,\n mappedTo: formControl,\n };\n return acc;\n }, {});\n }\n this.setDefaultFieldConfigState(this.importedFieldOptions);\n }\n }\n\n setDefaultFieldConfigState(options: IOption[]) {\n this.fieldConfigStateArray.forEach((fcs, index) => {\n if (index + 1 < options.length) {\n fcs.mappedTo.setValue(options[index + 1]);\n }\n });\n }\n\n getSelectedFieldData(cells: ExcelCell[], value?: string) {\n if (!value) {\n return '-';\n }\n\n const cell = cells[parseInt(value)];\n\n return cell.type !== 'date' ? cell.value : cell.value?.toLocaleDateString();\n }\n\n isValidImportedField(expectedType: ValueType, cells: ExcelCell[], value?: string, optional?: boolean) {\n if (this.fieldConfigs.length === 0) {\n return true;\n }\n\n if (!value) {\n return true;\n }\n const cell = cells[parseInt(value)];\n\n return isValid(cell.value, expectedType, optional);\n }\n\n async getImportDataOutput(): Promise {\n var importedData = this.importedData;\n var importedHeaders = this.importedHeaders;\n var importDataOutput = importedData.map((row, i) => ({}));\n\n var mappedColumns: ImportDataColumnOutput[] = [];\n\n this.fieldConfigStateArray.forEach(element => {\n if (element.mappedTo.value?.value) {\n var mappedToValue = parseInt(element.mappedTo.value.value);\n var alphabeticalIndex = calculateAlphabeticalString(mappedToValue + 1);\n\n var headerConfiguration = importedHeaders.find(h => h.column === mappedToValue + 1);\n\n if (!!headerConfiguration) {\n mappedColumns.push({\n destinationColumnAlphabetical: element.propertyName,\n selectedColumnNo: mappedToValue,\n selectedColumnAlphabetical: alphabeticalIndex,\n selectedColumnName: headerConfiguration.value,\n });\n }\n\n importDataOutput.forEach((row, i) => {\n row[element.propertyName] = {\n rowNo: i + 1,\n type: importedData[i][mappedToValue].type,\n value: importedData[i][mappedToValue].value,\n valid: isValid(importedData[i][mappedToValue].value, importedData[i][mappedToValue].type, element.optional),\n };\n });\n }\n });\n return new Promise(resolve => {\n resolve({\n columns: mappedColumns,\n records: importDataOutput,\n });\n });\n }\n\n clearSelectedSheetData() {\n this.selectedSheetName = '';\n this.selectedWorkSheet = undefined;\n this.selectedSheetRange = '';\n this.importSheetRangeFc.setValue('');\n this.importedData = [];\n this.importedFieldOptions = [];\n }\n\n clearFieldConfigState() {\n Object.values(this.fieldConfigState).forEach((fieldConfig: FieldConfigValue) => {\n fieldConfig.mappedTo.setValue(selectOption);\n });\n }\n}\n\nexport function validateExcelOptionColumn(\n validationMessages: ExcelImportValidationMessage[],\n propertyName: string,\n options: IOption[],\n records: DataRecordOutput[],\n descriptionPrefix: string,\n isRequired: boolean = true\n): ExcelImportValidationMessage[] {\n const notMappedColumns = records\n .filter(record => {\n const recordValue = record[propertyName]?.value;\n const valueTrimmedUpperCase = typeof recordValue === 'string' ? recordValue?.trim().toUpperCase() : recordValue;\n\n const isRecordValid = !options.some(\n o => o.label.toUpperCase() === valueTrimmedUpperCase || o.value.toUpperCase() === valueTrimmedUpperCase\n );\n\n return (isRequired && isRecordValid) || (!isRequired && record[propertyName]?.value && isRecordValid);\n })\n .map(record => record[propertyName]?.rowNo);\n\n if (notMappedColumns.length) {\n return [\n ...validationMessages,\n {\n title: 'Not valid imported data',\n description: `${descriptionPrefix} column is not valid for rows: ${notMappedColumns.join(',')}`,\n },\n ];\n }\n return validationMessages;\n}\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport {\n DataImportFromExcelStateService,\n FieldConfig,\n ImportDataOutput,\n MappintToValueTypeError,\n ExcelImportValidationMessage,\n validateExcelOptionColumn,\n} from './data-import-from-excel-state.service';\nimport { NotificationService } from '../../services/notification/notification.service';\nexport { ImportDataOutput, FieldConfig, ExcelImportValidationMessage, validateExcelOptionColumn };\n@Component({\n selector: 'esg-data-import-from-excel [importData] [onClose]',\n templateUrl: './data-import-from-excel.component.html',\n styleUrls: ['./data-import-from-excel.component.scss'],\n providers: [DataImportFromExcelStateService],\n})\nexport class DataImportFromExcelComponent implements OnInit {\n @Input() fieldConfigs?: FieldConfig[];\n @Input() importingInProgress = false;\n @Input() importingInProgressLabel = 'Importing...';\n @Output() importData = new EventEmitter();\n @Output() onClose = new EventEmitter();\n\n showStickyDivider = false;\n\n @ViewChild('content') public content!: ElementRef;\n\n constructor(public state: DataImportFromExcelStateService, private notificationService: NotificationService) {}\n\n ngOnInit(): void {\n this.state.initialize(this.fieldConfigs);\n }\n\n async handleUploadFile(event: Event) {\n const element = event.currentTarget as HTMLInputElement;\n let fileList: FileList | null = element.files;\n\n if (!fileList) {\n throw new Error('No file selected');\n }\n\n const file = fileList[0];\n\n this.state.uploadExcelFile(file);\n }\n\n handleUpdateImport() {\n this.state.importDataOfUpdatedRange(this.state.importSheetRangeFc.value);\n }\n\n async handleImportData() {\n var importDataOutput = await this.state.getImportDataOutput();\n this.importData.emit(importDataOutput);\n }\n\n handleStickyDivider(tabEntry: IntersectionObserverEntry) {\n if (tabEntry.rootBounds?.bottom) {\n this.showStickyDivider = tabEntry.boundingClientRect.bottom > tabEntry.rootBounds.bottom;\n } else this.showStickyDivider = false;\n }\n\n handleSelectSheet(sheetName: string) {\n try {\n this.state.handleSelectSheet(sheetName);\n } catch (e) {\n if (e instanceof MappintToValueTypeError) {\n this.notificationService.showError(\n 'Excel file include not supported Excel cell type',\n 'Please, contact to the system administarator if you need to import uploaded Excel file.'\n );\n console.error(e);\n } else {\n throw e;\n }\n }\n }\n\n handleClose() {\n this.onClose.emit();\n }\n}\n","\n
\n
\n

Import Data

\n
\n
\n
\n
\n
Upload Data Source
\n
Select Sheet
\n
Map Data
\n
\n
\n \n
\n
\n
\n

1. Upload Data Source

\n\n
\n \n
\n Select Excel File\n
\n \n {{ state.fileName }}\n
\n
\n
\n
\n\n
\n
\n

2. Select Sheet & Data

\n
\n \n {{ sheetName }}\n \n
\n \n
\n
\n \n
\n \n \n
\n
\n
First selected row will be the column header
\n
\n
\n
\n
Excel Preview
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n {{ cell.columnName }}\n
{{ state.importedHeaders[0].row }}\n {{ cell.value }}\n
{{ row[0].row }}\n {{ cell.value }}\n {{ cell.value?.toLocaleDateString() }}\n
\n
\n
\n
\n
\n
\n\n
\n

3. Map Data

\n
\n Map columns from your excel sheet (Source) to the columns in <Category> (Target)\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
{{ c.label }} {{ c.optional ? '' : '*' }}
\n
\n
\n \n
\n
\n
{{ i + 1 }}
\n
\n \n {{ state.getSelectedFieldData(dataRow, fc.mappedTo.value?.value) }}\n \n
\n
\n
\n
\n
\n
\n \n
\n
\n \n {{ importingInProgress ? 'Importing...' : 'Import data' }}\n \n Cancel\n
\n \n
\n","import * as XLSX from 'xlsx';\nimport { ValueType } from './excel-importer';\n\nexport interface FieldConfig {\n title: string;\n type: ValueType;\n optional?: boolean;\n propertyName: string;\n}\n\nexport function generateExcelFile(title: string, fieldConfigs: FieldConfig[]) {\n const workbook = XLSX.utils.book_new();\n\n const sheetData: any[][] = [];\n\n const headerRow = fieldConfigs.map(fc => fc.title);\n sheetData.push(headerRow);\n const templateRowData = fieldConfigs.map(fc => generateFakeDataForType(fc.type));\n sheetData.push(templateRowData);\n\n const sheet = XLSX.utils.aoa_to_sheet(sheetData);\n XLSX.utils.book_append_sheet(workbook, sheet, title);\n XLSX.writeFile(workbook, `${title} template.xlsx`);\n}\n\nfunction generateFakeDataForType(type: ValueType) {\n switch (type) {\n case 'number':\n return 1;\n case 'string':\n return 'string';\n case 'date':\n return new Date();\n case 'boolean':\n return true;\n default:\n throw new Error(`Unknown type: ${type}`);\n }\n}\n","import _ from 'lodash';\nimport { CellObject } from 'xlsx';\n\nexport interface CellValue {\n value: any;\n type: ValueType;\n}\n\nexport type ValueType = 'string' | 'number' | 'date' | 'boolean' | 'empty' | 'error';\nexport type GetCellValue = (row: number, column: number) => CellValue | undefined;\n\nexport const mapToValueType = (cell: CellObject, row: number, column: number): ValueType => {\n if (cell.t === 's') {\n return 'string';\n } else if (cell.t === 'n') {\n return 'number';\n } else if (cell.t === 'd') {\n return 'date';\n } else if (cell.t === 'b') {\n return 'boolean';\n } else if (cell.t === 'e') {\n return 'error';\n } else {\n throw new Error(`Unknown value type: ${cell} at ${calculateAlphabeticalString(column)}:${row}}`);\n }\n};\n\nexport class ExcelCell {\n get columnName(): string {\n return calculateAlphabeticalString(this.column);\n }\n constructor(public row: number, public column: number, public type: ValueType, public value: any) {}\n}\n\nexport class ExcelSheet {\n public headers: ExcelCell[] = [];\n public data: ExcelCell[][];\n\n public get columnNames(): string[] {\n return this.headers.map(c => c.columnName + (c.value ? ` (${c.value})` : ''));\n }\n\n constructor(public name: string, public range: string, getCellValue: GetCellValue) {\n const dataRange = calculateExcelDataRange(range);\n this.data = [];\n\n for (let i = dataRange.leftTopCellRow; i <= dataRange.rightBottomCellRow; i++) {\n const row = [];\n for (let j = dataRange.leftTopCellColumn; j <= dataRange.rightBottomCellColumn; j++) {\n const cellValue = getCellValue(i, j);\n if (i === dataRange.leftTopCellRow) {\n if (cellValue) {\n this.headers.push(new ExcelCell(i, j, cellValue?.type, cellValue?.value));\n } else {\n this.headers.push(new ExcelCell(i, j, 'empty', undefined));\n }\n } else {\n if (cellValue) {\n row.push(new ExcelCell(i, j, cellValue?.type, cellValue?.value));\n } else {\n row.push(new ExcelCell(i, j, 'empty', undefined));\n }\n }\n }\n if (i !== dataRange.leftTopCellRow) {\n this.data.push(row);\n }\n }\n }\n}\n\nexport function calculateAlphabeticalNumber(str: string): number {\n let result = 0;\n for (let i = 0; i < str.length; i++) {\n const charCode = str.charCodeAt(i) - 64;\n result = result * 26 + charCode;\n }\n return result;\n}\n\nexport function calculateAlphabeticalString(num: number): string {\n let result = '';\n while (num > 0) {\n const remainder = (num - 1) % 26;\n result = String.fromCharCode(65 + remainder) + result;\n num = Math.floor((num - remainder) / 26);\n }\n return result;\n}\n\nexport interface ExcelDataRange {\n leftTopCellAddress: string;\n leftTopCellRow: number;\n leftTopCellColumn: number;\n\n rightBottomCellAddress: string;\n rightBottomCellRow: number;\n rightBottomCellColumn: number;\n}\n\nexport function calculateExcelDataRange(range: string): ExcelDataRange {\n const leftTopCellAddress = range.split(':')[0];\n const rightBottomCellAddress = range.split(':')[1];\n return {\n leftTopCellAddress: leftTopCellAddress,\n leftTopCellRow: parseInt(leftTopCellAddress.replace(/[a-zA-Z]+/g, ''), 10),\n leftTopCellColumn: calculateAlphabeticalNumber(leftTopCellAddress.replace(/[0-9]+/g, '')),\n\n rightBottomCellAddress: rightBottomCellAddress,\n rightBottomCellRow: parseInt(rightBottomCellAddress.replace(/[a-zA-Z]+/g, ''), 10),\n rightBottomCellColumn: calculateAlphabeticalNumber(rightBottomCellAddress.replace(/[0-9]+/g, '')),\n };\n}\n\nexport function isValidExcelRange(range: string) {\n const regex = /^[A-Z]+\\d+:[A-Z]+\\d+$/;\n return regex.test(range);\n}\n\n/*\n We need to do additional checking of the excel cell type. \n Excel cell type 'n' is a number, but it can be formatted as text.\n Related links: \n https://docs.sheetjs.com/docs/csf/features/nf#number-format-strings\n*/\nexport function isExcelNumberTextFormat(cell: CellObject): boolean {\n return cell?.v !== undefined && cell.t === 'n' && cell.z === '@';\n}\n\nexport function isExcelStringDateFormat(cell: CellObject): DateAndExtractSeparatorResult {\n var isDateString = cell?.v !== undefined && cell.t === 's' && cell.z === 'm/d/yy' && typeof cell.v === 'string';\n return isDateString ? checkDateAndExtractSeparator(cell.v as string) : { isValid: false };\n}\n\n/*\n if a cell has a number type (cell.t === 'n') and the number of decimals is changed (cell.z === '0'), \n we need to read just a number without decimals\n*/\nexport function isExcelNumberChangedNumberOfDecimals(cell: CellObject): boolean {\n return cell?.v !== undefined && cell.t === 'n' && typeof cell.z === 'string' && cell.z.startsWith('0');\n}\n\nexport function isValid(value: any, type: ValueType, optional: boolean = false): boolean {\n if (optional && value === undefined) {\n return true;\n }\n switch (type) {\n case 'string':\n return _.isString(value) || _.isNumber(value);\n case 'number':\n return _.isNumber(value);\n case 'date':\n return _.isDate(value);\n case 'boolean':\n return _.isBoolean(value);\n case 'empty':\n return true;\n default:\n return false;\n }\n}\nexport type DateAndExtractSeparatorResult = { isValid: boolean; separator?: string };\nexport function checkDateAndExtractSeparator(input: string): DateAndExtractSeparatorResult {\n const regex = /^(\\d{2})([./-])(\\d{2})\\2(\\d{4})$/;\n const match = input.match(regex);\n\n if (match) {\n return { isValid: true, separator: match[2] };\n } else {\n return { isValid: false };\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-description-and-reference',\n templateUrl: './description-and-reference.component.html',\n styleUrls: ['./description-and-reference.component.scss'],\n})\nexport class DescriptionAndReferenceComponent {\n @Input({ required: true }) description!: string;\n @Input() reference: string = '';\n @Input() collapsedByDefault = true;\n collapsed = true;\n\n get formattedFrameworkStandards() {\n return this.reference.replace(/(\\r\\n|\\n|\\r)/gm, '\\n');\n }\n\n constructor() {}\n\n ngOnInit(): void {\n this.collapsed = this.collapsedByDefault;\n }\n\n handleCollapse() {\n this.collapsed = !this.collapsed;\n }\n}\n","
\n \n \n \n \n
\n
\n \n \n
\n \n \n Disclosure Reference\n \n {{ formattedFrameworkStandards }}\n
\n
\n","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { IMenuItem } from '../../ui/context-menu/context-menu.component';\n\ninterface Style {\n [key: string]: string;\n}\n\n@Component({\n selector: 'esg-details-dialog',\n templateUrl: './details-dialog.component.html',\n styleUrls: ['./details-dialog.component.scss'],\n})\nexport class DetailsDialogComponent {\n @Input() open: boolean = false;\n @Input() options: IMenuItem[] = [];\n @Input() callToActionText: string = '';\n @Input() fade: boolean = false;\n @Output() onClose = new EventEmitter();\n @Output() onCallToAction = new EventEmitter();\n @ViewChild('content', { static: true }) content!: ElementRef;\n\n stickyToolbar: boolean = false;\n dialogStyle: Style = { 'margin-top': '72px', 'padding-bottom': '72px' };\n\n constructor(public hostRef: ElementRef) {}\n\n ngOnInit(): void {}\n\n handleStickyToolbar(tabEntry: IntersectionObserverEntry) {\n this.stickyToolbar = tabEntry.intersectionRatio === 0;\n }\n}\n","\n
\n
\n
\n \n
\n \n \n {{ callToActionText }}\n \n \n
\n
\n \n \n
\n","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'esg-form-dialog',\n templateUrl: './form-dialog.component.html',\n styleUrls: ['./form-dialog.component.scss'],\n})\nexport class FormDialogComponent {\n @Input() submitText: string = '';\n @Input() submitDisabled: boolean = false;\n @Output() onCancel = new EventEmitter();\n @Output() onSubmit = new EventEmitter();\n\n expandStickyDivider = false;\n\n @ViewChild('container') public container!: ElementRef;\n\n handleOnCancel() {\n this.onCancel.emit();\n }\n\n handleOnSubmit() {\n !this.submitDisabled && this.onSubmit.emit();\n }\n\n handleStickyDivider(tabEntry: IntersectionObserverEntry) {\n if (tabEntry.rootBounds?.bottom) {\n this.expandStickyDivider = tabEntry.boundingClientRect.bottom > tabEntry.rootBounds.bottom;\n } else this.expandStickyDivider = false;\n }\n}\n","\n
\n
\n \n
\n\n
\n
\n Cancel\n {{ submitText }}\n
\n \n
\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'esg-gri-report-tip',\n templateUrl: './gri-report-tip.component.html',\n styleUrl: './gri-report-tip.component.scss'\n})\nexport class GriReportTipComponent {\n isProTipVisible = false;\n\n toggleProTip(): void {\n this.isProTipVisible = !this.isProTipVisible;\n }\n}\n","
\n
\n

If you are reporting using the GRI Standards,
you can check the documents here.

\n \n
\n \n
How to report using the GRI Standards?
\n \n
\n
\n\n
\n \"GRI\n
","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-header-with-guidance',\n templateUrl: './header-with-guidance.component.html',\n styleUrls: ['./header-with-guidance.component.scss'],\n})\nexport class HeaderWithGuidanceComponent {\n @Input({ required: true }) label!: string;\n @Input({ required: true }) guidance!: string;\n @Input() collapsedByDefault = true;\n @Input() hideGuidance = false;\n collapsed = true;\n\n constructor() {}\n\n ngOnInit(): void {\n this.collapsed = this.collapsedByDefault;\n }\n\n handleCollapse() {\n this.collapsed = !this.collapsed;\n }\n}\n","
\n

{{ label }}

\n
\n \n \n \n
\n
\n
\n \n
\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport {\n FieldConfig,\n ImportDataOutput,\n} from 'src/app/shared/components/data-import-from-excel/data-import-from-excel.component';\nimport { generateExcelFile } from 'src/app/shared/components/data-import-from-excel/excel-exporter';\n\n@Component({\n selector: 'esg-import-from-excel-toolbar [onImportDataOpen] [onImportData] [onClose]',\n templateUrl: './import-from-excel-toolbar.component.html',\n styleUrls: ['./import-from-excel-toolbar.component.scss'],\n})\nexport class ImportFromExcelToolbarComponent {\n @Input() title?: string;\n @Input({ required: true }) dialogOpen!: boolean;\n @Input({ required: true }) filedConfigs!: FieldConfig[];\n\n @Input({ required: true }) inProgress!: boolean;\n @Input({ required: true }) inProgressLabel!: string;\n\n @Input({ required: true }) enabled!: boolean;\n @Output() onImportDataOpen = new EventEmitter();\n @Output() onImportData = new EventEmitter();\n @Output() onClose = new EventEmitter();\n\n handleOnGetExcelTemplate() {\n generateExcelFile(this.title || 'Excel template', this.filedConfigs);\n }\n}\n","\n
\n \n \n
\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { IndicatorDataValueType } from 'src/api-client/report-api.generated';\nimport { formatNumbersInString } from 'src/app/shared/utils/number-converters';\nimport { IKeyfigures, ITableKeyFigureValue } from '../section-content-preview/section-content-preview.component';\nimport {\n IndicatorPeriodLabelsUi,\n VisibleValueColumn,\n} from 'src/app/content/content-item/indicator-content/indicator-content.component';\n\ninterface TableUi {\n tHead: TrUi[];\n tBody: TrUi[];\n}\n\ninterface TrUi {\n items: TrItemUi[];\n}\n\ninterface TrItemUi {\n rowSpan?: number;\n colSpan?: number;\n content?: string;\n unit?: string;\n isNumber: boolean;\n backgroundColor?: string;\n}\n\n@Component({\n selector: 'esg-indicator-table-value-preview',\n templateUrl: './indicator-table-value-preview.component.html',\n styleUrls: ['./indicator-table-value-preview.component.scss'],\n})\nexport class IndicatorTableValuePreviewComponent {\n @Input({ required: true }) tableValue!: IKeyfigures;\n @Input() indicatorPeriodLabels: IndicatorPeriodLabelsUi = {\n targetLabel: 'Target',\n currentLabel: 'Current',\n previousLabel: 'Previous',\n };\n @Input() visibleColumns: VisibleValueColumn[] = [];\n @Input() showDescriptionButton: boolean = false;\n @Input() isDisclosureVisible: boolean = false;\n @Output() onDescriptionClick = new EventEmitter();\n\n labelTable?: TableUi;\n currentTable?: TableUi;\n previousTable?: TableUi;\n\n visibleColumnEnum = VisibleValueColumn;\n references: string = '';\n\n getFormattedNumbers = formatNumbersInString;\n\n ngOnInit(): void {\n this.references = this.tableValue.referenceStandards?.replace(/(\\r\\n|\\n|\\r)/gm, ' | ') || '';\n\n this.labelTable = this.createLabelTable(this.tableValue);\n this.currentTable = this.createValueTable(\n this.tableValue,\n this.tableValue.currentValue.tableRows || [],\n this.indicatorPeriodLabels.currentLabel\n );\n this.previousTable = this.createValueTable(\n this.tableValue,\n this.tableValue.previousValue.tableRows || [],\n this.indicatorPeriodLabels.previousLabel\n );\n }\n\n isNaN(value: any): boolean {\n return isNaN(Number(value));\n }\n\n formatCellValue(cell: TrItemUi): string {\n if (cell.content === 'NaN' || (cell.content !== undefined && cell.content !== null && this.isNaN(cell.content))) {\n return '-';\n }\n return cell.isNumber\n ? `${this.getFormattedNumbers(cell.content || '', 0, 7)} ${cell.unit || ''}`\n : `${cell.content || ''} ${cell.unit || ''}`;\n }\n\n createLabelTable(data: IKeyfigures) {\n const tHead: TrUi[] = [{ items: [{ content: '', isNumber: false }] }];\n\n if (data.metadata.tableColumnsMetadata?.length) {\n const hasGroupLabel = data.metadata.tableColumnsMetadata.some(column => column.groupLabel);\n\n if (hasGroupLabel) {\n tHead.push({ items: [{ content: '', isNumber: false }] });\n }\n\n const firstColumn = data.metadata.tableColumnsMetadata[0];\n\n tHead.push({\n items: [\n {\n content: firstColumn.label || '',\n isNumber: firstColumn.type === IndicatorDataValueType.Numeric,\n },\n ],\n });\n }\n\n const tableRows = data.currentValue.tableRows ? data.currentValue.tableRows : data.previousValue.tableRows;\n\n const tBody: TrUi[] = (tableRows || []).map(row => ({\n items: row?.values?.length\n ? [\n {\n content: (row.values[0]?.value || '').toString(),\n isNumber: row.values[0]?.type === IndicatorDataValueType.Numeric,\n },\n ]\n : [],\n }));\n\n return { tHead, tBody };\n }\n\n createValueTable(data: IKeyfigures, tableRows: ITableKeyFigureValue[], periodLabel: string) {\n const tHead: TrUi[] = [];\n\n tHead.push({\n items: [\n {\n content: periodLabel,\n isNumber: false,\n colSpan: data.metadata.tableColumnsMetadata?.length ? data.metadata.tableColumnsMetadata.length - 1 : 1,\n },\n ],\n });\n\n const units: string[] = [];\n const groups: string[] = [];\n if (data.metadata.tableColumnsMetadata?.length) {\n const groupItems: TrItemUi[] = [];\n let currentGroup = undefined;\n let groupColSpan = 1;\n const items: TrItemUi[] = [];\n for (let i = 1; i < data.metadata.tableColumnsMetadata.length; i++) {\n if (data.metadata.tableColumnsMetadata[i].groupLabel !== currentGroup) {\n if (currentGroup) {\n groupItems.push({\n content: currentGroup,\n isNumber: false,\n colSpan: groupColSpan,\n });\n }\n currentGroup = data.metadata.tableColumnsMetadata[i].groupLabel;\n groupColSpan = 1;\n } else if (currentGroup) {\n groupColSpan++;\n }\n\n units.push(\n data.metadata.tableColumnsMetadata[i].unit === 'Number'\n ? ''\n : data.metadata.tableColumnsMetadata[i].unit || ''\n );\n groups.push(data.metadata.tableColumnsMetadata[i].groupLabel || '');\n\n items.push({\n content: data.metadata.tableColumnsMetadata[i].label || '',\n isNumber: data.metadata.tableColumnsMetadata[i].type === IndicatorDataValueType.Numeric,\n });\n }\n\n if (groupColSpan > 1)\n groupItems.push({\n content: currentGroup,\n isNumber: false,\n colSpan: groupColSpan,\n });\n\n if (groupItems.length) tHead.push({ items: groupItems });\n\n tHead.push({ items });\n }\n\n const tBody: TrUi[] = [];\n\n for (const row of tableRows) {\n const items: TrItemUi[] = [];\n\n if (row.values) {\n for (let j = 1; j < row.values.length; j++) {\n items.push({\n content: row.values[j]?.value?.toString(),\n unit: row.values[j]?.unitDetails || units[j - 1],\n isNumber: row.values[j]?.type === IndicatorDataValueType.Numeric,\n });\n }\n }\n tBody.push({ items });\n }\n return { tHead, tBody };\n }\n\n isColumnVisible(columnValue: string): boolean {\n if (!this.visibleColumns) return true;\n return this.visibleColumns.some(column => column === columnValue);\n }\n\n handleOnDescriptionClick(event: Event): void {\n event.stopPropagation();\n this.onDescriptionClick.emit();\n }\n}\n","{{ tableValue.metadata.label || '' }}\n
\n @if (labelTable && currentTable && previousTable) {\n \n \n @for (row of labelTable.tHead; track row; let index = $index) {\n \n @for (cell of row.items; track cell; let last = $last) {\n \n {{ cell.content }}\n \n } @if(isColumnVisible(visibleColumnEnum.CurrentValue) && index < currentTable.tHead.length) { @for (cell of\n currentTable.tHead[index].items; track cell; let last=$last) {\n \n {{ cell.content }}\n \n } } @if(isColumnVisible(visibleColumnEnum.PreviousValue) && index < previousTable.tHead.length) { @for (cell of\n previousTable.tHead[index].items; track cell; let last=$last) {\n \n {{ cell.content }}\n \n } }\n \n }\n \n \n @for (row of labelTable.tBody; track row; let index = $index) {\n \n @for (cell of row.items; track cell; let first = $first; let last = $last) { @if (first) {\n \n {{ cell.content }}\n \n } @else {\n \n } } @if(isColumnVisible(visibleColumnEnum.CurrentValue)) {@if(index < currentTable.tBody.length) {@for (cell of\n currentTable.tBody[index].items; track cell; let last = $last) {\n \n {{ formatCellValue(cell) }}\n \n } } @else if(index < previousTable.tBody.length) { @for (cell of previousTable.tBody[index].items; track cell;\n let last = $last) {\n \n -\n \n } } } @if(isColumnVisible(visibleColumnEnum.PreviousValue)){ @if(index < previousTable.tBody.length) { @for\n (cell of previousTable.tBody[index].items; track cell; let last = $last) {\n \n {{ formatCellValue(cell) }}\n \n }} @else if(index < currentTable.tBody.length) { @for (cell of currentTable.tBody[index].items; track cell; let\n last = $last) {\n \n -\n \n } } }\n \n }\n \n
\n {{ cell.isNumber ? getFormattedNumbers(cell.content || '', 0, 0) : cell.content || '' }}\n {{ cell.unit || '' }}\n
\n }\n
\n
\n
\n Reference Standards\n {{ references }}\n
\n \n
\n","import { Component, EventEmitter, Output } from '@angular/core';\nimport { CarouselSlideUi } from '../../ui/carousel-dialog/carousel-dialog.component';\n\n@Component({\n selector: 'esg-onboarding-dialog',\n templateUrl: './onboarding-dialog.component.html',\n})\nexport class OnboardingDialogComponent {\n @Output() onClose: EventEmitter = new EventEmitter();\n\n slides: CarouselSlideUi[] = [\n {\n header: 'The tools you need to crush your goals',\n videoSrc: 'https://esgreportdevblobstorage.blob.core.windows.net/videos/1-General-master-720.mp4',\n content:\n \"To really nail ESG reporting, start adding your organizations’ resources in Assets and Records. Throw in some Indicators and KPIs, and bam! You've got a performance review to flaunt in a Report. We'll handle the behind-the-scenes magic, leaving you free to chase your goals. Oh, and because ESG is always evolving, you can tweak everything to fit your needs.\",\n },\n {\n header: \"Assets are your company's goods\",\n videoSrc: 'https://esgreportdevblobstorage.blob.core.windows.net/videos/2-Asset-master-720.mp4',\n content:\n \"Assets are goods that your company holds, whether they're tangible or more on the metaphysical side. Keep tabs on facilities, vehicles, vessels, machinery, suppliers, clients and more.

Add your assets in Assets from the tab menu.\",\n },\n {\n header: 'Think of Records as a journal for resources',\n videoSrc: 'https://esgreportdevblobstorage.blob.core.windows.net/videos/3-Records-master-720.mp4',\n content:\n 'A Record holds info about a resource that your organization uses — for example electricity, fuel or waste. But it is not entirerly about environmental emissions, you can also add records about social and business ethics.

Add your records in Data Records from the tab menu.',\n },\n {\n header: 'Report on whatever floats your boat',\n videoSrc: 'https://esgreportdevblobstorage.blob.core.windows.net/videos/4-Report-master-720.mp4',\n content:\n 'Reports are super flexible, wether you want a full ESG report, a rundown on the main topics, or maybe just spotlighting one KPI for that monthly report. We’ve also got your back for spicing up content with ChatGPT!

Find and manage Reports from the top menu.',\n },\n ];\n}\n","\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { IOption } from 'src/app/static-data/options';\nimport { formattedStringToNumber, stringToFormattedNumberString } from 'src/app/shared/utils/number-converters';\nexport interface PaginationUi {\n currentPage: number;\n totalPages: number;\n pageSize: number;\n totalCount: number;\n hasPrevious: boolean;\n hasNext: boolean;\n}\n\n@Component({\n selector: 'esg-pagination',\n templateUrl: './pagination.component.html',\n styleUrls: ['./pagination.component.scss'],\n})\nexport class PaginationComponent {\n @Input({ required: true }) paginationData!: PaginationUi;\n @Input() pageSizeOptions: IOption[] = [\n { value: '5', label: '5' },\n { value: '25', label: '25' },\n { value: '50', label: '50' },\n { value: '100', label: '100' },\n { value: '250', label: '250' },\n ];\n @Output() onPaginationChange = new EventEmitter();\n\n getFormattedNumber = stringToFormattedNumberString;\n\n pageNumbers: number[] = [];\n\n ngOnChanges(): void {\n this.setPageNumbers();\n }\n\n get getDisplayedItemsRange() {\n if (this.paginationData.totalCount === 0) {\n return '0 – 0';\n }\n\n const start = (this.paginationData.currentPage - 1) * this.paginationData.pageSize + 1;\n const end = Math.min(start + this.paginationData.pageSize - 1, this.paginationData.totalCount);\n return (\n stringToFormattedNumberString(start.toString(), 0, 0) +\n ' – ' +\n stringToFormattedNumberString(end.toString(), 0, 0)\n );\n }\n\n setPage(page: number) {\n if (page >= 1 && page <= this.paginationData.totalPages) {\n this.onPaginationChange.emit({ ...this.paginationData, currentPage: page });\n }\n }\n\n setPageSize(sizeOption: IOption) {\n const size = formattedStringToNumber(sizeOption.value);\n if (size) this.onPaginationChange.emit({ ...this.paginationData, pageSize: size, currentPage: 1 });\n }\n\n handleNextPage() {\n if (this.paginationData.hasNext) this.setPage(this.paginationData.currentPage + 1);\n }\n\n handlePreviousPage() {\n if (this.paginationData.hasPrevious) this.setPage(this.paginationData.currentPage - 1);\n }\n\n handleFirstPage() {\n this.setPage(1);\n }\n\n handleLastPage() {\n this.setPage(this.paginationData.totalPages);\n }\n\n get sizeOption() {\n return this.pageSizeOptions.find(opt => opt.value === this.paginationData.pageSize.toString());\n }\n\n private setPageNumbers() {\n const { currentPage, totalPages } = this.paginationData;\n const pages: number[] = [];\n\n if (totalPages <= 7) {\n for (let i = 1; i <= totalPages; i++) {\n pages.push(i);\n }\n } else {\n if (currentPage <= 4) {\n pages.push(1, 2, 3, 4, 5, -1, totalPages); // -1 represents '...'\n } else if (currentPage > totalPages - 4) {\n pages.push(1, -1, totalPages - 4, totalPages - 3, totalPages - 2, totalPages - 1, totalPages);\n } else {\n pages.push(\n 1,\n -1,\n currentPage - 2,\n currentPage - 1,\n currentPage,\n currentPage + 1,\n currentPage + 2,\n -1,\n totalPages\n );\n }\n }\n\n this.pageNumbers = pages;\n }\n}\n","
\n
\n {{ getDisplayedItemsRange }}\n  of \n {{ getFormattedNumber(paginationData.totalCount.toString(), 0, 0) }}\n  Records\n
\n
\n\n
\n
\n \n \n \n\n \n \n \n\n \n ...\n \n {{ page }}\n \n \n \n \n \n \n \n \n
\n
\n\n
\n \n per page\n
\n\n\n","import { Component, EventEmitter, Input, Output, SimpleChanges } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { IMenuItem } from 'src/app/shared/ui/context-menu/context-menu.component';\nimport { stringToFormattedNumberString } from 'src/app/shared/utils/number-converters';\nimport { IOption } from 'src/app/static-data/options';\n\nexport interface RecordHeaderCell {\n columnId: string;\n label: string;\n description: string;\n number?: boolean;\n optional?: boolean;\n possibleToHide?: boolean;\n sortFieldName?: string;\n class?: string;\n}\n\nexport interface RecordBodyRow {\n id: string;\n cells: RecordBodyCell[];\n recordSource?: RecordSource;\n}\n\nexport interface RecordBodyCell {\n columnId: string;\n value: string;\n unit?: string;\n number: boolean;\n}\n\nexport enum RecordSource {\n RawData = 'RawData',\n IndicatorDefinition = 'IndicatorDefinition',\n ImportedFromExcel = 'ImportedFromExcel',\n ImportedFrom3rdParty = 'ImportedFrom3rdParty',\n}\n\n@Component({\n selector: 'esg-records-table',\n templateUrl: './records-table.component.html',\n styleUrls: ['./records-table.component.scss'],\n})\nexport class RecordsTableComponent {\n @Input() headerCells: RecordHeaderCell[] = [];\n @Input() bodyRows: RecordBodyRow[] = [];\n @Input() newlyAddedRowsIds: string[] = [];\n @Input() columnFilter?: FormControl;\n @Input() readOnly: boolean = false;\n @Input() addOnly: boolean = false;\n @Input() isAdding: boolean = false;\n @Input() isSortable: boolean = false;\n @Input() hideAddButton: boolean = false;\n @Input() hideContextMenu: boolean = false;\n @Input() editRecordId?: string;\n @Input() stickyHeaderTopOffset: number = 0;\n @Input() maxDecDigits?: number = 3;\n @Input() intersectionObserverRootMargin: number = 0;\n @Input() stickyHeaderPadding: number = 0;\n\n @Output() onAdding = new EventEmitter();\n @Output() onFormClose = new EventEmitter();\n @Output() onEditing = new EventEmitter();\n @Output() onSubmit = new EventEmitter();\n @Output() onDelete = new EventEmitter();\n @Output() onSortChange = new EventEmitter<{ key: string; direction: 'asc' | 'desc' | '' }>();\n\n readonly RecordSourceEnum = RecordSource;\n hasActiveCell: boolean = false;\n stickyHeaders: boolean = false;\n\n hidableColumnOptions: IOption[] = [];\n sortKey: string = '';\n sortDirection: 'asc' | 'desc' | '' = '';\n\n get rootObserverMargin() {\n return `${-this.intersectionObserverRootMargin}px 0px 0px 0px`;\n }\n\n constructor() {}\n\n get numberOfVisibleColumns() {\n return this.columnFilter ? this.columnFilter.value.length : this.headerCells.length;\n }\n\n get gridTemplateColumns() {\n if (this.addOnly) {\n if (this.numberOfVisibleColumns === 2) return '136px 124px minmax(150px, min-content) 1fr';\n else return '136px 124px repeat(' + (this.numberOfVisibleColumns - 1) + ', minmax(min-content, 1fr))';\n } else {\n if (this.numberOfVisibleColumns === 2) return '136px 124px minmax(150px, min-content) 1fr 34px';\n else return '136px 124px repeat(' + (this.numberOfVisibleColumns - 1) + ', minmax(min-content, 1fr)) 34px';\n }\n }\n\n get fullGridColumn() {\n if (this.numberOfVisibleColumns === 2) return 'span ' + (this.numberOfVisibleColumns + 3);\n return 'span ' + (this.numberOfVisibleColumns + 2);\n }\n\n get isAddButtonVisible() {\n return !this.hideAddButton && !this.readOnly && !this.isAdding;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.headerCells) {\n this.updateColumnOptions();\n }\n }\n\n private updateColumnOptions() {\n this.hidableColumnOptions = this.headerCells\n .filter(cell => cell.possibleToHide)\n .map(cell => ({ value: cell.columnId, label: cell.label }));\n }\n\n isColumnVisible(id: string): boolean {\n if (!this.columnFilter) return true;\n return this.columnFilter.value.some(column => column.value === id);\n }\n\n trackByRecord(index: number, record: RecordBodyRow) {\n return record.id;\n }\n\n trackByHeaderCell(index: number, cell: RecordHeaderCell) {\n return cell.columnId;\n }\n\n handleFocusInside() {\n this.hasActiveCell = true;\n }\n\n handleOnRowClick(event: Event, id: string) {\n if (this.hasActiveCell || this.readOnly) return;\n event.stopPropagation();\n this.onEditing.emit(id);\n }\n\n handleOnSubmit() {\n if (!this.hasActiveCell) this.onSubmit.emit();\n else this.hasActiveCell = false;\n }\n\n handleOnFormClose() {\n if (!this.hasActiveCell) this.onFormClose.emit();\n else this.hasActiveCell = false;\n }\n\n handleOnEnter() {\n this.hasActiveCell = false;\n this.onSubmit.emit();\n }\n\n handleOnEscape() {\n this.hasActiveCell = false;\n this.onFormClose.emit();\n }\n\n formatNumberCell(value: string) {\n return stringToFormattedNumberString(value, 0, this.maxDecDigits) || '-';\n }\n\n handleOnAddRecord(event: Event) {\n event.stopPropagation();\n this.onAdding.emit();\n }\n\n userContextMenuProvider = (id: string, connected: boolean = false): IMenuItem[] => [\n {\n id: 'history',\n label: 'History',\n onClick: () => {},\n disabled: true,\n },\n {\n id: 'delete',\n label: 'Delete',\n onClick: () => {\n this.onDelete.emit(id);\n },\n disabled: this.readOnly || connected,\n },\n ];\n\n handleStickyHeaders(tabEntry: IntersectionObserverEntry) {\n if (tabEntry.rootBounds?.top) {\n this.stickyHeaders = tabEntry.boundingClientRect.top < tabEntry.rootBounds.top;\n } else this.stickyHeaders = false;\n }\n\n handleOnSortChange(event: { key: string; direction: 'asc' | 'desc' | '' }) {\n this.sortKey = event.key;\n this.sortDirection = event.direction;\n this.onSortChange.emit(event);\n }\n}\n","\n\n \n \n \n \n \n \n
\n \n (optional)\n \n \n
\n \n \n \n
\n \n (optional)\n \n \n
\n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{ cell.number ? formatNumberCell(cell.value) : cell.value }}\n\n  {{ cell.unit | formatUnitWithUnicode }}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n
\n \n \n \n \n
\n \n \n
\n \n
\n","import { Component, Input } from '@angular/core';\n\nexport enum RiskCategory {\n Unknown = 'Unknown',\n VeryHighRisk = 'VeryHighRisk',\n HighRisk = 'HighRisk',\n MediumRisk = 'MediumRisk',\n LowRisk = 'LowRisk',\n NoRisk = 'NoRisk',\n}\n\nexport interface IRiskBarLabel {\n riskCategory: RiskCategory;\n label: string;\n color: string;\n}\n\nconst RiskLabels: { [key in RiskCategory]: IRiskBarLabel } = {\n [RiskCategory.Unknown]: {\n riskCategory: RiskCategory.Unknown,\n label: 'n/a*',\n color: '#999999',\n },\n [RiskCategory.VeryHighRisk]: {\n riskCategory: RiskCategory.VeryHighRisk,\n label: 'Very High',\n color: '#EA1F4C',\n },\n [RiskCategory.HighRisk]: {\n riskCategory: RiskCategory.HighRisk,\n label: 'High',\n color: '#EA708A',\n },\n [RiskCategory.MediumRisk]: {\n riskCategory: RiskCategory.MediumRisk,\n label: 'Medium',\n color: '#FF9900',\n },\n [RiskCategory.LowRisk]: {\n riskCategory: RiskCategory.LowRisk,\n label: 'Low',\n color: '#72DC9B',\n },\n [RiskCategory.NoRisk]: {\n riskCategory: RiskCategory.NoRisk,\n label: 'No Risk',\n color: '#23D468',\n },\n};\n\n@Component({\n selector: 'esg-risk-bar',\n templateUrl: './risk-bar.component.html',\n styleUrls: ['./risk-bar.component.scss'],\n})\nexport class RiskBarComponent {\n @Input({ required: true }) score!: number;\n\n get isUnknown(): boolean {\n return this.riskLabel.riskCategory === RiskCategory.Unknown;\n }\n\n get riskLabel(): IRiskBarLabel {\n switch (true) {\n case isNaN(this.score):\n return RiskLabels[RiskCategory.Unknown];\n case this.score <= 10:\n return RiskLabels[RiskCategory.VeryHighRisk];\n case this.score > 10 && this.score <= 35:\n return RiskLabels[RiskCategory.HighRisk];\n case this.score > 35 && this.score <= 75:\n return RiskLabels[RiskCategory.MediumRisk];\n case this.score > 75 && this.score <= 90:\n return RiskLabels[RiskCategory.LowRisk];\n case this.score > 90 && this.score <= 100:\n return RiskLabels[RiskCategory.NoRisk];\n default:\n throw new Error('Invalid score');\n }\n }\n}\n","
= 0 && score <= 100)\">\n
\n
\n
\n \n {{ isUnknown ? riskLabel.label : score }}\n /100\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n < 10\n VERY HIGH RISK\n
\n
\n 11 - 35\n HIGH RISK\n
\n
\n 36 - 75\n MEDIUM RISK\n
\n
\n 76 - 90\n LOW RISK\n
\n
\n 91 >\n NO RISK\n
\n
\n\n","import { Component, Input } from '@angular/core';\n\nexport enum RiskCategory {\n Unknown = 'Unknown',\n VeryHighRisk = 'VeryHighRisk',\n HighRisk = 'HighRisk',\n MediumRisk = 'MediumRisk',\n LowRisk = 'LowRisk',\n NoRisk = 'NoRisk',\n}\n\nexport interface IRiskLabel {\n riskCategory: RiskCategory;\n label: string;\n color: string;\n}\n\nconst RiskLabels: { [key in RiskCategory]: IRiskLabel } = {\n [RiskCategory.Unknown]: {\n riskCategory: RiskCategory.Unknown,\n label: 'n/a',\n color: '#DDDDDD',\n },\n [RiskCategory.VeryHighRisk]: {\n riskCategory: RiskCategory.VeryHighRisk,\n label: 'Very High',\n color: '#EA1F4C',\n },\n [RiskCategory.HighRisk]: {\n riskCategory: RiskCategory.HighRisk,\n label: 'High',\n color: '#EA708A',\n },\n [RiskCategory.MediumRisk]: {\n riskCategory: RiskCategory.MediumRisk,\n label: 'Medium',\n color: '#FF9900',\n },\n [RiskCategory.LowRisk]: {\n riskCategory: RiskCategory.LowRisk,\n label: 'Low',\n color: '#72DC9B',\n },\n [RiskCategory.NoRisk]: {\n riskCategory: RiskCategory.NoRisk,\n label: 'No Risk',\n color: '#23D468',\n },\n};\n\n@Component({\n selector: 'esg-risk-label',\n template:\n '{{ getRiskLabel.label }}',\n styleUrls: ['./risk-label.component.scss'],\n})\nexport class RiskLabelComponent {\n @Input() riskCategory?: RiskCategory;\n readonly RiskCategoryEnum = RiskCategory;\n\n get getRiskLabel(): IRiskLabel {\n return this.riskCategory ? RiskLabels[this.riskCategory] : RiskLabels[RiskCategory.Unknown];\n }\n}\n","import { Component, ElementRef, HostListener, Input, ViewChild } from '@angular/core';\n\nexport interface RouteItemUi {\n label: string;\n link: string[];\n}\n\n@Component({\n selector: 'esg-route-selector',\n templateUrl: './route-selector.component.html',\n styleUrl: './route-selector.component.scss',\n})\nexport class RouteSelectorComponent {\n @Input() selectedLabel: string = '';\n private _items: RouteItemUi[] = [];\n @Input()\n set items(value: RouteItemUi[]) {\n this._items = value.sort((a, b) => a.label.localeCompare(b.label));\n }\n get items(): RouteItemUi[] {\n return this._items;\n }\n isCollapsed: boolean = true;\n maxHeight: string = 'unset';\n\n @ViewChild('selector') private selector: ElementRef | undefined;\n\n @ViewChild('scrollWrapper', { static: false })\n set scrollWrapper(element: ElementRef) {\n if (element) {\n this.scrollOptionIntoView(element);\n }\n }\n\n @HostListener('window:resize', ['$event'])\n onResize() {\n this.setMaxHeigth();\n }\n\n constructor() {}\n\n ngOnInit(): void {}\n\n collapse(): void {\n this.isCollapsed = true;\n }\n\n toggleCollapse(event: Event): void {\n event.stopPropagation();\n this.isCollapsed = !this.isCollapsed;\n }\n\n setMaxHeigth() {\n if (this.selector?.nativeElement) {\n const inputRect = this.selector.nativeElement.getBoundingClientRect();\n const windowHeight = window.innerHeight;\n const remainingHeight = windowHeight - inputRect.bottom - 100;\n this.maxHeight = `${remainingHeight}px`;\n } else {\n this.maxHeight = 'unset';\n }\n }\n\n scrollOptionIntoView(element: ElementRef) {\n const optionElement = element.nativeElement.querySelector('.selected');\n\n if (optionElement) {\n const scrollWrapperElement = element.nativeElement;\n scrollWrapperElement.scrollTop = optionElement.offsetTop - 12;\n }\n }\n}\n","
\n
\n
\n
\n {{ selectedLabel }}\n
\n \n
\n \n
\n
\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { IMenuItem } from '../../ui/context-menu/context-menu.component';\n@Component({\n selector: 'esg-search-filter-bar',\n templateUrl: './search-filter-bar.component.html',\n styleUrls: ['./search-filter-bar.component.scss'],\n host: {\n '[class.no-filter]': '!showFilter',\n },\n})\nexport class SearchFilterBarComponent {\n @Input() searchValue?: string;\n @Input() showSearchValue?: boolean = false;\n @Input() showFilter: boolean = true;\n @Input() menuItems: IMenuItem[] = [];\n @Output() searchValueChange = new EventEmitter();\n\n handleSearchValueChange(value: string) {\n this.searchValueChange.emit(value);\n }\n}\n","
\n \n \n \n
\n
\n Filter by\n \n
\n
\n \n
\n","import { Component, Input } from '@angular/core';\nimport {\n IndicatorPeriodLabelsUi,\n VisibleValueColumn,\n} from 'src/app/content/content-item/indicator-content/indicator-content.component';\nimport { IKeyfigures } from '../section-content-preview.component';\nimport { numberToFormattedNumberString } from 'src/app/shared/utils/number-converters';\n\n@Component({\n selector: 'esg-indicator-set-preview',\n templateUrl: './indicator-set-preview.component.html',\n styleUrl: './indicator-set-preview.component.scss',\n})\nexport class IndicatorSetPreviewComponent {\n @Input({ required: true }) keyFigures!: IKeyfigures[];\n @Input() indicatorPeriodLabels: IndicatorPeriodLabelsUi = {\n targetLabel: 'Target',\n currentLabel: 'Current',\n previousLabel: 'Previous',\n };\n @Input() visibleColumns: VisibleValueColumn[] = [];\n @Input() isCustomPeriod: boolean = false;\n\n visibleColumnEnum = VisibleValueColumn;\n references: string = '';\n\n get getGridTemplateColumns(): string {\n return `1fr min-content repeat(${this.getVisibleColumnsCount() - 2}, minmax(124px, 15%))`;\n }\n\n get getGridColumnSpan(): string {\n return `span ${this.getVisibleColumnsCount()}`;\n }\n\n ngOnInit(): void {\n this.references = Array.from(\n new Set(this.keyFigures.flatMap(value => value.referenceStandards?.replace(/(\\r\\n|\\n|\\r)/gm, ' | ').split(' | ')))\n ).join(' | ');\n }\n\n getFormattedNumber(value: string | number | undefined) {\n return value || value === 0 ? numberToFormattedNumberString(Number(value), 0, 7) : '';\n }\n\n isColumnVisible(columnValue: string): boolean {\n if (!this.visibleColumns) return true;\n return this.visibleColumns.some(column => column === columnValue);\n }\n\n private getVisibleColumnsCount(): number {\n let count = 2;\n if (this.isColumnVisible(this.visibleColumnEnum.TargetValue)) count++;\n if (this.isColumnVisible(this.visibleColumnEnum.CurrentValue)) count++;\n if (this.isColumnVisible(this.visibleColumnEnum.PreviousValue)) count++;\n return count;\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n Unit\n \n
\n
\n
\n \n {{ isCustomPeriod ? 'target' : indicatorPeriodLabels.targetLabel }}\n \n {{ indicatorPeriodLabels.targetLabel }}\n
\n
\n
\n \n {{ isCustomPeriod ? 'current' : indicatorPeriodLabels.currentLabel }}\n \n {{ indicatorPeriodLabels.currentLabel }}\n
\n
\n
\n {{ isCustomPeriod ? 'previous' : indicatorPeriodLabels.previousLabel }}\n {{ indicatorPeriodLabels.previousLabel }}\n
\n
{{ value.metadata.label || '' }}\n {{ getFormattedNumber(value.targetValue.value) }}\n \n {{ getFormattedNumber(value.currentValue.value) }}\n \n {{ getFormattedNumber(value.previousValue.value) }}\n
\n Disclosure Reference: \n {{ references }}\n
\n","import { Component, Input, OnInit } from '@angular/core';\nimport { TimePeriod, TimePeriodType } from 'src/api-client/report-api.generated';\nimport { getTimeLabelFromPeriod } from 'src/app/static-data/time-labels';\nimport { SubstrateDataPreviewUi } from '../substrate-data-preview/substrate-data-preview.component';\nimport {\n IndicatorContentType,\n IndicatorPeriodLabelsUi,\n VisibleValueColumn,\n} from 'src/app/content/content-item/indicator-content/indicator-content.component';\n\nexport interface SectionContentViewModel {\n id: string;\n name: string;\n type: string;\n timePeriod?: TimePeriod;\n contents?: IContent[];\n}\n\nexport interface IKeyfigures {\n currentValue: IKeyFigureValue;\n metadata: IKeyFiguresMetaData;\n previousValue: IKeyFigureValue;\n targetValue: IKeyFigureValue;\n referenceStandards?: string;\n substrateData?: SubstrateDataPreviewUi;\n}\n\ninterface IKeyFiguresMetaData extends ISingleKeyFiguresMetaData {\n tableColumnsMetadata?: ISingleKeyFiguresMetaData[];\n}\n\ninterface ISingleKeyFiguresMetaData {\n label?: string;\n type?: string;\n unit?: string;\n groupLabel?: string;\n isVisibleInReport?: boolean;\n}\n\ninterface ISingleKeyFigureValue {\n type?: string;\n value?: string | number;\n unitDetails?: string;\n}\n\ninterface IKeyFigureValue extends ISingleKeyFigureValue {\n tableRows?: ITableKeyFigureValue[];\n}\n\nexport interface ITableKeyFigureValue {\n values?: ISingleKeyFigureValue[];\n}\n\nexport interface IContent {\n textHtml: string;\n blobUrl: string;\n altText: string;\n title: string;\n tableConfig?: any;\n rows?: any;\n indicatorType?: IndicatorContentType;\n visibleColumns?: VisibleValueColumn[];\n keyFigures?: IKeyfigures[];\n}\n\n@Component({\n selector: 'esg-section-content-preview',\n templateUrl: './section-content-preview.component.html',\n styleUrls: ['./section-content-preview.component.scss'],\n})\nexport class SectionContentPreviewComponent implements OnInit {\n @Input({ required: true }) section!: SectionContentViewModel;\n indicatorTypeEnum = IndicatorContentType;\n\n indicatorPeriodLabels: IndicatorPeriodLabelsUi = {\n targetLabel: 'Target',\n currentLabel: 'Current',\n previousLabel: 'Previous',\n };\n references: string = '';\n\n constructor() {}\n\n get isCustomPeriod() {\n return this.section.timePeriod?.type === TimePeriodType.Custom;\n }\n\n ngOnInit(): void {\n this.indicatorPeriodLabels = this.section.timePeriod\n ? {\n targetLabel: 'Target ' + getTimeLabelFromPeriod(this.section.timePeriod, 1),\n currentLabel: getTimeLabelFromPeriod(this.section.timePeriod, 0),\n previousLabel: getTimeLabelFromPeriod(this.section.timePeriod, -1),\n }\n : {\n targetLabel: 'Target',\n currentLabel: 'Current',\n previousLabel: 'Previous',\n };\n }\n getKeyFigures(component: IContent) {\n if (!component.keyFigures) return null;\n return Array.from(\n new Set(\n component.keyFigures.flatMap(value => value.referenceStandards?.replace(/(\\r\\n|\\n|\\r)/gm, ' | ').split(' | '))\n )\n ).join(' | ');\n }\n}\n","
\n {{ section.name }}\n
\n
\n
\n \n
\n Disclosure Reference: \n {{ getKeyFigures(component) }}\n
\n \n \n \n \n \n \n \n \n
\n
\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { UiModule } from '../ui/ui.module';\nimport { SectionContentPreviewComponent } from './section-content-preview/section-content-preview.component';\nimport { SubstrateDataPreviewComponent } from './substrate-data-preview/substrate-data-preview.component';\nimport { TableDataComponent } from './table-data/table-data.component';\nimport { DetailsDialogComponent } from './details-dialog/details-dialog.component';\nimport { DirectiveModule } from '../directives/directive.module';\nimport { FormDialogComponent } from './form-dialog/form-dialog.component';\nimport { TimePeriodComponent } from './time-period/time-period.component';\nimport { AssetHistoryDialogComponent } from './asset-history-dialog/asset-history-dialog.component';\nimport { HeaderWithGuidanceComponent } from './header-with-guidance/header-with-guidance.component';\nimport { ChartV3Component } from './chart/chart-v3.component';\nimport { HighchartsChartModule } from 'highcharts-angular';\nimport { BetaTagComponent } from './beta-tag/beta-tag.component';\nimport { DataImportFromExcelComponent } from './data-import-from-excel/data-import-from-excel.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { SideMenuComponent } from './side-menu/side-menu.component';\nimport { IndicatorTableValuePreviewComponent } from './indicator-table-value-preview/indicator-table-value-preview.component';\nimport { RiskLabelComponent } from './risk-label/risk-label.component';\nimport { RiskBarComponent } from './risk-label/risk-bar.component';\nimport { ImportFromExcelToolbarComponent } from './import-from-excel-toolbar/import-from-excel-toolbar.component';\nimport { OnboardingDialogComponent } from './onboarding-dialog/onboarding-dialog.component';\nimport { RecordsTableComponent } from './records-table/records-table.component';\nimport { KeyboardShortcutsDirective } from '../directives/keyboard-shortcuts.directive';\nimport { TimePeriodSelectorComponent } from './time-period-selector/time-period-selector.component';\nimport { TimePeriodSelectorOptionsComponent } from './time-period-selector/time-period-selector-options/time-period-selector-options.component';\nimport { DescriptionAndReferenceComponent } from './description-and-reference/description-and-reference.component';\nimport { ColumnViewerComponent } from './column-viewer/column-viewer.component';\nimport { FormatUnitWithHtmlPipe } from '../pipes/format-unit-with-html.pipe';\nimport { FormatUnitWithUnicodePipe } from '../pipes/format-unit-with-unicode.pipe';\nimport { RouteSelectorComponent } from './route-selector/route-selector.component';\nimport { GriReportTipComponent } from './gri-report-tip/gri-report-tip.component';\nimport { RouterModule } from '@angular/router';\nimport { IndicatorSetPreviewComponent } from './section-content-preview/indicator-set-preview/indicator-set-preview.component';\nimport { PaginationComponent } from './pagination/pagination.component';\nimport { SearchFilterBarComponent } from './search-filter-bar/search-filter-bar.component';\nimport { SortableTableColumnComponent } from './sortable-table-column/sortable-table-column.component';\n\n@NgModule({\n declarations: [\n SectionContentPreviewComponent,\n SubstrateDataPreviewComponent,\n TableDataComponent,\n DetailsDialogComponent,\n FormDialogComponent,\n AssetHistoryDialogComponent,\n TimePeriodComponent,\n HeaderWithGuidanceComponent,\n ChartV3Component,\n BetaTagComponent,\n DataImportFromExcelComponent,\n SideMenuComponent,\n IndicatorTableValuePreviewComponent,\n RiskLabelComponent,\n RiskBarComponent,\n ImportFromExcelToolbarComponent,\n OnboardingDialogComponent,\n RecordsTableComponent,\n TimePeriodSelectorComponent,\n TimePeriodSelectorOptionsComponent,\n DescriptionAndReferenceComponent,\n ColumnViewerComponent,\n RouteSelectorComponent,\n GriReportTipComponent,\n IndicatorSetPreviewComponent,\n PaginationComponent,\n SearchFilterBarComponent,\n SortableTableColumnComponent,\n ],\n imports: [\n UiModule,\n CommonModule,\n DirectiveModule,\n KeyboardShortcutsDirective,\n FormsModule,\n ReactiveFormsModule,\n HighchartsChartModule,\n FormatUnitWithHtmlPipe,\n FormatUnitWithUnicodePipe,\n RouterModule,\n ],\n exports: [\n SectionContentPreviewComponent,\n SubstrateDataPreviewComponent,\n TableDataComponent,\n DetailsDialogComponent,\n FormDialogComponent,\n AssetHistoryDialogComponent,\n TimePeriodComponent,\n ChartV3Component,\n HeaderWithGuidanceComponent,\n BetaTagComponent,\n DataImportFromExcelComponent,\n SideMenuComponent,\n IndicatorTableValuePreviewComponent,\n RiskLabelComponent,\n RiskBarComponent,\n ImportFromExcelToolbarComponent,\n OnboardingDialogComponent,\n RecordsTableComponent,\n TimePeriodSelectorComponent,\n TimePeriodSelectorOptionsComponent,\n DescriptionAndReferenceComponent,\n ColumnViewerComponent,\n RouteSelectorComponent,\n GriReportTipComponent,\n IndicatorSetPreviewComponent,\n PaginationComponent,\n SearchFilterBarComponent,\n SortableTableColumnComponent,\n ],\n})\nexport class SharedComponentsModule {}\n","import { Component, Input } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'esg-side-menu',\n templateUrl: './side-menu.component.html',\n styleUrls: ['./side-menu.component.scss'],\n host: {\n '(mouseenter)': 'setHideScroll(false)',\n '(mouseleave)': 'setHideScroll(true)',\n },\n})\nexport class SideMenuComponent {\n @Input() showBackButton: boolean = false;\n @Input() goBackUrl: string = '/';\n @Input() backButtonLabel: string = 'Back to home';\n hideScroll: boolean = true;\n\n constructor(private router: Router) {}\n\n setHideScroll(hideScroll: boolean) {\n this.hideScroll = hideScroll;\n }\n\n navigateBack() {\n this.router.navigate([this.goBackUrl]);\n }\n}\n","\n\n
\n \n
\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'esg-sortable-table-column',\n templateUrl: './sortable-table-column.component.html',\n styleUrls: ['./sortable-table-column.component.scss'],\n host: {\n '[class.no-filter]': '!showFilter',\n },\n})\nexport class SortableTableColumnComponent {\n @Input() columnName?: string;\n @Input() subHeader?: string;\n @Input() sortKey: string = '';\n @Input() activeSortKey: string = '';\n @Input() activeSortDirection: 'asc' | 'desc' | '' = '';\n @Input() showDefaultName: boolean = true;\n @Output() sortChange = new EventEmitter<{ key: string; direction: 'asc' | 'desc' | '' }>();\n\n get isSorted(): boolean {\n return this.sortKey === this.activeSortKey;\n }\n\n get sortDirection(): 'asc' | 'desc' | '' {\n return this.isSorted ? this.activeSortDirection : '';\n }\n\n toggleSort(): void {\n const newDirection = this.isSorted\n ? this.activeSortDirection === 'asc'\n ? 'desc'\n : this.activeSortDirection === 'desc'\n ? ''\n : 'asc'\n : 'asc';\n this.sortChange.emit({ key: this.sortKey, direction: newDirection });\n }\n}\n","
\n
\n
\n {{ columnName }}\n
\n
\n {{ subHeader }}\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n
","import { Component, Input, OnInit } from '@angular/core';\nimport { formatNumbersInString } from 'src/app/shared/utils/number-converters';\n\nexport interface SubstrateDataPreviewUi {\n tHead: TrUi[];\n tBody: TrUi[];\n}\n\ninterface TrUi {\n items: TrItemUi[];\n}\n\ninterface TrItemUi {\n rowSpan?: number;\n colSpan?: number;\n content?: string;\n isNumber: boolean;\n}\n\n@Component({\n selector: 'esg-substrate-data-preview',\n templateUrl: './substrate-data-preview.component.html',\n styleUrls: ['./substrate-data-preview.component.scss'],\n})\nexport class SubstrateDataPreviewComponent implements OnInit {\n @Input({ required: true }) substrateData!: SubstrateDataPreviewUi;\n\n getFormattedNumbers = formatNumbersInString;\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n {{ cell.content }}\n
\n {{ cell.isNumber ? getFormattedNumbers(cell.content || '', 0, 2) : cell.content || '' }}\n
\n","import { Component, Input, OnInit } from '@angular/core';\n\nexport interface HeaderColumn {\n label: string;\n}\n\nexport interface TableDataConfig {\n headers: HeaderColumn[];\n}\n\n@Component({\n selector: 'esg-table-data',\n templateUrl: './table-data.component.html',\n styleUrls: ['./table-data.component.scss'],\n})\nexport class TableDataComponent implements OnInit {\n @Input({ required: true }) editMode!: boolean;\n @Input({ required: true }) config!: TableDataConfig;\n @Input({ required: true }) rows!: string[][];\n\n get columnsCount() {\n return `1fr repeat(${this.config.headers.length - 1}, auto)`;\n }\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","\n \n \n \n \n \n \n \n \n \n \n
{{ header.label }}
\n {{ item }}\n
\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ITimePeriodData } from '../../time-period/time-period.component';\nimport { IOption, globalMonthShortOptions, globalQuarterOptions } from 'src/app/static-data/options';\nimport { TimePeriodType } from 'src/api-client/report-api.generated';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\n\ninterface TimePeriodForm {\n periodType: FormControl;\n annualYear: FormControl;\n quarterYear: FormControl;\n quarter: FormControl;\n monthYear: FormControl;\n month: FormControl;\n}\n\n@Component({\n selector: 'esg-time-period-selector-options',\n templateUrl: './time-period-selector-options.component.html',\n styleUrl: './time-period-selector-options.component.scss',\n})\nexport class TimePeriodSelectorOptionsComponent {\n @Input({ required: true }) timePeriod!: ITimePeriodData | undefined;\n @Output() onChange = new EventEmitter();\n\n formGroup!: FormGroup;\n quarterOptions: IOption[] = globalQuarterOptions;\n monthOptions: IOption[] = globalMonthShortOptions;\n\n timePeriodEnum = TimePeriodType;\n\n ngOnInit(): void {\n this.initializeForm();\n }\n\n handleSelectTimeperiodType(timePeriodType: TimePeriodType) {\n this.formGroup.controls.periodType.setValue(timePeriodType);\n switch (timePeriodType) {\n case TimePeriodType.Annual:\n this.formGroup.controls.annualYear.enable();\n this.formGroup.controls.quarterYear.disable();\n this.formGroup.controls.quarter.disable();\n this.formGroup.controls.monthYear.disable();\n this.formGroup.controls.month.disable();\n break;\n case TimePeriodType.Quarterly:\n this.formGroup.controls.quarterYear.enable();\n this.formGroup.controls.quarter.enable();\n this.formGroup.controls.annualYear.disable();\n this.formGroup.controls.monthYear.disable();\n this.formGroup.controls.month.disable();\n break;\n case TimePeriodType.Monthly:\n this.formGroup.controls.monthYear.enable();\n this.formGroup.controls.month.enable();\n this.formGroup.controls.annualYear.disable();\n this.formGroup.controls.quarterYear.disable();\n this.formGroup.controls.quarter.disable();\n break;\n }\n\n this.handleOnChange();\n }\n\n handlePeriodChange(formControl: FormControl, option: IOption) {\n if (option !== formControl.value) {\n formControl.setValue(option);\n formControl.markAsDirty();\n this.handleOnChange();\n }\n }\n\n handleOnChange() {\n switch (this.formGroup.controls.periodType.value) {\n case TimePeriodType.Annual:\n if (this.formGroup.controls.annualYear.value) {\n this.onChange.emit({\n type: TimePeriodType.Annual,\n year: parseInt(this.formGroup.controls.annualYear.value),\n period: 1,\n });\n }\n break;\n case TimePeriodType.Quarterly:\n if (this.formGroup.controls.quarterYear.value) {\n this.onChange.emit({\n type: TimePeriodType.Quarterly,\n year: parseInt(this.formGroup.controls.quarterYear.value),\n period: parseInt(this.formGroup.controls.quarter.value.value),\n });\n }\n break;\n case TimePeriodType.Monthly:\n if (this.formGroup.controls.monthYear.value) {\n this.onChange.emit({\n type: TimePeriodType.Monthly,\n year: parseInt(this.formGroup.controls.monthYear.value),\n period: parseInt(this.formGroup.controls.month.value.value),\n });\n }\n break;\n }\n }\n\n private initializeForm() {\n const quarterOption =\n this.timePeriod?.type === TimePeriodType.Quarterly\n ? this.quarterOptions.find(o => o.value === this.timePeriod?.period?.toString()) || this.quarterOptions[0]\n : this.quarterOptions[0];\n\n const monthOption =\n this.timePeriod?.type === TimePeriodType.Monthly\n ? this.monthOptions.find(o => o.value === this.timePeriod?.period?.toString()) || this.monthOptions[0]\n : this.monthOptions[0];\n\n const year = this.timePeriod?.year?.toString() || new Date().getFullYear().toString();\n const form: TimePeriodForm = {\n periodType: new FormControl(this.timePeriod?.type, {\n nonNullable: true,\n validators: [Validators.required],\n }),\n annualYear: new FormControl(\n { value: year, disabled: this.timePeriod?.type !== TimePeriodType.Annual },\n {\n nonNullable: true,\n validators: [Validators.required],\n }\n ),\n quarterYear: new FormControl(\n { value: year, disabled: this.timePeriod?.type !== TimePeriodType.Quarterly },\n {\n nonNullable: true,\n validators: [Validators.required],\n }\n ),\n quarter: new FormControl(\n { value: quarterOption, disabled: this.timePeriod?.type !== TimePeriodType.Quarterly },\n {\n nonNullable: true,\n }\n ),\n monthYear: new FormControl(\n { value: year, disabled: this.timePeriod?.type !== TimePeriodType.Monthly },\n {\n nonNullable: true,\n validators: [Validators.required],\n }\n ),\n month: new FormControl(\n { value: monthOption, disabled: this.timePeriod?.type !== TimePeriodType.Monthly },\n {\n nonNullable: true,\n }\n ),\n };\n this.formGroup = new FormGroup(form);\n }\n}\n","
\n
\n \n Annual\n
\n \n
\n
\n
\n \n Quarter\n
\n \n \n
\n
\n
\n \n Month\n
\n \n \n
\n","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild, forwardRef } from '@angular/core';\nimport { ITimePeriodData } from '../time-period/time-period.component';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { TimePeriodType } from 'src/api-client/report-api.generated';\nimport { globalMonthShortOptions, globalQuarterOptions } from 'src/app/static-data/options';\n\n@Component({\n selector: 'esg-time-period-selector',\n templateUrl: './time-period-selector.component.html',\n styleUrl: './time-period-selector.component.scss',\n host: {\n '(focus)': 'handleFocus()',\n '(onEscapeKey)': 'handleOnCancel()',\n '(onEnterKey)': 'handleOnCancel()',\n '[tabindex]': 'disabled? -1 : tabindex',\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TimePeriodSelectorComponent),\n multi: true,\n },\n ],\n})\nexport class TimePeriodSelectorComponent implements ControlValueAccessor {\n @Input({ required: true }) formControl!: FormControl;\n @Input() variant: 'standard' | 'ghost' | 'ghost-table' = 'standard';\n @Input() size: 'small' | 'medium' | 'large' = 'medium';\n @Input() placeholder = 'Select period';\n @Input() tabindex: number = 0;\n @Output() onChange = new EventEmitter();\n\n selectedValue: ITimePeriodData | undefined;\n selectedValueLabel: string | undefined = undefined;\n focused: boolean = false;\n isCollapsed: boolean = true;\n disabled: boolean = false;\n dropUp: boolean = false;\n\n onModelChange?: (modelValue?: ITimePeriodData) => void;\n onModelTouched?: () => void;\n\n @ViewChild('input') private input: ElementRef | undefined;\n\n constructor(private hostRef: ElementRef) {}\n\n writeValue(value: ITimePeriodData): void {\n this.selectedValue = value;\n this.selectedValueLabel = this.getSelectedValueLabel();\n }\n\n registerOnChange(fn: any): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onModelTouched = fn;\n }\n\n handleChange(option: ITimePeriodData) {\n if (this.onModelChange) {\n this.selectedValue = option;\n this.onModelChange(option);\n this.selectedValueLabel = this.getSelectedValueLabel();\n }\n if (this.onModelTouched) this.onModelTouched();\n this.onChange.emit(option);\n }\n\n toggleCollapse(): void {\n if (this.onModelTouched) this.onModelTouched();\n if (this.isCollapsed) {\n this.setDropUp();\n }\n if (this.focused) this.focused = false;\n this.isCollapsed = !this.isCollapsed;\n }\n\n collapse(): void {\n if (this.focused) this.focused = false;\n this.isCollapsed = true;\n }\n\n handleOnCancel() {\n this.collapse();\n this.hostRef.nativeElement.blur();\n }\n\n handleFocus() {\n if (!this.disabled) {\n this.focused = true;\n this.setDropUp();\n }\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n handleFocusOut() {\n this.collapse();\n }\n\n setDropUp() {\n if (this.input && window.innerHeight - this.input.nativeElement.getBoundingClientRect().bottom < 200)\n this.dropUp = true;\n else this.dropUp = false;\n }\n\n private getSelectedValueLabel(): string | undefined {\n switch (this.selectedValue?.type) {\n case TimePeriodType.Annual: {\n return this.selectedValue?.year ? (this.selectedValue?.year).toString() : '';\n }\n case TimePeriodType.Quarterly: {\n if (!this.selectedValue?.period || !this.selectedValue?.year) return '';\n const year = this.selectedValue.year.toString();\n const quarter =\n globalQuarterOptions.find(option => option.value === this.selectedValue?.period?.toString())?.label || '';\n return quarter + ' ' + year;\n }\n case TimePeriodType.Monthly: {\n if (!this.selectedValue?.period || !this.selectedValue?.year) return '';\n const year = this.selectedValue.year.toString();\n const month =\n globalMonthShortOptions.find(option => option.value === this.selectedValue?.period?.toString())?.label || '';\n return month + ' ' + year;\n }\n default:\n return undefined;\n }\n }\n}\n","
\n
\n \n \n
\n
\n","import { Component, EventEmitter, OnInit, Output, Input } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { TimePeriodType } from 'src/api-client/report-api.generated';\nimport { IOption } from 'src/app/static-data/options';\nimport { generateCurrentYearOptions, globalMonthOptions, globalQuarterOptions } from 'src/app/static-data/options';\n\nexport interface ITimePeriodData {\n type: TimePeriodType;\n year?: number;\n period?: number;\n customStart?: Date | undefined;\n customEnd?: Date | undefined;\n}\n\n@Component({\n selector: 'esg-time-period',\n templateUrl: './time-period.component.html',\n styleUrls: ['./time-period.component.scss'],\n})\nexport class TimePeriodComponent implements OnInit {\n @Input() timePeriod?: ITimePeriodData;\n @Input() disabled = false;\n @Input() hidePeriodTypes: TimePeriodType[] = [TimePeriodType.Custom];\n @Input() showYearStartMonth: boolean = false;\n @Input() numberOfYearsBefore?: number = 1;\n\n timePeriodEnum = TimePeriodType;\n timePeriodType!: TimePeriodType;\n\n annualYearValue!: IOption;\n annualYearStartMonthValue!: IOption;\n quarterlyValue!: IOption;\n quarterlyYearValue!: IOption;\n monthlyValue!: IOption;\n monthlyYearValue!: IOption;\n\n yearOptions: IOption[] = [];\n quarterOptions: IOption[] = globalQuarterOptions;\n monthOptions: IOption[] = globalMonthOptions;\n customStartDate: FormControl = new FormControl({ value: null, disabled: true });\n customEndDate: FormControl = new FormControl({ value: null, disabled: true });\n\n @Output() onChange = new EventEmitter();\n\n constructor() {}\n\n ngOnInit(): void {\n var generatedYearOptions = generateCurrentYearOptions(this.numberOfYearsBefore);\n this.yearOptions = generatedYearOptions;\n\n var currentYear = new Date().getFullYear().toString();\n var currentYearOption: IOption = generatedYearOptions.find(o => o.value === currentYear) || generatedYearOptions[0];\n\n this.annualYearValue = currentYearOption;\n this.annualYearStartMonthValue = this.monthOptions[0];\n this.quarterlyYearValue = currentYearOption;\n this.quarterlyValue = this.quarterOptions[0];\n this.monthlyYearValue = currentYearOption;\n this.monthlyValue = this.monthOptions[0];\n\n if (this.timePeriod) {\n const { type, year, period } = this.timePeriod;\n this.timePeriodType = type;\n switch (type) {\n case TimePeriodType.Annual:\n this.annualYearValue =\n generatedYearOptions.find(o => o.value === year?.toString()) || generatedYearOptions[0];\n this.annualYearStartMonthValue =\n this.monthOptions.find(o => o.value === period?.toString()) || this.monthOptions[0];\n break;\n case TimePeriodType.Quarterly:\n this.quarterlyValue = this.quarterOptions.find(o => o.value === period?.toString()) || this.quarterOptions[0];\n this.quarterlyYearValue =\n generatedYearOptions.find(o => o.value === year?.toString()) || generatedYearOptions[0];\n break;\n case TimePeriodType.Monthly:\n this.monthlyValue = this.monthOptions.find(o => o.value === period?.toString()) || this.monthOptions[0];\n this.monthlyYearValue =\n generatedYearOptions.find(o => o.value === year?.toString()) || generatedYearOptions[0];\n break;\n case TimePeriodType.Custom:\n this.customStartDate.setValue(this.timePeriod.customStart || null);\n this.customEndDate.setValue(this.timePeriod.customEnd || null);\n this.customStartDate.enable();\n this.customEndDate.enable();\n }\n }\n }\n\n selectTimePeriod(timePeriod: TimePeriodType) {\n if (!this.disabled) {\n this.timePeriodType = timePeriod;\n const isCustom = timePeriod === TimePeriodType.Custom;\n if (isCustom) {\n this.customStartDate.enable();\n this.customEndDate.enable();\n } else {\n this.customStartDate.disable();\n this.customEndDate.disable();\n }\n\n this.updateTimePeriod();\n }\n }\n\n handleAnnualTimePeriodChange(yearOption: IOption, startMonthOption: IOption) {\n this.annualYearValue = yearOption;\n this.annualYearStartMonthValue = startMonthOption;\n this.updateTimePeriod();\n }\n\n handleQuarterlyTimePeriodChange(yearOption: IOption, quarterOption: IOption) {\n this.quarterlyYearValue = yearOption;\n this.quarterlyValue = quarterOption;\n this.updateTimePeriod();\n }\n\n handleMonthTimePeriodChange(yearOption: IOption, monthOption: IOption) {\n this.monthlyYearValue = yearOption;\n this.monthlyValue = monthOption;\n this.updateTimePeriod();\n }\n\n updateTimePeriod() {\n var timePeriodData = this.getTimePeriodData(this.timePeriodType);\n this.onChange.emit(timePeriodData);\n }\n\n getTimePeriodData(timePeriod: TimePeriodType): ITimePeriodData {\n switch (timePeriod) {\n case TimePeriodType.Annual:\n return {\n type: TimePeriodType.Annual,\n year: parseInt(this.annualYearValue.value),\n period: parseInt(this.annualYearStartMonthValue.value),\n };\n case TimePeriodType.Quarterly:\n return {\n type: TimePeriodType.Quarterly,\n year: parseInt(this.quarterlyYearValue.value),\n period: parseInt(this.quarterlyValue.value),\n };\n case TimePeriodType.Monthly:\n return {\n type: TimePeriodType.Monthly,\n year: parseInt(this.monthlyYearValue.value),\n period: parseInt(this.monthlyValue.value),\n };\n case TimePeriodType.Custom:\n return {\n type: TimePeriodType.Custom,\n customStart: this.customStartDate.value || undefined,\n customEnd: this.customEndDate.value || undefined,\n };\n }\n }\n}\n","ACCOUNTING year starts in\n
\n
\n \n Annual\n
\n \n \n\n
\n \n Quarterly\n
\n \n \n \n
\n \n Monthly\n
\n \n \n
\n \n
\n \n Custom\n
\n \n \n
\n
\n","import { Directive, EventEmitter, HostListener, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { Subject, Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\n@Directive({\n selector: '[click.single],[click.double]',\n})\nexport class ClickDoubleDirective implements OnInit, OnDestroy {\n @Input() debounceTime = 300;\n @Output('click.double') doubleClick = new EventEmitter();\n @Output('click.single') singleClick = new EventEmitter();\n\n private clicksSubject = new Subject();\n private subscription!: Subscription;\n\n constructor() {}\n\n ngOnInit() {\n this.subscription = this.clicksSubject.pipe(debounceTime(this.debounceTime)).subscribe(event => {\n if (event.type === 'click') {\n this.singleClick.emit(event);\n } else {\n this.doubleClick.emit(event);\n }\n });\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n\n @HostListener('click', ['$event'])\n clickEvent(event: MouseEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.clicksSubject.next(event);\n }\n @HostListener('dblclick', ['$event'])\n doubleClickEvent(event: MouseEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.clicksSubject.next(event);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { ClickDoubleDirective } from './click-double.directive';\nimport { IntersectionObserverDirective } from './intersection-observer';\n\n@NgModule({\n declarations: [IntersectionObserverDirective, ClickDoubleDirective],\n exports: [IntersectionObserverDirective, ClickDoubleDirective],\n})\nexport class DirectiveModule {}\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { debounce } from 'lodash';\n\n@Directive({\n selector: '[esgIntersectionObserver]',\n})\nexport class IntersectionObserverDirective implements AfterViewInit, OnChanges, OnDestroy {\n @Input() root: Element | Document | null | undefined = null;\n @Input() threshold: number | number[] = [...Array(100).keys()].map(x => x / 100); //[0.00, 0.01, 0.02, /*…,*/ 0.99, 1.00]\n @Input() rootMargin: string = '0px'; // 0px 0px 0px 0px\n @Input() observe: boolean = true;\n @Input() debounceTime?: number;\n @Output() onInit = new EventEmitter();\n @Output() onIntersection = new EventEmitter();\n\n private observer?: IntersectionObserver;\n\n constructor(private elementRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n this.onInit.emit();\n this.observer = new IntersectionObserver(\n this.debounceTime\n ? debounce(entries => this.onIntersection.emit(entries[0]), this.debounceTime)\n : entries => this.onIntersection.emit(entries[0]),\n {\n root: this.root,\n rootMargin: this.rootMargin,\n threshold: this.threshold,\n }\n );\n\n this.observe && this.observer.observe(this.elementRef.nativeElement);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if ('observe' in changes && this.observer) {\n if (changes['observe'].currentValue) {\n this.observer.observe(this.elementRef.nativeElement);\n } else {\n this.observer.unobserve(this.elementRef.nativeElement);\n }\n }\n }\n\n ngOnDestroy(): void {\n if (this.observer) {\n this.observer.disconnect();\n }\n }\n}\n","import { Directive, HostListener, Output, EventEmitter, ElementRef, Input } from '@angular/core';\n\n@Directive({\n selector: '[esgKeyboardShortcuts]',\n standalone: true,\n})\nexport class KeyboardShortcutsDirective {\n @Input() keyOnlyOnFocus: boolean = false;\n @Output() onEscapeKey = new EventEmitter();\n @Output() onEnterKey = new EventEmitter();\n\n constructor(private hostRef: ElementRef) {}\n\n @HostListener('document:keydown.escape', ['$event'])\n handleOnEscapeKey(event: Event) {\n if (this.keyOnlyOnFocus && !this.hostRef.nativeElement.contains(event.target)) return;\n this.onEscapeKey.emit(event);\n }\n\n @HostListener('document:keydown.enter', ['$event'])\n handleOnEnterKey(event: Event) {\n if (this.keyOnlyOnFocus && !this.hostRef.nativeElement.contains(event.target)) return;\n this.onEnterKey.emit(event);\n }\n}\n","import { Directive, HostListener, Output, EventEmitter, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[esgTabFocus]',\n standalone: true,\n})\nexport class TabFocusDirective {\n private isTabPressed = false;\n\n @Output() onTabFocus = new EventEmitter();\n @Output() onTabBlur = new EventEmitter();\n\n constructor(private hostRef: ElementRef) {}\n\n @HostListener('document:keydown', ['$event'])\n handleKeydown(event: KeyboardEvent) {\n if (event.key === 'Tab') {\n this.isTabPressed = true;\n }\n }\n\n @HostListener('document:keyup', ['$event'])\n handleKeyup(event: KeyboardEvent) {\n if (event.key === 'Tab') {\n this.isTabPressed = false;\n }\n }\n\n @HostListener('focus', ['$event'])\n handleFocusIn(event: Event) {\n if (this.isTabPressed && this.hostRef.nativeElement.contains(event.target)) {\n this.onTabFocus.emit(event);\n }\n }\n\n @HostListener('focusout', ['$event'])\n handleFocusOut(event: Event) {\n if (this.isTabPressed && this.hostRef.nativeElement.contains(event.target)) {\n this.onTabBlur.emit(event);\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'formatUnitWithHtml',\n standalone: true,\n})\nexport class FormatUnitWithHtmlPipe implements PipeTransform {\n transform(value: string | null | undefined): string {\n if (!value) return '';\n\n const htmlFormats: { [key: string]: string } = {\n CO2: 'CO2',\n CH4: 'CH4',\n N2O: 'N2O',\n SOx: 'SOx',\n NOx: 'NOx',\n 'PM2.5': 'PM2.5',\n\n m2: 'm2',\n m3: 'm3',\n };\n\n const regex = new RegExp(Object.keys(htmlFormats).join('|'), 'g');\n\n return value.replace(regex, match => htmlFormats[match]);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'formatUnitWithUnicode',\n standalone: true,\n})\nexport class FormatUnitWithUnicodePipe implements PipeTransform {\n transform(value: string | null | undefined): string {\n if (!value) return '';\n\n const unicodeFormats: { [key: string]: string } = {\n CO2: 'CO₂',\n CH4: 'CH₄',\n N2O: 'N₂O',\n SOx: 'SOₓ',\n NOx: 'NOₓ',\n 'PM2.5': 'PM₂.₅',\n\n m2: 'm²',\n m3: 'm³',\n };\n\n const regex = new RegExp(Object.keys(unicodeFormats).join('|'), 'g');\n\n return value.replace(regex, match => unicodeFormats[match]);\n }\n}\n","import { Component, Input } from '@angular/core';\n\nimport { Toast, ToastrService, ToastPackage } from 'ngx-toastr';\nimport { NotificationLinkUi } from '../../ui/notification/notification.component';\n\n@Component({\n selector: '[esg-notification-wrapper]',\n template: `\n \n `,\n styles: [\n `\n :host {\n display: flex;\n pointer-events: all;\n }\n `,\n ],\n})\nexport class NotificationWrapperComponent extends Toast {\n @Input() link?: NotificationLinkUi;\n\n variant: 'error' | 'info' | 'success' | 'warning' = 'info';\n\n constructor(protected toastrService: ToastrService, public toastPackage: ToastPackage) {\n super(toastrService, toastPackage);\n switch (this.toastPackage.toastType) {\n case 'notification-error':\n this.variant = 'error';\n break;\n case 'notification-info':\n this.variant = 'info';\n break;\n case 'notification-success':\n this.variant = 'success';\n break;\n case 'notification-warning':\n this.variant = 'warning';\n break;\n default:\n this.variant = 'info';\n break;\n }\n }\n\n handleClose() {\n this.remove();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ToastrModule } from 'ngx-toastr';\nimport { NotificationService } from './notification.service';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { NotificationWrapperComponent } from './notification-wrapper.component';\nimport { UiModule } from '../../ui/ui.module';\nexport { NotificationService };\n\n@NgModule({\n declarations: [NotificationWrapperComponent],\n imports: [\n CommonModule,\n BrowserAnimationsModule,\n UiModule,\n ToastrModule.forRoot({\n toastComponent: NotificationWrapperComponent,\n toastClass: '',\n preventDuplicates: true,\n iconClasses: {\n error: 'notification-error',\n info: 'notification-info',\n success: 'notification-success',\n warning: 'notification-warning',\n },\n }),\n ],\n providers: [NotificationService],\n})\nexport class NotificationModule {}\n","import { Injectable } from '@angular/core';\nimport { ToastrService } from 'ngx-toastr';\nimport { NotificationLinkUi } from '../../ui/notification/notification.component';\n\nexport type ResponseError = { [key: number]: string[] };\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NotificationService {\n constructor(private toastr: ToastrService) {}\n\n showSuccess(title: string, message: string = '', link?: NotificationLinkUi) {\n const toast = this.toastr.success(message, title, { timeOut: 10000 });\n toast.toastRef.componentInstance.link = link;\n }\n\n showError(title: string, message: string = '', link?: NotificationLinkUi) {\n const toast = this.toastr.error(message, title, { disableTimeOut: true });\n toast.toastRef.componentInstance.link = link;\n }\n\n showInfo(title: string, message: string = '', link?: NotificationLinkUi) {\n const toast = this.toastr.info(message, title, { disableTimeOut: true });\n toast.toastRef.componentInstance.link = link;\n }\n\n showWarning(title: string, message: string = '', link?: NotificationLinkUi) {\n const toast = this.toastr.warning(message, title, { disableTimeOut: true });\n toast.toastRef.componentInstance.link = link;\n }\n}\n","import { Injectable } from '@angular/core';\n\ntype CalculationMode = 'percentage' | 'lastYearValue';\n\nexport interface CalculateOptions {\n baseYear: number;\n targetYear: number;\n baseValue: number;\n percentageChange?: number;\n lastYearValue?: number;\n mode: CalculationMode;\n}\n\nexport interface TargetValue {\n year: number;\n value: number;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TargetValueCalculatorService {\n constructor() {}\n\n public calculateTargetValuesByTargetValue(options: {\n baseYear: number;\n baseValue: number;\n targetYear: number;\n targetYearValue: number;\n }): TargetValue[] {\n const targetValues: TargetValue[] = [];\n let currentValue = options.baseValue;\n let yearlyChangeValue = (options.targetYearValue - options.baseValue) / (options.targetYear - options.baseYear);\n\n targetValues.push({ year: options.baseYear, value: options.baseValue });\n for (let year = options.baseYear + 1; year <= options.targetYear; year++) {\n currentValue += yearlyChangeValue;\n targetValues.push({ year, value: parseFloat(currentValue.toFixed(2)) });\n }\n return targetValues;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { UnitApiService } from 'src/app/api-client/report-api/unit-api-service';\nimport { ObjectArray, toHashTableBy } from '../../utils/object-array';\nimport { NotificationService } from '../notification/notification.service';\nimport { BehaviorSubject } from 'rxjs';\n\nexport interface IUnit {\n key: string;\n name: string;\n description: string;\n}\n\n@Injectable()\nexport class UnitService {\n private unitsSubject: BehaviorSubject> = new BehaviorSubject>({});\n units$ = this.unitsSubject.asObservable();\n\n constructor(private unitApiService: UnitApiService, private notificationService: NotificationService) {\n this.getAllUnits();\n }\n\n async getAllUnits() {\n try {\n const response = await this.unitApiService.getAllUnits();\n const units = response.result.map(unit => ({\n key: unit.key,\n name: unit.name,\n description: unit.description,\n }));\n const unitsHashTable = toHashTableBy(units, 'key');\n this.unitsSubject.next(unitsHashTable);\n } catch (error) {\n this.notificationService.showError('An error occurred while fetching units.');\n }\n }\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { IOption } from 'src/app/static-data/options';\nimport { GenericColumnType, GenericColumnUi, GenericRowUi, HoverActionStateType } from './generic-table.types';\n\n@Component({\n selector: 'esg-generic-table',\n templateUrl: './generic-table.component.html',\n styleUrl: './generic-table.component.scss',\n})\nexport class GenericTableComponent {\n @Input() columns: GenericColumnUi[] = [];\n @Input() rows: GenericRowUi[] = [];\n @Input() isConfigurable: boolean = true;\n @Input() hideColumns: boolean = false;\n @Input() currencyOptions: IOption[] = [];\n @Output() onRowChange = new EventEmitter();\n @Output() onAddRowAfter = new EventEmitter();\n @Output() onDeleteRow = new EventEmitter();\n @Output() onAddColumnAfter = new EventEmitter();\n @Output() onDeleteColumn = new EventEmitter();\n @Output() onColumnsChange = new EventEmitter();\n\n @ViewChild('table') table!: ElementRef;\n\n columnTypeMap: Map = new Map();\n optionsMap: Map = new Map();\n\n selectedColumns: string[] = [];\n selectedRows: string[] = [];\n\n hoveredRowId?: string;\n hoveredColumnId?: string;\n\n isSelecting: boolean = false;\n resizingForColumn?: string;\n\n readonly inputTypeEnum = GenericColumnType;\n readonly hoverActionStateTypeEnum = HoverActionStateType;\n hoverActionState: HoverActionStateType = HoverActionStateType.None;\n\n get isAddRowHovered(): boolean {\n return this.hoverActionState === HoverActionStateType.AddRow;\n }\n\n get isAddColumnHovered(): boolean {\n return this.hoverActionState === HoverActionStateType.AddColumn;\n }\n\n get isDeleteRowHovered(): boolean {\n return this.hoverActionState === HoverActionStateType.DeleteRow;\n }\n\n get isDeleteColumnHovered(): boolean {\n return this.hoverActionState === HoverActionStateType.DeleteColumn;\n }\n\n get isFirstHeaderHovered(): boolean {\n return this.hoveredColumnId === this.columns[0].columnId;\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.columns) {\n this.updateColumnTypeMap();\n this.updateOptionsMap();\n }\n }\n\n updateColumnTypeMap(): void {\n this.columnTypeMap.clear();\n this.columns.forEach(column => {\n this.columnTypeMap.set(column.columnId, column.type);\n });\n }\n\n updateOptionsMap(): void {\n this.optionsMap.clear();\n this.columns.forEach(column => {\n if (column.options) {\n this.optionsMap.set(column.columnId, column.options);\n }\n });\n }\n\n getColumnType(columnId: string): GenericColumnType | undefined {\n return this.columnTypeMap.get(columnId);\n }\n\n getColumnOptions(columnId: string): IOption[] | undefined {\n return this.optionsMap.get(columnId);\n }\n\n getOptionValue(columnId: string, cellValue: string | number): IOption | undefined {\n const options = this.optionsMap.get(columnId);\n return options?.find(option => option.value === cellValue.toString());\n }\n\n getCurrencyOption(cellValue: string | number): IOption | undefined {\n return this.currencyOptions.find(option => option.value === cellValue.toString());\n }\n\n handleOnColumnsChange() {\n this.onColumnsChange.emit(this.columns);\n }\n\n handleOnDropdownChange(rowId: string, columnId: string, option: IOption) {\n const row = this.rows.find(r => r.rowId === rowId);\n if (row) {\n const valueIndex = row.values.findIndex(v => v.columnId === columnId);\n if (valueIndex !== -1) {\n row.values[valueIndex].value = option.value;\n }\n this.onRowChange.emit(row);\n }\n }\n\n handleOnTextChange(rowId: string, columnId: string, value: string) {\n const row = this.rows.find(r => r.rowId === rowId);\n if (row) {\n const valueIndex = row.values.findIndex(v => v.columnId === columnId);\n if (valueIndex !== -1 && value !== row.values[valueIndex].value) {\n row.values[valueIndex].value = value;\n }\n this.onRowChange.emit(row);\n }\n }\n\n handleOnNumberChange(rowId: string, columnId: string, value: string) {\n const row = this.rows.find(r => r.rowId === rowId);\n if (row) {\n const valueIndex = row.values.findIndex(v => v.columnId === columnId);\n if (valueIndex !== -1 && value !== row.values[valueIndex].value) {\n row.values[valueIndex].value = value;\n }\n this.onRowChange.emit(row);\n }\n }\n\n handleOnCurrencyChange(rowId: string, columnId: string, option: IOption) {\n const row = this.rows.find(r => r.rowId === rowId);\n if (row) {\n const valueIndex = row.values.findIndex(v => v.columnId === columnId);\n if (valueIndex !== -1) {\n row.values[valueIndex].unit = option.value;\n }\n this.onRowChange.emit(row);\n }\n }\n\n handleOnHeaderChange(columnId: string, event: Event) {\n const column = this.columns.find(c => c.columnId === columnId);\n if (column) {\n column.header = (event.target as HTMLInputElement).value;\n this.handleOnColumnsChange();\n }\n }\n\n handleOnDescriptionChange(columnId: string, event: Event) {\n const column = this.columns.find(c => c.columnId === columnId);\n if (column) {\n column.description = (event.target as HTMLInputElement).value;\n this.handleOnColumnsChange();\n }\n }\n\n handleOnRowAddAfter(rowId?: string) {\n this.onAddRowAfter.emit(rowId);\n }\n\n handleOnRowDelete(rowId: string) {\n this.onDeleteRow.emit(rowId);\n }\n\n handleOnColumnAddAfter(columnId?: string) {\n this.onAddColumnAfter.emit(columnId);\n }\n\n handleOnColumnDelete(columnId: string) {\n this.onDeleteColumn.emit(columnId);\n }\n\n onRowMouseEnter(rowId: string) {\n this.hoveredRowId = rowId;\n }\n\n onColumnMouseEnter(columnId: string) {\n this.hoveredColumnId = columnId;\n }\n\n clearHoverState() {\n this.hoveredRowId = undefined;\n this.hoveredColumnId = undefined;\n this.hoverActionState = HoverActionStateType.None;\n }\n\n clearHoverActionState() {\n this.hoverActionState = HoverActionStateType.None;\n }\n\n setHoverActionState(state: HoverActionStateType) {\n this.hoverActionState = state;\n }\n\n @HostListener('document:mousedown', ['$event'])\n onMouseDown(event: MouseEvent) {\n const target = event.target as HTMLElement;\n if (!target.closest(this.table.nativeElement.tagName)) {\n this.clearCellSelection();\n } else {\n // Disabling selection for now\n this.isSelecting = false;\n this.clearCellSelection();\n this.selectCell(target);\n }\n }\n\n @HostListener('document:mouseup')\n onMouseUp() {\n this.isSelecting = false;\n }\n\n @HostListener('document:mousemove', ['$event'])\n onMouseMove(event: MouseEvent) {\n if (this.isSelecting) {\n let target = event.target as HTMLElement;\n const parentCell = target.closest('td');\n\n if (parentCell) {\n this.selectCell(parentCell as HTMLElement);\n }\n }\n }\n\n selectCell(target: HTMLElement) {\n const rowId = target.getAttribute('data-row-id');\n const columnId = target.getAttribute('data-column-id');\n if (rowId && columnId) {\n if (!this.selectedRows.includes(rowId)) {\n this.selectedRows.push(rowId);\n } else {\n this.selectedRows.splice(this.selectedRows.indexOf(rowId) + 1);\n }\n if (!this.selectedColumns.includes(columnId)) {\n this.selectedColumns.push(columnId);\n } else {\n this.selectedColumns.splice(this.selectedColumns.indexOf(columnId) + 1);\n }\n }\n }\n\n clearCellSelection() {\n this.selectedRows = [];\n this.selectedColumns = [];\n }\n\n isSelectedCell(rowId: string, columnId: string) {\n return this.selectedRows.includes(rowId) && this.selectedColumns.includes(columnId);\n }\n\n startResizing(event: MouseEvent, columnId: string): void {\n const target = event.target as HTMLElement;\n const columnHeader = target.parentElement;\n\n if (!columnHeader) return;\n\n const startPageX = event.pageX;\n const originalWidth = columnHeader.offsetWidth;\n event.preventDefault();\n\n const mouseMoveHandler = (moveEvent: MouseEvent) => {\n const tableWidth = this.table.nativeElement.offsetWidth;\n const movementX = moveEvent.pageX - startPageX;\n let newWidth = originalWidth + movementX;\n let newWidthPercent = (newWidth / tableWidth) * 100;\n columnHeader.style.width = `${newWidthPercent}%`;\n this.resizingForColumn = columnId;\n };\n\n const stopResizing = () => {\n document.removeEventListener('mousemove', mouseMoveHandler);\n document.removeEventListener('mouseup', stopResizing);\n const column = this.columns.find(c => c.columnId === columnId);\n if (column) {\n column.width = columnHeader.style.width;\n this.handleOnColumnsChange();\n }\n this.resizingForColumn = undefined;\n };\n\n document.addEventListener('mousemove', mouseMoveHandler);\n document.addEventListener('mouseup', stopResizing);\n }\n\n handleResizeMouseEnter(columnId: string) {\n this.resizingForColumn = columnId;\n }\n\n handleResizeMouseLeave() {\n this.resizingForColumn = undefined;\n }\n\n trackByColumnId(index: number, column: GenericColumnUi): string {\n return column.columnId;\n }\n\n trackByRowId(index: number, row: GenericRowUi): string {\n return row.rowId;\n }\n}\n","\n \n \n \n \n
\n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n \n
\n
\n \n \n \n \n \n
\n \n \n \n \n \n
\n \n \n \n \n \n \n
\n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n \n
\n \n
\n","import { CellValueType } from 'src/api-client/report-api.generated';\nimport { IOption } from '../table-dropdown/table-dropdown.component';\n\nexport interface GenericColumnUi {\n header: string;\n description?: string;\n columnId: string;\n type: GenericColumnType;\n width?: string;\n options?: IOption[];\n unit?: string;\n}\n\nexport interface GenericRowUi {\n rowId: string;\n values: GenericRowValueUi[];\n}\n\nexport interface GenericRowValueUi {\n columnId: string;\n value: string | number;\n unit?: string;\n}\n\nexport enum GenericColumnType {\n StaticText = 'StaticText',\n Numeric = 'Numeric',\n Generic = 'Generic',\n Selector = 'Selector',\n Currency = 'Currency',\n}\n\nexport enum HoverActionStateType {\n AddRow,\n AddColumn,\n DeleteRow,\n DeleteColumn,\n None,\n}\n\nexport function mapCellValueTypeToGenericType(type: CellValueType): GenericColumnType {\n switch (type) {\n case CellValueType.StaticText:\n return GenericColumnType.Generic;\n case CellValueType.Numeric:\n return GenericColumnType.Numeric;\n case CellValueType.Currency:\n return GenericColumnType.Currency;\n default:\n return GenericColumnType.Generic;\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'esg-table-button [onClick]',\n templateUrl: './table-button.component.html',\n styleUrls: ['./table-button.component.scss'],\n})\nexport class TableButtonComponent implements OnInit {\n @Input({ required: true }) label!: string;\n @Output() onClick = new EventEmitter();\n constructor() {}\n\n ngOnInit(): void {}\n\n handleClick(event: Event) {\n event.stopPropagation();\n this.onClick.emit();\n }\n}\n","\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'esg-table-cancel-button [onClick]',\n templateUrl: './table-cancel-button.component.html',\n styleUrls: ['./table-cancel-button.component.scss'],\n})\nexport class TableCancelButtonComponent implements OnInit {\n @Input({ required: true }) label!: string;\n @Output() onClick = new EventEmitter();\n\n constructor() {}\n\n ngOnInit(): void {}\n\n handleClick(event: Event) {\n event.stopPropagation();\n this.onClick.emit();\n }\n}\n","\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'esg-table-delete-button [onClick]',\n templateUrl: './table-delete-button.component.html',\n styleUrls: ['./table-delete-button.component.scss'],\n})\nexport class TableDeleteButtonComponent implements OnInit {\n @Input({ required: true }) label!: string;\n @Input() disabled: boolean = false;\n @Output() onClick = new EventEmitter();\n\n constructor() {}\n\n ngOnInit(): void {}\n\n handleClick(event: Event) {\n event.stopPropagation();\n this.onClick.emit();\n }\n}\n","\n","import { Component, Input, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\n\nexport interface IOption {\n value: string;\n label: string;\n}\n\n@Component({\n selector: 'esg-table-dropdown',\n templateUrl: './table-dropdown.component.html',\n styleUrls: ['./table-dropdown.component.scss'],\n})\nexport class TableDropdownComponent implements OnInit {\n @Input({ required: true }) name!: string;\n @Input({ required: true }) fc!: FormControl;\n @Input({ required: true }) options!: IOption[];\n @Input() disabled = false;\n open = false;\n\n toggleOpenOptions() {\n if (!this.disabled) {\n this.open = !this.open;\n }\n }\n\n handleSelectOption(option: IOption) {\n this.fc.setValue(option);\n this.open = false;\n }\n\n closeOptions() {\n this.open = false;\n }\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","\n
\n
\n {{ fc.value?.label }}\n
\n \n
\n
\n
\n
{{ option.label }}
\n \n
\n
\n\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'esg-table-header-text',\n templateUrl: './table-header-text.component.html',\n styleUrls: ['./table-header-text.component.scss'],\n})\nexport class TableHeaderTextComponent implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","\n","import { Component, ElementRef, Input, OnInit, Output, ViewChild, EventEmitter } from '@angular/core';\nimport { FormControl } from '@angular/forms';\n\n@Component({\n selector: 'esg-table-input',\n templateUrl: './table-input.component.html',\n styleUrls: ['./table-input.component.scss'],\n})\nexport class TableInputComponent implements OnInit {\n @Input({ required: true }) name!: string;\n @Input({ required: true }) fc!: FormControl;\n @Input() autoFocus = true;\n\n @Output() onEnter = new EventEmitter();\n inputEl: HTMLInputElement | unknown;\n initialValue: string | null = '';\n\n @ViewChild('input', { static: false })\n set input(element: ElementRef) {\n this.inputEl = element.nativeElement;\n\n if (this.inputEl && this.autoFocus) {\n (this.inputEl as HTMLInputElement).focus();\n }\n }\n\n constructor() {}\n\n ngOnInit(): void {\n this.initialValue = this.fc.value;\n }\n\n handleEnter() {\n this.onEnter.emit();\n this.initialValue = this.fc.value;\n if (this.inputEl) (this.inputEl as HTMLInputElement).blur();\n }\n\n handleEscape() {\n if (this.initialValue === this.fc.defaultValue) {\n this.fc.reset();\n } else {\n this.fc.setValue(this.initialValue);\n }\n if (this.inputEl) (this.inputEl as HTMLInputElement).blur();\n }\n}\n","\n","import { Component, Input, forwardRef } from '@angular/core';\nimport { SelectComponent } from '../../ui/select/select.component';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'esg-table-select',\n templateUrl: './table-select.component.html',\n styleUrls: ['./table-select.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TableSelectComponent),\n multi: true,\n },\n ],\n})\nexport class TableSelectComponent extends SelectComponent {\n @Input() placeholder = 'Select';\n @Input() required = true;\n}\n","\n
\n \n \n
\n\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'esg-table-text',\n templateUrl: './table-text.component.html',\n styleUrls: ['./table-text.component.scss'],\n})\nexport class TableTextComponent implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","\n","import { UiModule } from 'src/app/shared/ui/ui.module';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TableInputComponent } from './table-input/table-input.component';\nimport { TableDropdownComponent } from './table-dropdown/table-dropdown.component';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { IconModule } from '../ui/icons/icon.module';\nimport { TableTextComponent } from './table-text/table-text.component';\nimport { TableButtonComponent } from './table-button/table-button.component';\nimport { TableCancelButtonComponent } from './table-cancel-button/table-cancel-button.component';\nimport { TableHeaderTextComponent } from './table-header-text/table-header-text.component';\nimport { TableDeleteButtonComponent } from './table-delete-button/table-delete-button.component';\nimport { TableSelectComponent } from './table-select/table-select.component';\nimport { KeyboardShortcutsDirective } from '../directives/keyboard-shortcuts.directive';\nimport { GenericTableComponent } from './generic-table/generic-table.component';\n\n@NgModule({\n declarations: [\n TableInputComponent,\n TableDropdownComponent,\n TableTextComponent,\n TableButtonComponent,\n TableCancelButtonComponent,\n TableDeleteButtonComponent,\n TableHeaderTextComponent,\n TableSelectComponent,\n GenericTableComponent,\n ],\n imports: [CommonModule, ReactiveFormsModule, IconModule, UiModule, KeyboardShortcutsDirective],\n exports: [\n TableInputComponent,\n TableDropdownComponent,\n TableTextComponent,\n TableButtonComponent,\n TableCancelButtonComponent,\n TableDeleteButtonComponent,\n TableHeaderTextComponent,\n TableSelectComponent,\n GenericTableComponent,\n ],\n})\nexport class TableModule {}\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'esg-alert-dialog',\n templateUrl: './alert-dialog.component.html',\n styleUrls: ['./alert-dialog.component.scss'],\n})\nexport class AlertDialogComponent implements OnInit {\n @Input() title: string = 'Alert';\n @Input() message: string = '';\n @Input() buttonText: string = 'OK';\n @Input() variant: 'warning' | 'error' = 'warning';\n @Output() onClose = new EventEmitter();\n constructor() {}\n\n ngOnInit(): void {}\n\n handleClose() {\n this.onClose.emit();\n }\n}\n","\n
\n
{{ title }}
\n
{{ message }}
\n
\n \n {{ buttonText }}\n \n
\n
\n
\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'esg-add-button',\n templateUrl: './add-button.component.html',\n styleUrls: ['./add-button.component.scss'],\n})\nexport class AddButtonComponent implements OnInit {\n @Input() label = '';\n @Input() variant: 'ghost' | 'filled' = 'ghost';\n @Input() size: 'standard' | 'small' = 'standard';\n @Input() disabled = false;\n @Input() showIcon: boolean = true;\n @Output() onClick = new EventEmitter();\n constructor() {}\n\n ngOnInit(): void {}\n\n handleClick(event: Event) {\n this.onClick.emit(event);\n }\n}\n","\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'esg-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n})\nexport class ButtonComponent implements OnInit {\n @Input() class: 'primary' | 'secondary' | 'tertiary' | 'quaternary' = 'primary';\n @Input() size: 'medium' | 'standard' | 'small' | 'xsmall' = 'standard';\n @Input() disabled = false;\n @Input() iconButton = false;\n @Input() disabledHover = false;\n @Output() onClick = new EventEmitter();\n\n constructor() {}\n\n ngOnInit(): void {}\n\n handleClick(event: Event) {\n if (!this.disabled) {\n this.onClick.emit(event);\n }\n }\n}\n","\n \n\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\nexport interface CarouselSlideUi {\n header: string;\n content: string;\n videoSrc?: string;\n}\n\n@Component({\n selector: 'esg-carousel-dialog',\n templateUrl: './carousel-dialog.component.html',\n styleUrl: './carousel-dialog.component.scss',\n})\nexport class CarouselDialogComponent {\n @Input({ required: true }) slides: CarouselSlideUi[] = [];\n @Output() onClose: EventEmitter = new EventEmitter();\n currentSlideIndex = 0;\n\n get isFirstSlide(): boolean {\n return this.currentSlideIndex === 0;\n }\n\n get isLastSlide(): boolean {\n return this.currentSlideIndex === this.slides.length - 1;\n }\n\n handleNextSlide(): void {\n if (!this.isLastSlide) {\n this.currentSlideIndex++;\n }\n }\n\n handlePreviousSlide(): void {\n if (!this.isFirstSlide) {\n this.currentSlideIndex--;\n }\n }\n\n handleOnClose(): void {\n this.onClose.emit();\n }\n}\n","\n
\n \n @defer (when currentSlideIndex + 1 >= index){\n \n } @placeholder { }\n \n \n
\n \n
\n \n
\n \n Got it\n
\n
\n
\n","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport { DomSanitizer, SafeHtml, SafeResourceUrl } from '@angular/platform-browser';\n\nexport interface CarouselSlideUi {\n header: string;\n content: string;\n videoSrc?: string;\n}\n\n@Component({\n selector: 'esg-carousel-slide',\n templateUrl: './carousel-slide.component.html',\n styleUrl: './carousel-slide.component.scss',\n})\nexport class CarouselSlideComponent {\n @Input({ required: true }) slide!: CarouselSlideUi;\n @ViewChild('video') video!: ElementRef;\n\n isPlayingVideo = false;\n isVideoLoaded = false;\n\n get sanitizedHtml(): SafeHtml {\n return this.domSanitizer.bypassSecurityTrustHtml(this.slide.content);\n }\n\n get trustedVideoSrc(): SafeResourceUrl {\n if (this.slide.videoSrc) return this.domSanitizer.bypassSecurityTrustResourceUrl(this.slide.videoSrc);\n else return '';\n }\n\n constructor(private domSanitizer: DomSanitizer) {}\n\n ngAfterViewInit(): void {\n this.video.nativeElement.addEventListener('loadedmetadata', () => this.videoIsLoaded());\n }\n\n videoIsLoaded() {\n this.isVideoLoaded = true;\n }\n\n handleVideoClick(): void {\n if (!this.isVideoLoaded) return;\n\n if (this.isPlayingVideo) {\n this.video.nativeElement.pause();\n this.isPlayingVideo = false;\n } else {\n this.video.nativeElement.play();\n this.isPlayingVideo = true;\n }\n }\n\n handleOutOfViewport(tabEntry: IntersectionObserverEntry) {\n if (this.isPlayingVideo && tabEntry.intersectionRatio === 0) {\n this.video.nativeElement.pause();\n this.isPlayingVideo = false;\n }\n }\n\n ngOnDestroy() {\n this.video.nativeElement.removeEventListener('loadedmetadata', () => this.videoIsLoaded());\n }\n}\n","

{{ slide.header }}

\n\n \n \n \n \n \n
\n
\n
\n\n
{{ slide.content }}
\n","import { FormControl } from '@angular/forms';\nimport { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'esg-checkbox-form',\n templateUrl: './checkbox-form.component.html',\n styleUrls: ['./checkbox-form.component.scss'],\n})\nexport class CheckboxFormComponent implements OnInit {\n @Input({ required: true }) fc!: FormControl;\n @Input() label?: string;\n @Input() disabled: boolean = false;\n @Output() onCheck = new EventEmitter();\n\n handleClick(event: Event) {\n if (!this.disabled) {\n event.stopPropagation();\n this.fc.setValue(!this.fc.value);\n }\n }\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","
\n
\n \n \n \n
\n \n {{ label }}\n \n
\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'esg-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n})\nexport class CheckboxComponent implements OnInit {\n @Input({ required: true }) checked!: boolean;\n @Input() disabled: boolean = false;\n @Output() onCheck = new EventEmitter();\n\n constructor() {}\n\n ngOnInit(): void {}\n\n handleOnCheck(event: Event) {\n event.stopPropagation();\n event.preventDefault();\n if (!this.disabled) {\n this.onCheck.emit();\n this.checked = !this.checked;\n }\n }\n}\n","\n \n \n \n\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'esg-collapsible-icon',\n templateUrl: './collapsible-icon.component.html',\n styleUrl: './collapsible-icon.component.scss',\n})\nexport class CollapsibleIconComponent {\n @Input({ required: true }) expanded!: boolean;\n @Output() onClick = new EventEmitter();\n\n handleClick() {\n this.onClick.emit();\n }\n}\n","
\n \n
\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'esg-collapsible-section',\n templateUrl: './collapsible-section.component.html',\n styleUrls: ['./collapsible-section.component.scss'],\n})\nexport class CollapsibleSectionComponent implements OnInit {\n @Input({ required: true }) title!: string;\n @Input() collapsedByDefault = false;\n collapsed = true;\n constructor() {}\n\n ngOnInit(): void {\n this.collapsed = this.collapsedByDefault;\n }\n\n handleCollpase() {\n this.collapsed = !this.collapsed;\n }\n}\n","
\n \n \n \n \n {{ title }}\n \n
\n
\n \n
\n","import { Component, EventEmitter, OnInit, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'esg-confirm-dialog',\n templateUrl: './confirm-dialog.component.html',\n styleUrls: ['./confirm-dialog.component.scss'],\n})\nexport class ConfirmDialogComponent implements OnInit {\n @Input() title: string = 'Are you sure?';\n @Input() message: string = 'Once you delete it\\nthere is no turning back.';\n @Input() cancelText: string = 'Never Mind';\n @Input() submitText: string = 'Delete';\n @Output() onCancel = new EventEmitter();\n @Output() onSubmit = new EventEmitter();\n constructor() {}\n\n ngOnInit(): void {}\n\n handleCancel() {\n this.onCancel.emit();\n }\n\n handleSubmit() {\n this.onSubmit.emit();\n }\n}\n","\n
\n
{{ title }}
\n
{{ message }}
\n
\n {{ cancelText }}\n {{ submitText }}\n
\n
\n
\n","import { Component, OnInit, Input, Output, EventEmitter, HostListener, ElementRef, SimpleChanges } from '@angular/core';\nimport { ContextMenuService } from './context-menu.service';\nimport { Subscription } from 'rxjs';\n\ntype MenuPosition = 'TopLeft' | 'TopRight' | 'BottomLeft' | 'BottomRight';\n\nexport interface IMenuItem {\n id: string;\n label: string;\n disabled?: boolean;\n onClick: () => void;\n children?: IMenuItem[];\n}\n\ninterface Style {\n [key: string]: string;\n}\n\n@Component({\n selector: 'esg-context-menu',\n templateUrl: './context-menu.component.html',\n styleUrls: ['./context-menu.component.scss'],\n})\nexport class ContextMenuComponent implements OnInit {\n @Input() type: 'horizontal' | 'vertical' | 'custom' = 'horizontal';\n @Input() open: boolean = false;\n @Input() options: IMenuItem[] = [];\n @Input() menuPosition: MenuPosition = 'BottomRight';\n @Input() menuIndent: number = 0;\n @Input() disableTab: boolean = false;\n @Input() optionsHeader: string = '';\n @Input() isPopup: boolean = false;\n @Output() onOpenOptions = new EventEmitter();\n @Output() onCloseOptions = new EventEmitter();\n\n iconHover: boolean = false;\n style: Style = {};\n currentMenuPosition: MenuPosition = 'BottomRight';\n private subscription = new Subscription();\n\n @HostListener('window:resize', ['$event'])\n onResize() {\n if (this.isPopup && this.open) this.handlePopupPositionStyle();\n }\n\n constructor(\n private hostRef: ElementRef,\n private contextMenuService: ContextMenuService\n ) {}\n\n\n\n ngOnInit(): void {\n this.currentMenuPosition = this.menuPosition;\n this.handlePositionStyle();\n if (this.isPopup) this.addScrollEventListener();\n \n this.subscription.add(\n this.contextMenuService.activeMenu$.subscribe((activeMenu) => {\n if (activeMenu !== this) {\n this.open = false;\n }\n })\n );\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.menuPosition && !changes.menuPosition.firstChange) {\n this.currentMenuPosition = changes.menuPosition.currentValue;\n this.handlePositionStyle();\n }\n }\n\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n }\n\n handleClick(event: Event) {\n event.stopPropagation();\n event.preventDefault();\n\n this.open = !this.open;\n if (this.open) {\n if (this.isPopup) {\n this.handlePopupPositionStyle();\n }\n this.contextMenuService.setActiveMenu(this); // Notify the service\n this.onOpenOptions.emit();\n } else {\n this.contextMenuService.setActiveMenu(null); // Clear active menu\n }\n}\n\n\n handleClose() {\n if (this.type === 'custom') this.onCloseOptions.emit();\n else this.open = false;\n }\n\n handleClickedOnOption(item: IMenuItem, event: Event) {\n event.stopPropagation();\n event.preventDefault();\n if (item.disabled) {\n return;\n }\n item.onClick();\n this.handleClose();\n }\n\n trackByOption(index: number, option: IMenuItem) {\n return option.id;\n }\n\n handlePositionStyle() {\n const isTop = this.currentMenuPosition.includes('Top');\n const isLeft = this.currentMenuPosition.includes('Left');\n const menuIndentPx = `${this.menuIndent}px`;\n\n let top = isTop ? 'unset' : '100%';\n let right = isLeft ? menuIndentPx : 'unset';\n let bottom = isTop ? '100%' : 'unset';\n let left = isLeft ? 'unset' : menuIndentPx;\n\n this.style = { top: top, right: right, bottom: bottom, left: left };\n }\n\n handlePopupPositionStyle() {\n if (!this.hostRef) return;\n\n const inputRect = this.hostRef.nativeElement.getBoundingClientRect();\n const isTop = this.currentMenuPosition.includes('Top');\n const isLeft = this.currentMenuPosition.includes('Left');\n\n const top = isTop ? `${inputRect.top}px` : `${inputRect.bottom}px`;\n const left = isLeft\n ? `${inputRect.left + inputRect.width - this.menuIndent}px`\n : `${inputRect.left + this.menuIndent}px`;\n const translateX = isLeft ? '-100%' : '0';\n const translateY = isTop ? '-100%' : '0';\n\n this.style = { top, left, transform: `translate(${translateX}, ${translateY})` };\n }\n\n addScrollEventListener(): void {\n document.addEventListener(\n 'scroll',\n () => {\n if (this.open) this.handlePopupPositionStyle();\n },\n true\n );\n }\n\n handleIntersection(tabEntry: IntersectionObserverEntry) {\n if (tabEntry.intersectionRatio < 1) {\n let position: string = this.currentMenuPosition;\n if (tabEntry.intersectionRect.width < tabEntry.boundingClientRect.width) {\n if (position.includes('Left')) position = position.replace('Left', 'Right');\n else position = position.replace('Right', 'Left');\n }\n if (tabEntry.intersectionRect.height < tabEntry.boundingClientRect.height) {\n if (position.includes('Top')) position = position.replace('Top', 'Bottom');\n else position = position.replace('Bottom', 'Top');\n }\n\n this.currentMenuPosition = position as MenuPosition;\n\n if (this.isPopup) this.handlePopupPositionStyle();\n else this.handlePositionStyle();\n }\n }\n}\n","
\n \n \n \n \n \n \n \n \n
{{ optionsHeader }}
\n \n
{{ item.label }}
\n
\n
\n
no items
\n
\n \n\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { ContextMenuComponent } from './context-menu.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ContextMenuService {\n private activeMenu = new Subject();\n activeMenu$ = this.activeMenu.asObservable();\n\n setActiveMenu(component: ContextMenuComponent | null) {\n this.activeMenu.next(component);\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, OnDestroy } from '@angular/core';\nimport { MatCalendar } from '@angular/material/datepicker';\nimport { DateAdapter, MAT_DATE_FORMATS, MatDateFormats } from '@angular/material/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n@Component({\n selector: 'esg-datepicker-header',\n templateUrl: './datepicker-header.component.html',\n styleUrls: ['./datepicker-header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DatepickerHeaderComponent implements OnDestroy {\n private _destroyed = new Subject();\n\n constructor(\n private _calendar: MatCalendar,\n private _dateAdapter: DateAdapter,\n @Inject(MAT_DATE_FORMATS) private _dateFormats: MatDateFormats,\n cdr: ChangeDetectorRef\n ) {\n _calendar.stateChanges.pipe(takeUntil(this._destroyed)).subscribe(() => cdr.markForCheck());\n }\n\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n get periodLabel() {\n return this._dateAdapter\n .format(this._calendar.activeDate, this._dateFormats.display.monthYearLabel)\n .toLocaleUpperCase();\n }\n\n get isPreviousMonthDisabled() {\n return (\n this._calendar.minDate &&\n this._dateAdapter.getYear(this._calendar.activeDate) === this._dateAdapter.getYear(this._calendar.minDate) &&\n this._dateAdapter.getMonth(this._calendar.activeDate) === this._dateAdapter.getMonth(this._calendar.minDate)\n );\n }\n\n get isPreviousYearDisabled() {\n return (\n this._calendar.minDate &&\n this._dateAdapter.getYear(this._calendar.activeDate) === this._dateAdapter.getYear(this._calendar.minDate)\n );\n }\n\n get isNextMonthDisabled() {\n return (\n this._calendar.maxDate &&\n this._dateAdapter.getYear(this._calendar.activeDate) === this._dateAdapter.getYear(this._calendar.maxDate) &&\n this._dateAdapter.getMonth(this._calendar.activeDate) === this._dateAdapter.getMonth(this._calendar.maxDate)\n );\n }\n\n get isNextYearDisabled() {\n return (\n this._calendar.maxDate &&\n this._dateAdapter.getYear(this._calendar.activeDate) === this._dateAdapter.getYear(this._calendar.maxDate)\n );\n }\n\n previousClicked(mode: 'month' | 'year') {\n this._calendar.activeDate =\n mode === 'month'\n ? this._dateAdapter.addCalendarMonths(this._calendar.activeDate, -1)\n : this._dateAdapter.addCalendarYears(this._calendar.activeDate, -1);\n }\n\n nextClicked(mode: 'month' | 'year') {\n this._calendar.activeDate =\n mode === 'month'\n ? this._dateAdapter.addCalendarMonths(this._calendar.activeDate, 1)\n : this._dateAdapter.addCalendarYears(this._calendar.activeDate, 1);\n }\n}\n","
\n \n
\n \n {{ periodLabel }}\n \n
\n \n
\n","import { Component, EventEmitter, Input, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { formatDate } from '@angular/common';\nimport { FormControl } from '@angular/forms';\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE, NativeDateAdapter } from '@angular/material/core';\nimport { DatepickerHeaderComponent } from './datepicker-header/datepicker-header.component';\n\nclass CustomDateAdapter extends NativeDateAdapter {\n getDayOfWeekNames() {\n return ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\n }\n getFirstDayOfWeek(): number {\n return 1;\n }\n format(date: Date, displayFormat: Object): string {\n if (displayFormat === 'input') {\n return formatDate(date, 'dd. MMM yyyy', 'en_US');\n } else if (displayFormat === 'monthYear') {\n return formatDate(date, 'MMMM yyyy', 'en_US');\n }\n\n return date.toDateString();\n }\n}\n\nconst MATERIAL_DATEPICKER_FORMATS = {\n parse: {\n dateInput: { day: 'numeric', month: 'short', year: 'numeric' },\n },\n display: {\n dateInput: 'input',\n monthYearLabel: 'monthYear',\n dateA11yLabel: { day: 'numeric', month: 'short', year: 'numeric' },\n monthYearA11yLabel: { month: 'long', year: 'numeric' },\n },\n};\n\n@Component({\n selector: 'esg-datepicker',\n templateUrl: './datepicker.component.html',\n styleUrls: ['./datepicker.component.scss'],\n providers: [\n { provide: MAT_DATE_FORMATS, useValue: MATERIAL_DATEPICKER_FORMATS },\n { provide: DateAdapter, useClass: CustomDateAdapter, deps: [MAT_DATE_LOCALE] },\n ],\n})\nexport class DatepickerComponent {\n @Input({ required: true }) fc!: FormControl;\n @Input() minDate?: Date;\n @Input() maxDate?: Date;\n @Input() placeholder = 'DD. MMM YYYY';\n @Input() size: 'small' | 'medium' = 'medium';\n @Input() variant: 'standard' | 'ghost' | 'ghost-table' = 'standard';\n @Input() isFilter: boolean = false;\n @Input() autoFocus = false;\n @Input() inputIndent: number = 0;\n @Output() onChange = new EventEmitter();\n @Output() onOpen = new EventEmitter();\n @Output() onClose = new EventEmitter();\n\n header = DatepickerHeaderComponent;\n open: boolean = false;\n constructor() {}\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.autoFocus && this.autoFocus) {\n this.open = this.autoFocus;\n }\n }\n\n handleChange(event: MatDatepickerInputEvent) {\n if (this.onChange.observed) {\n this.onChange.emit(event.value);\n }\n }\n\n handleOpen() {\n this.open = true;\n if (this.onOpen.observed) {\n this.onOpen.emit();\n }\n }\n\n handleClose() {\n this.open = false;\n if (this.onClose.observed) {\n this.onClose.emit();\n }\n }\n\n handleClearFilter(event: Event) {\n event.stopPropagation();\n this.fc.reset(null);\n this.onChange.emit(null);\n }\n}\n","\n \n \n \n\n\n","import { Component, EventEmitter, HostListener, Input, Output } from '@angular/core';\n\nexport type DialogComponentType = 'full-screen' | 'large-screen' | 'auto' | 'preview-mode';\n\n@Component({\n selector: 'esg-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.scss'],\n})\nexport class DialogComponent {\n @Input() showCloseBtn = true;\n @Input() class: DialogComponentType = 'large-screen';\n\n @Output() onClose = new EventEmitter();\n\n @HostListener('document:keydown.escape', ['$event']) handleKeyEvent(event: KeyboardEvent): void {\n this.onClose.emit();\n }\n\n closeClicked() {\n this.onClose.emit();\n }\n\n handleClickBackground(event: Event) {\n event.stopPropagation();\n this.onClose.emit();\n }\n}\n","
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-dot-flashing',\n templateUrl: './dot-flashing.component.html',\n styleUrls: ['./dot-flashing.component.scss'],\n})\nexport class DotFlashingComponent implements OnInit {\n @Input() label?: string = 'We are loading good stuff';\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","
\n
{{ label }}
\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-section-dot-flashing',\n templateUrl: './section-dot-flashing.component.html',\n styleUrls: ['./section-dot-flashing.component.scss'],\n})\nexport class SectionDotFlashingComponent {\n @Input() active? = false;\n @Input() label?: string;\n}\n","\n
\n
\n \n
\n
\n\n","import { Component, ElementRef, EventEmitter, HostListener, Input, Output, ViewChild } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { IGroupedOptions } from 'src/app/static-data/options';\n\nexport interface IOption {\n value: string;\n label: string;\n}\n\n@Component({\n selector: 'esg-dropdown-multiple-form',\n templateUrl: './dropdown-multiple-form.component.html',\n styleUrls: ['./dropdown-multiple-form.component.scss'],\n})\nexport class DropdownMultipleFormComponent {\n @Input() placeholder: string = 'Select';\n @Input() variant: 'standard' | 'ghost' = 'standard';\n @Input() size: 'small' | 'medium' = 'medium';\n @Input({ required: true }) fc!: FormControl;\n @Input() options: IOption[] = [];\n @Input() groupedOptions: IGroupedOptions[] = [];\n @Input() isFilter: boolean = false;\n @Input() isPopup: boolean = false;\n @Output() onChange = new EventEmitter();\n private formSubscription?: Subscription;\n open = false;\n dropUp = false;\n popUpStyle: { [key: string]: string } = {};\n maxHeight: string = 'unset';\n\n @ViewChild('input') private input: ElementRef | undefined;\n\n @HostListener('window:resize', ['$event'])\n onResize() {\n this.setMaxHeigth();\n if (this.isPopup && this.open) this.handlePopupPosition();\n }\n\n ngOnInit(): void {\n if (this.isPopup) this.addScrollEventListener();\n this.formSubscription = this.fc.valueChanges.subscribe(() => {\n this.setDropUp();\n this.setMaxHeigth();\n if (this.isPopup) {\n this.handlePopupPosition();\n }\n });\n }\n\n toggleOpenOptions() {\n if (this.fc.disabled) return;\n this.open = !this.open;\n if (this.open) {\n this.setDropUp();\n this.setMaxHeigth();\n if (this.isPopup) {\n this.handlePopupPosition();\n }\n }\n }\n\n handleSelectOption(option: IOption) {\n if (this.fc.value.some(o => o.value == option.value)) {\n this.fc.setValue(this.fc.value.filter(o => o.value !== option.value));\n } else {\n this.fc.setValue([...this.fc.value, option]);\n }\n this.fc.markAsDirty();\n this.onChange.emit();\n }\n\n optionSelected(option: IOption) {\n return this.fc.value.some(o => o.value == option.value);\n }\n\n deleteOption(event: Event, option: IOption) {\n event.stopPropagation();\n this.fc.setValue(this.fc.value.filter(o => o.value !== option.value));\n this.fc.markAsDirty();\n this.onChange.emit();\n }\n\n deleteAll() {\n this.fc.setValue([]);\n this.fc.markAsDirty();\n this.onChange.emit();\n }\n\n closeOptions() {\n this.open = false;\n }\n\n setDropUp() {\n if (this.input && window.innerHeight - this.input.nativeElement.getBoundingClientRect().bottom < 200)\n this.dropUp = true;\n else this.dropUp = false;\n }\n\n setMaxHeigth() {\n if (this.input?.nativeElement) {\n const inputRect = this.input.nativeElement.getBoundingClientRect();\n const windowHeight = window.innerHeight;\n const remainingHeight = this.dropUp ? inputRect.top - 160 : windowHeight - inputRect.bottom - 100;\n this.maxHeight = `${remainingHeight}px`;\n } else {\n this.maxHeight = 'unset';\n }\n }\n\n handlePopupPosition() {\n if (!this.input) return;\n const inputRect = this.input.nativeElement.getBoundingClientRect();\n const top = this.dropUp ? inputRect.top : inputRect.bottom;\n const width = `${inputRect.width}px`;\n this.popUpStyle = { top: `${top}px`, left: `${inputRect.left}px`, minWidth: width };\n }\n\n addScrollEventListener(): void {\n document.addEventListener(\n 'scroll',\n () => {\n if (this.open) this.handlePopupPosition();\n },\n true\n );\n }\n\n ngOnDestroy(): void {\n if (this.formSubscription) this.formSubscription.unsubscribe();\n }\n}\n","\n \n
\n
{{ placeholder }}
\n \n
\n
\n \n
\n \n \n\n","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { AIAssistant, OpenAITextAdapter, FormatPainter } from 'ckeditor5-premium-features';\nimport {\n\ttype EditorConfig,\n\tClassicEditor,\n\tAutoformat,\n\tAutoImage,\n\tAutosave,\n\tBold,\n\tEssentials,\n\tHeading,\n\tImageBlock,\n\tImageCaption,\n\tImageInline,\n\tImageInsert,\n\tImageInsertViaUrl,\n\tImageResize,\n\tImageStyle,\n\tImageTextAlternative,\n\tImageToolbar,\n\tBase64UploadAdapter,\n\tImageUpload,\n\tIndent,\n\tIndentBlock,\n\tItalic,\n\tLink,\n\tLinkImage,\n\tList,\n\tListProperties,\n\tParagraph,\n\tPasteFromOffice,\n\tPictureEditing,\n\tTable,\n\tTableCaption,\n\tTableCellProperties,\n\tTableColumnResize,\n\tTableProperties,\n\tTableToolbar,\n\tTodoList,\n\tUnderline,\n SpecialCharacters,\n FontFamily,\n\tFontBackgroundColor,\n\tFontColor,\n\tFontSize,\n\tAlignment\n} from 'ckeditor5';\n\nconst LICENSE_KEY = 'eyJhbGciOiJFUzI1NiJ9.eyJleHAiOjE3Njg5NTM1OTksImp0aSI6ImFkNGQ0ZGRlLWIzMTgtNGI1YS1iMzllLTBlNTYyMTFkYjcxOSIsImRpc3RyaWJ1dGlvbkNoYW5uZWwiOlsic2giLCJkcnVwYWwiXSwid2hpdGVMYWJlbCI6dHJ1ZSwiZmVhdHVyZXMiOlsiRFJVUCIsIkRPIiwiRlAiLCJTQyIsIlRPQyIsIlRQTCIsIlBPRSIsIkNDIiwiTUYiLCJBSSJdLCJ2YyI6IjEyNDNmZjA3In0.of0ouj--aewhtgSumb_WBv8Fh_b378iavGCajBu_eer6mma4dHKnBmOUxONFhRfp9DN-tpJehehxY3dvo_Lurg'; \nconst AI_API_KEY = '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';\n// const AI_API_KEY = '03699afb559c4aa09f560cd1adbf9432';\n\n@Component( {\n selector: 'esg-ck-editor',\n templateUrl: './esg-ck-editor.component.html',\n styleUrl: './esg-ck-editor.component.scss',\n encapsulation: ViewEncapsulation.None\n} )\nexport class CkEditorComponent implements AfterViewInit {\n\tconstructor(private changeDetector: ChangeDetectorRef, private hostElement: ElementRef) {}\n\n\tpublic isLayoutReady = false;\n\tpublic Editor = ClassicEditor;\n\tpublic config: EditorConfig = {}; // CKEditor needs the DOM tree before calculating the configuration.\n\n\t@Input() content?: string | null;\n\t@Output() contentChange = new EventEmitter();\n\t@Output() focus = new EventEmitter();\n\n\tprivate editorInstance: any;\n\tprivate toolbarElement: HTMLElement | null = null;\n\tprivate stickyPanelElement: HTMLElement | null = null;\n\n\tprivate isAnyChildElementFocused(): boolean {\n\t\treturn this.hostElement.nativeElement.contains(document.activeElement);\n\t}\n\n\tprivate isCkBodyWrapperFocused(): boolean {\n\t\tconst ckBodyWrapper = document.querySelector('.ck-body-wrapper');\n\t\treturn ckBodyWrapper ? ckBodyWrapper.contains(document.activeElement) : false;\n\t}\n\n\tprivate addCkBodyWrapperListeners(): void {\n\t\tconst ckBodyWrapper = document.querySelector('.ck-body-wrapper');\n\t\n\t\tif (ckBodyWrapper) {\n\t\t\tckBodyWrapper.addEventListener('focusin', () => {\n\t\t\t\tthis.toggleStickyPanel(true);\n\t\t\t});\n\t\n\t\t\tckBodyWrapper.addEventListener('focusout', () => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tif (!this.isAnyChildElementFocused() && !this.isCkBodyWrapperFocused()) {\n\t\t\t\t\t\tthis.toggleStickyPanel(false);\n\t\t\t\t\t}\n\t\t\t\t}, 0);\n\t\t\t});\n\t\t}\n\t}\n\t\n\tpublic ngAfterViewInit(): void {\n\t\tthis.config = {\n\t\t\ttoolbar: {\n\t\t\t\titems: [\n 'aiCommands', \n 'aiAssistant',\t\n\t\t\t\t\t'formatPainter',\t\t\t\t\n\t\t\t\t\t'|',\n\t\t\t\t\t'heading',\n\t\t\t\t\t'|',\n 'fontFamily',\n\t\t\t\t\t'|',\n\t\t\t\t\t'fontSize',\n\t\t\t\t\t'|',\n\t\t\t\t\t'fontColor',\n\t\t\t\t\t'fontBackgroundColor',\n\t\t\t\t\t'|',\n\t\t\t\t\t'bold',\n\t\t\t\t\t'italic',\n\t\t\t\t\t'underline',\n\t\t\t\t\t'|',\n\t\t\t\t\t'link',\n\t\t\t\t\t'insertImage',\n\t\t\t\t\t// 'insertTable',\n\t\t\t\t\t'|',\n\t\t\t\t\t'alignment',\n\t\t\t\t\t'|',\n\t\t\t\t\t'bulletedList',\n\t\t\t\t],\n\t\t\t\tshouldNotGroupWhenFull: false\n\t\t\t},\n\t\t\tplugins: [\n\t\t\t\tAlignment,\n\t\t\t\tAutoformat,\n\t\t\t\tAutoImage,\n\t\t\t\tAutosave,\n\t\t\t\tBold,\n\t\t\t\tEssentials,\n\t\t\t\tBase64UploadAdapter ,\n\t\t\t\tFormatPainter,\n\t\t\t\tHeading,\n\t\t\t\tImageBlock,\n\t\t\t\tImageCaption,\n\t\t\t\tImageInline,\n\t\t\t\tImageInsert,\n\t\t\t\tImageInsertViaUrl,\n\t\t\t\tImageResize,\n FontFamily,\n\t\t\t\tFontBackgroundColor,\n\t\t\t\tFontColor,\n\t\t\t\tFontSize,\n\t\t\t\tImageStyle,\n\t\t\t\tImageTextAlternative,\n\t\t\t\tImageToolbar,\n\t\t\t\tImageUpload,\n\t\t\t\tIndent,\n\t\t\t\tIndentBlock,\n\t\t\t\tItalic,\n\t\t\t\tLink,\n\t\t\t\tLinkImage,\n\t\t\t\tList,\n\t\t\t\tListProperties,\n\t\t\t\tParagraph,\n\t\t\t\tPasteFromOffice,\n\t\t\t\tPictureEditing,\n\t\t\t\tTable,\n\t\t\t\tTableCaption,\n\t\t\t\tTableCellProperties,\n\t\t\t\tTableColumnResize,\n\t\t\t\tTableProperties,\n\t\t\t\tTableToolbar,\n\t\t\t\tTodoList,\n\t\t\t\tUnderline,\n AIAssistant, \n\t\t\t\tOpenAITextAdapter, \n\t\t\t\tSpecialCharacters\n\t\t\t],\n ai: {\n\t\t\t\topenAI: {\n // apiUrl: \"https://esg-prod-open-ai.openai.azure.com/openai/deployments/gpt-4o/chat/completions?api-version=2024-06-01\",\n\t\t\t\t\trequestHeaders: {\n\t\t\t\t\t\tAuthorization: 'Bearer ' + AI_API_KEY\n\t\t\t\t\t},\n requestParameters: {\n // model: 'text-davinci-003',\n // model: \"gpt-3.5-turbo\",\n model: \"gpt-4o\",\n stream: true,\n temperature: 0.7,\n top_p: 1,\n max_tokens: 2048\n }\n\t\t\t\t},\n aiAssistant: {\n // Define the commands list from scratch.\n commands: [\n // Command groups keep them organized on the list.\n {\n groupId: 'customGroupId',\n groupLabel: 'My group of commands',\n commands: [\n {\n id: 'translateSpanish',\n label: 'Translate to Spanish',\n prompt: 'Translate this text to Spanish.'\n },\n {\n id: 'explainFive',\n label: 'Explain like I\\'m five',\n prompt: 'Explain this like I\\'m five years old.'\n },\n ]\n },\n ]\n }\n\t\t\t},\n\t\t\theading: {\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tmodel: 'paragraph',\n\t\t\t\t\t\ttitle: 'Paragraph',\n\t\t\t\t\t\tclass: 'ck-heading_paragraph'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmodel: 'heading1',\n\t\t\t\t\t\tview: 'h1',\n\t\t\t\t\t\ttitle: 'Heading 1',\n\t\t\t\t\t\tclass: 'ck-heading_heading1'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmodel: 'heading2',\n\t\t\t\t\t\tview: 'h2',\n\t\t\t\t\t\ttitle: 'Heading 2',\n\t\t\t\t\t\tclass: 'ck-heading_heading2'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmodel: 'heading3',\n\t\t\t\t\t\tview: 'h3',\n\t\t\t\t\t\ttitle: 'Heading 3',\n\t\t\t\t\t\tclass: 'ck-heading_heading3'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmodel: 'heading4',\n\t\t\t\t\t\tview: 'h4',\n\t\t\t\t\t\ttitle: 'Heading 4',\n\t\t\t\t\t\tclass: 'ck-heading_heading4'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmodel: 'heading5',\n\t\t\t\t\t\tview: 'h5',\n\t\t\t\t\t\ttitle: 'Heading 5',\n\t\t\t\t\t\tclass: 'ck-heading_heading5'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tmodel: 'heading6',\n\t\t\t\t\t\tview: 'h6',\n\t\t\t\t\t\ttitle: 'Heading 6',\n\t\t\t\t\t\tclass: 'ck-heading_heading6'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\tfontFamily: {\n\t\t\t\tsupportAllValues: true\n\t\t\t},\n\t\t\tfontSize: {\n\t\t\t\toptions: [10, 12, 14, 'default', 18, 20, 22],\n\t\t\t\tsupportAllValues: true\n\t\t\t},\n\t\t\timage: {\n\t\t\t\ttoolbar: [\n\t\t\t\t\t'toggleImageCaption',\n\t\t\t\t\t'imageTextAlternative',\n\t\t\t\t\t'|',\n\t\t\t\t\t'imageStyle:inline',\n\t\t\t\t\t'imageStyle:wrapText',\n\t\t\t\t\t'imageStyle:breakText',\n\t\t\t\t\t'|',\n\t\t\t\t\t'resizeImage',\n\t\t\t\t\t'|',\n\t\t\t\t\t'ckboxImageEdit'\n\t\t\t\t]\n\t\t\t},\n\t\t\tinitialData: this.content ? this.content : \"\",\n\t\t\tlicenseKey: LICENSE_KEY,\n\t\t\tlink: {\n\t\t\t\taddTargetToExternalLinks: true,\n\t\t\t\tdefaultProtocol: 'https://',\n\t\t\t\tdecorators: {\n\t\t\t\t\ttoggleDownloadable: {\n\t\t\t\t\t\tmode: 'manual',\n\t\t\t\t\t\tlabel: 'Downloadable',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\tdownload: 'file'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tplaceholder: 'Type or paste your content here!',\n\t\t\t// table: {\n\t\t\t// \tcontentToolbar: ['tableColumn', 'tableRow', 'mergeTableCells', 'tableProperties', 'tableCellProperties']\n\t\t\t// }\n\t\t};\n\n\t\tthis.isLayoutReady = true;\n\t\tthis.changeDetector.detectChanges();\n\n\t\t// Listen for focus events on CKEditor\n\t\tthis.hostElement.nativeElement.addEventListener('focusin', () => {\n\t\t\tthis.toggleStickyPanel(true);\n\t\t});\n\t\n\t\tthis.hostElement.nativeElement.addEventListener('focusout', () => {\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (!this.isAnyChildElementFocused() && !this.isCkBodyWrapperFocused()) {\n\t\t\t\t\tthis.toggleStickyPanel(false);\n\t\t\t\t}\n\t\t\t}, 0);\n\t\t});\n\t\n\t\t// Add focus listeners to the .ck-body-wrapper\n\t\tthis.addCkBodyWrapperListeners();\n\t}\n\tonReady(editor: any) {\t\t\n\t\tthis.editorInstance = editor;\n\t\tthis.toolbarElement = this.editorInstance.ui.view.toolbar.element;\n\t\tthis.stickyPanelElement = this.hostElement.nativeElement.querySelector('.ck.ck-sticky-panel');\n\t\tif (this.content !== '') {\n\t\t\tthis.toggleStickyPanel(false);\n\t\t\t\n\t\t} else {\n\t\t\tthis.editorInstance.focus();\n\t\t}\n\t\n\t\t// Listen for focus and blur events\n\t\teditor.model.document.on('change:data', () => {\n\t\t\tif (this.editorInstance) {\n\t\t\t\tconst data = editor.getData();\n\t\t\t\tthis.contentChange.emit(data);\n\t\t\t}\n\t\t});\n\t\n\t\teditor.editing.view.document.on('focus', () => {\n\t\t this.focus.emit();\n\t\t});\n\t}\n\n\ttoggleStickyPanel(isVisible: boolean) {\n\t\tif (this.stickyPanelElement) {\n\t\t \tthis.stickyPanelElement.style.display = isVisible ? 'block' : 'none';\n\t\t}\n\t}\n\n\tisToolbarClicked(): boolean {\n\t\tif (!this.toolbarElement) return false;\n\t\treturn document.activeElement === this.toolbarElement || this.toolbarElement.contains(document.activeElement);\n\t }\n}","
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n
","import { Component, Input, OnInit } from '@angular/core';\n@Component({\n selector: 'esg-icon-add',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n})\nexport class AddIconComponent implements OnInit {\n // TODO CANSU ADD VARİABLES COLORS SIZES AND TYPES LIKE LARGE SMALL\n // TODO CANSU How can I see icon hover color on Figma?\n @Input() size: string = '16';\n @Input() color: string = '#183642';\n @Input() hoverColor: string = this.color;\n\n currentColor: string = this.color;\n hovered: boolean = false;\n\n ngOnInit(): void {\n this.currentColor = this.color;\n this.hoverColor = this.color;\n }\n\n toggleHover() {\n this.hovered = !this.hovered;\n this.currentColor = this.hovered ? this.hoverColor : this.color;\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-arrow-down',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width]': 'sizePx',\n '[style.height]': 'sizePx',\n },\n})\nexport class ArrowDownComponent {\n @Input() size: string = '16';\n @Input() color: string = '#183642';\n\n sizePx = this.size + 'px';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-arrow-right-long',\n template: `\n \n \n \n `,\n styles: [],\n})\nexport class ArrowRightLongComponent {\n @Input() size: string = '24';\n @Input() color: string = 'black';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-arrow-right-top',\n template: `\n \n \n \n\n `,\n styles: [],\n})\nexport class ArrowRightTopComponent {\n @Input() size: string = '120';\n @Input() color: string = 'black';\n}\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-arrow-right',\n template: `\n \n \n \n `,\n styles: ['svg{display:flex;}'],\n})\nexport class ArrowRightComponent {\n // TODO CANSU ADD VARIABLES COLORS SIZES AND TYPES LIKE LARGE SMALL\n @Input() size: string = '16';\n @Input() color: string = 'black';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-asset-icon',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width]': 'sizePx',\n '[style.height]': 'sizePx',\n },\n})\nexport class AssetIconComponent {\n @Input() size: string = '16';\n @Input() color: string = '#183642';\n\n sizePx = this.size + 'px';\n}\n","import { Component, Input } from '@angular/core';\n@Component({\n selector: 'esg-assigned-icon',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width.px]': 'size',\n '[style.height.px]': 'size',\n },\n})\nexport class AssignedIconComponent {\n @Input() size: number = 16;\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-bot-icon',\n template: `\n \n \n \n \n \n \n \n \n \n \n `,\n styles: [],\n host: {\n '[style.width]': 'sizePx',\n '[style.height]': 'sizePx',\n },\n})\nexport class BotIconComponent {\n @Input() size: string = '16';\n @Input() color: string = '#183642';\n\n sizePx = this.size + 'px';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-calculation-icon',\n template: `\n \n \n \n`,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width]': 'sizePx',\n '[style.height]': 'sizePx',\n },\n})\nexport class CalculationIconComponent {\n @Input() size: string = '16';\n @Input() color: string = '#183642';\n\n sizePx = this.size + 'px';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-chart-icon',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n})\nexport class ChartIconComponent {\n @Input() color: string = '#183642';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-check-circle-icon',\n template: `\n \n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width]': 'sizePx',\n '[style.height]': 'sizePx',\n },\n})\nexport class CheckCircleIconComponent {\n @Input() size: string = '16';\n @Input() color: string = '#183642';\n\n sizePx = this.size + 'px';\n}\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-checkmark',\n template: `\n \n \n \n `,\n styles: [],\n})\nexport class CheckmarkComponent {\n // TODO CANSU ADD VARİABLES COLORS SIZES AND TYPES LIKE LARGE SMALL\n @Input() size: string = '16';\n @Input() color: string = 'black';\n}\n","import { Component, Input } from '@angular/core';\n@Component({\n selector: 'esg-chevron',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n})\nexport class ChevronComponent {\n @Input() size: string = '16';\n @Input() color: string = '#183642';\n}\n","import { Component, Input } from '@angular/core';\n@Component({\n selector: 'esg-icon-clear',\n template: `\n \n \n \n `,\n styles: [],\n})\nexport class ClearIconComponent {\n // TODO CANSU ADD VARİABLES COLORS SIZES AND TYPES LIKE LARGE SMALL\n @Input() size: string = '16';\n @Input() color: string = '#666666';\n @Input() hoverColor: string = '#183642';\n\n currentColor: string = this.color;\n hovered: boolean = false;\n\n toggleHover() {\n this.hovered = !this.hovered;\n this.currentColor = this.hovered ? this.hoverColor : this.color;\n }\n}\n","import { Component, Input } from '@angular/core';\n@Component({\n selector: 'esg-icon-close',\n template: `\n \n \n \n \n `,\n styles: [],\n})\nexport class CloseIconComponent {\n // TODO CANSU ADD VARİABLES COLORS SIZES AND TYPES LIKE LARGE SMALL\n // TODO CANSU How can I see icon hover color on Figma?\n @Input() size: string = '24';\n @Input() color: string = '#183642';\n}","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-cloud-disconnected-icon',\n template: `\n \n \n \n `,\n styles: [],\n host: {\n '[style.width]': 'sizePx',\n '[style.height]': 'sizePx',\n },\n})\nexport class CloudDisconnectedIconComponent {\n @Input() size: string = '24';\n @Input() color: string = '#183642';\n\n sizePx = this.size + 'px';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-cloud-locked-icon',\n template: `\n \n \n \n `,\n styles: [],\n host: {\n '[style.width]': 'sizePx',\n '[style.height]': 'sizePx',\n },\n})\nexport class CloudLockedIconComponent {\n @Input() size: string = '24';\n @Input() color: string = '#183642';\n\n sizePx = this.size + 'px';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-cloud-update-filled-icon',\n template: `\n \n \n \n `,\n styles: [],\n host: {\n '[style.width]': 'sizePx',\n '[style.height]': 'sizePx',\n },\n})\nexport class CloudUpdateFilledIconComponent {\n @Input() size: string = '24';\n @Input() color: string = '#183642';\n\n sizePx = this.size + 'px';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-cloud-update-icon',\n template: `\n \n \n \n `,\n styles: [],\n host: {\n '[style.width]': 'sizePx',\n '[style.height]': 'sizePx',\n },\n})\nexport class CloudUpdateIconComponent {\n @Input() size: string = '24';\n @Input() color: string = '#183642';\n\n sizePx = this.size + 'px';\n}\n","import { Component, Input } from '@angular/core';\n@Component({\n selector: 'esg-column-stack-icon',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width.px]': 'size',\n '[style.height.px]': 'size',\n },\n})\nexport class ColumnStackIconComponent {\n @Input() size: number = 16;\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-company-icon',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width]': 'sizePx',\n '[style.height]': 'sizePx',\n },\n})\nexport class CompanyIconComponent {\n @Input() size: string = '16';\n @Input() color: string = '#183642';\n\n sizePx = this.size + 'px';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-convert-icon',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width]': 'sizePx',\n '[style.height]': 'sizePx',\n },\n})\nexport class ConvertIconComponent {\n @Input() size: string = '16';\n @Input() color: string = '#183642';\n\n sizePx = this.size + 'px';\n}\n","import { Component, Input } from '@angular/core';\n@Component({\n selector: 'esg-copy-link',\n template: `\n \n \n \n \n \n \n \n `,\n styles: [],\n})\nexport class CopyLinkComponent {\n // TODO CANSU ADD VARİABLES COLORS SIZES AND TYPES LIKE LARGE SMALL\n // TODO CANSU How can I see icon hover color on Figma?\n @Input() size: string = '16';\n @Input() color: string = '#183642';\n @Input() hoverColor: string = 'green';\n\n currentColor: string = this.color;\n hovered: boolean = false;\n\n toggleHover() {\n this.hovered = !this.hovered;\n this.currentColor = this.hovered ? this.hoverColor : this.color;\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-dashboard-icon',\n template: `\n \n \n \n \n \n \n \n \n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width]': 'sizePx',\n '[style.height]': 'sizePx',\n },\n})\nexport class DashboardIconComponent {\n @Input() size: string = '16';\n @Input() color: string = '#183642';\n\n sizePx = this.size + 'px';\n}\n","import { Component, Input, OnInit } from '@angular/core';\n@Component({\n selector: 'esg-delete-icon',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n})\nexport class DeleteIconComponent implements OnInit {\n @Input() size: string = '16';\n @Input() color: string = '#183642';\n @Input() hoverColor: string = this.color;\n\n currentColor: string = this.color;\n hovered: boolean = false;\n\n ngOnInit(): void {\n this.currentColor = this.color;\n }\n\n toggleHover() {\n this.hovered = !this.hovered;\n this.currentColor = this.hovered ? this.hoverColor : this.color;\n }\n}\n","import { Component } from '@angular/core';\n@Component({\n selector: 'esg-icon-delete-xmark',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n})\nexport class DeleteXmarkIconComponent {}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-document-icon',\n template: `\n \n \n \n \n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n})\nexport class DocumentIconComponent {\n @Input() color: string = '#183642';\n}\n","import { Component, Input } from '@angular/core';\n@Component({\n selector: 'esg-double-chevron',\n template: `\n \n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n})\nexport class DoubleChevronComponent {\n @Input() size: string = '16';\n @Input() color: string = '#183642';\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'esg-icon-download',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n})\nexport class DownloadIconComponent {}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-drag-icon',\n template: `\n \n \n \n \n \n \n \n \n `,\n styles: [],\n host: {\n '[style.width]': 'sizePx',\n '[style.height]': 'sizePx',\n },\n})\nexport class DragIconComponent {\n @Input() size: string = '16';\n @Input() color: string = '#999999';\n\n sizePx = this.size + 'px';\n}\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-dropdown-arrow',\n template: `\n \n \n \n `,\n styles: [],\n})\nexport class DropdownArrowComponent {\n // TODO CANSU ADD VARİABLES COLORS SIZES AND TYPES LIKE LARGE SMALL\n @Input() size: string = '16';\n @Input() color: string = 'black';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-ellipsis-horizontal',\n template: `\n \n \n \n `,\n styles: [],\n})\nexport class EllipsisHorizontalComponent {\n @Input() size: string = '16';\n @Input() color: string = 'black';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-ellipsis-vertical',\n template: `\n \n \n \n `,\n styles: [],\n})\nexport class EllipsisVerticalComponent {\n @Input() size: string = '16';\n @Input() color: string = 'black';\n}\n","import { Component, Input } from '@angular/core';\n@Component({\n selector: 'esg-environment-icon',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width.px]': 'size',\n '[style.height.px]': 'size',\n },\n})\nexport class EnvironmentIconComponent {\n @Input() size: number = 16;\n}\n","import { Component, Input } from '@angular/core';\n@Component({\n selector: 'esg-error-icon',\n template: `\n \n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width.px]': 'size',\n '[style.height.px]': 'size',\n },\n})\nexport class ErrorIconComponent {\n @Input() size: number = 16;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'esg-icon-excel',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n})\nexport class ExcelIconComponent {}\n","import { Component } from '@angular/core';\n@Component({\n selector: 'esg-icon-expanders',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n})\nexport class ExpanderIconComponent {}\n","import { Component, Input } from '@angular/core';\n@Component({\n selector: 'esg-icon-ext-link',\n template: `\n \n \n \n \n `,\n styles: [],\n})\nexport class ExtLinkIconComponent {\n // TODO CANSU ADD VARİABLES COLORS SIZES AND TYPES LIKE LARGE SMALL\n @Input() size: string = '16';\n @Input() color: string = '#999999';\n @Input() hoverColor: string = '#183642';\n\n currentColor: string = this.color;\n hovered: boolean = false;\n\n toggleHover() {\n this.hovered = !this.hovered;\n this.currentColor = this.hovered ? this.hoverColor : this.color;\n }\n}\n","import { Component } from '@angular/core';\n@Component({\n selector: 'esg-framework-icon',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n})\nexport class FrameworkIconComponent {}\n","import { Component, Input } from '@angular/core';\n@Component({\n selector: 'esg-governance-icon',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width.px]': 'size',\n '[style.height.px]': 'size',\n },\n})\nexport class GovernanceIconComponent {\n @Input() size: number = 16;\n}\n","import { Component, Input } from '@angular/core';\n@Component({\n selector: 'esg-icon-group',\n template: `\n \n \n \n \n \n `,\n styles: [],\n})\nexport class GroupIconComponent {\n // TODO CANSU ADD VARİABLES COLORS SIZES AND TYPES LIKE LARGE SMALL\n // TODO CANSU How can I see icon hover color on Figma?\n @Input() size: string = '24';\n @Input() color: string = '#EEEEEE';\n @Input() hoverColor: string = this.color;\n\n currentColor: string = this.color;\n hovered: boolean = false;\n\n toggleHover() {\n this.hovered = !this.hovered;\n this.currentColor = this.hovered ? this.hoverColor : this.color;\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-history-icon',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width]': 'sizePx',\n '[style.height]': 'sizePx',\n },\n})\nexport class HistoryIconComponent {\n @Input() size: string = '16';\n @Input() color: string = '#183642';\n\n sizePx = this.size + 'px';\n}\n","import { Component, Input } from '@angular/core';\n@Component({\n selector: 'esg-home-icon',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width.px]': 'size',\n '[style.height.px]': 'size',\n },\n})\nexport class HomeIconComponent {\n @Input() size: number = 24;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DropdownArrowComponent } from '../icons/dropdown-arrow.component';\nimport { CheckmarkComponent } from '../icons/checkmark.component';\nimport { ArrowRightComponent } from '../icons/arrow-right.component';\nimport { ArrowRightLongComponent } from '../icons/arrow-right-long.component';\nimport { ArrowRightTopComponent } from './arrow-right-top.component';\nimport { ArrowDownComponent } from '../icons/arrow-down.component';\nimport { EllipsisHorizontalComponent } from '../icons/ellipsis-horizontal.component';\nimport { EllipsisVerticalComponent } from '../icons/ellipsis-vertical.component';\nimport { CopyLinkComponent } from '../icons/copy-link.component';\nimport { ChevronComponent } from '../icons/chevron.component';\nimport { SaveTemplateComponent } from '../icons/save-template.component';\nimport { TextIconComponent } from '../icons/text-icon.component';\nimport { ImageIconComponent } from '../icons/image-icon.component';\nimport { LogoutIconComponent } from '../icons/logout-icon.component';\nimport { DocumentIconComponent } from '../icons/document-icon.component';\nimport { PreviewIconComponent } from './preview-icon.component';\nimport { GroupIconComponent } from './group-icon.component';\nimport { AddIconComponent } from './add-icon.component';\nimport { MinusIconComponent } from './minus-icon.component';\nimport { CloseIconComponent } from './close-icon.component';\nimport { ClearIconComponent } from './clear-icon.component';\nimport { ExtLinkIconComponent } from './ext-link-icon.component';\nimport { SettingsIconComponent } from './settings-icon.component';\nimport { UpdateIconComponent } from './update.component';\nimport { ImportFromExcelIconComponent } from './import-from-excel-icon.component';\nimport { DragIconComponent } from './drag-icon.component';\nimport { InfoIconFilledComponent } from './info-icon-filled.component';\nimport { InfoIconComponent } from './info-icon.component';\nimport { CloudLockedIconComponent } from './cloud-locked-icon.component';\nimport { CloudUpdateIconComponent } from './cloud-update-icon.component';\nimport { CloudUpdateFilledIconComponent } from './cloud-update-filled-icon.component';\nimport { CloudDisconnectedIconComponent } from './cloud-disconnected-icon.component';\nimport { DeleteIconComponent } from './delete-icon.component';\nimport { BotIconComponent } from './bot-icon.component';\nimport { LockIconComponent } from './lock-icon.component';\nimport { NoLockIconComponent } from './no-lock-icon.component';\nimport { PaperplaneIconComponent } from './paperplane-icon.component';\nimport { MenuIconComponent } from './menu-icon.component';\nimport { ShareIconComponent } from './share-icon.component';\nimport { ExpanderIconComponent } from './expanders.component';\nimport { DeleteXmarkIconComponent } from './delete-xmark.component';\nimport { MoveIconComponent } from './move.component';\nimport { FrameworkIconComponent } from './framework-icon.component';\nimport { ChartIconComponent } from './chart-icon.component';\nimport { IconTargetComponent } from './target.component';\nimport { DoubleChevronComponent } from './double-chevron.component';\nimport { HomeIconComponent } from './home-icon.component';\nimport { RegionIconComponent } from './region-icon.component';\nimport { ExcelIconComponent } from './excel-icon.component';\nimport { DownloadIconComponent } from './download-icon.component';\nimport { OrganizationIconComponent } from './organization-icon.component';\nimport { SuborgIconComponent } from './suborg-icon.component';\nimport { DashboardIconComponent } from './dashboard-icon.component';\nimport { ReportIconComponent } from './report-icon.component';\nimport { SupportIconComponent } from './support-icon.component';\nimport { NewIconComponent } from './new-icon.component';\nimport { HistoryIconComponent } from './history-icon.component';\nimport { CheckCircleIconComponent } from './check-circle-icon.component';\nimport { RecordsIconComponent } from './records-icon.component';\nimport { AssetIconComponent } from './asset-icon.component';\nimport { WindowIconComponent } from './window-icon.component';\nimport { PlayIconComponent } from './play-icon.component';\nimport { KpiIconComponent } from './kpi-icon.component';\nimport { IndLibraryIconComponent } from './ind-library.component';\nimport { EnvironmentIconComponent } from './environment-icon.component';\nimport { SocialIconComponent } from './social-icon.component';\nimport { GovernanceIconComponent } from './governance-icon.component';\nimport { StackIconComponent } from './stack-icon.component';\nimport { LanguageIconComponent } from './language-icon.component';\nimport { RawDataIconComponent } from './raw-data-icon.component';\nimport { WarningIconComponent } from './warning-icon.component';\nimport { ColumnStackIconComponent } from './column-stack-icon.component';\nimport { CompanyIconComponent } from './company-icon.component';\nimport { CalculationIconComponent } from './calculation-icon.component';\nimport { ConvertIconComponent } from './convert-icon.component';\nimport { SectionIconComponent } from './section-icon.component';\nimport { AssignedIconComponent } from './assigned-icon.component';\nimport { ImportFromExcel2IconComponent } from './import-from-excel-2-icon.component';\nimport { SearchIconComponent } from './search-icon.component';\nimport { WarningFilledIconComponent } from './warning-filled-icon.component';\nimport { ErrorIconComponent } from './error-icon.component';\nimport { SortIconComponent } from './sort-icon';\nimport { SortAccendingIconComponent } from './sort-accending-icon';\nimport { SortDescendingIconComponent } from './sort-descending-icon';\nimport { IndicatorDataFrom3ndPartiesIconComponent } from './indicator-data-from-3nd-parties-icon.component';\nimport { IndicatorDataFromExcelIconComponent } from './indicator-data-from-excel-icon.component';\n\n@NgModule({\n declarations: [\n DropdownArrowComponent,\n CheckmarkComponent,\n ArrowRightComponent,\n ArrowRightLongComponent,\n ArrowRightTopComponent,\n ArrowDownComponent,\n EllipsisHorizontalComponent,\n EllipsisVerticalComponent,\n CopyLinkComponent,\n ChevronComponent,\n SaveTemplateComponent,\n TextIconComponent,\n ImageIconComponent,\n LogoutIconComponent,\n DocumentIconComponent,\n PreviewIconComponent,\n AddIconComponent,\n GroupIconComponent,\n MinusIconComponent,\n CloseIconComponent,\n ClearIconComponent,\n ExtLinkIconComponent,\n SettingsIconComponent,\n UpdateIconComponent,\n ImportFromExcelIconComponent,\n DragIconComponent,\n InfoIconFilledComponent,\n InfoIconComponent,\n CloudLockedIconComponent,\n CloudUpdateIconComponent,\n CloudUpdateFilledIconComponent,\n CloudDisconnectedIconComponent,\n DeleteIconComponent,\n BotIconComponent,\n LockIconComponent,\n NoLockIconComponent,\n PaperplaneIconComponent,\n ShareIconComponent,\n MenuIconComponent,\n ExpanderIconComponent,\n DeleteXmarkIconComponent,\n MoveIconComponent,\n FrameworkIconComponent,\n ChartIconComponent,\n IconTargetComponent,\n DoubleChevronComponent,\n HomeIconComponent,\n RegionIconComponent,\n ExcelIconComponent,\n DownloadIconComponent,\n OrganizationIconComponent,\n SuborgIconComponent,\n DashboardIconComponent,\n ReportIconComponent,\n SupportIconComponent,\n HistoryIconComponent,\n NewIconComponent,\n CheckCircleIconComponent,\n RecordsIconComponent,\n AssetIconComponent,\n WindowIconComponent,\n PlayIconComponent,\n KpiIconComponent,\n IndLibraryIconComponent,\n EnvironmentIconComponent,\n SocialIconComponent,\n GovernanceIconComponent,\n StackIconComponent,\n LanguageIconComponent,\n RawDataIconComponent,\n WarningIconComponent,\n WarningFilledIconComponent,\n ColumnStackIconComponent,\n CompanyIconComponent,\n CalculationIconComponent,\n ConvertIconComponent,\n SectionIconComponent,\n AssignedIconComponent,\n ImportFromExcel2IconComponent,\n SearchIconComponent,\n ErrorIconComponent,\n SortIconComponent,\n SortAccendingIconComponent,\n SortDescendingIconComponent,\n IndicatorDataFrom3ndPartiesIconComponent,\n IndicatorDataFromExcelIconComponent,\n ],\n imports: [CommonModule],\n exports: [\n DropdownArrowComponent,\n CheckmarkComponent,\n ArrowRightComponent,\n ArrowRightLongComponent,\n ArrowRightTopComponent,\n ArrowDownComponent,\n EllipsisHorizontalComponent,\n EllipsisVerticalComponent,\n CopyLinkComponent,\n ChevronComponent,\n SaveTemplateComponent,\n TextIconComponent,\n ImageIconComponent,\n LogoutIconComponent,\n DocumentIconComponent,\n PreviewIconComponent,\n AddIconComponent,\n GroupIconComponent,\n MinusIconComponent,\n CloseIconComponent,\n ClearIconComponent,\n ExtLinkIconComponent,\n SettingsIconComponent,\n UpdateIconComponent,\n ImportFromExcelIconComponent,\n DragIconComponent,\n InfoIconFilledComponent,\n InfoIconComponent,\n CloudLockedIconComponent,\n CloudUpdateIconComponent,\n CloudUpdateFilledIconComponent,\n CloudDisconnectedIconComponent,\n DeleteIconComponent,\n BotIconComponent,\n LockIconComponent,\n NoLockIconComponent,\n PaperplaneIconComponent,\n ShareIconComponent,\n MenuIconComponent,\n ExpanderIconComponent,\n DeleteXmarkIconComponent,\n MoveIconComponent,\n FrameworkIconComponent,\n ChartIconComponent,\n IconTargetComponent,\n DoubleChevronComponent,\n HomeIconComponent,\n RegionIconComponent,\n ExcelIconComponent,\n DownloadIconComponent,\n OrganizationIconComponent,\n SuborgIconComponent,\n DashboardIconComponent,\n ReportIconComponent,\n SupportIconComponent,\n HistoryIconComponent,\n NewIconComponent,\n CheckCircleIconComponent,\n RecordsIconComponent,\n AssetIconComponent,\n WindowIconComponent,\n PlayIconComponent,\n KpiIconComponent,\n IndLibraryIconComponent,\n EnvironmentIconComponent,\n SocialIconComponent,\n GovernanceIconComponent,\n StackIconComponent,\n LanguageIconComponent,\n RawDataIconComponent,\n WarningIconComponent,\n WarningFilledIconComponent,\n ColumnStackIconComponent,\n CompanyIconComponent,\n CalculationIconComponent,\n ConvertIconComponent,\n SectionIconComponent,\n AssignedIconComponent,\n ImportFromExcel2IconComponent,\n SearchIconComponent,\n ErrorIconComponent,\n SortIconComponent,\n SortAccendingIconComponent,\n SortDescendingIconComponent,\n IndicatorDataFrom3ndPartiesIconComponent,\n IndicatorDataFromExcelIconComponent,\n ],\n})\nexport class IconModule {}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-image-icon',\n template: `\n \n \n \n `,\n styles: [],\n host: {\n '[style.width]': 'sizePx',\n '[style.height]': 'sizePx',\n },\n})\nexport class ImageIconComponent {\n @Input() size: string = '16';\n @Input() color: string = 'black';\n\n sizePx = this.size + 'px';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-import-from-excel-2-icon',\n template: `\n \n \n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n})\nexport class ImportFromExcel2IconComponent {\n @Input() color: string = '#183642';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-import-from-excel-icon',\n template: `\n \n \n \n \n \n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n})\nexport class ImportFromExcelIconComponent {\n @Input() color: string = '#183642';\n}\n","import { Component, Input } from '@angular/core';\n@Component({\n selector: 'esg-ind-library-icon',\n template: `\n \n \n \n \n \n \n \n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width.px]': 'size',\n '[style.height.px]': 'size',\n },\n})\nexport class IndLibraryIconComponent {\n @Input() size: number = 16;\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-indicator-data-from-3nd-parties-icon',\n template: `\n \n \n \n \n \n \n \n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n})\nexport class IndicatorDataFrom3ndPartiesIconComponent {\n @Input() color: string = '#183642';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-indicator-data-from-excel-icon',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n})\nexport class IndicatorDataFromExcelIconComponent {\n @Input() color: string = '#183642';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-info-icon-filled',\n template: `\n \n \n \n \n \n `,\n styles: [],\n host: {\n '[style.width]': 'sizePx',\n '[style.height]': 'sizePx',\n },\n})\nexport class InfoIconFilledComponent {\n @Input() size: string = '18';\n @Input() color: string = '#183642';\n\n sizePx = this.size + 'px';\n}\n","import { Component } from '@angular/core';\n@Component({\n selector: 'esg-info-icon',\n template: `\n \n \n \n \n \n \n \n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n})\nexport class InfoIconComponent {}\n","import { Component, Input } from '@angular/core';\n@Component({\n selector: 'esg-kpi-icon',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width.px]': 'size',\n '[style.height.px]': 'size',\n },\n})\nexport class KpiIconComponent {\n @Input() size: number = 16;\n}\n","import { Component, Input } from '@angular/core';\n@Component({\n selector: 'esg-language-icon',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width.px]': 'size',\n '[style.height.px]': 'size',\n },\n})\nexport class LanguageIconComponent {\n @Input() size: number = 16;\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-lock-icon',\n template: `\n \n \n \n `,\n styles: [],\n host: {\n '[style.width]': 'sizePx',\n '[style.height]': 'sizePx',\n },\n})\nexport class LockIconComponent {\n @Input() size: string = '16';\n @Input() color: string = '#183642';\n\n sizePx = this.size + 'px';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-logout-icon',\n template: `\n \n \n \n `,\n styles: [],\n host: {\n '[style.width]': 'sizePx',\n '[style.height]': 'sizePx',\n },\n})\nexport class LogoutIconComponent {\n @Input() size: string = '20';\n @Input() color: string = 'white';\n\n sizePx = this.size + 'px';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-menu-icon',\n template: `\n \n \n \n \n \n `,\n styles: [],\n host: {\n '[style.width]': 'sizePx',\n '[style.height]': 'sizePx',\n },\n})\nexport class MenuIconComponent {\n @Input() size: string = '16';\n @Input() color: string = '#183642';\n\n sizePx = this.size + 'px';\n}\n","import { Component, Input } from '@angular/core';\n@Component({\n selector: 'esg-icon-minus',\n template: `\n \n \n \n `,\n styles: [],\n})\nexport class MinusIconComponent {\n // TODO CANSU ADD VARİABLES COLORS SIZES AND TYPES LIKE LARGE SMALL\n // TODO CANSU How can I see icon hover color on Figma?\n @Input() size: string = '16';\n @Input() color: string = '#EEEEEE';\n @Input() hoverColor: string = 'green';\n\n currentColor: string = this.color;\n hovered: boolean = false;\n\n toggleHover() {\n this.hovered = !this.hovered;\n this.currentColor = this.hovered ? this.hoverColor : this.color;\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-icon-move',\n template: `\n \n \n \n \n \n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n})\nexport class MoveIconComponent {\n @Input() size: string = '16';\n @Input() color: string = '#999999';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-new-icon',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width]': 'sizePx',\n '[style.height]': 'sizePx',\n },\n})\nexport class NewIconComponent {\n @Input() size: string = '16';\n @Input() color: string = '#183642';\n\n sizePx = this.size + 'px';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-no-lock-icon',\n template: `\n \n \n \n `,\n styles: [],\n host: {\n '[style.width]': 'sizePx',\n '[style.height]': 'sizePx',\n },\n})\nexport class NoLockIconComponent {\n @Input() size: string = '16';\n @Input() color: string = '#183642';\n\n sizePx = this.size + 'px';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-organization-icon',\n template: `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width]': 'sizePx',\n '[style.height]': 'sizePx',\n },\n})\nexport class OrganizationIconComponent {\n @Input() size: string = '16';\n @Input() color: string = '#183642';\n\n sizePx = this.size + 'px';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-paperplane-icon',\n template: `\n \n \n \n `,\n styles: [],\n host: {\n '[style.width]': 'sizePx',\n '[style.height]': 'sizePx',\n },\n})\nexport class PaperplaneIconComponent {\n @Input() size: string = '16';\n @Input() color: string = '#183642';\n\n sizePx = this.size + 'px';\n}\n","import { Component, Input } from '@angular/core';\n@Component({\n selector: 'esg-play-icon',\n template: `\n \n \n \n \n \n \n \n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width.px]': 'size',\n '[style.height.px]': 'size',\n },\n})\nexport class PlayIconComponent {\n @Input() size: number = 84;\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-preview-icon',\n template: `\n \n >\n \n \n \n \n `,\n styles: [],\n})\nexport class PreviewIconComponent {\n @Input() size: string = '16';\n @Input() color: string = '#183642';\n @Input() hoverColor: string = '#0071E3';\n\n currentColor: string = this.color;\n hovered: boolean = false;\n\n toggleHover() {\n this.hovered = !this.hovered;\n this.currentColor = this.hovered ? this.hoverColor : this.color;\n }\n}\n","import { Component, Input } from '@angular/core';\n@Component({\n selector: 'esg-raw-data-icon',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width.px]': 'size',\n '[style.height.px]': 'size',\n },\n})\nexport class RawDataIconComponent {\n @Input() size: number = 16;\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-records-icon',\n template: `\n \n \n \n \n \n \n \n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width]': 'sizePx',\n '[style.height]': 'sizePx',\n },\n})\nexport class RecordsIconComponent {\n @Input() size: string = '16';\n @Input() color: string = '#183642';\n\n sizePx = this.size + 'px';\n}\n","import { Component } from '@angular/core';\n@Component({\n selector: 'esg-region-icon',\n template: `\n \n \n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n})\nexport class RegionIconComponent {}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-report-icon',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width]': 'sizePx',\n '[style.height]': 'sizePx',\n },\n})\nexport class ReportIconComponent {\n @Input() size: string = '16';\n @Input() color: string = '#183642';\n\n sizePx = this.size + 'px';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-save-template',\n template: `\n \n \n \n `,\n styles: [],\n})\nexport class SaveTemplateComponent {\n @Input() size: string = '16';\n @Input() color: string = '#183642';\n @Input() hoverColor: string = '#0071E3';\n\n currentColor: string = this.color;\n hovered: boolean = false;\n\n toggleHover() {\n this.hovered = !this.hovered;\n this.currentColor = this.hovered ? this.hoverColor : this.color;\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-search-icon',\n template: `\n \n \n \n `,\n styles: [],\n host: {\n '[style.width]': 'sizePx',\n '[style.height]': 'sizePx',\n },\n})\nexport class SearchIconComponent {\n @Input() size: string = '16';\n @Input() color: string = '#183642';\n\n sizePx = this.size + 'px';\n}\n","import { Component, Input } from '@angular/core';\n@Component({\n selector: 'esg-section-icon',\n template: `\n \n \n \n \n \n \n \n \n \n \n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width.px]': 'size',\n '[style.height.px]': 'size',\n },\n})\nexport class SectionIconComponent {\n @Input() size: number = 16;\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-settings-icon',\n template: `\n \n \n \n \n \n \n \n \n \n \n `,\n styles: [],\n})\nexport class SettingsIconComponent {\n @Input() size: string = '16';\n @Input() color: string = '#183642';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-share-icon',\n template: `\n \n \n \n `,\n styles: [],\n host: {\n '[style.width]': 'sizePx',\n '[style.height]': 'sizePx',\n },\n})\nexport class ShareIconComponent {\n @Input() size: string = '16';\n @Input() color: string = '#183642';\n\n sizePx = this.size + 'px';\n}\n","import { Component, Input } from '@angular/core';\n@Component({\n selector: 'esg-social-icon',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width.px]': 'size',\n '[style.height.px]': 'size',\n },\n})\nexport class SocialIconComponent {\n @Input() size: number = 16;\n}\n","import { Component, Input } from '@angular/core';\n@Component({\n selector: 'esg-sort-accending-icon',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width.px]': 'size',\n '[style.height.px]': 'size',\n },\n})\nexport class SortAccendingIconComponent {\n @Input() size: number = 16;\n}\n","import { Component, Input } from '@angular/core';\n@Component({\n selector: 'esg-sort-descending-icon',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width.px]': 'size',\n '[style.height.px]': 'size',\n },\n})\nexport class SortDescendingIconComponent {\n @Input() size: number = 16;\n}\n","import { Component, Input } from '@angular/core';\n@Component({\n selector: 'esg-sort-icon',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width.px]': 'size',\n '[style.height.px]': 'size',\n },\n})\nexport class SortIconComponent {\n @Input() size: number = 16;\n}\n","import { Component, Input } from '@angular/core';\n@Component({\n selector: 'esg-stack-icon',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width.px]': 'size',\n '[style.height.px]': 'size',\n },\n})\nexport class StackIconComponent {\n @Input() size: number = 16;\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-suborg-icon',\n template: `\n \n \n \n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width]': 'sizePx',\n '[style.height]': 'sizePx',\n },\n})\nexport class SuborgIconComponent {\n @Input() size: string = '16';\n @Input() color: string = '#183642';\n\n sizePx = this.size + 'px';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-support-icon',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width]': 'sizePx',\n '[style.height]': 'sizePx',\n },\n})\nexport class SupportIconComponent {\n @Input() size: string = '16';\n @Input() color: string = '#183642';\n\n sizePx = this.size + 'px';\n}\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\n@Component({\n selector: 'esg-icon-target',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n encapsulation: ViewEncapsulation.Emulated,\n})\nexport class IconTargetComponent {\n @Input() size: string = '16';\n @Input() color: string = '#0071E3';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-text-icon',\n template: `\n \n \n \n \n \n \n \n \n `,\n styles: [],\n host: {\n '[style.width]': 'sizePx',\n '[style.height]': 'sizePx',\n },\n})\nexport class TextIconComponent {\n @Input() size: string = '16';\n @Input() color: string = 'black';\n\n sizePx = this.size + 'px';\n}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'esg-icon-update',\n template: `\n \n \n \n `,\n styles: [],\n})\nexport class UpdateIconComponent {\n @Input() size: string = '16';\n @Input() color: string = '#183642';\n}\n","import { Component, Input } from '@angular/core';\n@Component({\n selector: 'esg-warning-filled-icon',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width.px]': 'size',\n '[style.height.px]': 'size',\n },\n})\nexport class WarningFilledIconComponent {\n @Input() size: number = 16;\n}\n","import { Component, Input } from '@angular/core';\n@Component({\n selector: 'esg-warning-icon',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width.px]': 'size',\n '[style.height.px]': 'size',\n },\n})\nexport class WarningIconComponent {\n @Input() size: number = 16;\n}\n","import { Component, Input } from '@angular/core';\n@Component({\n selector: 'esg-window-icon',\n template: `\n \n \n \n `,\n styles: [\n `\n :host {\n display: contents;\n }\n `,\n ],\n host: {\n '[style.width.px]': 'size',\n '[style.height.px]': 'size',\n },\n})\nexport class WindowIconComponent {\n @Input() size: number = 16;\n}\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-letter-avatar',\n templateUrl: './letter-avatar.component.html',\n host: {\n '[style.background-color]': 'background',\n '[style.color]': 'color',\n },\n styleUrls: ['./letter-avatar.component.scss'],\n})\nexport class LetterAvatarComponent implements OnInit {\n @Input() label: string = '';\n @Input() background: string = '#4AD1DA';\n @Input() color: string = '#333333';\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","{{ label }}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\nexport interface NotificationLinkUi {\n text: string;\n routerLink: string | string[];\n queryParams?: { [key: string]: any };\n fragment?: string;\n}\n\n@Component({\n selector: 'esg-notification',\n templateUrl: './notification.component.html',\n styleUrls: ['./notification.component.scss'],\n host: {\n '[class]': 'variant',\n '(click)': 'handleClick($event)',\n },\n})\nexport class NotificationComponent {\n @Input() title: string = '';\n @Input() variant: 'error' | 'info' | 'success' | 'warning' = 'info';\n @Input() message?: string;\n @Input() link?: NotificationLinkUi;\n @Output() onClose = new EventEmitter();\n\n handleClose() {\n this.onClose.emit();\n }\n\n handleClick(event: Event) {\n event.stopPropagation();\n }\n}\n","
\n \n \n \n \n \n \n \n \n
\n
\n {{ title }}\n {{ message }}\n \n
\n\n","import { Component, ElementRef, EventEmitter, HostListener, Input, Output } from '@angular/core';\n\n@Component({\n selector: '[esg-on-click-outside] [onClickOutside]',\n templateUrl: './on-click-outside.component.html',\n styleUrls: ['./on-click-outside.component.scss'],\n})\nexport class OnClickOutsideComponent {\n constructor(private el: ElementRef) {}\n @Input() ignoreIfSelected: boolean = false;\n @Output() onClickOutside = new EventEmitter();\n\n selectedText?: string;\n\n @HostListener('document:click', ['$event.target'])\n public onClick(target: HTMLElement) {\n if (this.ignoreIfSelected)\n this.selectedText =\n document.getSelection()?.toString() === this.selectedText ? undefined : document.getSelection()?.toString();\n const clickInside = this.el.nativeElement.contains(target);\n if (!clickInside && !this.selectedText) {\n this.onClickOutside.emit(target);\n }\n }\n}\n","\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'esg-pulsing-dot',\n templateUrl: './pulsing-dot.component.html',\n styleUrls: ['./pulsing-dot.component.scss'],\n})\nexport class PulsingDotComponent {}\n","
\n
\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'esg-radio-button',\n templateUrl: './radio-button.component.html',\n styleUrls: ['./radio-button.component.scss'],\n})\nexport class RadioButtonComponent implements OnInit {\n @Input({ required: true }) checked!: boolean;\n @Input() disabled: boolean = false;\n @Output() onCheck = new EventEmitter();\n constructor() {}\n\n ngOnInit(): void {}\n\n handleOnClick() {\n if (!this.disabled) this.onCheck.emit();\n }\n}\n","\n \n \n \n \n\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormControl } from '@angular/forms';\n\nexport interface IOption {\n value: string;\n label: string;\n}\n\n@Component({\n selector: 'esg-select-simple',\n templateUrl: './select-simple.component.html',\n styleUrl: './select-simple.component.scss',\n})\nexport class SelectSimpleComponent {\n open = false;\n @Input({ required: true }) value?: IOption;\n @Input({ required: true }) options: IOption[] = [];\n @Output() onChange = new EventEmitter();\n\n handleOpen() {\n this.open = !this.open;\n }\n\n handleSelectOption(option: IOption) {\n this.onChange.emit(option);\n this.open = false;\n }\n\n handleClickOutside() {\n this.open = false;\n }\n}\n","
\n
\n \n
\n @if(open){\n
\n
\n @for (item of options; track item.value) {\n
\n \n {{ item.label }}\n
\n }\n
\n
\n }\n
\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'esg-select-field',\n templateUrl: './select-field.component.html',\n styleUrls: ['./select-field.component.scss'],\n host: {\n '[class]': '[variant, size]',\n '(click)': 'handleClick($event)',\n '[class.disabled]': 'disabled',\n '[class.active]': '!isCollapsed',\n },\n})\nexport class SelectFieldComponent {\n @Input() value: string | undefined;\n @Input() variant: 'standard' | 'ghost' | 'ghost-table' = 'standard';\n @Input() size: 'small' | 'medium' | 'large' = 'medium';\n @Input() placeholder = 'Please select';\n @Input() longestLabel = '';\n @Input() isCollapsed: boolean = true;\n @Input() disabled: boolean = false;\n @Input() optional: boolean = false;\n @Output() onToggleCollapse = new EventEmitter();\n\n handleClick(event: Event): void {\n event.stopPropagation();\n if (!this.disabled) {\n this.onToggleCollapse.emit();\n }\n }\n}\n","
\n \n {{ value ?? placeholder }}\n (Optional)\n \n {{ longestLabel || value }}\n
\n\n","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { IGroupedOptions, IOption } from 'src/app/static-data/options';\n\n@Component({\n selector: 'esg-select-options',\n templateUrl: './select-options.component.html',\n styleUrls: ['./select-options.component.scss'],\n host: {\n '[class]': '[size]',\n '[class.drop-up]': 'dropUp',\n '[class.has-categories]': 'groupedOptions.length',\n },\n})\nexport class SelectOptionsComponent {\n @Input() selectedValues: IOption[] = [];\n @Input() size: 'small' | 'medium' | 'large' = 'medium';\n private _options: IOption[] = [];\n @Input()\n set options(value: IOption[]) {\n this._options = value;\n }\n get options(): IOption[] {\n return this._options;\n }\n private _groupedOptions: IGroupedOptions[] = [];\n @Input()\n set groupedOptions(value: IGroupedOptions[]) {\n this._groupedOptions = [...value].sort((a, b) => a.label.localeCompare(b.label));\n }\n get groupedOptions(): IGroupedOptions[] {\n return this._groupedOptions;\n }\n private _favouriteOptions: IOption[] = [];\n @Input()\n set favouriteOptions(value: IOption[]) {\n this._favouriteOptions = [...value].sort((a, b) => a.label.localeCompare(b.label));\n }\n get favouriteOptions(): IOption[] {\n return this._favouriteOptions;\n }\n @Input() headerLabel: string = '';\n @Input() dropUp: boolean = false;\n @Input() allowReset: boolean = false;\n @Input() resetLabel: string = 'Clear';\n @Input() maxHeight: string = '';\n @Output() onChange = new EventEmitter();\n @Output() onReset = new EventEmitter();\n\n @ViewChild('scrollWrapper', { static: false })\n set scrollWrapper(element: ElementRef) {\n if (element) {\n this.scrollOptionIntoView(element);\n }\n }\n\n handleChange(event: Event, option: IOption) {\n if (!option.disabled) {\n event.stopPropagation();\n this.onChange.emit(option);\n }\n }\n\n handleOnReset(event: Event) {\n event.stopPropagation();\n this.onReset.emit();\n }\n\n isOptionSelected(option: IOption) {\n return this.selectedValues.some(o => o.value == option.value);\n }\n\n scrollOptionIntoView(element: ElementRef) {\n if (!this.selectedValues.length) {\n return;\n }\n\n const optionElement = element.nativeElement.querySelector('.selected');\n\n if (optionElement) {\n const scrollWrapperElement = element.nativeElement;\n scrollWrapperElement.scrollTop = optionElement.offsetTop - 12;\n }\n }\n}\n","
\n \n {{ headerLabel }}\n \n \n
\n\n \n \n \n {{ resetLabel }}\n \n \n\n \n 1\" class=\"group\">\n {{ group.label }}\n \n \n \n \n\n \n\n \n \n \n \n \n {{ option.optionLabel ? option.optionLabel : option.label }}\n \n \n \n \n
\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\nexport interface ITreeOption {\n value: string;\n label: string;\n children?: ITreeOption[];\n}\n\nexport function findNestedOption(options: ITreeOption[], value: string): ITreeOption | undefined {\n for (const option of options) {\n if (option.value === value) {\n return option;\n }\n if (option.children) {\n const nestedOption = findNestedOption(option.children, value);\n if (nestedOption) {\n return nestedOption;\n }\n }\n }\n return undefined;\n}\n\n@Component({\n selector: 'esg-select-tree-options',\n templateUrl: './select-tree-options.component.html',\n styleUrl: './select-tree-options.component.scss',\n})\nexport class SelectTreeOptionsComponent {\n @Input() level = 0;\n @Input({ required: true }) options: ITreeOption[] = [];\n @Input({ required: true }) value?: ITreeOption;\n\n @Output() onSelectOption = new EventEmitter();\n\n handleSelectOption(option: ITreeOption) {\n this.onSelectOption.emit(option);\n }\n getPadding(): string {\n return `${this.level * 12}px`; // Adjust the multiplier as needed\n }\n}\n","@for (item of options; track $index) {\n
\n \n {{ item.label }}\n
\n \n}","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ITreeOption } from './select-tree-options/select-tree-options.component';\n\n@Component({\n selector: 'esg-select-tree',\n templateUrl: './select-tree.component.html',\n styleUrl: './select-tree.component.scss',\n})\nexport class SelectTreeComponent {\n open = false;\n @Input() label = '';\n @Input() required: boolean = false;\n @Input() variant: 'standard' | 'ghost' = 'standard';\n @Input() size: 'small' | 'medium' | 'large' = 'medium';\n @Input() placeholder = 'Please select';\n @Input() disabled = false;\n @Input({ required: true }) value?: ITreeOption;\n @Input({ required: true }) options: ITreeOption[] = [];\n @Output() onChange = new EventEmitter();\n\n handleOpen() {\n this.open = !this.open;\n }\n\n handleSelectOption(option: ITreeOption) {\n console.log(option);\n this.onChange.emit(option);\n this.open = false;\n }\n\n handleClickOutside() {\n this.open = false;\n }\n}\n","
\n \n
\n \n
\n @if(open){\n
\n
\n \n \n
\n
\n }\n
","import {\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n forwardRef,\n} from '@angular/core';\nimport { IOption, IGroupedOptions } from 'src/app/static-data/options';\nimport { findLongestLabelInOptions } from 'src/app/shared/utils/array';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR, Validators } from '@angular/forms';\nimport { KeyboardShortcutsDirective } from '../../directives/keyboard-shortcuts.directive';\nimport { TabFocusDirective } from '../../directives/on-tab-focus.directive';\n\ninterface Style {\n [key: string]: string;\n}\n\n@Component({\n selector: 'esg-select',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.scss'],\n host: {\n '(onTabFocus)': 'handleFocus()',\n '(onTabBlur)': 'handleFocusOut()',\n '(onEscapeKey)': 'handleOnCancel()',\n '(onEnterKey)': 'handleOnCancel()',\n '[tabindex]': 'disabled? -1 : tabindex',\n },\n hostDirectives: [\n { directive: KeyboardShortcutsDirective, outputs: ['onEscapeKey', 'onEnterKey'] },\n { directive: TabFocusDirective, outputs: ['onTabFocus', 'onTabBlur'] },\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectComponent),\n multi: true,\n },\n ],\n})\nexport class SelectComponent implements OnInit, ControlValueAccessor {\n @Input() formControl?: FormControl;\n @Input() value?: IOption;\n @Input() options: IOption[] = [];\n @Input() groupedOptions: IGroupedOptions[] = [];\n @Input() favouriteOptions: IOption[] = [];\n @Input() label = '';\n @Input() variant: 'standard' | 'ghost' = 'standard';\n @Input() size: 'small' | 'medium' | 'large' = 'medium';\n @Input() placeholder = 'Please select';\n @Input() tabindex: number = 0;\n @Input() required: boolean = false;\n @Input() disabled = false;\n @Input() customDropdown: boolean = false;\n @Input() isCollapsed: boolean = true;\n @Input() fitLongestLabel: boolean = true;\n @Input() isPopup: boolean = false;\n @Output() onChange = new EventEmitter();\n @Output() onToggleCollapse = new EventEmitter();\n\n selectedValue: IOption | undefined = this.value;\n dropUp = false;\n focused = false;\n popUpStyle: Style = {};\n longestLabel: string = this.placeholder;\n maxHeight: string = 'unset';\n\n onModelChange?: (modelValue?: IOption) => void;\n onModelTouched?: () => void;\n\n @ViewChild('input') private input: ElementRef | undefined;\n\n get selectedValueAsArray() {\n return this.selectedValue ? [this.selectedValue] : [];\n }\n\n @HostListener('window:resize', ['$event'])\n onResize() {\n this.setMaxHeigth();\n if (this.isPopup && !this.isCollapsed) this.handlePopupPosition();\n }\n\n constructor(private hostRef: ElementRef) {}\n\n ngOnInit(): void {\n if ((this.value || this.onChange.observed) && this.formControl) {\n throw new Error('You cannot use both formControl and value/onChange');\n }\n\n if (this.fitLongestLabel) {\n this.longestLabel =\n findLongestLabelInOptions([\n ...this.options,\n ...this.favouriteOptions,\n ...this.groupedOptions?.flatMap(group => group.options),\n ]) || this.placeholder;\n }\n\n if (this.formControl && this.formControl.hasValidator(Validators.required)) this.required = true;\n if (this.isPopup) this.addScrollEventListener();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.value) {\n this.selectedValue = this.value;\n }\n if (changes.isCollapsed && !changes.isCollapsed.currentValue) {\n this.setDropUp();\n this.setMaxHeigth();\n if (this.isPopup) {\n this.handlePopupPosition();\n }\n }\n }\n\n writeValue(value: IOption): void {\n this.selectedValue = value;\n }\n\n registerOnChange(fn: any): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onModelTouched = fn;\n }\n\n handleChange(option: IOption) {\n this.handleOnCollapse(true);\n this.isCollapsed = true;\n if (this.onModelChange) {\n this.selectedValue = option;\n this.onModelChange(option);\n }\n if (this.onModelTouched) this.onModelTouched();\n this.onChange.emit(option);\n }\n\n handlePopupPosition() {\n if (!this.input) return;\n const inputRect = this.input.nativeElement.getBoundingClientRect();\n const top = this.dropUp ? inputRect.top : inputRect.bottom;\n const width = `${inputRect.width}px`;\n this.popUpStyle = { top: `${top}px`, left: `${inputRect.left}px`, minWidth: width };\n }\n\n toggleCollapse(): void {\n if (this.onModelTouched) this.onModelTouched();\n if (this.isCollapsed) {\n this.setDropUp();\n this.setMaxHeigth();\n if (this.isPopup) {\n this.handlePopupPosition();\n }\n }\n this.handleOnCollapse(!this.isCollapsed);\n this.isCollapsed = !this.isCollapsed;\n }\n\n collapse(): void {\n this.handleOnCollapse(true);\n this.isCollapsed = true;\n }\n\n handleOnCollapse(collapsed: boolean) {\n if (this.onToggleCollapse.observed) {\n this.onToggleCollapse.emit(collapsed);\n }\n\n if (this.focused) this.focused = false;\n }\n\n handleOnCancel() {\n this.collapse();\n this.hostRef.nativeElement.blur();\n }\n\n handleFocus() {\n if (!this.disabled) {\n this.focused = true;\n this.setDropUp();\n this.setMaxHeigth();\n }\n }\n\n handleFocusOut() {\n this.collapse();\n }\n\n setDropUp() {\n if (this.input && window.innerHeight - this.input.nativeElement.getBoundingClientRect().bottom < 200)\n this.dropUp = true;\n else this.dropUp = false;\n }\n\n setMaxHeigth() {\n if (this.input?.nativeElement) {\n const inputRect = this.input.nativeElement.getBoundingClientRect();\n const windowHeight = window.innerHeight;\n const remainingHeight = this.dropUp ? inputRect.top - 160 : windowHeight - inputRect.bottom - 100;\n this.maxHeight = `${remainingHeight}px`;\n } else {\n this.maxHeight = 'unset';\n }\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n addScrollEventListener(): void {\n document.addEventListener(\n 'scroll',\n () => {\n if (!this.isCollapsed) this.handlePopupPosition();\n },\n true\n );\n }\n}\n","
\n \n
\n \n \n \n
\n
\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\ninterface Style {\n [key: string]: string;\n}\n\n@Component({\n selector: 'esg-side-dialog',\n templateUrl: './side-dialog.component.html',\n styleUrls: ['./side-dialog.component.scss'],\n})\nexport class SideDialogComponent implements OnInit {\n @Input() open = false;\n @Input() fullWidth: boolean = false;\n @Input() contentStyle: Style = {};\n @Output() onClose = new EventEmitter();\n constructor() {}\n\n ngOnInit(): void {}\n\n handleClickBackground(event: Event) {\n event.stopPropagation();\n this.onClose.emit();\n }\n}\n","
\n
\n
\n \n
\n
\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-spinner',\n templateUrl: './spinner.component.html',\n styleUrls: ['./spinner.component.scss'],\n})\nexport class SpinnerComponent implements OnInit {\n @Input() label: string = '';\n @Input() useDefaultTextStyle: boolean = true;\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
{{ label }}
\n","import { Component, forwardRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { TableSelectComponent } from '../../table/table-select/table-select.component';\nimport { SelectComponent } from '../select/select.component';\n\n@Component({\n selector: 'esg-status-select',\n templateUrl: './status-select.component.html',\n styleUrls: ['./status-select.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TableSelectComponent),\n multi: true,\n },\n ],\n})\nexport class StatusSelectComponent extends SelectComponent {\n handleFieldClick(event: Event): void {\n event.stopPropagation();\n if (!this.disabled) {\n this.toggleCollapse();\n }\n }\n}\n","
\n
\n \n \n
\n {{ value?.label || placeholder }}\n
\n \n
\n \n
\n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ITabItem } from './tabs.component';\nimport { pickTextColorBasedOnBgColor } from '../../utils/colors';\n\n@Component({\n selector: 'esg-segmented-tabs',\n templateUrl: './segmented-tabs.component.html',\n styleUrls: ['./segmented-tabs.component.scss'],\n})\nexport class SegmentedTabsComponent implements OnInit {\n @Input() tabs: ITabItem[] = [];\n @Input() activeTab?: string;\n @Input() activeColor?: string;\n @Output() onTabClick = new EventEmitter();\n constructor() {}\n\n ngOnInit(): void {}\n\n get activeFontColor() {\n return this.activeColor ? pickTextColorBasedOnBgColor(this.activeColor) : '#4ad1da';\n }\n\n handleOnTabClick(tabValue: string) {\n this.tabs.length > 1 && this.onTabClick.emit(tabValue);\n }\n\n handleOnLinkChange(tabValue: string) {\n this.activeTab = tabValue;\n }\n}\n","
\n \n \n {{ tab.label ? tab.label : tab.value }}\n \n \n {{ tab.label ? tab.label : tab.value }}\n
\n \n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\nexport interface ITabItem {\n value: string;\n label?: string;\n disabled?: boolean;\n link?: string[];\n fragment?: string;\n}\n\n@Component({\n selector: 'esg-tabs',\n templateUrl: './tabs.component.html',\n styleUrls: ['./tabs.component.scss'],\n})\nexport class TabsComponent implements OnInit {\n @Input() tabs: ITabItem[] = [];\n @Input() activeTab?: string;\n @Input() tabIndent: number = 0;\n @Output() onTabClick = new EventEmitter();\n\n constructor() {}\n\n ngOnInit(): void {}\n\n handleOnTabClick(tabValue: string) {\n this.tabs.length > 1 && this.onTabClick.emit(tabValue);\n }\n}\n","
\n \n \n {{ tab.label ? tab.label : tab.value }}\n 1\" class=\"tab-underline\">\n \n \n {{ tab.label ? tab.label : tab.value }}\n 1\" class=\"tab-underline\">\n
\n \n\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'esg-tag [onClose]',\n templateUrl: './tag.component.html',\n styleUrl: './tag.component.scss',\n host: {\n '[class]': '[size]',\n },\n})\nexport class TagComponent {\n @Input({ required: true }) label!: string;\n @Input() size: 'small' | 'medium' = 'medium';\n @Output() onClose: EventEmitter = new EventEmitter();\n\n handleOnClose(event: Event) {\n this.onClose.emit(event);\n }\n}\n","\n {{ label }}\n\n\n \n\n","import { Component, OnInit, Input, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core';\nimport { IOption } from 'src/app/static-data/options';\nimport Quill from 'quill';\nimport { FormControl } from '@angular/forms';\n\nlet icons = Quill.import('ui/icons');\nicons['bold'] =\n '';\nicons['italic'] =\n '';\nicons['script'] =\n '';\nicons.align[''] =\n '';\nicons.align['center'] =\n '';\nicons.align['right'] =\n '';\nicons.list['bullet'] =\n '';\nicons.list['ordered'] =\n '';\n\n@Component({\n selector: '[esg-text-editor-toolbar]',\n templateUrl: './text-editor-toolbar.component.html',\n styleUrls: ['./text-editor-toolbar.component.scss'],\n})\nexport class TextEditorToolbarComponent implements OnInit {\n @Input() hasParagraphStyles: boolean = true;\n @Input() hasChatBotOption: boolean = false;\n @Input() hasDeleteOption: boolean = false;\n @Input() hasVisibilityOption: boolean = false;\n @Input() paragraphOption?: IOption;\n @Input() paragraphOptions: IOption[] = [];\n @Input() chatPrompt?: FormControl;\n @Input() botDisabled: boolean = false;\n @Input() isVisible: boolean = true;\n @Output() onAddLink = new EventEmitter();\n @Output() onAddDivider = new EventEmitter();\n @Output() onSetHeader = new EventEmitter();\n @Output() onDelete = new EventEmitter();\n @Output() onBotClick = new EventEmitter();\n @Output() onBotCancel = new EventEmitter();\n @Output() onGenerateText = new EventEmitter();\n @Output() onUpdateVisibility = new EventEmitter();\n\n @ViewChild('input') private input: ElementRef | undefined;\n paragraphContextCollapsed = true;\n\n constructor() {}\n\n ngOnInit(): void {}\n\n ngAfterViewChecked(): void {\n if (this.input && !this.chatPrompt?.dirty) {\n this.input.nativeElement.focus();\n }\n }\n\n handleParagraphOnChange(option: IOption) {\n this.onSetHeader.emit(option);\n }\n\n handleCollapse(event: Event) {\n event.stopPropagation();\n this.paragraphContextCollapsed = !this.paragraphContextCollapsed;\n }\n\n handleOnToggleCollapse(collapse: boolean) {\n this.paragraphContextCollapsed = collapse;\n }\n\n handleOnChatBotClick(event: Event) {\n event.stopPropagation();\n this.onBotClick.emit();\n }\n\n handleOnSubmitPrompt(event: Event) {\n event.stopPropagation();\n this.onGenerateText.emit();\n }\n\n handleOnPromptCancel() {\n this.onBotCancel.emit();\n }\n\n handleUpdateVisibility() {\n this.onUpdateVisibility.emit(!this.isVisible);\n }\n\n adjustPromptHeight() {\n if (this.input?.nativeElement) {\n this.input.nativeElement.style.height = '24px';\n this.input.nativeElement.style.height = `${this.input.nativeElement.scrollHeight}px`;\n }\n }\n}\n","
\n \n \n \n \n
\n
\n \n \n \n {{ paragraphOption ? paragraphOption.label : '' }}\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Visible\n \n \n \n \n
\n
\n \n \n
\n","import { Component, OnInit, Input, Output, EventEmitter, ViewChild } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { QuillEditorComponent } from 'ngx-quill';\nimport Quill from 'quill';\nimport { IOption, paragraphStyleOptions } from 'src/app/static-data/options';\n\nlet BlockEmbed = Quill.import('blots/block/embed');\n\nclass DividerBlot extends BlockEmbed {}\nDividerBlot.blotName = 'divider';\nDividerBlot.tagName = 'hr';\n\nQuill.register(DividerBlot, true);\n\nconst Link = Quill.import('formats/link');\nLink.sanitize = function (url: string | null) {\n if (url && !url.startsWith('https://') && !url.startsWith('http://')) return 'https://' + url;\n else return url;\n};\n\n@Component({\n selector: 'esg-text-editor',\n templateUrl: './text-editor.component.html',\n})\nexport class TextEditorComponent implements OnInit {\n @Input({ required: true }) fc!: FormControl;\n @Input() placeholder: string = 'Insert text here...';\n @Input() classes: string = '';\n @Input() editorStyles: Object = {};\n @Input() toolbarStyles: Object = {};\n @Input() readOnly: boolean = false;\n @Input() autoFocus: boolean = false;\n @Input() hasParagraphStyles: boolean = true;\n @Input() hasChatBotOption: boolean = false;\n @Input() hasVisibilityOption: boolean = false;\n @Input() isVisible: boolean = true;\n @Output() onFocus = new EventEmitter();\n @Output() onBlur = new EventEmitter();\n @Output() onFocusOut = new EventEmitter();\n @Output() onDelete = new EventEmitter();\n @Output() onGenerateText = new EventEmitter();\n @Output() onUpdateVisibility = new EventEmitter();\n\n formats = ['bold', 'italic', 'align', 'script', 'list', 'divider', 'link', 'header'];\n paragraphOptions = paragraphStyleOptions;\n paragraphOption: IOption = this.paragraphOptions[0];\n chatPrompt?: FormControl;\n\n @ViewChild('editor', { static: false }) editor!: QuillEditorComponent;\n constructor() {}\n\n ngOnInit(): void {}\n\n setFocus(editorEvent: Quill) {\n if (this.autoFocus) {\n editorEvent.focus();\n }\n }\n\n handleOnDelete() {\n this.editor.quillEditor.blur();\n this.onDelete.emit();\n }\n\n handleAddLink() {\n const range = this.editor.quillEditor.getSelection(true);\n const text = this.editor.quillEditor.getText(range.index, range.length);\n if (range.length > 0) {\n let href = prompt('Enter the URL');\n this.editor.quillEditor.deleteText(range.index, range.length, (Quill as any).sources.USER);\n this.editor.quillEditor.insertText(range.index, text, 'link', href, (Quill as any).sources.USER);\n this.editor.quillEditor.setSelection(range.index + range.length, (Quill as any).sources.SILENT);\n this.forceChange();\n }\n }\n\n paragraphValueSync() {\n const formatValue = this.editor.quillEditor.getFormat()?.header?.toString() || '';\n if (formatValue !== this.paragraphOption.value) {\n this.paragraphOption =\n this.paragraphOptions.find(option => option.value === formatValue) || this.paragraphOptions[0];\n }\n }\n\n handleSetHeader(option: IOption) {\n if (option !== this.paragraphOption) {\n this.paragraphOption = option;\n this.editor.quillEditor.format('header', Number(option.value));\n this.forceChange();\n }\n }\n\n handleAddDivider() {\n const range = this.editor.quillEditor.getSelection(true);\n this.editor.quillEditor.insertText(range.index, '\\n', (Quill as any).sources.USER);\n this.editor.quillEditor.insertEmbed(range.index + 1, 'divider', true, (Quill as any).sources.USER);\n this.editor.quillEditor.setSelection(range.index + 2, (Quill as any).sources.SILENT);\n }\n\n forceChange() {\n const range = this.editor.quillEditor.getSelection(true);\n this.editor.quillEditor.insertText(range.index, ' ', (Quill as any).sources.USER);\n this.editor.quillEditor.deleteText(range.index, 1, (Quill as any).sources.USER);\n }\n\n handleOnChatBotClick() {\n this.fc.disable();\n this.chatPrompt = new FormControl('', { nonNullable: true });\n }\n\n handleOnChatBotCancel() {\n this.fc.enable();\n this.fc.setValue('');\n this.chatPrompt = undefined;\n }\n\n handleOnSubmitPrompt() {\n this.fc.enable();\n if (this.chatPrompt?.value) {\n this.onGenerateText.emit(this.chatPrompt?.value);\n this.chatPrompt = undefined;\n }\n }\n}\n","\n \n\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'esg-text-view-editor',\n templateUrl: './text-view-editor.component.html',\n styleUrls: ['./text-view-editor.component.scss'],\n})\nexport class TextViewEditorComponent implements OnInit {\n @Input() content?: string = '';\n @Input() typography: 'html-report' | 'standard' = 'html-report';\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","\n","import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\n\n@Component({\n selector: 'esg-textarea',\n templateUrl: './textarea.component.html',\n styleUrls: ['./textarea.component.scss'],\n})\nexport class TextareaComponent implements OnInit {\n @Input() @Input({ required: true }) fc!: FormControl;\n @Input() label = '';\n @Input() placeholder = 'Type...';\n @Input() heigth: number = 48;\n @Input() maxlength = '524288';\n @Input() variant: 'standard' | 'ghost' = 'standard';\n @Input() required = false;\n @Input() valid = false;\n @Input() showOptionalText = true;\n @Input() inputStyle: { [key: string]: string } = {};\n\n @ViewChild('input') private input: ElementRef | undefined;\n\n initialValue: string | null = '';\n\n constructor() {}\n\n ngOnInit(): void {\n if (this.fc.hasValidator(Validators.required)) this.required = true;\n if (!this.required && !this.label && this.showOptionalText) this.placeholder = this.placeholder + ' (Optional)';\n this.initialValue = this.fc.value;\n }\n\n handleFocusOut() {\n this.initialValue = this.fc.value;\n }\n\n handleEscape() {\n if (this.initialValue === this.fc.defaultValue) {\n this.fc.reset();\n } else {\n this.fc.setValue(this.initialValue);\n }\n this.input?.nativeElement.blur();\n }\n}\n","
\n \n \n
\n","import { Component, Input, SimpleChanges } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { TextboxComponent } from './textbox.component';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'esg-textbox-form',\n templateUrl: './textbox.component.html',\n styleUrls: ['./textbox.component.scss'],\n})\nexport class TextboxFormComponent extends TextboxComponent {\n @Input({ required: true }) fc!: FormControl;\n @Input() valid?: boolean = undefined;\n\n private valueChangesSubscription: Subscription | undefined;\n\n get getValue() {\n return this.fc.value || '';\n }\n\n get isRequired() {\n return this.fc.hasValidator(Validators.required);\n }\n\n get isValid() {\n return this.valid !== undefined ? this.valid : !this.fc.errors;\n }\n\n get isDisabled() {\n return this.fc.disabled;\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.fc.markAsPristine();\n this.valueChangesSubscription = this.fc.valueChanges.subscribe(value => {\n this.setElementValue(value || '');\n });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.fc) {\n this.initialValue = this.getValue;\n }\n }\n\n resetValue(): void {\n if (this.initialValue === this.fc.defaultValue) {\n this.fc.reset();\n } else {\n this.setValue(this.initialValue);\n }\n }\n\n setValue(value: string) {\n this.fc.setValue(value);\n if (value !== this.fc.defaultValue && this.fc.pristine) {\n this.fc.markAsDirty();\n }\n }\n\n setElementValue(value: string) {\n if (this.inputEl instanceof HTMLInputElement) {\n this.inputEl.value = value;\n }\n }\n\n ngOnDestroy() {\n if (this.valueChangesSubscription) {\n this.valueChangesSubscription.unsubscribe();\n }\n }\n}\n","
\n \n
\n \n \n \n \n \n \n \n {{unit}}\n \n
\n {{ errorMessage }}\n
\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { stringToFormattedNumberString, stringToNumberString } from 'src/app/shared/utils/number-converters';\n\ninterface Style {\n [key: string]: string;\n}\n\n@Component({\n selector: 'esg-textbox',\n templateUrl: './textbox.component.html',\n styleUrls: ['./textbox.component.scss'],\n})\nexport class TextboxComponent implements OnInit {\n @Input() value: string = '';\n @Input() type: 'text' | 'number' | 'color' | 'digit' = 'text';\n @Input() variant: 'standard' | 'ghost' | 'ghost-table' | 'icon-box' = 'standard';\n @Input() size: 'medium' | 'small' | 'large' = 'medium';\n @Input() label = '';\n @Input() placeholder = 'Type...';\n @Input() errorMessage: string = '';\n @Input() autoFocus = false;\n @Input() showClearText = false;\n @Input() showOptionalText = true;\n @Input() disabled = false;\n @Input() required = false;\n @Input() valid?: boolean = true;\n @Input() inputStyle: Style = {};\n @Input() maxLength: null | number = null;\n @Input() maxDec: number = 3;\n @Input() unit = '';\n @Input() showPercent = false;\n @Input() hasPrefixIcon = false;\n @Output() onEnter = new EventEmitter();\n @Output() onChange = new EventEmitter();\n inputEl: HTMLInputElement | unknown;\n showValidation: boolean = false;\n initialValue: string = '';\n\n @ViewChild('input', { static: false })\n set input(element: ElementRef) {\n this.inputEl = element?.nativeElement;\n\n if (this.inputEl && this.autoFocus) {\n (this.inputEl as HTMLInputElement).focus();\n }\n }\n\n get getValue() {\n return this.value;\n }\n\n get isRequired() {\n return this.required;\n }\n\n get isValid() {\n return this.valid;\n }\n\n get isDisabled() {\n return this.disabled;\n }\n\n constructor() {}\n\n ngOnInit(): void {\n if (!this.isRequired && !this.label && this.variant === 'standard')\n this.placeholder = this.placeholder + ' (Optional)';\n this.setInputTypeSettings();\n this.initialValue = this.getValue;\n }\n\n handleSubmit() {\n this.showValidation = true;\n if (this.onEnter.observed) {\n this.onEnter.emit(this.getValue);\n }\n if (this.type === 'number') this.setValue(stringToFormattedNumberString(this.getValue, 0, this.maxDec));\n this.initialValue = this.getValue;\n }\n\n handleEnter() {\n this.handleSubmit();\n if (this.inputEl) (this.inputEl as HTMLInputElement).blur();\n }\n\n handleEscape() {\n this.resetValue();\n if (this.inputEl) (this.inputEl as HTMLInputElement).blur();\n }\n\n handleOnChange(value: string) {\n value = this.format_input(value);\n this.setValue(value);\n this.onChange.emit(value);\n if (value.length === this.maxLength) this.handleSubmit();\n }\n\n handleClearText(event: Event) {\n event.stopPropagation();\n this.showValidation = false;\n this.setValue('');\n this.onChange.emit('');\n }\n\n format_input(value: string) {\n switch (this.type) {\n case 'number':\n return stringToNumberString(value);\n case 'color':\n if (!value || value.substring(0, 1) === '#') return value;\n else return '#' + value.substring(0, 6);\n case 'digit':\n return value.replace(/[^0-9.]/g, '');\n default:\n return value;\n }\n }\n\n setInputTypeSettings() {\n switch (this.type) {\n case 'number':\n !isNaN(Number(this.getValue)) &&\n this.setValue(stringToFormattedNumberString(this.getValue || '', 0, this.maxDec));\n break;\n case 'color':\n this.maxLength = 7;\n break;\n }\n }\n\n setValue(value: string) {\n this.value = value;\n if (this.inputEl instanceof HTMLInputElement) {\n this.inputEl.value = value;\n }\n }\n resetValue() {\n this.setValue(this.initialValue);\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormControl } from '@angular/forms';\n\n@Component({\n selector: 'esg-toggle-switch',\n templateUrl: './toggle-switch.component.html',\n styleUrls: ['./toggle-switch.component.scss'],\n})\nexport class ToggleSwitchComponent implements OnInit {\n @Input() fc?: FormControl;\n @Input() checked: boolean = false;\n @Input() disabled: boolean = false;\n @Output() onCheck = new EventEmitter();\n\n constructor() {}\n\n ngOnInit(): void {}\n\n handleFieldClick(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n if (!this.disabled) {\n this.onCheck.emit();\n }\n }\n}\n","\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'esg-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.scss'],\n})\nexport class TooltipComponent {\n @Input({ required: true }) text!: string;\n @Input() variant: 'dark' | 'light' = 'dark';\n @Input() position: 'top' | 'right' | 'bottom' | 'left' = 'top';\n @Input() underline: boolean = true;\n @Input() alwaysVisible: boolean = false;\n}\n","
\n {{ text }}\n \n \n
\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule } from '@angular/common';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatNativeDateModule } from '@angular/material/core';\nimport { IconModule } from './icons/icon.module';\nimport { TextboxComponent } from './textbox/textbox.component';\nimport { TextboxFormComponent } from './textbox/textbox-form.component';\nimport { ButtonComponent } from './button/button.component';\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\nimport { DialogComponent } from './dialog/dialog.component';\nimport { SideDialogComponent } from './side-dialog/side-dialog.component';\nimport { ConfirmDialogComponent } from './confirm-dialog/confirm-dialog.component';\nimport { UploadPictureComponent } from './upload-picture/upload-picture.component';\nimport { NgxDropzoneModule } from 'ngx-dropzone';\nimport { RadioButtonComponent } from './radio-button/radio-button.component';\nimport { OnClickOutsideComponent } from './on-click-outside/on-click-outside.component';\nimport { SpinnerComponent } from './spinner/spinner.component';\nimport { ContextMenuComponent } from './context-menu/context-menu.component';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { TextareaComponent } from './textarea/textarea.component';\nimport { CheckboxComponent } from './checkbox/checkbox.component';\nimport { TextEditorComponent } from './text-editor/text-editor.component';\nimport { TextEditorToolbarComponent } from './text-editor/text-editor-toolbar/text-editor-toolbar.component';\nimport { QuillModule } from 'ngx-quill';\nimport { LetterAvatarComponent } from './letter-avatar/letter-avatar.component';\nimport { TextViewEditorComponent } from './text-view-editor/text-view-editor.component';\nimport { AlertDialogComponent } from './alert-dialog/alert-dialog.component';\nimport { DotFlashingComponent } from './dot-flashing/dot-flashing.component';\nimport { TabsComponent } from './tabs/tabs.component';\nimport { AddButtonComponent } from './button/add-button.component';\nimport { DatepickerComponent } from './datepicker/datepicker.component';\nimport { DatepickerHeaderComponent } from './datepicker/datepicker-header/datepicker-header.component';\nimport { UploadFileComponent } from './upload-file/upload-file.component';\nimport { ToggleSwitchComponent } from './toggle-switch/toggle-switch.component';\nimport { SegmentedTabsComponent } from './tabs/segmented-tabs.component';\nimport { CollapsibleSectionComponent } from './collapsible-section/collapsible-section.component';\nimport { CheckboxFormComponent } from './checkbox/checkbox-form.component';\nimport { DropdownMultipleFormComponent } from './dropdown-multiple/dropdown-multiple-form.component';\nimport { TooltipComponent } from './tooltip/tooltip.component';\nimport { PulsingDotComponent } from './pulsing-dot/pulsing-dot.component';\nimport { SelectComponent } from './select/select.component';\nimport { SelectFieldComponent } from './select/select-field/select-field.component';\nimport { SelectOptionsComponent } from './select/select-options/select-options.component';\nimport { StatusSelectComponent } from './status-select/status-select.component';\nimport { DirectiveModule } from '../directives/directive.module';\nimport { SectionDotFlashingComponent } from './dot-flashing/section-dot-flashing.component';\nimport { NotificationComponent } from './notification/notification.component';\nimport { KeyboardShortcutsDirective } from '../directives/keyboard-shortcuts.directive';\nimport { CarouselDialogComponent } from './carousel-dialog/carousel-dialog.component';\nimport { CarouselSlideComponent } from './carousel-dialog/carousel-slide.component';\nimport { TagComponent } from './tag/tag.component';\nimport { CollapsibleIconComponent } from './collapsible-icon/collapsible-icon.component';\nimport { TabFocusDirective } from '../directives/on-tab-focus.directive';\nimport { SelectSimpleComponent } from './select-simple/select-simple.component';\nimport { SelectTreeComponent } from './select/select-tree.component';\nimport { SelectTreeOptionsComponent } from './select/select-tree-options/select-tree-options.component';\nimport { TextDisclosureFooterComponent } from 'src/app/content/content-item/text-disclosure/text-disclosure-footer/text-disclosure-footer.component';\nimport { CkEditorComponent } from './esg-ck-editor/esg-ck-editor.component';\nimport { CKEditorModule } from '@ckeditor/ckeditor5-angular';\n\n@NgModule({\n declarations: [\n TextboxComponent,\n TextboxFormComponent,\n ButtonComponent,\n DialogComponent,\n SideDialogComponent,\n ConfirmDialogComponent,\n UploadPictureComponent,\n RadioButtonComponent,\n DropdownMultipleFormComponent,\n OnClickOutsideComponent,\n SpinnerComponent,\n ContextMenuComponent,\n TextareaComponent,\n CheckboxComponent,\n CheckboxFormComponent,\n TextEditorToolbarComponent,\n TextEditorComponent,\n LetterAvatarComponent,\n TextViewEditorComponent,\n AlertDialogComponent,\n DotFlashingComponent,\n TabsComponent,\n AddButtonComponent,\n DatepickerComponent,\n DatepickerHeaderComponent,\n UploadFileComponent,\n ToggleSwitchComponent,\n SegmentedTabsComponent,\n CollapsibleSectionComponent,\n TooltipComponent,\n PulsingDotComponent,\n SelectComponent,\n SelectSimpleComponent,\n SelectTreeComponent,\n SelectTreeOptionsComponent,\n SelectFieldComponent,\n SelectOptionsComponent,\n StatusSelectComponent,\n SectionDotFlashingComponent,\n NotificationComponent,\n CarouselDialogComponent,\n CarouselSlideComponent,\n TagComponent,\n CollapsibleIconComponent,\n TextDisclosureFooterComponent,\n CkEditorComponent,\n ],\n imports: [\n CommonModule,\n RouterModule,\n ReactiveFormsModule,\n FormsModule,\n NgxDropzoneModule,\n QuillModule,\n IconModule,\n MatDatepickerModule,\n MatNativeDateModule,\n DirectiveModule,\n KeyboardShortcutsDirective,\n TabFocusDirective, \n CKEditorModule,\n ],\n exports: [\n IconModule,\n TextboxComponent,\n TextboxFormComponent,\n ButtonComponent,\n DialogComponent,\n SideDialogComponent,\n ConfirmDialogComponent,\n UploadPictureComponent,\n RadioButtonComponent,\n DropdownMultipleFormComponent,\n OnClickOutsideComponent,\n SpinnerComponent,\n ContextMenuComponent,\n DragDropModule,\n TextareaComponent,\n CheckboxComponent,\n CheckboxFormComponent,\n TextEditorComponent,\n LetterAvatarComponent,\n TextViewEditorComponent,\n AlertDialogComponent,\n DotFlashingComponent,\n TabsComponent,\n AddButtonComponent,\n DatepickerComponent,\n UploadFileComponent,\n ToggleSwitchComponent,\n SegmentedTabsComponent,\n CollapsibleSectionComponent,\n TooltipComponent,\n PulsingDotComponent,\n SelectComponent,\n SelectSimpleComponent,\n SelectTreeComponent,\n SelectTreeOptionsComponent,\n SelectFieldComponent,\n SelectOptionsComponent,\n StatusSelectComponent,\n SectionDotFlashingComponent,\n NotificationComponent,\n CarouselDialogComponent,\n CarouselSlideComponent,\n TagComponent,\n CollapsibleIconComponent,\n TextDisclosureFooterComponent,\n CkEditorComponent,\n ],\n})\nexport class UiModule {}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'esg-upload-file',\n templateUrl: './upload-file.component.html',\n styleUrls: ['./upload-file.component.scss'],\n})\nexport class UploadFileComponent implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","

upload-file works!

\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { SafeResourceUrl, DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { NgxDropzoneChangeEvent } from 'ngx-dropzone';\nimport { FileParameter } from 'src/api-client/report-api.generated';\nimport { FormControl } from '@angular/forms';\n\nexport interface IUploadPhotoComponentTexts {\n /**\n * Default: 'upload'\n */\n firstLineSpan?: string;\n /**\n * Default: 'Drag and drop a photo here or '\n */\n firstLineP1?: string;\n /**\n * Default: ' a photo'\n */\n firstLineP2?: string;\n /**\n * Default: 'Drag and drop or '\n */\n firstLineP1UploadedPhoto?: string;\n /**\n * Default: ' to replace photo'\n */\n firstLineP2UploadedPhoto?: string;\n /**\n * Default: 'Photo must be PNG or JPG and minimum 1200px width and height. Max 2MB.'\n */\n secondLine?: string;\n}\n\nexport interface IUploadedPhoto {\n url: SafeResourceUrl;\n fileName: string;\n blobName?: string;\n blobThumbnailName?: string;\n file?: FileParameter;\n}\n\nexport function generateUploadPhoto(file: File, url: SafeResourceUrl): IUploadedPhoto {\n return {\n url: url,\n fileName: file.name,\n file: file\n ? {\n data: file,\n fileName: file.name,\n }\n : undefined,\n };\n}\n\n@Component({\n selector: 'esg-upload-picture',\n templateUrl: './upload-picture.component.html',\n styleUrls: ['./upload-picture.component.scss'],\n})\nexport class UploadPictureComponent implements OnInit {\n @Input() accepted = 'image/jpeg,image/jpg,image/png';\n @Input() uploadedPhotos: IUploadedPhoto[] = [];\n @Input() variant: 'standard' | 'component' = 'standard';\n @Input() dropZoneStyle: Object = {};\n @Input() altTagControl?: FormControl;\n @Input() texts?: IUploadPhotoComponentTexts;\n @Output() onSelectFile = new EventEmitter();\n @Output() onClearUploadedPhoto = new EventEmitter();\n\n get uploaded() {\n return !!this.uploadedPhotos.length;\n }\n\n validImg = true;\n\n componentTexts: IUploadPhotoComponentTexts = {\n firstLineP1: 'Drag and drop or ',\n firstLineSpan: 'upload',\n firstLineP2: ' a photo',\n firstLineP1UploadedPhoto: 'Drag and drop or ',\n firstLineP2UploadedPhoto: ' to replace photo',\n secondLine: 'Photo must be PNG or JPG and minimum 1200px width and height. Max 2MB.',\n };\n\n constructor(private domSanitizer: DomSanitizer) {}\n\n ngOnInit(): void {\n this.componentTexts = {\n ...this.componentTexts,\n ...this.texts,\n };\n }\n\n sanitizeHtml(html?: string): SafeHtml {\n return html ? this.domSanitizer.bypassSecurityTrustHtml(html) : '';\n }\n\n onSelect(event: NgxDropzoneChangeEvent) {\n if (event.rejectedFiles?.length > 0) {\n this.validImg = false;\n return;\n }\n\n if (event.addedFiles?.length) {\n var _URL = window.URL || window.webkitURL;\n var img = new Image();\n var objectUrl = _URL.createObjectURL(event.addedFiles[0]);\n\n img.onload = () => {\n // if (img.width < 1200 || img.height < 1200) {\n // this.validImg = false;\n // return;\n // }\n // else {\n this.validImg = true;\n this.onSelectFile.emit(event.addedFiles[0]);\n // }\n _URL.revokeObjectURL(objectUrl);\n };\n\n img.src = objectUrl;\n }\n }\n\n handleClearPhoto(uploadedPhoto: IUploadedPhoto) {\n this.onClearUploadedPhoto.emit(uploadedPhoto);\n }\n}\n","
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n
\n
\n
\n This is not a valid format. Please check the requirements above.\n
\n
\n
\n \n
\n \n \"\"\n \n \n \n \n \n {{ file.fileName }}\n \n
\n
\n \n
PLEASE Type an Alt tag
\n \n \n \n
\n","import { IOption } from 'src/app/static-data/options';\n\nexport function sortOptionsAlphabetically(options: IOption[]): IOption[] {\n return options.sort((a, b) => {\n if (a.label > b.label) {\n return 1;\n }\n if (a.label < b.label) {\n return -1;\n }\n return 0;\n });\n}\n\nexport function findLongestLabelInOptions(options: IOption[]): string {\n if (options.length) {\n return options.reduce(function (a, b) {\n const labelA = a.label || '';\n const labelB = b.label || '';\n return labelA.length > labelB.length ? a : b;\n }).label;\n } else return '';\n}\n","export function pickTextColorBasedOnBgColor(bgColor: string) {\n if (!checkStringHex(bgColor)) {\n throw new Error(`Not valid hex color: ${bgColor}`);\n }\n var color = bgColor.charAt(0) === '#' ? bgColor.substring(1, 7) : bgColor;\n var r = parseInt(color.substring(0, 2), 16); // hexToR\n var g = parseInt(color.substring(2, 4), 16); // hexToG\n var b = parseInt(color.substring(4, 6), 16); // hexToB\n var uicolors = [r / 255, g / 255, b / 255];\n var c = uicolors.map(col => {\n if (col <= 0.03928) {\n return col / 12.92;\n }\n return Math.pow((col + 0.055) / 1.055, 2.4);\n });\n var L = 0.2126 * c[0] + 0.7152 * c[1] + 0.0722 * c[2];\n return L > 0.179 ? 'black' : 'white';\n}\n\nexport const checkStringHex = (value: string) => {\n return !!value.match(/^#([A-F0-9]{6})$/i)?.length;\n};\n","import { AbstractControl, ValidationErrors } from '@angular/forms';\n\nexport class CustomFormValidators {\n static numeric(control: AbstractControl): ValidationErrors | null {\n if (control.value && isNaN(Number(control.value))) {\n return { numeric: true };\n }\n return null;\n }\n\n static hexColor(control: AbstractControl): ValidationErrors | null {\n if (!control.value) return null;\n if (typeof control.value === 'string' || control.value instanceof String) {\n if (checkStringHex(control.value as string)) return null;\n return { hexColor: true };\n } else return { hexColor: true };\n }\n\n static numericString(control: AbstractControl): ValidationErrors | null {\n if (control.value && isNaN(Number(control.value.replace(/\\ /g, '')))) {\n return { numericString: true };\n }\n return null;\n }\n}\n\nexport const checkStringHex = (value: string) => {\n return !!value.match(/^#([A-F0-9]{6})$/i)?.length;\n};\n","export function datediff(startDate: Date, endDate: Date): number {\n return Math.round((endDate.getTime() - startDate.getTime()) / (1000 * 60 * 60 * 24));\n}\n\nexport function addDaysToDate(date: Date, daysToAdd: number): Date {\n const result = new Date(date);\n result.setDate(result.getDate() + daysToAdd);\n return result;\n}\n\nexport function convertToLocalDateOnlyUTC(date: Date): Date {\n return new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()));\n}\n\nexport function greetingsByCurrentTime(): string {\n const current = new Date();\n const hrs = current.getHours();\n\n if (hrs >= 12 && hrs <= 17) return 'Good afternoon';\n else if (hrs >= 17 && hrs <= 24) return 'Good evening';\n else return 'Good morning';\n}\n","export function downloadFile(objectUrl: string, fileName: string): void {\n const a: HTMLAnchorElement = document.createElement('a') as HTMLAnchorElement;\n\n a.href = objectUrl;\n a.download = fileName;\n document.body.appendChild(a);\n a.click();\n\n setTimeout(() => {\n window.URL.revokeObjectURL(objectUrl);\n document.body.removeChild(a);\n }, 0);\n}\n\nexport function openFileInNewTab(objectUrl: string): void {\n const a: HTMLAnchorElement = document.createElement('a') as HTMLAnchorElement;\n\n a.href = objectUrl;\n a.target = '_blank';\n a.rel = 'noopener noreferrer';\n document.body.appendChild(a);\n a.click();\n\n setTimeout(() => {\n document.body.removeChild(a);\n }, 0);\n}\n\nexport function getBase64ImageFromURL(url: string): Promise {\n return new Promise(resolve => {\n const img = new Image();\n img.setAttribute('crossOrigin', 'anonymous');\n\n img.onload = () => {\n const canvas = document.createElement('canvas');\n canvas.width = img.width;\n canvas.height = img.height;\n\n const ctx = canvas.getContext('2d');\n ctx && ctx.drawImage(img, 0, 0);\n\n const dataURL = canvas.toDataURL('image/png');\n resolve(dataURL);\n };\n\n img.onerror = error => {\n console.log(error);\n resolve('');\n };\n\n img.src = url;\n });\n}\n","export function generateGUID() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n var r = (Math.random() * 16) | 0,\n v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n","import { formatNumber } from '@angular/common';\n\nexport function formatNumbersInString(value: string, minIntDigits: number = 0, maxDecDigits: number = 3): string {\n const parts = value.split(/\\s+/);\n const formattedParts = parts.map(part => {\n let number = part.replace(/[^0-9.]/g, '');\n if (number && !isNaN(Number(number))) {\n return formatNumber(Number(number), 'en_US', minIntDigits + '.0-' + maxDecDigits).replace(/\\,/g, ' ');\n } else return part;\n });\n return formattedParts.join(' ');\n}\n\nexport function stringToFormattedNumberString(\n value: string,\n minIntDigits: number = 0,\n maxDecDigits: number = 3\n): string {\n let number = value.replace(/[^0-9.eE-]/g, '');\n if (number && !isNaN(Number(number))) {\n number = formatNumber(Number(number), 'en_US', minIntDigits + '.0-' + maxDecDigits).replace(/\\,/g, ' ');\n return number;\n } else return '-';\n}\n\nexport function numberToFormattedNumberString(\n value: number,\n minIntDigits: number = 0,\n maxDecDigits: number = 3\n): string {\n if (isNaN(value)) return '';\n let numberString = formatNumber(value, 'en_US', minIntDigits + '.0-' + maxDecDigits).replace(/\\,/g, ' ');\n return numberString;\n}\n\nexport function stringToNumberString(value: string): string {\n let number = value.replace(',', '.').replace(/[^0-9. ]/g, '');\n let dot_index = number.indexOf('.');\n number = dot_index > -1 ? number.substr(0, dot_index + 1) + number.slice(dot_index).replace(/\\./g, '') : number;\n return number;\n}\n\nexport function formattedStringToNumber(value: string): number | undefined {\n let number = value.replace(/\\ /g, '');\n if (number && !isNaN(Number(number))) {\n return Number(number);\n } else return undefined;\n}\n","export type ObjectArray = { [key: string]: T };\n\nexport function toHashTable(aggregates: T[]): ObjectArray {\n return aggregates.reduce((obj, aggregate) => {\n obj[aggregate.root_id] = aggregate;\n return obj;\n }, {} as ObjectArray);\n}\n\nexport function toHashTableBy(collection: T[], property: keyof T & string): ObjectArray {\n return collection.reduce((result, element) => {\n const propertyValue = String(element[property]);\n result[propertyValue] = element as T;\n return result;\n }, {} as ObjectArray);\n}\n","export function getInitials(name: string): string {\n if (!name) {\n return '';\n }\n let words = name.split(' ');\n if (words.length < 2) {\n return words[0][0].toUpperCase();\n }\n let firstInitial = words[0][0].toUpperCase();\n let lastInitial = words[words.length - 1][0].toUpperCase();\n return firstInitial + lastInitial;\n}\n","export enum Breakpoint {\n WideDesktop = '(min-width: 1181px)',\n NarrowDesktop = '(min-width: 1025px) and (max-width: 1180px)',\n Tablet = '(min-width: 769px) and (max-width: 1024px)',\n Mobile = '(max-width: 768px)',\n}\n","export const Constants = {\n GlobalKey: '00000000-0000-0000-0000-000000000000',\n};\n\nexport const ExcelTimePeriodType = {\n Annual: 'Annual',\n Quarter: 'Quarter',\n Month: 'Month'\n};","import {\n AgeGroup,\n AssetType,\n DataRecordCategory,\n DataRecordType,\n EmploymentType,\n GWP,\n PositionLevel,\n VehicleCraftMachineryType,\n} from 'src/api-client/report-api.generated';\n\nexport const AssetCategoryLabel: { [key in string]: string } = {\n [AssetType.Organization]: 'Organizations',\n [AssetType.Facility]: 'Facilities',\n [AssetType.Vessel]: 'Vessels',\n [AssetType.VehicleCraftMachinery]: 'Vehicles, Crafts & Machinery',\n [AssetType.Supplier]: 'Suppliers',\n [AssetType.Client]: 'Clients',\n};\n\nexport const VehicleCraftMachineryTypeLabel: { [key in string]: string } = {\n [VehicleCraftMachineryType.Car]: 'Cars',\n [VehicleCraftMachineryType.Truck]: 'Trucks',\n [VehicleCraftMachineryType.Forklift]: 'Forklifts',\n [VehicleCraftMachineryType.SmallCrafts]: 'Small Crafts',\n [VehicleCraftMachineryType.Cranes]: 'Cranes',\n [VehicleCraftMachineryType.Other]: 'other',\n};\n\nexport const DataCategoryToMainTopic: { [key in string]: string } = {\n [DataRecordCategory.DirectEmissionFuelCombustion]: 'Direct Emission',\n\n [DataRecordCategory.IndirectEmissionsElectricity]: 'Indirect Emission',\n [DataRecordCategory.IndirectEmissionsBusinessTravel]: 'Indirect Emission',\n [DataRecordCategory.IndirectEmissionsWaste]: 'Indirect Emission',\n [DataRecordCategory.IndirectEmissionsEmployeeCommuting]: 'Indirect Emission',\n [DataRecordCategory.IndirectEmissionsTransportAndDistribution]: 'Indirect Emission',\n [DataRecordCategory.IndirectEmissionsLeasedAssets]: 'Indirect Emission',\n [DataRecordCategory.IndirectEmissionsPurchasedGoodsAndServices]: 'Indirect Emission',\n [DataRecordCategory.IndirectEmissionsCapitalGoods]: 'Indirect Emission',\n [DataRecordCategory.IndirectEmissionsFuelAndEnergyRelatedActivities]: 'Indirect Emission',\n\n [DataRecordCategory.EmbeddedEmissionsLeasedAssets]: 'Embedded Emission',\n [DataRecordCategory.EmbeddedEmissionsTransportationAndDistribution]: 'Embedded Emission',\n [DataRecordCategory.EmbeddedEmissionsProcessingOfSoldProducts]: 'Embedded Emission',\n [DataRecordCategory.EmbeddedEmissionsUseOfSoldProducts]: 'Embedded Emission',\n [DataRecordCategory.EmbeddedEmissionsEndOfLifeTreatment]: 'Embedded Emission',\n [DataRecordCategory.EmbeddedEmissionsFranchises]: 'Embedded Emission',\n [DataRecordCategory.EmbeddedEmissionsInvestments]: 'Embedded Emission',\n\n [DataRecordCategory.BiodiversitySpillsToEnvironment]: 'Biodiversity',\n [DataRecordCategory.BiodiversityProtectedAreas]: 'Biodiversity',\n\n [DataRecordCategory.EmployeesGenderEqualityAndDiversity]: 'Employees',\n [DataRecordCategory.EmployeesNewHiresAndTurnovers]: 'Employees',\n [DataRecordCategory.EmployeesLeavesAndInjuries]: 'Employees',\n\n [DataRecordCategory.BusinessEthicsCorruptionRisk]: 'Business Ethics',\n [DataRecordCategory.BusinessEthicsFines]: 'Business Ethics',\n [DataRecordCategory.BusinessEthicsLobbyPoliticalContribution]: 'Business Ethics',\n [DataRecordCategory.BusinessEthicsWhistleblowing]: 'Business Ethics',\n};\n\nexport const RecordCategoryLabel: { [key in string]: string } = {\n [DataRecordCategory.DirectEmissionFuelCombustion]: 'Fuel Combustion',\n\n [DataRecordCategory.IndirectEmissionsBusinessTravel]: 'Business Travel',\n [DataRecordCategory.IndirectEmissionsElectricity]: 'Electricity',\n [DataRecordCategory.IndirectEmissionsEmployeeCommuting]: 'Employee Commuting',\n [DataRecordCategory.IndirectEmissionsWaste]: 'Waste',\n\n [DataRecordCategory.EmbeddedEmissionsLeasedAssets]: 'Leased Assets',\n\n [DataRecordCategory.BiodiversityProtectedAreas]: 'Marine Protected Areas',\n [DataRecordCategory.BiodiversitySpillsToEnvironment]: 'Spills to Environment',\n\n [DataRecordCategory.EmployeesGenderEqualityAndDiversity]: 'Gender, Position and Age Profiles',\n [DataRecordCategory.EmployeesParentalLeave]: 'Parental Leave',\n [DataRecordCategory.EmployeesSickLeave]: 'Sick Leave',\n [DataRecordCategory.EmployessWorkRelatedInjuries]: 'Work Related Injuries',\n [DataRecordCategory.EmployessMarineCasualties]: 'Marine Casualties',\n [DataRecordCategory.EmployeesNewHiresAndTurnovers]: 'New Hires & Turnover',\n\n [DataRecordCategory.BusinessEthicsCorruptionRisk]: 'Corruption Risk',\n [DataRecordCategory.BusinessEthicsFines]: 'Fines',\n [DataRecordCategory.BusinessEthicsLobbyPoliticalContribution]: 'Lobby/Political Contribution',\n [DataRecordCategory.BusinessEthicsWhistleblowing]: 'Whistleblowing',\n};\n\nexport const RecordSubCategoryLabel: { [key in string]: string } = {\n [DataRecordType.VesselConsumption]: 'Vessels',\n [DataRecordType.VesselEmissions]: 'Vessels (Imported)',\n [DataRecordType.VehicleConsumption]: 'Vehicles, Crafts & Machinery',\n\n [DataRecordType.OrganizationBusinessAirTravel]: 'Air Travel',\n [DataRecordType.OrganizationBusinessTravelHotelNights]: 'Hotel Nights',\n};\n\nexport const RecordCategoryPath: { [key in string]: string } = {\n [DataRecordCategory.DirectEmissionFuelCombustion]: 'fuel-combustion',\n\n [DataRecordCategory.IndirectEmissionsBusinessTravel]: 'business-travel',\n [DataRecordCategory.IndirectEmissionsElectricity]: 'electricity',\n [DataRecordCategory.IndirectEmissionsEmployeeCommuting]: 'employee-commuting',\n [DataRecordCategory.IndirectEmissionsWaste]: 'waste',\n\n [DataRecordCategory.EmbeddedEmissionsLeasedAssets]: 'leased-assets',\n\n [DataRecordCategory.BiodiversitySpillsToEnvironment]: 'spills-to-environment',\n [DataRecordCategory.BiodiversityProtectedAreas]: 'marine-protected-areas',\n\n [DataRecordCategory.EmployeesGenderEqualityAndDiversity]: 'gender-diversity-equality',\n [DataRecordCategory.EmployeesParentalLeave]: 'parental-leave',\n [DataRecordCategory.EmployeesSickLeave]: 'sick-leave',\n [DataRecordCategory.EmployessWorkRelatedInjuries]: 'work-related-injuries',\n [DataRecordCategory.EmployessMarineCasualties]: 'marine-casualties',\n [DataRecordCategory.EmployeesNewHiresAndTurnovers]: 'new-hires-and-turnovers',\n\n [DataRecordCategory.BusinessEthicsCorruptionRisk]: 'corruption-risk',\n [DataRecordCategory.BusinessEthicsFines]: 'fines',\n [DataRecordCategory.BusinessEthicsLobbyPoliticalContribution]: 'lobby-political-contribution',\n [DataRecordCategory.BusinessEthicsWhistleblowing]: 'whistleblowing',\n};\n\nexport const RecordSubCategoryPath: { [key in string]: string } = {\n [DataRecordType.VesselConsumption]: 'vessels',\n [DataRecordType.VehicleConsumption]: 'vehicles-crafts-machinery',\n\n [DataRecordType.OrganizationBusinessAirTravel]: 'air-travel',\n [DataRecordType.OrganizationBusinessTravelHotelNights]: 'hotel-nights',\n};\n\nexport const AgeGroupLabel: { [key in string]: string } = {\n [AgeGroup.LessThan30]: 'Age <30',\n [AgeGroup.Between30_50]: 'Age 30 - 50',\n [AgeGroup.Over50]: 'Age 50>',\n};\n\nexport const EmployementTypeLabel: { [key in string]: string } = {\n [EmploymentType.PermanentFullTime]: 'Permanent Full time',\n [EmploymentType.PermanentPartTime]: 'Permanent Part Time',\n [EmploymentType.Contract]: 'Contractors',\n};\n\nexport const PositionLevelLabel: { [key in string]: string } = {\n [PositionLevel.PositionLevel1]: 'Position Level 1',\n [PositionLevel.PositionLevel2]: 'Position Level 2',\n [PositionLevel.PositionLevel3]: 'Position Level 3',\n [PositionLevel.PositionLevel4]: 'Position Level 4',\n [PositionLevel.PositionLevel5]: 'Position Level 5',\n [PositionLevel.PositionLevel6]: 'Position Level 6',\n};\n\nexport const GWPMapping: { [key in string]: string } = {\n [GWP.GWP100_CH4]: 'CH4',\n [GWP.GWP100_N2O]: 'N2O',\n};\n","import {\n TopicItemStatus,\n TopicItemType,\n ReportStatus,\n UserRole,\n VesselType,\n VehicleCraftMachineryType,\n ScrubbersLoopSystem,\n ConsumptionValueType,\n DistanceType,\n PdfWritingSystem,\n WasteClass,\n WasteSubClass,\n WasteToDisposal,\n InputType,\n EmployeeCommutingTransport,\n EmployeeCommutingMode,\n Trend,\n TimePeriodType,\n PowerSource,\n EmploymentEvent,\n Gender,\n AgeGroup,\n PositionLevel,\n ParentalLeaveMode,\n EmploymentType,\n Location,\n AssetType,\n FacilityType,\n SupplierStatus,\n RecordDuration,\n MarineCasualtyType,\n ContractType,\n FishSpecies,\n} from '../../api-client/report-api.generated';\n\nexport interface IOption {\n value: string;\n label: string;\n selected?: boolean;\n id?: string;\n color?: string;\n optionLabel?: string;\n disabled?: boolean;\n group?: string;\n background?: string;\n}\n\nexport interface IGroupedOptions {\n label: string;\n options: IOption[];\n}\n\nexport function generateCurrentYearOptions(numberOfYearsBefore: number = 1): IOption[] {\n var today = new Date();\n var currentYear = today.getFullYear();\n var yearOptions = [\n { value: currentYear.toString(), label: currentYear.toString() },\n { value: (currentYear + 1).toString(), label: (currentYear + 1).toString() },\n ];\n\n for (var i = 1; i <= numberOfYearsBefore; i++) {\n var year = currentYear - i;\n yearOptions.unshift({ value: year.toString(), label: year.toString() });\n }\n\n return yearOptions;\n}\n\nexport function generateAgeOptions(): IOption[] {\n var today = new Date();\n var currentYear = today.getFullYear();\n var minYear = currentYear - 90;\n var maxYear = currentYear - 15;\n\n var ageOptions = [];\n\n for (var year = minYear; year <= maxYear; year++) {\n ageOptions.push({ value: year.toString(), label: year.toString() });\n }\n\n return ageOptions;\n}\n\nexport const globalQuarterOptions: IOption[] = [\n { value: '1', label: 'Q1' },\n { value: '2', label: 'Q2' },\n { value: '3', label: 'Q3' },\n { value: '4', label: 'Q4' },\n];\n\nexport const globalMonthOptions: IOption[] = [\n { value: '1', label: 'January' },\n { value: '2', label: 'February' },\n { value: '3', label: 'March' },\n { value: '4', label: 'April' },\n { value: '5', label: 'May' },\n { value: '6', label: 'June' },\n { value: '7', label: 'July' },\n { value: '8', label: 'August' },\n { value: '9', label: 'September' },\n { value: '10', label: 'October' },\n { value: '11', label: 'November' },\n { value: '12', label: 'December' },\n];\n\nexport const globalMonthShortOptions: IOption[] = [\n { value: '1', label: 'Jan' },\n { value: '2', label: 'Feb' },\n { value: '3', label: 'Mar' },\n { value: '4', label: 'Apr' },\n { value: '5', label: 'May' },\n { value: '6', label: 'Jun' },\n { value: '7', label: 'Jul' },\n { value: '8', label: 'Aug' },\n { value: '9', label: 'Sep' },\n { value: '10', label: 'Oct' },\n { value: '11', label: 'Nov' },\n { value: '12', label: 'Dec' },\n];\n\nexport const DurationOptions: IOption[] = [\n { value: RecordDuration.DateFromTo, label: 'Date From-To' },\n { value: RecordDuration.SingleDate, label: 'Single Date' },\n { value: RecordDuration.Period, label: 'Period' },\n];\n\nexport const IndicatorTypeOptions: IOption[] = [\n { value: TopicItemType.DataValueIndicator, label: 'Data Values' },\n { value: TopicItemType.TextIndicator, label: 'Text' },\n];\n\nexport const UserRoleOptions: IOption[] = [\n //{ value: UserRole.User, label: 'User' },\n { value: UserRole.Editor, label: 'Editor' },\n { value: UserRole.Admin, label: 'Admin' },\n { value: UserRole.SuperAdmin, label: 'Super Admin' },\n];\n\nexport const topicItemStatusOptions: IOption[] = [\n { value: TopicItemStatus.Todo, label: 'To do', background: '#E8EAF0', color: '#384668' },\n { value: TopicItemStatus.InProgress, label: 'In Progress', background: '#CCE0FF', color: '#0055CC' },\n { value: TopicItemStatus.ToVerify, label: 'To Verify', background: '#F8E6A0', color: '#533F03' },\n { value: TopicItemStatus.ToAudit, label: 'To Audit', background: '#DFD8FD', color: '#362C63' },\n { value: TopicItemStatus.Completed, label: 'Completed', background: '#C9F3D5', color: '#2D5739' },\n];\n\nexport const reportStatusOptions: IOption[] = [\n { value: ReportStatus.Todo, label: 'To do', background: '#E8EAF0', color: '#384668' },\n { value: ReportStatus.InProgress, label: 'In Progress', background: '#CCE0FF', color: '#0055CC' },\n { value: ReportStatus.ToVerify, label: 'To Verify', background: '#F8E6A0', color: '#533F03' },\n { value: ReportStatus.ToAudit, label: 'To Audit', background: '#DFD8FD', color: '#362C63' },\n { value: ReportStatus.Completed, label: 'Completed', background: '#C9F3D5', color: '#2D5739' },\n];\n\nexport const paragraphStyleOptions: IOption[] = [\n { value: '', label: 'Body' },\n { value: '2', label: 'Heading' },\n];\n\nexport const PdfWritingSystemOptions: IOption[] = [\n { value: PdfWritingSystem.English, label: 'English (Latin ISO 15924-215)' },\n { value: PdfWritingSystem.Chinese, label: 'Chinese (Han ISO 15924-500)' },\n { value: PdfWritingSystem.Japanese, label: 'Japanese (Japanese ISO 15924-412)' },\n { value: PdfWritingSystem.Korean, label: 'Korean (Hangul ISO 15924-286)' },\n { value: PdfWritingSystem.Thai, label: 'Thai (Thai ISO 15924-352)' },\n];\n\n// Data Collect\n\nexport const AddAssetOptions: IOption[] = [\n { value: AssetType.Vessel, label: 'Vessel' },\n { value: AssetType.VehicleCraftMachinery, label: 'Vehicles, Craft & Machinery' },\n { value: AssetType.Facility, label: 'Facility' },\n { value: AssetType.Supplier, label: 'Supplier' },\n { value: AssetType.Client, label: 'Client' },\n];\n\nexport const vesselTypeOptions: IOption[] = [\n { value: VesselType.Offshore, label: 'Offshore' },\n { value: VesselType.PassengerCruise, label: 'Passenger / Cruise' },\n { value: VesselType.Fishery, label: 'Fishery' },\n { value: VesselType.Cargo, label: 'Cargo' },\n];\n\nexport const vehicleCraftMachineryTypeOptions: IOption[] = [\n { value: VehicleCraftMachineryType.Car, label: 'Car' },\n { value: VehicleCraftMachineryType.Truck, label: 'Truck' },\n { value: VehicleCraftMachineryType.Forklift, label: 'Forklift' },\n { value: VehicleCraftMachineryType.SmallCrafts, label: 'Small Craft' },\n { value: VehicleCraftMachineryType.Cranes, label: 'Crane' },\n { value: VehicleCraftMachineryType.Other, label: 'Other' },\n];\n\nexport const facilityTypeOptions: IOption[] = [\n { value: FacilityType.Office, label: 'Office' },\n { value: FacilityType.Factory_ProductionFacility_Workshop, label: 'Factory / Production Facility / Workshop' },\n { value: FacilityType.RetailSpace, label: 'Retail Space' },\n { value: FacilityType.Warehouse_Storage, label: 'Warehouse / Storage' },\n { value: FacilityType.Accommodation_Hotel, label: 'Accommodation / Hotel' },\n { value: FacilityType.FoodAndBeverageFacility, label: 'Food & Beverage Facility' },\n { value: FacilityType.AquacultureFarm, label: 'Aquaculture Farm' },\n { value: FacilityType.AgricultureFarm, label: 'Agriculture Farm' },\n { value: FacilityType.EducationalInstitution, label: 'Educational Institution' },\n { value: FacilityType.TransportationHub, label: 'Transportation Hub' },\n { value: FacilityType.RealEstate, label: 'Real Estate' },\n { value: FacilityType.Other, label: 'Other' },\n];\n\nexport const powerSourceOptions: IOption[] = [\n { value: PowerSource.Fuel, label: 'Fuel' },\n { value: PowerSource.Electric, label: 'Electric' },\n { value: PowerSource.PlugInHybrid, label: 'Plug-in Hybrid' },\n { value: PowerSource.Hydrogen, label: 'Hydrogen' },\n];\n\nexport const scrubbersLoopSystem: IOption[] = [\n { value: ScrubbersLoopSystem.Closed, label: 'Closed Loop system' },\n { value: ScrubbersLoopSystem.Open, label: 'Open Loop system' },\n];\n\nexport const SpillTypeOptions: IOption[] = [\n { value: 'Ballast water', label: 'Ballast water' },\n { value: 'Gas', label: 'Gas' },\n { value: 'Fuel', label: 'Fuel' },\n { value: 'Oil', label: 'Oil' },\n { value: 'Chemicals', label: 'Chemicals' },\n { value: 'Bulk cargoes', label: 'Bulk cargoes' },\n];\n\nexport const ConsumptionValueTypeOptions: IOption[] = [\n { value: ConsumptionValueType.Distance, label: 'Distance' },\n { value: ConsumptionValueType.Fuel, label: 'Fuel' },\n];\n\nexport const DistanceTypeOptions: IOption[] = [\n { value: DistanceType.Short, label: 'Short' },\n { value: DistanceType.Medium, label: 'Medium' },\n { value: DistanceType.Long, label: 'Long' },\n];\n\nexport const WasteClassOptions: IOption[] = [\n { value: WasteClass.A_Plastics, label: 'A - Plastics' },\n { value: WasteClass.B_FoodWastes, label: 'B - Food wastes' },\n { value: WasteClass.C_DomesticWastes, label: 'C - Domestic wastes' },\n { value: WasteClass.D_CookingOil, label: 'D - Cooking oil' },\n { value: WasteClass.E_IncineratorAshes, label: 'E - Incinerator ashes' },\n { value: WasteClass.F_OperationalWastes, label: 'F - Operational wastes' },\n { value: WasteClass.G_AnimalCarcass, label: 'G - Animal carcass(es)' },\n { value: WasteClass.H_FishingGear, label: 'H - Fishing gear' },\n { value: WasteClass.I_ElectronicWaste, label: 'I - Electronic waste' },\n { value: WasteClass.J_CargoResidues_NonHarmful, label: 'J - Cargo residues (non-Harmful)' },\n { value: WasteClass.K_CargoResidues_Harmful, label: 'K - Cargo residues (Harmful)' },\n];\n\nexport const WasteSubClassOptionsByClass: { [key in WasteClass]: IOption[] } = {\n [WasteClass.A_Plastics]: [],\n [WasteClass.B_FoodWastes]: [],\n [WasteClass.C_DomesticWastes]: [\n { value: WasteSubClass.Mixed, label: 'Mixed' },\n { value: WasteSubClass.Paper, label: 'Paper' },\n { value: WasteSubClass.Glass, label: 'Glass' },\n { value: WasteSubClass.Metal, label: 'Metal' },\n { value: WasteSubClass.Wood, label: 'Wood' },\n { value: WasteSubClass.Textile, label: 'Textile' },\n ],\n [WasteClass.D_CookingOil]: [],\n [WasteClass.E_IncineratorAshes]: [],\n [WasteClass.F_OperationalWastes]: [\n { value: WasteSubClass.Mixed, label: 'Mixed' },\n { value: WasteSubClass.MedicalWaste, label: 'Medical waste' },\n { value: WasteSubClass.WastePaint, label: 'Waste Paint' },\n { value: WasteSubClass.ContaminatedMuds_Paint_Rust, label: 'Contaminated muds (paint / rust)' },\n {\n value: WasteSubClass.AbsorbentsContaminatedByHazardiousMaterials,\n label: 'Absorbents contaminated by hazardious materials',\n },\n { value: WasteSubClass.Neon_Bulbs, label: 'Neon/bulbs' },\n ],\n [WasteClass.G_AnimalCarcass]: [],\n [WasteClass.H_FishingGear]: [],\n [WasteClass.I_ElectronicWaste]: [],\n [WasteClass.J_CargoResidues_NonHarmful]: [],\n [WasteClass.K_CargoResidues_Harmful]: [],\n};\n\nexport function getWasteHandlingOptions(\n wasteClass: WasteClass,\n wasteSubClass: WasteSubClass | undefined = undefined\n): IOption[] {\n let recycledDisabled = false;\n let compostedDisabled = true;\n const disposedToSeaDisabled =\n wasteClass !== WasteClass.B_FoodWastes && wasteClass !== WasteClass.J_CargoResidues_NonHarmful;\n\n if (\n wasteClass === WasteClass.B_FoodWastes ||\n (wasteClass === WasteClass.C_DomesticWastes && wasteSubClass === WasteSubClass.Mixed) ||\n wasteClass === WasteClass.D_CookingOil ||\n wasteClass === WasteClass.E_IncineratorAshes ||\n wasteClass === WasteClass.G_AnimalCarcass\n ) {\n recycledDisabled = true;\n compostedDisabled = false;\n } else if (wasteClass === WasteClass.F_OperationalWastes && wasteSubClass === WasteSubClass.Mixed) {\n compostedDisabled = false;\n }\n\n return [\n { value: WasteToDisposal.Mixed, label: 'Mixed (Not known)' },\n { value: WasteToDisposal.Recycled, label: 'Recycled', disabled: recycledDisabled },\n { value: WasteToDisposal.Composted, label: 'Composted', disabled: compostedDisabled },\n { value: WasteToDisposal.Incinerated, label: 'Incinerated' },\n { value: WasteToDisposal.Landfilled, label: 'Landfilled' },\n { value: WasteToDisposal.DisposedToSea, label: 'Disposed to Sea', disabled: disposedToSeaDisabled },\n ];\n}\n\nexport const ProfileInputOptions: IOption[] = [{ value: InputType.Manual, label: 'Manual Input' }];\n\nexport const RecordInputTypeOptions: IOption[] = [\n { value: '', label: 'All inputs' },\n { value: InputType.Manual, label: 'Manual inputs' },\n { value: InputType.ImportedFromExcel, label: 'Imported from excel' },\n { value: InputType.ImportedFrom3rdParty, label: 'Imported from 3rd party' },\n];\n\n// TODO\nexport const PurchasedFishTypeOptions: IOption[] = [\n { value: '', label: 'All Fish types' },\n { value: FishSpecies.Cod, label: 'Cod' },\n { value: FishSpecies.Saithe, label: 'Saithe' },\n { value: FishSpecies.Haddock, label: 'Haddock' },\n { value: FishSpecies.PacificCod, label: 'PacificCod' },\n { value: FishSpecies.Ling, label: 'Ling' },\n { value: FishSpecies.Tusk, label: 'Tusk' },\n { value: FishSpecies.Snowcrab, label: 'Snowcrab' },\n { value: FishSpecies.GreenlandHalibut, label: 'GreenlandHalibut' },\n { value: FishSpecies.Redfish, label: 'Redfish' },\n { value: FishSpecies.Halibut, label: 'Halibut' },\n { value: FishSpecies.Angler, label: 'Angler' },\n { value: FishSpecies.Pollack, label: 'Pollack' },\n { value: FishSpecies.Whiting, label: 'Whiting' },\n { value: FishSpecies.Flounder, label: 'Flounder' },\n { value: FishSpecies.Wolffish, label: 'Wolffish' },\n { value: FishSpecies.Skate, label: 'Skate' },\n { value: FishSpecies.Dab, label: 'Dab' },\n { value: FishSpecies.Hake, label: 'Hake' },\n];\n\nexport const CommutingTransportOptions: IOption[] = [\n { value: EmployeeCommutingTransport.Bus, label: 'Bus' },\n { value: EmployeeCommutingTransport.Subway_Tram_Underground, label: 'Subway/Tram/Underground' },\n { value: EmployeeCommutingTransport.Train, label: 'Train' },\n { value: EmployeeCommutingTransport.Car, label: 'Car' },\n { value: EmployeeCommutingTransport.Motorbike, label: 'Motorbike' },\n { value: EmployeeCommutingTransport.Ferry, label: 'Ferry' },\n { value: EmployeeCommutingTransport.Bicycle, label: 'Bicycle' },\n { value: EmployeeCommutingTransport.ElectricScooter, label: 'ElectricScooter' },\n { value: EmployeeCommutingTransport.Foot, label: 'Foot' },\n];\n\nexport const CommutingModeByTransport: { [key in EmployeeCommutingTransport]: IOption[] } = {\n [EmployeeCommutingTransport.Bus]: [\n { value: EmployeeCommutingMode.Fuel, label: 'Fuel' },\n { value: EmployeeCommutingMode.Electric, label: 'Electric' },\n { value: EmployeeCommutingMode.TrolleyBus, label: 'TrolleyBus' },\n ],\n [EmployeeCommutingTransport.Subway_Tram_Underground]: [],\n [EmployeeCommutingTransport.Train]: [],\n [EmployeeCommutingTransport.Car]: [\n { value: EmployeeCommutingMode.Fuel, label: 'Fuel' },\n { value: EmployeeCommutingMode.PlugInHybrid, label: 'Plug in Hybrid' },\n { value: EmployeeCommutingMode.Electric, label: 'Electric' },\n { value: EmployeeCommutingMode.Passenger, label: 'Passenger' },\n ],\n [EmployeeCommutingTransport.Motorbike]: [\n { value: EmployeeCommutingMode.Fuel, label: 'Fuel' },\n { value: EmployeeCommutingMode.Electric, label: 'Electric' },\n ],\n [EmployeeCommutingTransport.Ferry]: [\n { value: EmployeeCommutingMode.Car, label: 'Car' },\n { value: EmployeeCommutingMode.Passenger, label: 'Passenger' },\n ],\n [EmployeeCommutingTransport.Bicycle]: [\n { value: EmployeeCommutingMode.NotElectric, label: 'Traditional (not electric)' },\n { value: EmployeeCommutingMode.Electric, label: 'Electric' },\n ],\n [EmployeeCommutingTransport.ElectricScooter]: [],\n [EmployeeCommutingTransport.Foot]: [],\n};\n\nexport const EmploymentEventOptions: IOption[] = [\n { value: EmploymentEvent.NewHire, label: 'New Hire' },\n { value: EmploymentEvent.Turnover, label: 'Turnover' },\n];\n\nexport const GenderOptions: IOption[] = [\n { value: Gender.Woman, label: 'Woman' },\n { value: Gender.Man, label: 'Man' },\n];\n\nexport const LocationOptions: IOption[] = [\n { value: Location.Onshore, label: 'Onshore' },\n { value: Location.Offshore, label: 'Offshore' },\n];\n\nexport const EmploymentOptions: IOption[] = [\n { value: EmploymentType.FullTime, label: 'Full Time' },\n { value: EmploymentType.PartTime, label: 'Part Time' },\n];\n\nexport const ContractOptions: IOption[] = [\n { value: ContractType.Permanent, label: 'Permanent' },\n { value: ContractType.Temporary, label: 'Temporary' },\n { value: ContractType.Contractor, label: 'Contractor' },\n];\n\nexport const AgeGroupOptions: IOption[] = [\n { value: AgeGroup.LessThan30, label: '< 30' },\n { value: AgeGroup.Between30_50, label: '30-50' },\n { value: AgeGroup.Over50, label: '50 >' },\n];\n\nexport const PositionLevelOptions: IOption[] = [\n { value: PositionLevel.PositionLevel1, label: 'Level 1' },\n { value: PositionLevel.PositionLevel2, label: 'Level 2' },\n { value: PositionLevel.PositionLevel3, label: 'Level 3' },\n { value: PositionLevel.PositionLevel4, label: 'Level 4' },\n { value: PositionLevel.PositionLevel5, label: 'Level 5' },\n { value: PositionLevel.PositionLevel6, label: 'Level 6' },\n];\n\nexport const ParentalLeaveOptions: IOption[] = [\n { value: ParentalLeaveMode.EntitledTo, label: 'Entitled to' },\n { value: ParentalLeaveMode.ParentLeave, label: 'Parent Leave' },\n];\n\nexport const MarineCasualtyTypeOptions: IOption[] = [\n { value: MarineCasualtyType.VerySeriousMarineCasualty, label: 'Very Serious Marine Casualty' },\n { value: MarineCasualtyType.MarineCasualty, label: 'Marine Casualty' },\n { value: MarineCasualtyType.SeriousCasualtyWithVessel, label: 'Serious Casualty With Vessel' },\n { value: MarineCasualtyType.OtherVesselAccidents, label: 'Other Vessel Accidents' },\n { value: MarineCasualtyType.PollutionOrRiskOfPollution, label: 'Pollution Or Risk Of Pollution' },\n { value: MarineCasualtyType.OccupationalAccident, label: 'Occupational Accident' },\n];\n\n// Performance\n\nexport const TargetTrendOptions: IOption[] = [\n { value: Trend.Decrease, label: 'Decrease' },\n { value: Trend.Increase, label: 'Increase' },\n];\n\nexport const KpisOptions: IOption[] = [\n { value: '44B869EF-C471-4435-9245-52942F3CF965', label: 'Scope 1 GHG Emissions' },\n { value: 'D4153D70-F3E3-4CB1-A71B-D38FD4CBEA87', label: 'Scope 2 GHG Emissions' },\n { value: '46452E86-F3A9-4B05-9CA8-CAC263A023AA', label: 'CII - Offshore Vessels' },\n { value: '51CA055D-FFBB-49CC-B868-F4C04F44DAE3', label: 'CII - Cargo & Passenger Vessels (AER)' },\n { value: '93CA1FA3-D57A-4F07-9954-C449BDEC5EDA', label: 'CII - Ro-Ro/Ro Pax Vessels (cgDist)' },\n];\n\nexport const KpisTimePeriodTypeOptions: IOption[] = [\n { value: TimePeriodType.Annual, label: 'Annual' },\n { value: TimePeriodType.Quarterly, label: 'Quarter' },\n];\n\nexport const SupplierStatusOptions: IOption[] = [\n { value: SupplierStatus.Active, label: 'Active' },\n { value: SupplierStatus.Deactivated, label: 'Deactivated' },\n { value: SupplierStatus.Terminated, label: 'Terminated' },\n];\n\nexport enum AccessibilityTypes {\n NotSet = 'NotSet',\n Global = 'Global',\n Custom = 'Custom',\n}\n\nexport const AccessibilityOptions: IOption[] = [\n { value: AccessibilityTypes.NotSet, label: 'Not set' },\n { value: AccessibilityTypes.Global, label: 'Global' },\n { value: AccessibilityTypes.Custom, label: 'Custom' },\n];\n","import { formatDate } from '@angular/common';\nimport { ITimePeriod, TimePeriod, TimePeriodType } from '../../api-client/report-api.generated';\nimport { addDaysToDate, datediff } from '../shared/utils/date';\nimport { globalQuarterOptions, globalMonthOptions } from './options';\n\nexport function getTimeLabelFromPeriod(timePeriod: TimePeriod, shift: number = 0): string {\n switch (timePeriod?.type) {\n case TimePeriodType.Annual: {\n return timePeriod?.year ? (timePeriod.year + shift).toString() : '';\n }\n case TimePeriodType.Quarterly: {\n if (!timePeriod?.period || !timePeriod?.year) return '';\n\n const period = mod(timePeriod.period + shift - 1, globalQuarterOptions.length) + 1;\n const yearShift = Math.floor((timePeriod.period + shift - 1) / globalQuarterOptions.length);\n const year = (timePeriod.year + yearShift).toString();\n const quarter = globalQuarterOptions.find(option => option.value === period?.toString())?.label || '';\n return quarter + ' ' + year;\n }\n case TimePeriodType.Monthly: {\n if (!timePeriod?.period || !timePeriod?.year) return '';\n\n const period = mod(timePeriod.period + shift - 1, globalMonthOptions.length) + 1;\n const yearShift = Math.floor((timePeriod.period + shift - 1) / globalMonthOptions.length);\n const year = (timePeriod.year + yearShift).toString();\n const month = globalMonthOptions.find(option => option.value === period?.toString())?.label || '';\n return month + ' ' + year;\n }\n case TimePeriodType.Custom: {\n const startDate = timePeriod?.customStart;\n const endDate = timePeriod?.customEnd;\n if (!startDate || !endDate) {\n return '';\n }\n const daysDifference = datediff(startDate, endDate) + 1;\n const daysToShift = daysDifference * shift;\n\n const shiftedStartDate = addDaysToDate(startDate, daysToShift);\n const shiftedEndDate = addDaysToDate(endDate, daysToShift);\n return (\n formatDate(shiftedStartDate, 'dd MMM yyyy', 'en_US') +\n ' \\n- ' +\n formatDate(shiftedEndDate, 'dd MMM yyyy', 'en_US')\n );\n }\n default:\n return '';\n }\n}\n\nfunction mod(n: number, m: number) {\n return ((n % m) + m) % m;\n}\n\nexport function timePeriodToDates(timePeriod: ITimePeriod): [Date, Date] {\n const { type, year, period, customStart, customEnd } = timePeriod;\n\n switch (type) {\n case TimePeriodType.Annual: {\n if (!year) {\n throw new Error('Invalid year');\n }\n\n const startDate = new Date(year, 0, 1);\n const endDate = new Date(year, 11, 31);\n return [startDate, endDate];\n }\n case TimePeriodType.Quarterly: {\n if (!year) {\n throw new Error('Invalid year');\n }\n\n if (period === undefined || period < 1 || period > 4) {\n throw new Error('Invalid quarter period');\n }\n\n const quarterStartMonths = [0, 3, 6, 9];\n const quarterEndMonths = [2, 5, 8, 11];\n const quarterEndDays = [31, 30, 30, 31];\n\n const startDate = new Date(year, quarterStartMonths[period - 1], 1);\n const endDate = new Date(year, quarterEndMonths[period - 1], quarterEndDays[period - 1]);\n return [startDate, endDate];\n }\n case TimePeriodType.Monthly: {\n if (!year) {\n throw new Error('Invalid year');\n }\n\n if (period === undefined || period < 1 || period > 12) {\n throw new Error('Invalid month period');\n }\n\n const startDate = new Date(year, period - 1, 1);\n const endDate = new Date(year, period - 1, new Date(year, period, 0).getDate());\n return [startDate, endDate];\n }\n case TimePeriodType.Custom: {\n if (!customStart || !customEnd) {\n throw new Error('Invalid custom dates');\n }\n return [customStart, customEnd];\n }\n default:\n throw new Error('Invalid time period type');\n }\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false,\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nexport function getBaseUrl() {\n return document.getElementsByTagName('base')[0].href;\n}\n\nconst providers = [{ provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }];\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic(providers)\n .bootstrapModule(AppModule)\n .catch(err => console.log(err));\n"],"names":["mergeMap","_observableMergeMap","catchError","_observableCatch","Observable","throwError","_observableThrow","of","_observableOf","InjectionToken","HttpClient","HttpHeaders","HttpResponse","HttpResponseBase","API_BASE_URL","IntegrationClient","constructor","http","baseUrl","jsonParseReviver","undefined","authorize","url_","replace","options_","observe","responseType","headers","request","pipe","response_","processAuthorize","e","response","status","responseBlob","body","error","Blob","_headers","key","keys","get","blobToText","_responseText","result200","resultData200","JSON","parse","Result","fromJS","throwException","getOrganizations","processGetOrganizations","GetOrganizationListQueryResponse","getAssetsByOrganizationAndType","organizationId","assetType","Error","encodeURIComponent","processGetAssetsByOrganizationAndType","GetAssetsByOrganizationAndTypeQueryResponse","createAsset","content_","stringify","processCreateAsset","CreateAssetCommandResponse","updateAsset","processUpdateAsset","UpdateAssetCommandResponse","getDataProfilesByType","dataRecordType","processGetDataProfilesByType","GetDataProfilesByTypeQueryResponse","createDataProfile","processCreateDataProfile","CreateDataProfileCommandResponse","deleteDataProfile","id","processDeleteDataProfile","DeleteDataProfileCommandResponse","getDataRecordsByAssetAndType","assetId","processGetDataRecordsByAssetAndType","GetDataRecordsByAssetQueryResponse","createDataRecord","processCreateDataRecord","CreateDataRecordCommandResponse","updateDataRecord","processUpdateDataRecord","UpdateDataRecordCommandResponse","createMultipleDataRecord","processCreateMultipleDataRecord","CreateMultipleDataRecordCommandResponse","deleteMultipleDataRecords","inputType","type","category","dataProfileId","assetIds","assetTypes","orderBy","dateFrom","dateTo","forEach","item","toISOString","processDeleteMultipleDataRecords","DeleteDataRecordsByCommandResponse","deleteDataRecord","processDeleteDataRecord","DeleteDataRecordCommandResponse","createMultipleIndicatorData","processCreateMultipleIndicatorData","CreateIndicatorDataCommandResponse","deleteMultipleIndicatorData","processDeleteMultipleIndicatorData","DeleteMultipleIndicatorDataCommandResponse","i0","ɵɵinject","factory","ɵfac","data","property","hasOwnProperty","init","_data","result","CreateAssetVm","success","message","Array","isArray","validationErrors","push","queryMetrics","toJSON","CreateAssetCommandParams","_discriminator","subOrganizationId","name","versionValidFrom","Date","toString","CreateClientAssetCommandParams","CreateFacilityAssetCommandParams","CreateSupplierAssetCommandParams","CreateVehicleCraftMachineryAssetCommandParams","CreateVesselAssetCommandParams","formatDate","countryCode","address","contactPerson","email","subType","sqm_m2","sector","orgID","postalNumber","city","phone","registrationNumber","modelYear","powerSource","cO2","nOx","imOnumber","vesselType","installedPower","scrubbersInstalled","scrubbersLoopSystem","toBeRecycledYear","roRoVessel","deadWeightTonnage","grossTonnage","UpdateAssetCommandParams","versionId","UpdateClientAssetCommandParams","UpdateFacilityAssetCommandParams","UpdateSupplierAssetCommandParams","UpdateVehicleCraftMachineryAssetCommandParams","UpdateVesselAssetCommandParams","AssetVm","orgOrSuborgName","ClientAssetVm","FacilityAssetVm","OrganizationAssetVm","SupplierAssetVm","VehicleCraftMachineryAssetVm","VesselAssetVm","countryName","currencyCode","sectorType","environmentalRisk","socialRisk","CreateDataProfileVm","CreateDataProfileCommandParams","description","timePeriodType","year","period","customStart","customEnd","CreateEmployeeCommutingDataProfileCommandParams","CreateEmployeeGenderDiversityAndEqualityDataProfileCommandParams","totalEmployees","totalHomeOfficeDays","totalCommutingDays","organizationAssetId","DataProfile","CreateDataRecordVm","CreateDataRecordCommandParams","dataSetId","CreateCatchedFishDataRecordCommandParams","CreateDownstreamLeasedAssetDataRecordCommandParams","CreateElectricityConsumptionDataRecordCommandParams","CreateEmployeeCommutingDataRecordCommandParams","CreateEmployeeGenderDiversityAndEqualityDataRecordCommandParams","CreateEmployeeMarineCasualtyDataRecordCommandParams","CreateEmployeeNewHiresAndTurnoversDataRecordCommandParams","CreateEmployeeParentalLeavesDataRecordCommandParams","CreateEmployeeSickLeavesDataRecordCommandParams","CreateEmployeeWorkRelatedInjuriesDataRecordCommandParams","CreateOrganizationBusinessAirTravelDataRecordCommandParams","CreateOrganizationBusinessTravelHotelNightsDataRecordCommandParams","CreateOrganizationCorruptionRiskDataRecordCommandParams","CreateOrganizationFinesDataRecordCommandParams","CreateOrganizationLobbyPoliticalContributionDataRecordCommandParams","CreateOrganizationWhistleblowingDataRecordCommandParams","CreatePurchasedFishDataRecordCommandParams","CreateVehicleConsumptionDataRecordCommandParams","CreateVesselConsumptionDataRecordCommandParams","CreateVesselDurationInProtectedAreasDataRecordCommandParams","CreateVesselEmissionsDataRecordCommandParams","CreateVesselSpillsDataRecordCommandParams","CreateWasteDataRecordCommandParams","startDate","endDate","species","fishSpeciesName","weight_kg","clientAssetId","electricity_kwh","transport","mode","employees","days","distance_km","cO2Measured_kg","employee","yearOfBirth","gender","contract","employment","positionLevel","location","regionId","salary","marineCasualtyType","incidents","employmentEvent","ageGroup","women","men","workingDays","recordableInjuries","fatalities","highConsequenceInjuries","illnessHealth","lostTimeInjuries","daysLost","exposureHours","consumptionValueType","distanceType","numberOfFlights","consumptionValue","numberOfNights","callsAtPort","netRevenue","facilitation","monetaryValue","nonMonetarySanctions","beneficiary","diesel_l","petrol_l","hydrogen_kg","naturalGas","naturalGas_Unit","liquidPetroleumGas","liquidPetroleumGas_Unit","distanceSailed_nm","inOperation_hrs","mgo","mgO_Unit","hfo","hfO_Unit","lfo","lfO_Unit","urea_l","lng","lnG_Unit","mgoB30","mgoB30_Unit","hvO100","hvO100_Unit","mgO_m3","lnG_m3","powerFromShore_kwh","powerFromShoreCountryCode","nox_t","cO2_t","sOx_kg","pM25_kg","cH4_kg","n2O_kg","spillsType","isHazardous","volume_m3","class","subclass","toDisposal","quantity","unit","cO2Measured_t","UpdateDataRecordCommandParams","UpdateDownstreamLeasedAssetDataRecordCommandParams","UpdateElectricityConsumptionDataRecordCommandParams","UpdateEmployeeCommutingDataRecordCommandParams","UpdateEmployeeGenderDiversityAndEqualityDataRecordCommandParams","UpdateEmployeeMarineCasualtyDataRecordCommandParams","UpdateEmployeeNewHiresAndTurnoversDataRecordCommandParams","UpdateEmployeeParentalLeavesDataRecordCommandParams","UpdateEmployeeSickLeavesDataRecordCommandParams","UpdateEmployeeWorkRelatedInjuriesDataRecordCommandParams","UpdateOrganizationBusinessAirTravelDataRecordCommandParams","UpdateOrganizationBusinessTravelHotelNightsDataRecordCommandParams","UpdateOrganizationCorruptionRiskDataRecordCommandParams","UpdateOrganizationFinesDataRecordCommandParams","UpdateOrganizationLobbyPoliticalContributionDataRecordCommandParams","UpdateOrganizationWhistleblowingDataRecordCommandParams","UpdateVehicleConsumptionDataRecordCommandParams","UpdateVesselConsumptionDataRecordCommandParams","UpdateVesselDurationInProtectedAreasDataRecordCommandParams","UpdateVesselEmissionsDataRecordCommandParams","UpdateVesselSpillsDataRecordCommandParams","UpdateWasteDataRecordCommandParams","UpdateCatchedFishDataRecordCommandParams","UpdatePurchasedFishDataRecordCommandParams","CreateMultipleDataRecordCommandParams","dataRecords","CreateMultipleDataRecordResult","addedDataRecords","failAddingDataRecords","FailAddingDataRecord","dataRecord","DataRecord","messages","DeleteDataRecordsByVm","amountOfDeletedItems","amountOfItemsLeft","AgeGroup","ContractType","DataProfileType","DataRecordType","EmploymentEvent","EmploymentType","FacilityType","Gender","Location","MarineCasualtyType","ParentalLeaveMode","PositionLevel","PowerSource","ScrubbersLoopSystem","SupplierStatus","VehicleCraftMachineryType","VesselType","timePeriod","TimePeriod","eType","pk","EmployeeCommutingDataProfile","EmployeeGenderDiversityAndEqualityDataProfile","assetName","CatchedFishDataRecord","DownstreamLeasedAssetDataRecord","ElectricityConsumptionDataRecord","EmployeeCommutingDataRecord","EmployeeGenderDiversityAndEqualityDataRecord","EmployeeMarineCasualtyDataRecord","EmployeeNewHiresAndTurnoversDataRecord","EmployeeParentalLeavesDataRecord","EmployeeSickLeavesDataRecord","EmployeeWorkRelatedInjuriesDataRecord","OrganizationBusinessAirTravelDataRecord","OrganizationBusinessTravelHotelNightsDataRecord","OrganizationCorruptionRiskDataRecord","OrganizationFinesDataRecord","OrganizationLobbyPoliticalContributionDataRecord","OrganizationWhistleblowingDataRecord","PurchasedFishDataRecord","VehicleConsumptionDataRecord","VesselConsumptionDataRecord","VesselDurationInProtectedAreasDataRecord","VesselEmissionsDataRecord","VesselSpillsDataRecord","WasteDataRecord","speciesName","transportName","modeName","name_lowercase","genderName","contractName","locationName","regionName","marineCasualtyTypeName","consumptionValueTypeName","distanceTypeName","subClassName","toDisposalName","CreateIndicatorDataVm","CreateMultipleIndicatorDataCommandParams","indicatorDataList","indicatorId","CreateMultipleIndicatorDataRecord","valueType","numericValue","tableValue","IndicatorTableValue","DeleteIndicatorDataByFilter","DeleteIndicatorDataVm","IndicatorTableCellValue","columnId","value","dataRecordValues","ValueTuple_2OfGuidAndNullable_1OfDouble","rows","IndicatorTableValueRow","cells","rowId","IndicatorValueType","OrganizationListItemVm","currentContextOrganizationId","AssetType","ConsumptionValueType","CountryCodes","CurrencyCodes","DataRecordCategory","DistanceType","EmployeeCommutingMode","EmployeeCommutingTransport","EntityType","FishSpecies","InputType","RiskCategory","SectorType","TimePeriodType","WasteClass","WasteSubClass","WasteToDisposal","item1","item2","d","getFullYear","getMonth","getDate","ApiException","isApiException","obj","blob","observer","next","complete","reader","FileReader","onload","event","target","readAsText","AccessTokenClient","createAccessToken","processCreateAccessToken","CreateAccessTokenCommandResponse","deleteAccessToken","processDeleteAccessToken","DeleteAccessTokenCommandResponse","getAllAccessTokens","processGetAllAccessTokens","GetAllAccessTokensQueryResponse","getAccessTokensBy","scopeId","processGetAccessTokensBy","GetAccessTokensByQueryResponse","validateToken","token","processValidateToken","GetValidateTokenQueryResponse","AppClient","getUserInfoVm","processGetUserInfoVm","GetUserInfoQueryResponse","initializeAuthenticatgedUser","processInitializeAuthenticatgedUser","InitializeUserCommandResponse","setUserCurrentContextOrganizationId","processSetUserCurrentContextOrganizationId","SetUserCurrentContextOrganizationIdCommandResponse","logFrontendError","processLogFrontendError","getImage","blobName","processGetImage","uploadImage","file","FormData","append","fileName","processUploadImage","UploadImageVm","removeImage","processRemoveImage","AssetClient","updateAssetBaseProperties","processUpdateAssetBaseProperties","UpdateAssetBasePropertiesCommandResponse","deleteAsset","processDeleteAsset","DeleteAssetCommandResponse","deleteAssetsByFilter","countryCodes","searchOrgIds","vesselTypes","vehicleTypes","powerSources","facilityTypes","sectors","socialRisks","environmentRisks","processDeleteAssetsByFilter","DeleteAssetsByFilterCommandResponse","deleteAssetVersion","processDeleteAssetVersion","DeleteAssetVersionCommandResponse","getAllAssets","processGetAllAssets","GetAllAssetsQueryResponse","getAssetTypesByOrganization","processGetAssetTypesByOrganization","GetAssetTypesByOrganizationQueryResponse","getAssetById","processGetAssetById","GetAssetByIdQueryResponse","getAssetVersionsById","processGetAssetVersionsById","GetAssetVersionsByIdQueryResponse","getOrganizationAssetList","processGetOrganizationAssetList","GetOrganizationAssetListQueryResponse","getAssetsByOrganizationAndAvailableForLeasing","processGetAssetsByOrganizationAndAvailableForLeasing","GetAssetsByOrganizationAndAvailableForLeasingQueryResponse","getAssetList","processGetAssetList","GetAssetListQueryResponse","searchAssetByOrganizationAndType","pageNumber","pageSize","processSearchAssetByOrganizationAndType","SearchAssetByOrganizationAndTypeQueryResponse","CalcFactorClient","updateCalcFactor","processUpdateCalcFactor","UpdateCalcFactorCommandResponse","getCalcFactorsByType","factorType","processGetCalcFactorsByType","GetCalcFactorsByTypeQueryResponse","updateOrganizationCalcFactor","processUpdateOrganizationCalcFactor","getOrganizationCalcFactorsByType","processGetOrganizationCalcFactorsByType","getCalcFactorById","factorId","processGetCalcFactorById","GetCalcFactorByIdQueryResponse","getOrganizationCalcFactorById","processGetOrganizationCalcFactorById","getCalcFactorVersionsById","processGetCalcFactorVersionsById","GetCalcFactorVersionsByIdQueryResponse","getOrganizationCalcFactorVersionsById","processGetOrganizationCalcFactorVersionsById","deleteCalcFactorVersion","processDeleteCalcFactorVersion","DeleteCalcFactorVersionCommandResponse","deleteOrganizationCalcFactorVersion","processDeleteOrganizationCalcFactorVersion","CalculatedDataClient","getCalcDataByIndicator","fromYear","toYear","includeNestedSubOrganizations","resultPeriodType","annualAccountingYearStartMonth","processGetCalcDataByIndicator","GetCalcDataByIndicatorQueryResponse","calculateIndicatorYearlyCalculatedData","processCalculateIndicatorYearlyCalculatedData","CalculateIndicatorYearlyCalculatedDataCommandResponse","getCalcDataSubstrateData","processGetCalcDataSubstrateData","GetCalcDataSubstrateDataQueryResponse","ChatAIClient","ask","question","processAsk","AnswerDto","CountryClient","getAllCountries","processGetAllCountries","GetAllCountriesQueryResponse","CurrencyClient","getAllCurrencies","processGetAllCurrencies","GetAllCurrenciesQueryResponse","DataCategoryClient","updateDataCategory","processUpdateDataCategory","UpdateDataCategoryCommandResponse","getAllNamesDataCategories","processGetAllNamesDataCategories","GetAllNamesDataCategoriesQueryResponse","getListDataCategories","processGetListDataCategories","GetListDataCategoriesQueryResponse","getDataCategoryByDataRecordCategory","dataRecordCategory","processGetDataCategoryByDataRecordCategory","GetDataCategoryByDataRecordCategoryQueryResponse","DataProfileClient","updateDataProfile","processUpdateDataProfile","UpdateDataProfileCommandResponse","getAllDataProfiles","processGetAllDataProfiles","GetAllDataProfilesQueryResponse","DataRecordClient","deleteDataRecordsBy","processDeleteDataRecordsBy","getDataRecordsByType","processGetDataRecordsByType","GetDataRecordsByTypeQueryResponse","getDataRecordsByCategory","processGetDataRecordsByCategory","GetDataRecordsByCategoryQueryResponse","getDataRecordsByDataProfile","processGetDataRecordsByDataProfile","GetDataRecordsByDataProfileQueryResponse","getAllDataRecords","processGetAllDataRecords","GetAllDataRecordsQueryResponse","getAssetRecordsOverview","processGetAssetRecordsOverview","GetAssetDataRecordsOverviewQueryResponse","getBy","processGetBy","GetDataRecordsByQueryResponse","countBy","processCountBy","GetDataRecordsCountByQueryResponse","DevClient","checkDataRecordsIntegrity","processCheckDataRecordsIntegrity","CheckDataRecordsIntegrityCommandResponse","deleteUnrelatedDataRecords","processDeleteUnrelatedDataRecords","DeleteUnrelatedDataRecordsCommandResponse","fixImproperDateInDataProfileDataRecords","processFixImproperDateInDataProfileDataRecords","FixImproperDateInDataProfileDataRecordsCommandResponse","IndicatorClient","createIndicator","processCreateIndicator","CreateIndicatorCommandResponse","updateIndicator","processUpdateIndicator","UpdateIndicatorCommandResponse","calculateIndicator","processCalculateIndicator","CalculateIndicatorCommandResponse","deleteIndicator","processDeleteIndicator","DeleteIndicatorCommandResponse","getAllIndicators","processGetAllIndicators","GetAllIndicatorsQueryResponse","getAllNamesIndicators","processGetAllNamesIndicators","GetAllNamesIndicatorsQueryResponse","getIndicatorById","processGetIndicatorById","GetByIdIndicatorQueryResponse","updateIndicatorTarget","processUpdateIndicatorTarget","UpdateIndicatorTargetCommandResponse","getTargetValues","suborganizationId","processGetTargetValues","GetTargetValuesQueryResponse","IndicatorDataClient","createIndicatorData","processCreateIndicatorData","updateIndicatorData","processUpdateIndicatorData","UpdateIndicatorDataCommandResponse","deleteIndicatorData","processDeleteIndicatorData","DeleteIndicatorDataCommandResponse","deleteIndicatorDataByFilter","processDeleteIndicatorDataByFilter","DeleteIndicatorDataByCommandResponse","getIndicatorDataById","indicatorDataId","processGetIndicatorDataById","GetByIdIndicatorDataQueryResponse","calculateIndicatorData","processCalculateIndicatorData","CalculateIndicatorDataCommandResponse","getIndicatorDataBy","processGetIndicatorDataBy","GetIndicatorDataByQueryResponse","IndicatorDataSourceClient","getAllIndicatorDataSources","processGetAllIndicatorDataSources","GetAllIndicatorDataSourcesQueryResponse","getRawDataSourcesCompatibleWithIndicatorDefinition","indicatorDefinitionId","processGetRawDataSourcesCompatibleWithIndicatorDefinition","GetRawDataSourcesCompatibleWithIndicatorDefinitionQueryResponse","getIndicatorDefinitionAsDataSourcesCompatibleWithIndicatorDefinition","processGetIndicatorDefinitionAsDataSourcesCompatibleWithIndicatorDefinition","GetIndicatorDefinitionAsDataSourcesCompatibleWithIndicatorDefinitionQueryResponse","IndicatorDefinitionClient","createIndicatorDefinition","processCreateIndicatorDefinition","CreateIndicatorDefinitionCommandResponse","updateIndicatorDefinition","processUpdateIndicatorDefinition","UpdateIndicatorDefinitionCommandResponse","deleteIndicatorDefinition","processDeleteIndicatorDefinition","DeleteIndicatorDefinitionCommandResponse","getAllIndicatorDefinitions","onlyOrganizationIndicatorDefinitions","accessibility","processGetAllIndicatorDefinitions","GetAllIndicatorDefinitionsQueryResponse","getAllNamesIndicatorDefinitions","processGetAllNamesIndicatorDefinitions","GetAllNamesIndicatorDefinitionsQueryResponse","getIndicatorDefinitionById","processGetIndicatorDefinitionById","GetByIdIndicatorDefinitionQueryResponse","getDynamicRows","dynamicRowsDataSource","processGetDynamicRows","GetDynamicRowsQueryResponse","OrganizationClient","createOrganization","processCreateOrganization","CreateOrganizationCommandResponse","updateOrganization","processUpdateOrganization","UpdateOrganizationCommandResponse","deleteOrganization","processDeleteOrganization","DeleteOrganizationCommandResponse","getOrganizationsAndSuborganizationsFilteredBy","processGetOrganizationsAndSuborganizationsFilteredBy","GetOrganizationsAndSuborganizationsFilteredByQueryResponse","getOrganizationById","processGetOrganizationById","GetByIdQueryResponse","getOrgWithSuborgFlattenedList","processGetOrgWithSuborgFlattenedList","GetOrgWithSuborgFlattenedListQueryResponse","getOrganizationList","processGetOrganizationList","createSubOrganization","processCreateSubOrganization","CreateSubOrganizationCommandResponse","deleteSubOrganization","processDeleteSubOrganization","DeleteSubOrganizationCommandResponse","updateSubOrganization","processUpdateSubOrganization","UpdateSubOrganizationCommandResponse","RegionClient","createRegion","processCreateRegion","CreateRegionCommandResponse","updateRegion","processUpdateRegion","UpdateRegionCommandResponse","deleteRegion","processDeleteRegion","DeleteRegionCommandResponse","getAllNamesRegions","processGetAllNamesRegions","GetAllNamesRegionsQueryResponse","getListRegions","processGetListRegions","GetListRegionsQueryResponse","ReportClient","createReport","processCreateReport","CreateReportCommandResponse","updateReport","processUpdateReport","UpdateReportCommandResponse","createBaseOnTemplate","processCreateBaseOnTemplate","CreateReportBasedOnTemplateCommandResponse","getAllReports","processGetAllReports","GetReportsQueryResponse","getReportById","reportId","processGetReportById","GetReportByIdQueryResponse","getCompleteReportById","processGetCompleteReportById","GetCompleteReportDataVm","getCompleteTokenAuthReportById","processGetCompleteTokenAuthReportById","deleteReport","processDeleteReport","DeleteReportCommandResponse","duplicateReport","sourceReportId","processDuplicateReport","DuplicateReportCommandResponse","changeTopicDeactivated","processChangeTopicDeactivated","ChangeTopicDeactivatedCommandResponse","addMainSubject","processAddMainSubject","ReportMainLevel","updateMainSubject","mainLevelId","processUpdateMainSubject","deleteMainSubject","processDeleteMainSubject","DeleteMainSubjectCommandResponse","moveMainSubject","processMoveMainSubject","MoveMainSubjectCommandResponse","addTopic","processAddTopic","ReportTopic","editTopic","topicId","processEditTopic","deleteTopic","processDeleteTopic","DeleteTopicCommandResponse","moveTopic","processMoveTopic","MoveTopicCommandResponse","getCoverPhoto","processGetCoverPhoto","SectorClient","getAllSectors","processGetAllSectors","GetAllSectorsQueryResponse","SupportTopicClient","getAllSupportTopics","processGetAllSupportTopics","GetAllSupportTopicsQueryResponse","SupportTopicItemClient","getSupportTopicItemsByTopic","supportTopicId","processGetSupportTopicItemsByTopic","GetSupportTopicItemsByTopicQueryResponse","getSupportTopicItem","supportTopicItemId","processGetSupportTopicItem","SupportTopicItem","createSupportTopicItem","processCreateSupportTopicItem","CreateSupportTopicItemCommandResponse","updateSupportTopicItem","processUpdateSupportTopicItem","UpdateSupportTopicItemCommandResponse","deleteSupportTopicItem","processDeleteSupportTopicItem","DeleteSupportTopicItemCommandResponse","moveSupportTopicItem","processMoveSupportTopicItem","MoveSupportTopicItemCommandResponse","getSupportTopicItemComponents","processGetSupportTopicItemComponents","Component","createSupportComponent","processCreateSupportComponent","CreateSupportComponentCommandResponse","updateSupportComponent","processUpdateSupportComponent","UpdateSupportComponentCommandResponse","deleteSupportComponent","processDeleteSupportComponent","DeleteSupportComponentCommandResponse","moveSupportComponent","processMoveSupportComponent","MoveSupportComponentCommandResponse","TemplateClient","saveReportAsTemplate","shortDescription","global","coverPhoto","processSaveReportAsTemplate","ReportTemplate","getTemplate","templateId","processGetTemplate","updateTemplate","processUpdateTemplate","removeTemplate","processRemoveTemplate","getAllTemplates","includeGlobal","processGetAllTemplates","GetTemplatesQueryResponse","canCreateAsGlobalTemplate","processCanCreateAsGlobalTemplate","CanCreateAsGlobalTemplateQueryResponse","TopicItemClient","createTopicItem","processCreateTopicItem","CreateTopicItemCommandResponse","updateTopicItem","processUpdateTopicItem","UpdateTopicItemCommandResponse","getTopicItem","topicItemId","processGetTopicItem","TopicItemVm","removeTopicItem","processRemoveTopicItem","DeleteTopicItemCommandResponse","refreshTopicItemNewIndicatorValues","processRefreshTopicItemNewIndicatorValues","RefreshTopicItemNewIndicatorValuesCommandResponse","getReportAllTopicItems","processGetReportAllTopicItems","ReportAllTopicItemVm","getTopicTopicItems","processGetTopicTopicItems","ReportTopicItemVm","getYourTopicItemsYouAreResponsibleFor","processGetYourTopicItemsYouAreResponsibleFor","GetResponsiblePersonTopicItemsQueryResponse","moveTopicItem","processMoveTopicItem","MoveTopicItemCommandResponse","updateStatus","processUpdateStatus","UpdateTopicItemStatusCommandResponse","updateResponsiblePerson","processUpdateResponsiblePerson","UpdateTopicItemResponsiblePersonCommandResponse","updateVisibility","processUpdateVisibility","UpdateTopicItemVisibilityCommandResponse","addComponent","processAddComponent","CreateComponentCommandResponse","updateComponent","processUpdateComponent","UpdateComponentCommandResponse","getTopicItemComponents","processGetTopicItemComponents","GetTopicItemsComponentsVm","removeComponent","processRemoveComponent","DeleteComponentCommandResponse","moveComponent","processMoveComponent","MoveComponentCommandResponse","addIndicatorToComponent","processAddIndicatorToComponent","AddIndicatorToComponentCommandResponse","removeIndicatorFromComponent","processRemoveIndicatorFromComponent","RemoveIndicatorFromComponentCommandResponse","removeIndicatorComponent","processRemoveIndicatorComponent","RemoveIndicatorComponentCommandResponse","UnitClient","createUnit","processCreateUnit","CreateUnitCommandResponse","updateUnit","processUpdateUnit","UpdateUnitCommandResponse","deleteUnit","processDeleteUnit","DeleteUnitCommandResponse","getAllUnits","processGetAllUnits","GetAllUnitsQueryResponse","getUnitByKey","processGetUnitByKey","GetUnitByKeyQueryResponse","UserClient","createUser","processCreateUser","CreateUserCommandResponse","updateUser","processUpdateUser","UpdateUserCommandResponse","deleteUser","processDeleteUser","DeleteUserCommandResponse","getUsersFilteredBy","nameOrEmail","userRole","processGetUsersFilteredBy","GetUsersFilteredByQueryResponse","setOnboardedUser","processSetOnboardedUser","UpdateUserOnboardedCommandResponse","updateUserProfile","processUpdateUserProfile","UpdateUserProfileCommandResponse","getOrganizationUsers","processGetOrganizationUsers","GetOrganizationUsersQueryResponse","getUserById","processGetUserById","GetUserByIdQueryResponse","checkUserExistsForEmail","processCheckUserExistsForEmail","CheckUserExistsForEmailQueryResponse","DeleteAssetVersionCommandParams","DeleteAssetsByFilterVm","UpdateAssetBasePropertiesCommandParams","UpdateClientAssetBasePropertiesCommandParams","UpdateFacilityAssetBasePropertiesCommandParams","UpdateSupplierAssetBasePropertiesCommandParams","UpdateVehicleCraftMachineryAssetBasePropertiesCommandParams","UpdateVesselAssetBasePropertiesCommandParams","Asset","GetAssetListVm","AssetTypeVm","assetCount","AssetVersionVm","dateModified","userId","userName","AssetAvailableForLeasing","OrganizationAssetListItemVm","PagedCollection_1OfAssetVm","UpdateDataProfileCommandParams","UpdateEmployeeCommutingDataProfileCommandParams","UpdateEmployeeGenderDiversityAndEqualityDataProfileCommandParams","dataRecordsWithoutAssetIds","dataRecordsWithoutDataProfileIds","allDataRecords","allAssets","allDataProfiles","dataRecordsWithoutAsset","dataRecordsWithoutDataProfile","recordsDeleted","recordsFixed","AssetDataRecordOverviewVm","recordCount","firstRecordDate","lastRecordDate","PagedCollection_1OfDataRecord","count","versions","EntityVersion_1OfAsset","ClientAsset","FacilityAsset","OrganizationAsset","SupplierAsset","VehicleCraftMachineryAsset","VesselAsset","subTypeName","parentSubOrganizationId","fullPathName","socialRiskAssessment","SocialRiskAssessment","environmentalRiskAssessment","EnvironmentalRiskAssessment","sectorName","socialRiskName","environmentalRiskName","powerSourceName","vesselTypeName","score","risk","calculationProblemDescription","labourRightsScore","labourRightsRisk","childLabourScore","childLabourRisk","freedomRightsScore","freedomRightsRisk","corruptionRiskScore","corruptionRisk","CalculateIndicatorDataCommandParams","CalculateIndicatorDataVm","updatedIndicatorDataCount","CreateIndicatorDataCommandParams","UpdateIndicatorDataCommandParams","PagedCollection_1OfGetIndicatorDataByQueryVm","GetIndicatorDataByQueryVm","dataRecordId","dataRecordTypeName","indicatorDataIndicatorId","indicatorName","errorMessage","lastUpdated","editedByUserName","GetByIdIndicatorDataQueryVm","GetAllIndicatorDataSourcesQueryVm","GetIndicatorDefinitionAsDataSourcesCompatibleWithIndicatorDefinitionQueryVm","GetRawDataSourcesCompatibleWithIndicatorDefinitionQueryVm","CreateIndicatorDefinitionCommandParams","indicatorRawDataSourceIds","indicatorDefinitionAsDataSourceIds","recordDuration","numericValueDefinition","IndicatorNumericValueDefinition","tableValueDefinition","IndicatorTableValueDefinition","frameworkStandards","CreateIndicatorDefinitionVm","DeleteIndicatorDefinitionCommandParams","UpdateIndicatorDefinitionCommandParams","organizationAccessIds","hideIndicatorData","PagedCollection_1OfGetAllIndicatorDefinitionsQueryVm","GetAllIndicatorDefinitionsQueryVm","isIndicatorFromSystem","isAssignedToIndicator","createdBy","PagedCollection_1OfGetAllNamesIndicatorDefinitionsVm","GetAllNamesIndicatorDefinitionsVm","GetByIdIndicatorDefinitionQueryVm","isUsed","RowDefinition","CalculateIndicatorYearlyCalculatedDataCommandParams","CalculateIndicatorYearlyCalculatedDataVm","GetCalcDataByIndicatorVm","minFromYear","maxToYear","numericCalculatedData","NumericCalculatedDataVm","tableCalculatedData","TableCalculatedDataVm","IndicatorTableCellValueVm","IndicatorTableValueColVm","colId","header","groupHeader","IndicatorTableValueRowVm","IndicatorTableValueVm","cols","NumericCalculatedDataItemVm","periodLabel","number","targetValue","performanceToTarget","items","targetTrend","TableCalculatedDataItemVm","GetSubstrateDataVm","CalculateIndicatorCommandParams","lastCalculated","CreateIndicatorCommandParams","CreateIndicatorVm","reportsUsed","Report","UpdateIndicatorCommandParams","UpdateIndicatorTargetCommandParams","yearTargets","YearTarget","PagedCollection_1OfGetAllIndicatorsQueryVm","GetAllIndicatorsQueryVm","valueErrors","valueStatus","GetAllNamesIndicatorsVm","GetByIdIndicatorQueryVm","calculatedDataMinYear","calculatedDataMaxYear","TargetValueVm","CellValueType","ColumnDefinition","calculationType","isHideRowWhenValueNull","CalculationType","IndicatorCategory","IndicatorDataValue","IndicatorNumericDataValue","IndicatorTextDataValue","IndicatorNarrativeDataValue","IndicatorTableDataValue","IndicatorDataValueMetadata","label","isVisibleInReport","IndicatorNumericDataValueMetadata","IndicatorTextDataValueMetadata","IndicatorNarrativeDataValueMetadata","IndicatorTableDataValueMetadata","IndicatorDataValueType","IndicatorDataValues","metadata","previousValue","currentValue","isPreviousValueConnected","isCurrentValueConnected","substrateData","SubstrateDataTable","unitDetails","groupLabel","tableRows","TableRow","tableColumnsMetadata","NewIndicatorDataValues","usedInComponentIds","referenceStandards","values","tHead","tBody","tFoot","Tr","TrItem","rowSpan","colSpan","content","isNumber","IndicatorValueStatus","RecordDuration","DynamicRowsDataSource","unitLabel","columns","tableLabel","editableSchema","rowsType","calculationFormulas","RowsType","blobThumbnailName","UserInfoResultVm","userInfo","UserInfoVm","exists","permissions","organizationContextId","organizationContextIsGlobal","organizationName","organizationAssigned","role","onboarded","AddIndicatorToComponentCommandParams","componentId","CreateComponentCommandParams","title","DeleteComponentCommandParams","MoveComponentCommandParams","prevIndex","newIndex","RemoveIndicatorComponentCommandParams","RemoveIndicatorFromComponentCommandParams","UpdateComponentCommandParams","componentType","ChangeTopicDeactivatedCommandParams","deactivated","CreateReportCommandParams","CoverPhoto","coverPhotoSquare","pdfWritingSystem","reportVersion","CreateReportBasedOnTemplateCommandParams","DeleteMainSubjectCommandParams","DeleteTopicCommandParams","newDuplicatedReportId","MoveMainSubjectCommandParams","MoveTopicCommandParams","targetMainLevelId","updatedReport","UpdateReportCommandParams","mainLevels","createdDate","modifiedDate","brandColor","tableHeadColor","organizationLogo","PictureVm","organizationLogoSquare","ReportMainLevelVm","topics","ReportTopicVm","topicItems","CreateTopicItemVm","CreateTopicItemCommandParams","CreateNewIndicatorTopicItemCommandParams","CreateTextDisclosureTopicItemCommandParams","indicatorIds","DeleteTopicItemCommandParams","MoveTopicItemCommandParams","RefreshTopicItemNewIndicatorValuesVm","UpdateTopicItemCommandParams","UpdateNewIndicatorTopicItemCommandParams","UpdateTextDisclosureTopicItemCommandParams","UpdateTopicItemResponsiblePersonCommandParams","responsiblePersonId","UpdateTopicItemResponsiblePersonVm","UpdateTopicItemStatusCommandParams","UpdateTopicItemStatusVm","UpdateTopicItemVisibilityCommandParams","visible","responsiblePersonName","GetResponsiblePersonTopicItemsVm","ResponsiblePersonTopicItemVm","reportName","lastEdited","NewIndicatorTopicItemVm","TextDisclosureTopicItemVm","dataValues","components","updateDate","ComponentType","PdfWritingSystem","ReportStatus","ReportVersion","TopicItemStatus","TopicItemType","subOrganizationName","TemplateCoverPhoto","exportedFromReportId","TemplateMainLevel","topicItemIds","TemplateTopic","TopicItem","notVisible","NewIndicatorTopicItem","TextDisclosureTopicItem","ArticleTopicItem","IndicatorTopicItemBase","DataValueIndicatorTopicItem","indicatorDataValues","calculationDate","predefinedIndicatorId","refreshDataValuesDate","TextIndicatorTopicItem","CreateAccessTokenCommandParams","CreateAccessTokenVm","addedBy","createdDateTime","DeleteAccessTokenCommandParams","AccessTokenByVm","AccessTokenVm","ValidateTokenVm","DeleteCalcFactorVersionCommandParams","UpdateCalcFactorCommandParams","referenceStandard","versionValidFromYear","sourceName","sourceURL","UpdateBusinessAirTravelFactorCommandParams","UpdateChildLabourCountryFactorCommandParams","UpdateCorruptionRiskCountryFactorCommandParams","UpdateElectricityCountryFactorCommandParams","UpdateEmployeeCommutingFactorCommandParams","UpdateEnvScreeningSectorFactorCommandParams","UpdateFreedomRightsCountryFactorCommandParams","UpdateFuelAirEmissionFactorCommandParams","UpdateFuelCombustionFactorCommandParams","UpdateFuelEnergyFactorCommandParams","UpdateGWPValueFactorCommandParams","UpdateHotelNightsCountryFactorCommandParams","UpdateLabourRightsCountryFactorCommandParams","UpdatePurchasedFishFactorCommandParams","UpdateWasteFactorCommandParams","cO2_ton","factor","cO2_kg_km","sO2_kg_per_ton","nOxFactor_kg_per_ton","pM25_kg_per_ton","density","cO2_ton_per_ton","cH4_kg_per_ton","n2O_kg_per_ton","gJ_per_t","gwpValue","recycled","composted","incinerated","landfilled","mixed","disposedToSea","CalcFactorVm","CalcFactorVersionVm","sourceUrl","BusinessAirTravelFactorVm","ChildLabourCountryFactorVm","CorruptionRiskCountryFactorVm","ElectricityCountryFactorVm","EmployeeCommutingFactorVm","EnvScreeningSectorFactorVm","FreedomRightsCountryFactorVm","FuelAirEmissionFactorVm","FuelCombustionFactorVm","FuelEnergyFactorVm","GWPValueFactorVm","HotelNightsCountryFactorVm","LabourRightsCountryFactorVm","PurchasedFishFactorVm","WasteFactorVm","method","haulType","sectorCategory","fuelType","fuelUnit","gwp","cO2_kg_per_unit","subClass","CountryVm","code","CurrencyVm","UpdateDataCategoryCommandParams","guidance","GetAllNamesDataCategoriesVm","GetDataCategoryByDataRecordCategoryVm","GetListDataCategoriesVm","editedBy","CreateOrganizationCommandParams","logo","OrganizationLogo","logoSquare","DeleteOrganizationCommandParams","UpdateOrganizationCommandParams","OrganizationDetailsVm","users","OrganizationUser","OrgWithSuborgListItemVm","leaf","PagedCollection_1OfOrganizationVm","OrganizationVm","subOrganizations","userCount","hasAssignedAssets","SubOrganizationVm","allSubOrganizationsCount","CreateRegionCommandParams","UpdateRegionCommandParams","GetAllNamesRegionsVm","GetListRegionsVm","SectorVm","CreateSubOrganizationCommandParams","DeleteSubOrganizationCommandParams","UpdateSubOrganizationCommandParams","CreateUnitCommandParams","UpdateUnitCommandParams","UnitVm","isSystem","CreateUserCommandParams","firstName","lastName","DeleteUserCommandParams","UpdateUserCommandParams","UpdateUserProfileCommandParams","CheckUserExistsForEmailVm","usersExists","UserDetailsVm","UserVm","PagedCollection_1OfUserVm","UserVm2","AccessTokenTypes","currentPage","totalPages","totalCount","hasPrevious","hasNext","answer","Permission","UserRole","EntityVersionMetadata","entity","AssetDataVm","total","errors","CalcFactorType","CalculatedDataDetailsGroupBy","FactorUnit","FuelType","GWP","groups","SubstrateDataGroupVm","IndicatorDefinitionAccessibility","SectorCategory","groupedBy","assetsData","Trend","CreateSupportComponentCommandParams","Component2","CreateSupportTopicItemCommandParams","CreateSupportTopicItemVm","DeleteSupportComponentCommandParams","DeleteSupportTopicItemCommandParams","MoveSupportComponentCommandParams","MoveSupportTopicItemCommandParams","UpdateSupportComponentCommandParams","UpdateSupportTopicItemCommandParams","GetSupportTopicItemsByTopicVm","GetAllSupportTopicVm","ComponentType2","editedByUserId","globalPk","IntegrationApiService","httpClient","appSettings","client","ReportApiBaseUrl","i1","i2","AppConfigurationService","providedIn","lastValueFrom","AccessTokenApiService","create","_this","_asyncToGenerator","observable$","delete","_this2","_this3","getAll","_this4","_this5","ReportAppApiService","getUserInfo","initilizeUser","getBlobUrl","AssetApiService","console","log","_this6","_this7","_this8","_this9","getAssetVersions","_this10","_this11","getAllAssetOptions","_this12","searchAssetByType","searchOrgOrSubId","_this13","searchAsset","params","_this14","Name","SearchOrgIds","VehicleTypes","PowerSources","FacilityTypes","Sectors","SocialRisks","EnvironmentRisks","_this15","SearchAssetByOrganizationAndTypeParams","DeleteAssetsByFilterParams","IDeleteAssetsByFilterParams","CalcFactorApiService","getCalcFactorVersions","getOrganizationCalcFactorVersions","CalculatedDataApiService","getByIndicatorIdCalculatedData","periodType","yearFrom","yearTo","getCalculatedDataSubstrateData","DataCategoryApiService","getAllDataCategories","ChatAIApiService","getBotAnswer","CountryApiService","CurrencyApiService","DataProfileApiService","profileId","DataRecordApiService","recordId","getDataRecordsByProfile","getDataRecordsByFilter","getDataRecordsCountByFilter","IndicatorApiService","removeIndicator","IndicatorDataApiService","deleteIndicatorDataBy","IndicatorDataSourceApiService","getIndicatorDefinitionDataSourcesCompatibleWithIndicatorDefinition","IndicatorDefinitionApiService","getAllNames","getById","OrganizationApiService","getSubOrganizationList","getSubOrganizationTree","RegionClientApiService","update","getAllRegionNames","getAllRegions","ReportApiService","all","getByReportId","removeById","duplicateById","edit","addMainLevel","updateMainLevel","deleteMainLevel","editTopicName","deactivateTopic","moveMainLevel","SectorApiService","SupportTopicApiService","SupportTopicItemApiService","getTopicItemsByTopic","deleteTopicItem","createComponent","deleteComponent","TemplateApiService","TopicItemApiService","addTopicItem","allReportTopicItems","allTopicItems","getTopicItemDetails","getResponsiblePersonTopicItems","UnitApiService","UserApiService","getUserDetailsById","getUsersByOrganizationId","getInitials","ɵɵelementStart","ɵɵlistener","AppLayoutComponent_div_0_Template_esg_navbar_onLogout_1_listener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","handleLogout","ɵɵelementEnd","ɵɵelement","ɵɵtext","AppLayoutComponent_ng_container_2_esg_alert_dialog_1_Template_esg_alert_dialog_onClose_0_listener","_r3","confirmSmallWidth","ɵɵproperty","widthAlertText","AppLayoutComponent_ng_container_2_esg_onboarding_dialog_2_Template_esg_onboarding_dialog_onClose_0_listener","_r4","handleCloseOnboardingDialog","ɵɵelementContainerStart","ɵɵtemplate","AppLayoutComponent_ng_container_2_esg_alert_dialog_1_Template","AppLayoutComponent_ng_container_2_esg_onboarding_dialog_2_Template","ɵɵadvance","appInfoState","hasConfirmedWidthSize","showOnboardingDialog","AppLayoutComponent","appAuth","settingsService","router","userContextOpen","userContextHover","organizationDropdownCollapsed","organizationDropdownHover","userContextMenuProvider","menuItems","hasPermission","Admin_Panel","onClick","navigate","ngOnInit","initSmallWidthConfirmation","onboardUser","handleOpenContextMenu","stopPropagation","handleOpenOrganizationDropdown","handleToggleOrganizationDropdown","collapse","handleSetOrganizationContext","organizationOption","setOrganizationContext","logout","ɵɵdirectiveInject","AppAuthService","AppInfoService","i3","i4","Router","selectors","decls","vars","consts","template","AppLayoutComponent_Template","rf","ctx","AppLayoutComponent_div_0_Template","AppLayoutComponent_div_1_Template","AppLayoutComponent_ng_container_2_Template","userInitialized","EventEmitter","NavbarComponent_ng_container_11_Template_esg_select_simple_onChange_1_listener","$event","currentOrganizationOption","organizationOptions","ɵɵclassProp","ɵɵtextInterpolate1","NavbarComponent_button_22_Template_button_click_0_listener","handleOpenReportForm","reportFormOpen","ɵɵpureFunction0","_c2","NavbarComponent_esg_asset_form_dialog_36_Template_esg_asset_form_dialog_onCancel_0_listener","handleCloseAssetForm","NavbarComponent_esg_record_form_dialog_37_Template_esg_record_form_dialog_onCancel_0_listener","_r5","handleCloseRecordForm","NavbarComponent_esg_report_form_38_Template_esg_report_form_onClose_0_listener","_r6","handleCloseReportForm","NavbarComponent_esg_report_form_38_Template_esg_report_form_onSubmit_0_listener","NavbarComponent","hasAdminPanelPermission","indicatorPageStateService","onLogout","assetFormOpen","recordFormOpen","handleOnLogout","handleOpenAssetForm","handleOpenRecordForm","getAllIndicatorsCount","emit","IndicatorsPageStateService","outputs","NavbarComponent_Template","NavbarComponent_ng_container_11_Template","NavbarComponent_Template_button_click_12_listener","NavbarComponent_Template_button_click_17_listener","NavbarComponent_button_22_Template","NavbarComponent_a_29_Template","NavbarComponent_Template_esg_context_menu_onCloseOptions_32_listener","NavbarComponent_Template_span_click_33_listener","NavbarComponent_esg_asset_form_dialog_36_Template","NavbarComponent_esg_record_form_dialog_37_Template","NavbarComponent_esg_report_form_38_Template","_c0","showOrganizationDropdown","showCreateReport","_c1","userProfileName","SideNavigationComponent","state","SideNavigationComponent_Template","SideNavigationComponent_esg_tooltip_36_Template","SideNavigationComponent_esg_tooltip_44_Template","SideNavigationComponent_esg_tooltip_52_Template","SideNavigationComponent_esg_tooltip_60_Template","SideNavigationComponent_esg_tooltip_68_Template","_c3","_c4","_c5","tmp_7_0","ourIndicatorsCount","_c6","tmp_11_0","categoryCounts","categoryEnum","Environment","recentlyAdded","_c7","tmp_16_0","Social","_c8","tmp_21_0","Governance","_c9","tmp_26_0","Other","_c10","tmp_31_0","General","_c11","RouterModule","LoginPageComponent","routes","path","component","redirectTo","AppRoutingModule","forRoot","imports","exports","EventType","InteractionStatus","Subject","filter","takeUntil","tap","ctx_r0","userInfoLoading","AppComponent","route","authService","msalBroadcastService","accessTokenApiService","_destroying$","isIframe","loginDisplay","assignedToOrganization","loadInitUserInfoRequested","initUserAuthentication","initTokenAuthentication","queryParams","subscribe","_ref","params2","_x","apply","arguments","handleRedirectObservable","window","parent","opener","setLoginDisplay","instance","enableAccountStorageEvents","msalSubject$","msg","eventType","ACCOUNT_ADDED","ACCOUNT_REMOVED","_ref2","getAllAccounts","length","pathname","_x2","inProgress$","None","checkAndSetActiveAccount","setUserAccount","activeAccount","getActiveAccount","accounts","setActiveAccount","userInfoResponse","loadInitUserInfo","ngOnDestroy","ActivatedRoute","MsalService","MsalBroadcastService","i5","i6","AppComponent_Template","AppComponent_router_outlet_0_Template","AppComponent_esg_loading_user_1_Template","APP_INITIALIZER","BrowserModule","MsalGuard","MsalInterceptor","MsalModule","MsalRedirectComponent","MSAL_GUARD_CONFIG","MSAL_INSTANCE","MSAL_INTERCEPTOR_CONFIG","HttpClientModule","HTTP_INTERCEPTORS","AdminModule","PagesAuthModule","DataCollectModule","AssetsModule","ReportModule","SupportModule","HomeModule","ReportDetailsModule","UiModule","NotificationModule","ErrorHandlingInterceptor","ReportPreviewModule","SharedComponentsModule","MSALGuardConfigFactory","MSALInstanceFactory","MSALInterceptorConfigFactory","ExampleModule","IndicatorsModule","initSynchronousFactory","appConfigurationService","fetch","json","AppModule","bootstrap","provide","useFactory","deps","multi","useClass","declarations","BrowserCacheLocation","InteractionType","LogLevel","PublicClientApplication","isIE","navigator","userAgent","indexOf","loggerCallback","logLevel","appConfiguration","auth","clientId","B2CClientId","authority","B2CSignInAuthority","redirectUri","AppBaseUrl","postLogoutRedirectUri","knownAuthorities","B2CAuthorityDomain","cache","cacheLocation","LocalStorage","storeAuthStateInCookie","system","loggerOptions","piiLoggingEnabled","apiBaseUrl","interactionType","Redirect","protectedResourceMap","Map","B2CWebApiScopeUrl","authRequest","PictureComponent","TextAreaComponent","ImportFromExcelComponent","IndicatorContentComponent","TextDisclosureComponent","ContentConfigurations","Text","Picture","ImportFromExcel","Indicator","Narrative","ComponentFactory","ContentContextMenuComponent_div_2_Template_div_onClickOutside_0_listener","handleClose","ContentContextMenuComponent_div_2_Template_div_onIntersection_0_listener","handleIntersection","ContentContextMenuComponent_div_2_Template_div_click_1_listener","handleAddIndicator","ContentContextMenuComponent_div_2_Template_div_click_4_listener","handleAddText","ContentContextMenuComponent_div_2_Template_div_click_7_listener","handleAddImage","ContentContextMenuComponent_div_2_Template_div_click_10_listener","handleAddImportFromExcel","dropUp","ContentContextMenuComponent","onAddContent","open","handleClick","handleAddNarrative","tabEntry","intersectionRatio","ContentContextMenuComponent_Template","ContentContextMenuComponent_Template_button_click_0_listener","ContentContextMenuComponent_div_2_Template","ɵɵprojection","imgSrc","ɵɵsanitizeUrl","ContentTopbarComponent","text","showTypeIcon","onDelete","handleDelete","inputs","ngContentSelectors","ContentTopbarComponent_Template","ContentTopbarComponent_span_1_Template","ContentTopbarComponent_img_2_Template","ContentTopbarComponent_Template_button_click_5_listener","ɵɵtextInterpolate","EmptyContentComponent","infoText","handleOnClick","hostBindings","EmptyContentComponent_HostBindings","EmptyContentComponent_click_HostBindingHandler","addText","DynamicContentBase","ImportFromExcelComponent_esg_data_import_from_excel_0_Template_esg_data_import_from_excel_importData_0_listener","importDataFromExcel","ImportFromExcelComponent_esg_data_import_from_excel_0_Template_esg_data_import_from_excel_onClose_0_listener","importDataFromExcelClose","ImportFromExcelComponent_div_1_esg_content_topbar_1_Template_esg_content_topbar_onDelete_0_listener","contentId","getHeadersAsString","ImportFromExcelComponent_div_1_div_2_div_1_div_4_Template_esg_toggle_switch_onCheck_1_listener","handleUpdateVisibility","ImportFromExcelComponent_div_1_div_2_div_1_Template_button_click_2_listener","handleImportFromExcel","ImportFromExcelComponent_div_1_div_2_div_1_div_4_Template","ImportFromExcelComponent_div_1_div_2_div_1_Template_button_click_5_listener","ɵɵstyleProp","toolbarTop","hasVisibilityOption","active","tableConfig","ImportFromExcelComponent_div_1_div_2_esg_empty_content_5_Template_esg_empty_content_onClick_0_listener","_r7","handleComponentClick","ImportFromExcelComponent_div_1_div_2_Template_div_onClickOutside_0_listener","handleOutsideClick","ImportFromExcelComponent_div_1_div_2_Template_div_click_0_listener","ImportFromExcelComponent_div_1_div_2_div_1_Template","ImportFromExcelComponent_div_1_div_2_esg_table_data_4_Template","ImportFromExcelComponent_div_1_div_2_esg_empty_content_5_Template","showEmptyContent","ImportFromExcelComponent_div_1_esg_content_topbar_1_Template","ImportFromExcelComponent_div_1_div_2_Template","reorderMode","ImportFromExcelComponent_div_2_esg_table_data_2_Template","map","join","importFromExcelDialog","textAreaStyles","color","border","padding","textAreaStylesFocus","background","borderRadius","toolbarStyles","position","left","transform","top","zIndex","boxShadow","toolbarHidden","display","emptyText","onSetActive","onChange","contentData","c","selectedColumnName","records","r","destinationColumnAlphabetical","toLocaleDateString","tableColumns","features","ɵɵInheritDefinitionFeature","ImportFromExcelComponent_Template","ImportFromExcelComponent_esg_data_import_from_excel_0_Template","ImportFromExcelComponent_div_1_Template","ImportFromExcelComponent_div_2_Template","Modes","Edit","Read","stringToFormattedNumberString","VisibleValueColumn","indicatorPeriodLabels","previousLabel","currentLabel","targetLabel","formatNumberCell","row_r3","IndicatorContentSetComponent_ng_container_12_button_13_Template_button_click_0_listener","$implicit","handleOnRemoveIndicator","indicatorSet","IndicatorContentSetComponent_ng_container_12_button_14_Template_button_click_0_listener","handleOnExpandRow","expandedRowIds","includes","IndicatorContentSetComponent_ng_container_12_esg_icon_move_3_Template","IndicatorContentSetComponent_ng_container_12_td_6_Template","IndicatorContentSetComponent_ng_container_12_td_7_Template","IndicatorContentSetComponent_ng_container_12_td_8_Template","IndicatorContentSetComponent_ng_container_12_Template_td_click_12_listener","_r2","IndicatorContentSetComponent_ng_container_12_button_13_Template","IndicatorContentSetComponent_ng_container_12_button_14_Template","IndicatorContentSetComponent_ng_container_12_tr_15_Template","isColumnVisible","visibleColumnEnum","PreviousValue","CurrentValue","TargetValue","ɵɵpipeBind1","IndicatorContentSetComponent_button_19_Template_button_click_0_listener","handleOnDescriptionClick","isDisclosureVisible","IndicatorContentSetComponent_div_20_Template_esg_select_onChange_1_listener","handleOnAddIndicator","IndicatorContentSetComponent_div_20_Template_esg_select_onToggleCollapse_1_listener","handleOnIndicatorSelectCollapse","IndicatorContentSetComponent_div_20_Template_esg_add_button_onClick_2_listener","handleOnIndicatorSelectClick","indicatorOptions","indicatorSelectCollapsed","IndicatorContentSetComponent","visibleColumns","onAddIndicator","onRemoveIndicator","onMoveIndicator","onDescriptionClick","references","ngOnChanges","changes","from","Set","flatMap","split","option","some","preventDefault","handleOnContentDrop","element","nativeElement","previousIndex","currentIndex","i","columnValue","column","hostVars","IndicatorContentSetComponent_HostBindings","IndicatorContentSetComponent_th_5_Template","IndicatorContentSetComponent_th_6_Template","IndicatorContentSetComponent_th_7_Template","IndicatorContentSetComponent_Template_tbody_cdkDropListDropped_11_listener","IndicatorContentSetComponent_ng_container_12_Template","IndicatorContentSetComponent_button_19_Template","IndicatorContentSetComponent_div_20_Template","formatNumbersInString","cell_r1","IndicatorContentSubstrateDataComponent_tr_2_ng_container_1_Template","row_r2","cell_r3","ctx_r3","getFormattedNumbers","IndicatorContentSubstrateDataComponent_tr_4_ng_container_1_Template","row_r5","IndicatorContentSubstrateDataComponent","IndicatorContentSubstrateDataComponent_Template","IndicatorContentSubstrateDataComponent_tr_2_Template","IndicatorContentSubstrateDataComponent_tr_4_Template","IndicatorContentToolbarComponent_esg_select_options_4_Template_esg_select_options_onChange_0_listener","handleSelectOption","columnOptions","IndicatorContentToolbarComponent_div_5_Template_esg_toggle_switch_onCheck_1_listener","isVisible","IndicatorContentToolbarComponent","noData","onUpdateVisibility","columnSelectorOpen","handleOnColumnSelectorToggle","handleOnDelete","o","setValue","markAsDirty","IndicatorContentToolbarComponent_Template","IndicatorContentToolbarComponent_Template_button_click_2_listener","IndicatorContentToolbarComponent_esg_select_options_4_Template","IndicatorContentToolbarComponent_div_5_Template","IndicatorContentToolbarComponent_Template_button_click_6_listener","IContentCommonActions","IContentCommonStates","FormControl","moveItemInArray","IndicatorContentComponent_Conditional_1_Template_esg_content_topbar_onDelete_0_listener","indicatorLabels","IndicatorContentComponent_Conditional_2_Conditional_1_Template_esg_indicator_content_toolbar_onDelete_0_listener","IndicatorContentComponent_Conditional_2_Conditional_1_Template_esg_indicator_content_toolbar_onUpdateVisibility_0_listener","handleOnUpdateVisibility","indicatorType","indicatorTypeEnum","tableValueColumnOptions","setColumnOptions","IndicatorContentComponent_Conditional_2_Conditional_2_Conditional_0_Template_esg_indicator_content_set_onAddIndicator_0_listener","handleOnAddIndicatorToSet","IndicatorContentComponent_Conditional_2_Conditional_2_Conditional_0_Template_esg_indicator_content_set_onRemoveIndicator_0_listener","handleOnRemoveIndicatorFromSet","IndicatorContentComponent_Conditional_2_Conditional_2_Conditional_0_Template_esg_indicator_content_set_onMoveIndicator_0_listener","handleOnMoveIndicatorInSet","IndicatorContentComponent_Conditional_2_Conditional_2_Conditional_0_Template_esg_indicator_content_set_onDescriptionClick_0_listener","states","indicatorValues","IndicatorContentComponent_Conditional_2_Conditional_2_Conditional_1_Template_esg_indicator_table_value_preview_onDescriptionClick_0_listener","IndicatorContentComponent_Conditional_2_Conditional_2_Conditional_0_Template","IndicatorContentComponent_Conditional_2_Conditional_2_Conditional_1_Template","ɵɵconditional","IndicatorSet","IndicatorContentComponent_Conditional_2_Conditional_3_Conditional_0_Template_esg_select_onChange_1_listener","IndicatorContentComponent_Conditional_2_Conditional_3_Conditional_0_Template_esg_select_onToggleCollapse_1_listener","IndicatorContentComponent_Conditional_2_Conditional_3_Conditional_0_Template_esg_add_button_onClick_2_listener","IndicatorContentComponent_Conditional_2_Conditional_3_Conditional_1_Template_esg_empty_content_onClick_0_listener","_r8","IndicatorContentComponent_Conditional_2_Conditional_3_Conditional_0_Template","IndicatorContentComponent_Conditional_2_Conditional_3_Conditional_1_Template","IndicatorContentComponent_Conditional_2_Template_div_onClickOutside_0_listener","IndicatorContentComponent_Conditional_2_Template_div_click_0_listener","IndicatorContentComponent_Conditional_2_Conditional_1_Template","IndicatorContentComponent_Conditional_2_Conditional_2_Template","IndicatorContentComponent_Conditional_2_Conditional_3_Template","IndicatorContentType","opt","nonNullable","indicator","currentData","valueChanges","updatedIndicator","closest","actions","setDisclosures","addIndicator","disclosures","updatedIndicatorRows","updatedIndicatorIds","t","IndicatorContentComponent_Template","IndicatorContentComponent_Conditional_1_Template","IndicatorContentComponent_Conditional_2_Template","PictureToolbarComponent_div_5_Template_esg_toggle_switch_onCheck_1_listener","PictureToolbarComponent_input_9_Template_input_keyup_enter_0_listener","handleOnAltTagEnter","PictureToolbarComponent_input_9_Template_input_focusout_0_listener","handleOnAltTagBlur","altTagControl","PictureToolbarComponent","onReplace","onCancel","onTagUpdate","inputFocusOut","handleOnImageEditClick","handleOnAltTagClick","disabled","enable","input","focus","handleOnAltTagSave","disable","blur","viewQuery","PictureToolbarComponent_Query","PictureToolbarComponent_Template_button_click_1_listener","PictureToolbarComponent_Template_button_click_3_listener","PictureToolbarComponent_div_5_Template","PictureToolbarComponent_Template_button_click_6_listener","PictureToolbarComponent_input_9_Template","FormGroup","PictureComponent_div_0_esg_content_topbar_1_Template_esg_content_topbar_onDelete_0_listener","uploadedPhoto","url","fc","altTag","PictureComponent_div_0_div_2_esg_picture_toolbar_1_Template_esg_picture_toolbar_onReplace_0_listener","handleOnEdit","PictureComponent_div_0_div_2_esg_picture_toolbar_1_Template_esg_picture_toolbar_onCancel_0_listener","handleOnEditCancel","PictureComponent_div_0_div_2_esg_picture_toolbar_1_Template_esg_picture_toolbar_onTagUpdate_0_listener","handleOnAltTagChange","PictureComponent_div_0_div_2_esg_picture_toolbar_1_Template_esg_picture_toolbar_onDelete_0_listener","PictureComponent_div_0_div_2_esg_picture_toolbar_1_Template_esg_picture_toolbar_onUpdateVisibility_0_listener","adjustedToolbarTop","editing","PictureComponent_div_0_div_2_esg_upload_picture_2_Template_esg_upload_picture_onSelectFile_0_listener","handleUploadCoverPhoto","PictureComponent_div_0_div_2_esg_upload_picture_2_Template_esg_upload_picture_onClearUploadedPhoto_0_listener","handleClearPhoto","ɵɵpureFunction1","componentTexts","dropZoneStyle","PictureComponent_div_0_div_2_ng_container_3_div_1_Template_div_click_0_listener","handleImageClick","PictureComponent_div_0_div_2_ng_container_3_esg_empty_content_2_Template_esg_empty_content_onClick_0_listener","PictureComponent_div_0_div_2_ng_container_3_div_1_Template","PictureComponent_div_0_div_2_ng_container_3_esg_empty_content_2_Template","PictureComponent_div_0_div_2_Template_div_onClickOutside_0_listener","PictureComponent_div_0_div_2_esg_picture_toolbar_1_Template","PictureComponent_div_0_div_2_esg_upload_picture_2_Template","PictureComponent_div_0_div_2_ng_container_3_Template","PictureComponent_div_0_esg_content_topbar_1_Template","PictureComponent_div_0_div_2_Template","altText","PictureComponent_div_1_div_2_Template","height","firstLineP1","firstLineP2","firstLineP1UploadedPhoto","firstLineP2UploadedPhoto","secondLine","formgroup","tag","uploadPhoto","attrs","PictureComponent_Template","PictureComponent_div_0_Template","PictureComponent_div_1_Template","debounceTime","distinctUntilChanged","TextAreaComponent_div_0_esg_content_topbar_1_Template_esg_content_topbar_onDelete_0_listener","innerText","substring","TextAreaComponent_div_0_div_2_esg_ck_editor_1_Template_esg_ck_editor_contentChange_0_listener","onEditorContentChange","TextAreaComponent_div_0_div_2_esg_ck_editor_1_Template_esg_ck_editor_focus_0_listener","TextAreaComponent_div_0_div_2_esg_empty_content_3_Template_esg_empty_content_onClick_0_listener","TextAreaComponent_div_0_div_2_Template_div_onClickOutside_0_listener","TextAreaComponent_div_0_div_2_esg_ck_editor_1_Template","TextAreaComponent_div_0_div_2_esg_dot_flashing_2_Template","TextAreaComponent_div_0_div_2_esg_empty_content_3_Template","loading","TextAreaComponent_div_0_esg_content_topbar_1_Template","TextAreaComponent_div_0_div_2_Template","readContent","TextAreaComponent_div_1_esg_text_view_editor_2_Template","textHtml","String","width","marginTop","marginLeft","editorStyles","baseStyles","opacity","fontSize","lineHeight","initializeContent","dirty","controls","markAsPristine","isFirstChange","warn","handleOnGenerateText","prompt","generateText","then","res","typingEffect","catch","words","Promise","resolve","setTimeout","ɵɵNgOnChangesFeature","TextAreaComponent_Template","TextAreaComponent_div_0_Template","TextAreaComponent_div_1_Template","isTextDisclosureVisible","TextDisclosureFooterComponent_div_2_Template_div_click_0_listener","toggleModal","TextDisclosureFooterComponent_div_2_Conditional_1_Template","TextDisclosureFooterComponent_ng_template_3_Conditional_0_Template_esg_select_onChange_1_listener","TextDisclosureFooterComponent_ng_template_3_Conditional_0_Template_esg_select_onToggleCollapse_1_listener","TextDisclosureFooterComponent_ng_template_3_Conditional_0_Template_esg_add_button_onClick_2_listener","TextDisclosureFooterComponent_ng_template_3_Conditional_0_Template","TextDisclosureFooterComponent","indicatorValue","onToggleModal","stickyToolbar","dialogStyle","ngAfterViewChecked","TextDisclosureFooterComponent_Template","TextDisclosureFooterComponent_div_1_Template","TextDisclosureFooterComponent_div_2_Template","TextDisclosureFooterComponent_ng_template_3_Template","ɵɵtemplateRefExtractor","indicatorselector_r4","TextDisclosureComponent_div_0_esg_content_topbar_1_Template_esg_content_topbar_onDelete_0_listener","TextDisclosureComponent_div_0_div_2_esg_text_editor_1_Template_esg_text_editor_onDelete_0_listener","TextDisclosureComponent_div_0_div_2_esg_text_editor_1_Template_esg_text_editor_onFocus_0_listener","TextDisclosureComponent_div_0_div_2_esg_text_editor_1_Template_esg_text_editor_onGenerateText_0_listener","TextDisclosureComponent_div_0_div_2_esg_text_editor_1_Template_esg_text_editor_onUpdateVisibility_0_listener","TextDisclosureComponent_div_0_div_2_esg_empty_content_3_Template_esg_empty_content_onClick_0_listener","TextDisclosureComponent_div_0_div_2_div_4_Template_div_onAddIndicator_0_listener","TextDisclosureComponent_div_0_div_2_div_4_Template_div_onToggleModal_0_listener","footerStyles","TextDisclosureComponent_div_0_div_2_Template_div_onClickOutside_0_listener","TextDisclosureComponent_div_0_div_2_esg_text_editor_1_Template","TextDisclosureComponent_div_0_div_2_esg_dot_flashing_2_Template","TextDisclosureComponent_div_0_div_2_esg_empty_content_3_Template","TextDisclosureComponent_div_0_div_2_div_4_Template","TextDisclosureComponent_div_0_esg_content_topbar_1_Template","TextDisclosureComponent_div_0_div_2_Template","TextDisclosureComponent_div_1_esg_text_view_editor_2_Template","updatedContent","TextDisclosureComponent_Template","TextDisclosureComponent_div_0_Template","TextDisclosureComponent_div_1_Template","ContentListComponent_esg_dynamic_content_item_1_Template_esg_dynamic_content_item_onDelete_0_listener","ContentListComponent_esg_dynamic_content_item_1_Template_esg_dynamic_content_item_onSetActive_0_listener","handleOnSetActiveId","item_r3","readMode","activeContentId","isAllContentNotVisible","ContentListComponent","hostRef","onSetDisclosures","scrollOnViewCheck","firstChange","scrollToBottom","scrollIntoView","trackByMethod","index","el","contentType","ElementRef","contentItems","ContentListComponent_Template","ContentListComponent_esg_dynamic_content_item_1_Template","DynamicContentHostDirective","viewContainerRef","ViewContainerRef","DynamicContentMode","DynamicContentItemComponent","loadComponent","itemField","setInstance","handleOnSetActive","adHost","clear","contentRef","DynamicContentItemComponent_Query","DynamicContentItemComponent_ng_template_0_Template","ContentMenuComponent_div_2_Template_div_click_0_listener","reordering","ContentMenuComponent_div_15_Template_div_click_0_listener","handleReorder","ContentMenuComponent_esg_button_16_Template_esg_button_click_0_listener","ContentMenuComponent","reorderHidden","allowIndicators","onReorder","ContentMenuComponent_Template","ContentMenuComponent_div_2_Template","ContentMenuComponent_Template_div_click_3_listener","ContentMenuComponent_Template_div_click_7_listener","ContentMenuComponent_Template_div_click_11_listener","ContentMenuComponent_div_15_Template","ContentMenuComponent_esg_button_16_Template","ContentComponent_esg_confirm_dialog_0_Template_esg_confirm_dialog_onCancel_0_listener","removeContentId","ContentComponent_esg_confirm_dialog_0_Template_esg_confirm_dialog_onSubmit_0_listener","removeContentMessage","ContentComponent_div_1_Template_esg_content_menu_onAddContent_1_listener","ContentComponent_div_1_Template_esg_content_menu_onReorder_1_listener","stickyTopMargin","stickyMenu","isOrganizeHidden","ContentComponent_ng_container_4_Template_esg_content_list_cdkDropListDropped_1_listener","ContentComponent_ng_container_4_Template_esg_content_list_onDelete_1_listener","contentToolbarTop","ContentComponent","onDeleteContent","onMoveContent","ContentComponent_Template","ContentComponent_esg_confirm_dialog_0_Template","ContentComponent_div_1_Template","ContentComponent_ng_container_3_Template","ContentComponent_ng_container_4_Template","CommonModule","QuillModule","ReactiveFormsModule","DirectiveModule","FormatUnitWithUnicodePipe","ContentModule","DragIconComponent","KpiIconComponent","OnClickOutsideComponent","CdkDrag","CdkDragHandle","AddButtonComponent","SelectComponent","i7","IndicatorTableValuePreviewComponent","i8","NgIf","NgStyle","i9","TextIconComponent","i10","TextEditorComponent","i11","TextViewEditorComponent","i12","DotFlashingComponent","i13","isChangeComponentType","DynamicContent","DynamicComponentFactory","componentContent","getUploadedPhoto","addTextDisclosure","BehaviorSubject","msalGuardConfig","interactionEnded","accountInfo","accountInfo$","asObservable","user","login","loginRedirect","redirectToUserFlow","userFlowRequest","Popup","changePassword","resetPasswordFlowRequest","scopes","B2CResetPasswordAuthority","logoutRedirect","settings","appBaseUrl","reportApiUrl","NewNavbarEnabled","newNavbarEnabled","ShowBuildInfoOnMainPage","showBuildInfoOnMainPage","azureB2CClientId","azureB2CAuthorityDomain","azureB2CWebApiScopeUrl","B2CDomain","azureB2CDomain","reportAppApiService","organizationApiService","userApiService","showCreateTemplate","organizationContext","userInfo$","organizationContext$","loadUserInfo","Change_Current_Context_Organization","confirmedWidth","localStorage","getItem","setItem","permission","existingUserInfo","Report_Create","Template_Create","org","HttpErrorResponse","notificationService","intercept","httpRequest","handle","showError","NotificationService","inject","take","AdminService","canActivate","Admin","SuperAdmin","AdminGuard","permissionsService","SysAdminService","SuperAdminGuard","LoadingUserComponent","LoadingUserComponent_Template","LoadingUserComponent_ng_container_25_Template","LoadingUserComponent_ng_container_26_Template","handleLogin","LoginPageComponent_Template","LoginPageComponent_Template_esg_button_onClick_27_listener","AccessTokenPageComponent_div_1_button_9_Template_button_click_0_listener","textToCopy_r3","ɵɵreference","copyText","AccessTokenPageComponent_div_1_button_9_Template","AccessTokenPageComponent_div_1_Template_esg_button_onClick_16_listener","item_r5","added","ɵɵpipeBind2","AccessTokenPageComponent_esg_add_button_3_Template_esg_add_button_onClick_0_listener","accessTokenName","AccessTokenPageComponent_esg_button_5_Template_esg_button_onClick_0_listener","saveAccessToken","valid","AccessTokenPageComponent_esg_button_6_Template_esg_button_onClick_0_listener","cancelCreateAccessToken","AccessTokenPageComponent","notification","initAccessTokenPage","textArea","document","createElement","appendChild","select","execCommand","remove","showSuccess","AccessTokenStateService","AccessTokenPageComponent_Template","AccessTokenPageComponent_div_1_Template","AccessTokenPageComponent_esg_add_button_3_Template","AccessTokenPageComponent_esg_textbox_form_4_Template","AccessTokenPageComponent_esg_button_5_Template","AccessTokenPageComponent_esg_button_6_Template","list","showCreateAccessToken","Validators","IAccessTokenVm","accessTokenApi","validators","required","maxLength","reset","External","accessToken","x","AccessibilityOptions","Constants","IndicatorsLibraryStateService","indicatorDefinitionsApiService","indicatorDefinitions","searchValue","categoryOptions","Object","accessibilityOptions","sortKey","sortDirection","currentPagination","filteredCategory","filteredAccessibility","showDeleteDialog","showStickyDivider","filterMenuProvider","clearFilters","getIndicators","find","rawDataSourceIds","indicatorDefinitionDataSourceIds","setAccessibility","handleFilterChange","handlePaginationChange","newPaginationData","onSearchValueChange","newSearchValue","searchTimeout","clearTimeout","indicatorDefinition","GlobalKey","selectIndicator","resetForm","editedIndicatorId","selectedIndicatorId","closeSelectedIndicator","indicatorForm","indicatorFormGroup","createIndicatorSubmit","cancelCreate","Numeric","Sum","DateFromTo","editIndicator","updateIndicatorSubmit","cancelEdit","initiateDelete","deleteIndicatorSubmit","definition","def","cancelDelete","handleStickyDivider","handleSelectCategory","onSortChange","direction","AdminIndicatorLibraryComponent_ng_container_1_ng_container_24_tr_1_Template_tr_click_single_0_listener","indicator_r4","handleIndicatorSingleClick","AdminIndicatorLibraryComponent_ng_container_1_ng_container_24_tr_1_Template_tr_click_double_0_listener","handleIndicatorDoubleClick","AdminIndicatorLibraryComponent_ng_container_1_ng_container_24_tr_1_Template_esg_table_button_onClick_10_listener","AdminIndicatorLibraryComponent_ng_container_1_ng_container_24_tr_2_Template_tr_onClickOutside_0_listener","handleUpdateIndicatorSubmit","AdminIndicatorLibraryComponent_ng_container_1_ng_container_24_tr_2_Template_tr_onEscapeKey_0_listener","handleEditIndicatorCancel","AdminIndicatorLibraryComponent_ng_container_1_ng_container_24_tr_2_Template_tr_onEnterKey_0_listener","AdminIndicatorLibraryComponent_ng_container_1_ng_container_24_tr_2_Template_esg_table_select_onChange_4_listener","AdminIndicatorLibraryComponent_ng_container_1_ng_container_24_tr_2_Template_esg_table_cancel_button_onClick_8_listener","AdminIndicatorLibraryComponent_ng_container_1_ng_container_24_tr_1_Template","AdminIndicatorLibraryComponent_ng_container_1_ng_container_24_tr_2_Template","AdminIndicatorLibraryComponent_ng_container_1_tr_25_Template_div_onIntersection_2_listener","AdminIndicatorLibraryComponent_ng_container_1_tr_25_Template_esg_add_button_onClick_3_listener","handleCreateIndicatorClick","AdminIndicatorLibraryComponent_ng_container_1_tr_26_Template_tr_onClickOutside_0_listener","handleSubmitCreate","AdminIndicatorLibraryComponent_ng_container_1_tr_26_Template_tr_onEscapeKey_0_listener","handleCreateIndicatorCancel","AdminIndicatorLibraryComponent_ng_container_1_tr_26_Template_tr_onEnterKey_0_listener","AdminIndicatorLibraryComponent_ng_container_1_tr_26_Template_esg_table_select_onChange_4_listener","AdminIndicatorLibraryComponent_ng_container_1_tr_26_Template_esg_table_cancel_button_onClick_8_listener","AdminIndicatorLibraryComponent_ng_container_1_Template_esg_search_filter_bar_searchValueChange_3_listener","AdminIndicatorLibraryComponent_ng_container_1_Template_esg_dropdown_multiple_form_onChange_5_listener","AdminIndicatorLibraryComponent_ng_container_1_Template_esg_dropdown_multiple_form_onChange_6_listener","AdminIndicatorLibraryComponent_ng_container_1_Template_esg_sortable_table_column_sortChange_12_listener","AdminIndicatorLibraryComponent_ng_container_1_Template_esg_sortable_table_column_sortChange_15_listener","AdminIndicatorLibraryComponent_ng_container_1_Template_esg_sortable_table_column_sortChange_18_listener","AdminIndicatorLibraryComponent_ng_container_1_Template_esg_sortable_table_column_sortChange_21_listener","AdminIndicatorLibraryComponent_ng_container_1_ng_container_24_Template","AdminIndicatorLibraryComponent_ng_container_1_tr_25_Template","AdminIndicatorLibraryComponent_ng_container_1_tr_26_Template","ɵɵclassMapInterpolate1","AdminIndicatorLibraryComponent_esg_confirm_dialog_4_Template_esg_confirm_dialog_onCancel_0_listener","handleCancelDelete","AdminIndicatorLibraryComponent_esg_confirm_dialog_4_Template_esg_confirm_dialog_onSubmit_0_listener","handleDeleteSubmit","AdminIndicatorLibraryComponent","isIndicatorDetailsOpen","detailsMenuProvider","handleInitiateDelete","ɵɵProvidersFeature","AdminIndicatorLibraryComponent_Template","AdminIndicatorLibraryComponent_esg_dot_flashing_0_Template","AdminIndicatorLibraryComponent_ng_container_1_Template","AdminIndicatorLibraryComponent_Template_esg_details_dialog_onClose_2_listener","AdminIndicatorLibraryComponent_esg_indicator_definition_details_3_Template","AdminIndicatorLibraryComponent_esg_confirm_dialog_4_Template","AdminIndicatorLibraryComponent_Template_esg_pagination_onPaginationChange_5_listener","AccessibilityTypes","DurationOptions","defaultStaticTable","IndicatorDefinitionDetailsStateService","indicatorDataSourceClientApiService","sectorApiService","unitService","formatUnitWithUnicodePipe","valueTypeEnum","accessibilityTypesEnum","unitOptions","sectorOptions","rawDataSourceOptions","indicatorDefinitionDataSourceOptions","valueTypeOptions","Table","recordDurationOptions","calculationTypeOptions","Average","LastValue","isTableDialogOpen","unitOptionsSubscription","units$","units","getOrganizationOptions","getCompatibleRawDataSources","getCompatibleIndicatorDefinitionDataSources","getSectors","getIndicatorDetails","filteredSectors","sectorValue","matchingSector","sectorOption","accesibilityCustomOrganiations","Custom","organizationAccessId","rawDataSources","sourceId","matchingSource","source","indicatorDefinitionDataSources","accessiblity","tableDefinition","referenceStandars","sectorsSubscription","rawSourcesSubscription","indicatorSourcesSubscription","indicatorAccessibilitySubscription","indicatoCustomrAccessibilitySubscription","s","oganizationAccessIds","Global","closeTableDialog","updateAndResetSources","handleNameChange","handleValueTypeChange","handleSelectUnit","handleSelectCalculationType","handleTableDefinitionChange","handleDropdownChange","formControl","openTableDialog","handleHideIndicatorDataChange","unsubscribe","UnitService","IndicatorDefinitionDetailsComponent_ng_container_1_div_1_esg_button_16_Template_esg_button_onClick_0_listener","onTableSetupClick","IndicatorDefinitionDetailsComponent_ng_container_1_div_1_ng_template_17_Template_esg_toggle_switch_onCheck_3_listener","IndicatorDefinitionDetailsComponent_ng_container_1_div_1_ng_template_17_Template_esg_select_onChange_7_listener","IndicatorDefinitionDetailsComponent_ng_container_1_div_1_ng_template_17_Template_esg_select_onChange_11_listener","IndicatorDefinitionDetailsComponent_ng_container_1_div_1_ng_template_17_Template_esg_textbox_form_onEnter_15_listener","IndicatorDefinitionDetailsComponent_ng_container_1_div_1_ng_template_17_Template_esg_select_onChange_19_listener","IndicatorDefinitionDetailsComponent_ng_container_1_div_1_ng_template_17_Template_esg_textarea_focusout_23_listener","IndicatorDefinitionDetailsComponent_ng_container_1_div_1_ng_template_17_Template_esg_textarea_focusout_27_listener","IndicatorDefinitionDetailsComponent_ng_container_1_div_1_ng_template_17_Template_esg_select_onChange_33_listener","IndicatorDefinitionDetailsComponent_ng_container_1_div_1_ng_template_18_Template_esg_textarea_focusout_3_listener","IndicatorDefinitionDetailsComponent_ng_container_1_div_1_ng_template_18_Template_esg_textarea_focusout_7_listener","IndicatorDefinitionDetailsComponent_ng_container_1_div_1_ng_template_18_Template_esg_select_onChange_13_listener","IndicatorDefinitionDetailsComponent_ng_container_1_div_1_Template_esg_textbox_form_focusout_6_listener","IndicatorDefinitionDetailsComponent_ng_container_1_div_1_esg_dropdown_multiple_form_11_Template","IndicatorDefinitionDetailsComponent_ng_container_1_div_1_Template_esg_select_onChange_15_listener","IndicatorDefinitionDetailsComponent_ng_container_1_div_1_esg_button_16_Template","IndicatorDefinitionDetailsComponent_ng_container_1_div_1_ng_template_17_Template","IndicatorDefinitionDetailsComponent_ng_container_1_div_1_ng_template_18_Template","NotSet","IndicatorDefinitionDetailsComponent_ng_container_1_esg_indicator_definition_table_2_Template_esg_indicator_definition_table_onCancel_0_listener","onTableSetupClose","IndicatorDefinitionDetailsComponent_ng_container_1_esg_indicator_definition_table_2_Template_esg_indicator_definition_table_onSubmit_0_listener","IndicatorDefinitionDetailsComponent_ng_container_1_div_1_Template","IndicatorDefinitionDetailsComponent_ng_container_1_esg_indicator_definition_table_2_Template","IndicatorDefinitionDetailsComponent","IndicatorDefinitionDetailsComponent_Template","IndicatorDefinitionDetailsComponent_esg_dot_flashing_0_Template","IndicatorDefinitionDetailsComponent_ng_container_1_Template","StaticText","Currency","Static","defaultDynamicTable","Dynamic","OrganizationRegionNames","GenericColumnType","jsonTable","IndicatorDefinitionTableComponent","onSubmit","jsonInputStyle","resize","inputHasBeenFocused","currencyFavouriteOptions","handleOnCancel","handleOnEnter","handleOnSubmit","parsedJson","newTableDefinition","setErrors","invalidJson","jsonSubscription","onJsonInputChange","updateJson","convertDefinitionToTable","newFormat","jsonString","emitEvent","clearJsonInputError","dynamicRows","getDynamicRowsFromDataSource","tableDefinitionHasRows","col","mapCellValueTypeToGenericType","row","defaultValue","Selector","options","Generic","IndicatorDefinitionTableComponent_HostBindings","IndicatorDefinitionTableComponent_onEnterKey_HostBindingHandler","IndicatorDefinitionTableComponent_Template_esg_dialog_onClose_0_listener","IndicatorDefinitionTableComponent_Template_esg_textarea_keydown_enter_2_listener","IndicatorDefinitionTableComponent_span_8_Template","IndicatorDefinitionTableComponent_Template_esg_button_onClick_9_listener","IndicatorDefinitionTableComponent_Template_esg_button_onClick_11_listener","AdminPageStateService","hasOrganizationReadPermission","hasUserReadPermission","hasAccessTokenReadPermission","hasSettingsReadPermission","showClientSettings","showSuperAdminSettings","userInfoSub","Report_Organization_Read","Report_User_Read","AccessToken_Read","Settings_Read","AdminPageComponent_ng_container_10_a_3_Template","AdminPageComponent_ng_container_10_a_6_Template","AdminPageComponent_ng_container_10_a_9_Template","AdminPageComponent_ng_container_11_a_3_Template","AdminPageComponent_ng_container_11_a_4_Template","AdminPageComponent_ng_container_11_a_5_Template","AdminPageComponent_ng_container_11_a_6_Template","AdminPageComponent_ng_container_11_a_7_Template","AdminPageComponent_ng_container_11_a_8_Template","AdminPageComponent","appState","AdminPageComponent_Template","AdminPageComponent_ng_container_10_Template","AdminPageComponent_ng_container_11_Template","OrganizationsComponent","UsersComponent","ProfileComponent","OrganizationFormComponent","OrganizationListComponent","OrganizationDetailsComponent","UserFormComponent","UserListComponent","UserDetailsComponent","LabelValueComponent","OrganizationTbodyComponent","SubOrganizationRowComponent","SubOrganizationFormComponent","TableModule","DataCollectCategoriesComponent","DataCollectCategoryDetailsComponent","AllOrganizationsComponent","AllUsersComponent","RegionsComponent","KeyboardShortcutsDirective","UnitsComponent","FormatUnitWithHtmlPipe","FactorVersionMenuComponent","FactorVersionFormComponent","CalcFactorRecordsTableComponent","AirEmissionFactorDetailComponent","AirTravelFactorDetailComponent","ChildLabourFactorDetailComponent","CorruptionRiskFactorDetailComponent","FuelCombustionFactorDetailComponent","FuelEnergyFactorDetailComponent","FreedomRightsFactorDetailComponent","ElectricityFactorDetailComponent","LabourRightsFactorDetailComponent","GlobalWarmingPotentialFactorDetailComponent","HotelNightsFactorDetailComponent","PurchasedFishFactorDetailComponent","WasteFactorDetailComponent","EnvScreeningSectorFactorDetailComponent","EmployeeCommutingFactorDetailComponent","forChild","children","pathMatch","loadChildren","mod","CUSTOMER_CALCULATION_FACTORS_ROUTES","GLOBAL_CALCULATION_FACTORS_ROUTES","NgForOf","TextboxFormComponent","ConfirmDialogComponent","DropdownMultipleFormComponent","DetailsDialogComponent","PaginationComponent","SearchFilterBarComponent","SortableTableColumnComponent","TableButtonComponent","i14","TableCancelButtonComponent","i15","TableSelectComponent","i16","IntersectionObserverDirective","i17","ClickDoubleDirective","i18","formattedStringToNumber","CalculationFactorDetailStateService","CustomFormValidators","AirEmissionFactorsDetailStateService","calcFactorTitle","calcFactorType","FuelAirEmissionFactor","getFactorVersion","caclFactorApiService","numericString","sO2_kg_per_unit","nOxFactor_kg_per_unit","pM25_kg_per_unit","getFactorParams","CalculationFactorDetail","AirEmissionFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onClick_0_listener","handleOnFormClick","AirEmissionFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onSave_0_listener","AirEmissionFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onDelete_0_listener","handleOnDeleteClick","AirEmissionFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onCancel_0_listener","handleCancel","AirEmissionFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_10_listener","AirEmissionFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_14_listener","AirEmissionFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_18_listener","AirEmissionFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_22_listener","AirEmissionFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_28_listener","AirEmissionFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_34_listener","AirEmissionFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_40_listener","isFormOpen","newVersionDate","factorVersions","AirEmissionFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template_esg_factor_version_menu_onVersionClick_0_listener","handleVersionClick","AirEmissionFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template_esg_factor_version_menu_onNewVersionClick_0_listener","handleNewVersion","activeVersion","AirEmissionFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template","AirEmissionFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template","AirEmissionFactorDetailComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onCancel_0_listener","handleDeleteDialogClose","AirEmissionFactorDetailComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onSubmit_0_listener","handleVersionDelete","AirEmissionFactorDetailComponent_Template","AirEmissionFactorDetailComponent_ng_container_1_Template","AirEmissionFactorDetailComponent_esg_dot_flashing_2_Template","AirEmissionFactorDetailComponent_esg_confirm_dialog_3_Template","isDeleteDialogOpen","DistanceTypeOptions","AirTravelFactorsDetailStateService","BusinessAirTravelFactor","AirTravelFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onClick_0_listener","AirTravelFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onSave_0_listener","AirTravelFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onDelete_0_listener","AirTravelFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onCancel_0_listener","AirTravelFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_10_listener","AirTravelFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_14_listener","AirTravelFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_18_listener","AirTravelFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_22_listener","AirTravelFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_28_listener","ɵɵpropertyInterpolate","AirTravelFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template_esg_factor_version_menu_onVersionClick_0_listener","AirTravelFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template_esg_factor_version_menu_onNewVersionClick_0_listener","AirTravelFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template","AirTravelFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template","AirTravelFactorDetailComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onCancel_0_listener","AirTravelFactorDetailComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onSubmit_0_listener","AirTravelFactorDetailComponent_Template","AirTravelFactorDetailComponent_ng_container_1_Template","AirTravelFactorDetailComponent_esg_dot_flashing_2_Template","AirTravelFactorDetailComponent_esg_confirm_dialog_3_Template","v4","uuidv4","isValidFromDateOpen","version","sort","a","b","getTime","handleValidFromChange","date","activeVersionIndex","findIndex","handleValidFromOpen","handleValidFromClose","newestVersion","handleVersionSubmit","wasNewVersion","factorParams","updateOrganizationFactor","validFromYear","CalculationFactorDetail_Template","encapsulation","ChildLabourFactorsDetailStateService","ChildLabourCountryFactor","country","ChildLabourFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onClick_0_listener","ChildLabourFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onSave_0_listener","ChildLabourFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onDelete_0_listener","ChildLabourFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onCancel_0_listener","ChildLabourFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_5_listener","ChildLabourFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_9_listener","ChildLabourFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_13_listener","ChildLabourFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_17_listener","ChildLabourFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_21_listener","ChildLabourFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template_esg_factor_version_menu_onVersionClick_0_listener","ChildLabourFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template_esg_factor_version_menu_onNewVersionClick_0_listener","ChildLabourFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template","ChildLabourFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template","ChildLabourFactorDetailComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onCancel_0_listener","ChildLabourFactorDetailComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onSubmit_0_listener","ChildLabourFactorDetailComponent_Template","ChildLabourFactorDetailComponent_ng_container_1_Template","ChildLabourFactorDetailComponent_esg_dot_flashing_2_Template","ChildLabourFactorDetailComponent_esg_confirm_dialog_3_Template","CorruptionRiskFactorsDetailStateService","CorruptionRiskCountryFactor","CorruptionRiskFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onClick_0_listener","CorruptionRiskFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onSave_0_listener","CorruptionRiskFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onDelete_0_listener","CorruptionRiskFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onCancel_0_listener","CorruptionRiskFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_5_listener","CorruptionRiskFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_9_listener","CorruptionRiskFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_13_listener","CorruptionRiskFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_17_listener","CorruptionRiskFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_21_listener","CorruptionRiskFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template_esg_factor_version_menu_onVersionClick_0_listener","CorruptionRiskFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template_esg_factor_version_menu_onNewVersionClick_0_listener","CorruptionRiskFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template","CorruptionRiskFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template","CorruptionRiskFactorDetailComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onCancel_0_listener","CorruptionRiskFactorDetailComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onSubmit_0_listener","CorruptionRiskFactorDetailComponent_Template","CorruptionRiskFactorDetailComponent_ng_container_1_Template","CorruptionRiskFactorDetailComponent_esg_dot_flashing_2_Template","CorruptionRiskFactorDetailComponent_esg_confirm_dialog_3_Template","ElectricityFactorsDetailStateService","ElectricityCountryFactor","ElectricityFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onClick_0_listener","ElectricityFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onSave_0_listener","ElectricityFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onDelete_0_listener","ElectricityFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onCancel_0_listener","ElectricityFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_5_listener","ElectricityFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_9_listener","ElectricityFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_13_listener","ElectricityFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_17_listener","ElectricityFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_23_listener","ElectricityFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template_esg_factor_version_menu_onVersionClick_0_listener","ElectricityFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template_esg_factor_version_menu_onNewVersionClick_0_listener","ElectricityFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template","ElectricityFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template","ElectricityFactorDetailComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onCancel_0_listener","ElectricityFactorDetailComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onSubmit_0_listener","ElectricityFactorDetailComponent_Template","ElectricityFactorDetailComponent_ng_container_1_Template","ElectricityFactorDetailComponent_esg_dot_flashing_2_Template","ElectricityFactorDetailComponent_esg_confirm_dialog_3_Template","CommutingModeByTransport","CommutingTransportOptions","EmployeeCommutingFactorDetailStateService","EmployeeCommutingFactor","EmployeeCommutingFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onClick_0_listener","EmployeeCommutingFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onSave_0_listener","EmployeeCommutingFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onDelete_0_listener","EmployeeCommutingFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onCancel_0_listener","EmployeeCommutingFactorDetailComponent_ng_container_1_esg_factor_version_form_4_esg_table_select_5_Template","EmployeeCommutingFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_9_listener","EmployeeCommutingFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_13_listener","EmployeeCommutingFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_17_listener","EmployeeCommutingFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_21_listener","EmployeeCommutingFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_27_listener","EmployeeCommutingFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template_esg_factor_version_menu_onVersionClick_0_listener","EmployeeCommutingFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template_esg_factor_version_menu_onNewVersionClick_0_listener","EmployeeCommutingFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template","EmployeeCommutingFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template","EmployeeCommutingFactorDetailComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onCancel_0_listener","EmployeeCommutingFactorDetailComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onSubmit_0_listener","EmployeeCommutingFactorDetailComponent_Template","EmployeeCommutingFactorDetailComponent_ng_container_1_Template","EmployeeCommutingFactorDetailComponent_esg_dot_flashing_2_Template","EmployeeCommutingFactorDetailComponent_esg_confirm_dialog_3_Template","EnvScreeningSectorFactorDetailStateService","EnvScreeningSectorFactor","camelCaseToSpacedString","min","max","EnvScreeningSectorFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onClick_0_listener","EnvScreeningSectorFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onSave_0_listener","EnvScreeningSectorFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onDelete_0_listener","EnvScreeningSectorFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onCancel_0_listener","EnvScreeningSectorFactorDetailComponent_ng_container_1_esg_factor_version_form_4_esg_table_select_5_Template","EnvScreeningSectorFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_9_listener","EnvScreeningSectorFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_13_listener","EnvScreeningSectorFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_17_listener","EnvScreeningSectorFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_21_listener","EnvScreeningSectorFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_25_listener","EnvScreeningSectorFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_29_listener","EnvScreeningSectorFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template_esg_factor_version_menu_onVersionClick_0_listener","EnvScreeningSectorFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template_esg_factor_version_menu_onNewVersionClick_0_listener","EnvScreeningSectorFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template","EnvScreeningSectorFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template","EnvScreeningSectorFactorDetailComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onCancel_0_listener","EnvScreeningSectorFactorDetailComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onSubmit_0_listener","EnvScreeningSectorFactorDetailComponent_Template","EnvScreeningSectorFactorDetailComponent_ng_container_1_Template","EnvScreeningSectorFactorDetailComponent_esg_dot_flashing_2_Template","EnvScreeningSectorFactorDetailComponent_esg_confirm_dialog_3_Template","FreedomRightsFactorsDetailStateService","FreedomRightsCountryFactor","FreedomRightsFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onClick_0_listener","FreedomRightsFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onSave_0_listener","FreedomRightsFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onDelete_0_listener","FreedomRightsFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onCancel_0_listener","FreedomRightsFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_5_listener","FreedomRightsFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_9_listener","FreedomRightsFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_13_listener","FreedomRightsFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_17_listener","FreedomRightsFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_21_listener","FreedomRightsFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template_esg_factor_version_menu_onVersionClick_0_listener","FreedomRightsFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template_esg_factor_version_menu_onNewVersionClick_0_listener","FreedomRightsFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template","FreedomRightsFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template","FreedomRightsFactorDetailComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onCancel_0_listener","FreedomRightsFactorDetailComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onSubmit_0_listener","FreedomRightsFactorDetailComponent_Template","FreedomRightsFactorDetailComponent_ng_container_1_Template","FreedomRightsFactorDetailComponent_esg_dot_flashing_2_Template","FreedomRightsFactorDetailComponent_esg_confirm_dialog_3_Template","FuelCombustionFactorDetailStateService","FuelCombustionFactor","FuelCombustionFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onClick_0_listener","FuelCombustionFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onSave_0_listener","FuelCombustionFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onDelete_0_listener","FuelCombustionFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onCancel_0_listener","FuelCombustionFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_10_listener","FuelCombustionFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_14_listener","FuelCombustionFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_18_listener","FuelCombustionFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_22_listener","FuelCombustionFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_26_listener","FuelCombustionFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_32_listener","FuelCombustionFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_38_listener","FuelCombustionFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_45_listener","FuelCombustionFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template_esg_factor_version_menu_onVersionClick_0_listener","FuelCombustionFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template_esg_factor_version_menu_onNewVersionClick_0_listener","FuelCombustionFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template","FuelCombustionFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template","FuelCombustionFactorDetailComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onCancel_0_listener","FuelCombustionFactorDetailComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onSubmit_0_listener","FuelCombustionFactorDetailComponent_Template","FuelCombustionFactorDetailComponent_ng_container_1_Template","FuelCombustionFactorDetailComponent_esg_dot_flashing_2_Template","FuelCombustionFactorDetailComponent_esg_confirm_dialog_3_Template","FuelEnergyFactorsDetailsStateService","FuelEnergyFactor","FuelEnergyFactorDetailStateService","FuelEnergyFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onClick_0_listener","FuelEnergyFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onSave_0_listener","FuelEnergyFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onDelete_0_listener","FuelEnergyFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onCancel_0_listener","FuelEnergyFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_5_listener","FuelEnergyFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_9_listener","FuelEnergyFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_13_listener","FuelEnergyFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_17_listener","FuelEnergyFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_21_listener","FuelEnergyFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template_esg_factor_version_menu_onVersionClick_0_listener","FuelEnergyFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template_esg_factor_version_menu_onNewVersionClick_0_listener","FuelEnergyFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template","FuelEnergyFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template","FuelEnergyFactorDetailComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onCancel_0_listener","FuelEnergyFactorDetailComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onSubmit_0_listener","FuelEnergyFactorDetailComponent_Template","FuelEnergyFactorDetailComponent_ng_container_1_Template","FuelEnergyFactorDetailComponent_esg_dot_flashing_2_Template","FuelEnergyFactorDetailComponent_esg_confirm_dialog_3_Template","GWPMapping","GlobalWarmingPotentialFactorDetailStateService","GWPValueFactor","GlobalWarmingPotentialFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onClick_0_listener","GlobalWarmingPotentialFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onSave_0_listener","GlobalWarmingPotentialFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onDelete_0_listener","GlobalWarmingPotentialFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onCancel_0_listener","GlobalWarmingPotentialFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_5_listener","GlobalWarmingPotentialFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_9_listener","GlobalWarmingPotentialFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_13_listener","GlobalWarmingPotentialFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_17_listener","GlobalWarmingPotentialFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_21_listener","GlobalWarmingPotentialFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template_esg_factor_version_menu_onVersionClick_0_listener","GlobalWarmingPotentialFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template_esg_factor_version_menu_onNewVersionClick_0_listener","GlobalWarmingPotentialFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template","GlobalWarmingPotentialFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template","GlobalWarmingPotentialFactorDetailComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onCancel_0_listener","GlobalWarmingPotentialFactorDetailComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onSubmit_0_listener","GlobalWarmingPotentialFactorDetailComponent_Template","GlobalWarmingPotentialFactorDetailComponent_ng_container_1_Template","GlobalWarmingPotentialFactorDetailComponent_esg_dot_flashing_2_Template","GlobalWarmingPotentialFactorDetailComponent_esg_confirm_dialog_3_Template","HotelNightsFactorDetailStateService","HotelNightsCountryFactor","HotelNightsFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onClick_0_listener","HotelNightsFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onSave_0_listener","HotelNightsFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onDelete_0_listener","HotelNightsFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onCancel_0_listener","HotelNightsFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_5_listener","HotelNightsFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_9_listener","HotelNightsFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_13_listener","HotelNightsFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_17_listener","HotelNightsFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_23_listener","HotelNightsFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template_esg_factor_version_menu_onVersionClick_0_listener","HotelNightsFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template_esg_factor_version_menu_onNewVersionClick_0_listener","HotelNightsFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template","HotelNightsFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template","HotelNightsFactorDetailComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onCancel_0_listener","HotelNightsFactorDetailComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onSubmit_0_listener","HotelNightsFactorDetailComponent_Template","HotelNightsFactorDetailComponent_ng_container_1_Template","HotelNightsFactorDetailComponent_esg_dot_flashing_2_Template","HotelNightsFactorDetailComponent_esg_confirm_dialog_3_Template","LabourRightsFactorDetailStateService","LabourRightsCountryFactor","LabourRightsFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onClick_0_listener","LabourRightsFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onSave_0_listener","LabourRightsFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onDelete_0_listener","LabourRightsFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onCancel_0_listener","LabourRightsFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_5_listener","LabourRightsFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_9_listener","LabourRightsFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_13_listener","LabourRightsFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_17_listener","LabourRightsFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_21_listener","LabourRightsFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template_esg_factor_version_menu_onVersionClick_0_listener","LabourRightsFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template_esg_factor_version_menu_onNewVersionClick_0_listener","LabourRightsFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template","LabourRightsFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template","LabourRightsFactorDetailComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onCancel_0_listener","LabourRightsFactorDetailComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onSubmit_0_listener","LabourRightsFactorDetailComponent_Template","LabourRightsFactorDetailComponent_ng_container_1_Template","LabourRightsFactorDetailComponent_esg_dot_flashing_2_Template","LabourRightsFactorDetailComponent_esg_confirm_dialog_3_Template","PurchasedFishFactorDetailStateService","PurchasedFishFactor","PurchasedFishFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onClick_0_listener","PurchasedFishFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onSave_0_listener","PurchasedFishFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onDelete_0_listener","PurchasedFishFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onCancel_0_listener","PurchasedFishFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_5_listener","PurchasedFishFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_9_listener","PurchasedFishFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_13_listener","PurchasedFishFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_17_listener","PurchasedFishFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_24_listener","PurchasedFishFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template_esg_factor_version_menu_onVersionClick_0_listener","PurchasedFishFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template_esg_factor_version_menu_onNewVersionClick_0_listener","PurchasedFishFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template","PurchasedFishFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template","PurchasedFishFactorDetailComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onCancel_0_listener","PurchasedFishFactorDetailComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onSubmit_0_listener","PurchasedFishFactorDetailComponent_Template","PurchasedFishFactorDetailComponent_ng_container_1_Template","PurchasedFishFactorDetailComponent_esg_dot_flashing_2_Template","PurchasedFishFactorDetailComponent_esg_confirm_dialog_3_Template","RecordSource","cell_r4","ɵɵsanitizeHtml","CalcFactorRecordsTableComponent_ng_container_4_th_1_div_1_Template_esg_sortable_table_column_sortChange_1_listener","ctx_r2","handleOnSortChange","CalcFactorRecordsTableComponent_ng_container_4_th_1_div_1_span_6_Template","CalcFactorRecordsTableComponent_ng_container_4_th_1_div_1_span_7_Template","sortFieldName","optional","CalcFactorRecordsTableComponent_ng_container_4_th_1_ng_template_2_span_3_Template","CalcFactorRecordsTableComponent_ng_container_4_th_1_div_1_Template","CalcFactorRecordsTableComponent_ng_container_4_th_1_ng_template_2_Template","ɵɵclassMap","isSortable","stickyHeaderTopOffset","isFirst_r7","stickyHeaderPadding","addOnly","nonSortableContent_r5","CalcFactorRecordsTableComponent_ng_container_4_th_1_Template","CalcFactorRecordsTableComponent_ng_container_6_tr_1_Template_esg_add_button_onClick_2_listener","handleOnAddRecord","fullGridColumn","ɵɵelementContainer","CalcFactorRecordsTableComponent_ng_container_6_tr_2_Template_tr_onClickOutside_0_listener","_r9","CalcFactorRecordsTableComponent_ng_container_6_tr_2_Template_tr_onEscapeKey_0_listener","handleOnEscape","CalcFactorRecordsTableComponent_ng_container_6_tr_2_Template_tr_onEnterKey_0_listener","CalcFactorRecordsTableComponent_ng_container_6_tr_2_Template_tr_focusin_0_listener","handleFocusInside","CalcFactorRecordsTableComponent_ng_container_6_tr_2_ng_container_1_Template","CalcFactorRecordsTableComponent_ng_container_6_tr_2_Template_td_click_2_listener","onFormClose","recordForm_r10","CalcFactorRecordsTableComponent_ng_container_6_ng_container_3_tr_1_ng_container_1_td_1_span_1_ng_container_1_esg_raw_data_icon_1_Template","CalcFactorRecordsTableComponent_ng_container_6_ng_container_3_tr_1_ng_container_1_td_1_span_1_ng_container_1_esg_column_stack_icon_2_Template","row_r13","recordSource","RecordSourceEnum","RawData","IndicatorDefinition","newlyAddedRowsIds","CalcFactorRecordsTableComponent_ng_container_6_ng_container_3_tr_1_ng_container_1_td_1_span_1_ng_container_1_Template","CalcFactorRecordsTableComponent_ng_container_6_ng_container_3_tr_1_ng_container_1_td_1_span_1_esg_pulsing_dot_2_Template","cell_r14","CalcFactorRecordsTableComponent_ng_container_6_ng_container_3_tr_1_ng_container_1_td_1_Template_td_click_0_listener","_r12","handleOnRowClick","CalcFactorRecordsTableComponent_ng_container_6_ng_container_3_tr_1_ng_container_1_td_1_span_1_Template","CalcFactorRecordsTableComponent_ng_container_6_ng_container_3_tr_1_ng_container_1_td_1_span_3_Template","isFirst_r16","CalcFactorRecordsTableComponent_ng_container_6_ng_container_3_tr_1_ng_container_1_td_1_Template","CalcFactorRecordsTableComponent_ng_container_6_ng_container_3_tr_1_ng_container_1_Template","CalcFactorRecordsTableComponent_ng_container_6_ng_container_3_tr_1_Template_button_click_4_listener","_r11","handleOnDetailClick","CalcFactorRecordsTableComponent_ng_container_6_ng_container_3_tr_2_Template_tr_onClickOutside_0_listener","_r17","handleOnFormClose","CalcFactorRecordsTableComponent_ng_container_6_ng_container_3_tr_2_Template_tr_onEscapeKey_0_listener","CalcFactorRecordsTableComponent_ng_container_6_ng_container_3_tr_2_Template_tr_onEnterKey_0_listener","CalcFactorRecordsTableComponent_ng_container_6_ng_container_3_tr_2_Template_tr_focusin_0_listener","CalcFactorRecordsTableComponent_ng_container_6_ng_container_3_tr_2_ng_container_1_Template","CalcFactorRecordsTableComponent_ng_container_6_ng_container_3_tr_1_Template","CalcFactorRecordsTableComponent_ng_container_6_ng_container_3_tr_2_Template","editRecordId","readOnly","CalcFactorRecordsTableComponent_ng_container_6_tr_1_Template","CalcFactorRecordsTableComponent_ng_container_6_tr_2_Template","CalcFactorRecordsTableComponent_ng_container_6_ng_container_3_Template","isAddButtonVisible","isAdding","bodyRows","trackByRecord","CalcFactorRecordsTableComponent_ng_container_7_ng_container_2_Template","rootObserverMargin","intersectionObserverRootMargin","headerCells","hideAddButton","hideContextMenu","maxDecDigits","onAdding","onEditing","onDetailClick","hasActiveCell","stickyHeaders","hidableColumnOptions","connected","numberOfVisibleColumns","columnFilter","gridTemplateColumns","updateColumnOptions","cell","possibleToHide","record","trackByHeaderCell","handleStickyHeaders","rootBounds","boundingClientRect","CalcFactorRecordsTableComponent_Template","CalcFactorRecordsTableComponent_Template_div_onIntersection_0_listener","CalcFactorRecordsTableComponent_ng_container_4_Template","CalcFactorRecordsTableComponent_ng_container_6_Template","CalcFactorRecordsTableComponent_ng_container_7_Template","CalcFactorRecordsTableComponent_ng_template_8_Template","FactorVersionFormComponent_div_3_Template_button_click_5_listener","FactorVersionFormComponent_div_3_Template_esg_button_onClick_8_listener","FactorVersionFormComponent_div_3_Template_esg_button_onClick_10_listener","handleOnSave","deleteDisabled","saveDisabled","onSave","handleOnOutsideClick","FactorVersionFormComponent_Template","FactorVersionFormComponent_Template_div_onClickOutside_0_listener","FactorVersionFormComponent_Template_div_click_0_listener","FactorVersionFormComponent_Template_div_onEscapeKey_0_listener","FactorVersionFormComponent_Template_div_onEnterKey_0_listener","FactorVersionFormComponent_div_3_Template","FactorVersionMenuComponent_div_3_Template_div_click_0_listener","version_r2","handleOnVersionClick","FactorVersionMenuComponent_div_3_esg_check_circle_icon_1_Template","FactorVersionMenuComponent_div_3_esg_history_icon_2_Template","newVersion","index_r4","ɵɵtextInterpolate2","onVersionClick","onNewVersionClick","handleOnNewVersionClick","FactorVersionMenuComponent_Template","FactorVersionMenuComponent_div_2_Template","FactorVersionMenuComponent_div_3_Template","FactorVersionMenuComponent_div_4_Template","FactorVersionMenuComponent_Template_esg_add_button_onClick_5_listener","WasteClassOptions","WasteSubClassOptionsByClass","WasteFactorsDetailStateService","WasteFactor","WasteFactorDetailStateService","WasteFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onClick_0_listener","WasteFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onSave_0_listener","WasteFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onDelete_0_listener","WasteFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_factor_version_form_onCancel_0_listener","WasteFactorDetailComponent_ng_container_1_esg_factor_version_form_4_esg_table_select_5_Template","WasteFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_9_listener","WasteFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_13_listener","WasteFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_17_listener","WasteFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_21_listener","WasteFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_25_listener","WasteFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_29_listener","WasteFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_33_listener","WasteFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_37_listener","WasteFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_41_listener","WasteFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_45_listener","WasteFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template_esg_textbox_form_onChange_49_listener","WasteFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template_esg_factor_version_menu_onVersionClick_0_listener","WasteFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template_esg_factor_version_menu_onNewVersionClick_0_listener","WasteFactorDetailComponent_ng_container_1_esg_factor_version_form_4_Template","WasteFactorDetailComponent_ng_container_1_esg_factor_version_menu_5_Template","WasteFactorDetailComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onCancel_0_listener","WasteFactorDetailComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onSubmit_0_listener","WasteFactorDetailComponent_Template","WasteFactorDetailComponent_ng_container_1_Template","WasteFactorDetailComponent_esg_dot_flashing_2_Template","WasteFactorDetailComponent_esg_confirm_dialog_3_Template","DataCategoryToMainTopic","DataCollectCategoriesStateService","dataCategoryApiService","categories","getCategories","mainTopic","selectCategory","selectedCategory","closeSelectedCategory","DataCollectCategoriesComponent_ng_container_1_tr_20_Template_tr_click_0_listener","category_r4","DataCollectCategoriesComponent_ng_container_1_Template_esg_sortable_table_column_sortChange_8_listener","DataCollectCategoriesComponent_ng_container_1_Template_esg_sortable_table_column_sortChange_11_listener","DataCollectCategoriesComponent_ng_container_1_Template_esg_sortable_table_column_sortChange_14_listener","DataCollectCategoriesComponent_ng_container_1_Template_esg_sortable_table_column_sortChange_17_listener","DataCollectCategoriesComponent_ng_container_1_tr_20_Template","handleCloseCategory","DataCollectCategoriesComponent_Template","DataCollectCategoriesComponent_esg_dot_flashing_0_Template","DataCollectCategoriesComponent_ng_container_1_Template","DataCollectCategoriesComponent_Template_esg_details_dialog_onClose_2_listener","DataCollectCategoriesComponent_esg_data_collect_category_details_3_Template","DataCollectCategoryDetailsStateService","dataCategory","subscribeToGuidanceChanges","guidanceSubscription","updateGuidance","commandParams","DataCollectCategoryDetailsComponent_Template","DataCollectCategoryDetailsComponent_div_0_Template","OrganizationsStateService","AllOrganizationsStateService","getPermissions","hasAddPermission","Report_Organization_Create","hasEditPermission","Report_Organization_Update","hasDeletePermission","Report_Organization_Delete","initData","getCountries","loadOrganizations","AllOrganizationsComponent_esg_search_filter_bar_2_Template_esg_search_filter_bar_searchValueChange_0_listener","AllOrganizationsComponent_esg_search_filter_bar_2_Template_esg_dropdown_multiple_form_onChange_2_listener","filteredCountry","countryFilterOptions","AllOrganizationsComponent_esg_organization_list_4_Template_esg_organization_list_onOrganizationClick_0_listener","handleSelectOrganization","AllOrganizationsComponent_esg_organization_list_4_Template_esg_organization_list_onSortChange_0_listener","countryOptions","AllOrganizationsComponent_esg_organization_form_5_Template_esg_organization_form_onCancel_0_listener","handleDialogClose","AllOrganizationsComponent_esg_organization_form_5_Template_esg_organization_form_onSubmited_0_listener","handleSubmitOrganization","selectedOrganization","AllOrganizationsComponent_esg_confirm_dialog_8_Template_esg_confirm_dialog_onCancel_0_listener","AllOrganizationsComponent_esg_confirm_dialog_8_Template_esg_confirm_dialog_onSubmit_0_listener","handleDeleteOrganizationSubmit","removeOrganizationMessage","AllOrganizationsComponent_esg_add_button_9_Template_esg_add_button_onClick_0_listener","handleAddOrganization","showOrganizationForm","AllOrganizationsComponent_Template","AllOrganizationsComponent_esg_search_filter_bar_2_Template","AllOrganizationsComponent_esg_dot_flashing_3_Template","AllOrganizationsComponent_esg_organization_list_4_Template","AllOrganizationsComponent_esg_organization_form_5_Template","AllOrganizationsComponent_Template_esg_details_dialog_onClose_6_listener","handleDetailsDialogClose","AllOrganizationsComponent_esg_organization_details_7_Template","AllOrganizationsComponent_esg_confirm_dialog_8_Template","AllOrganizationsComponent_esg_add_button_9_Template","AllOrganizationsComponent_Template_esg_pagination_onPaginationChange_10_listener","showOrganizationDetails","organizationMenuProvider","showRemoveOrganization","item_r1","OrganizationDetailsComponent_tbody_15_tr_1_Template","organization","OrganizationDetailsComponent_Template","OrganizationDetailsComponent_tbody_15_Template","sortOptionsAlphabetically","OrganizationFormStateService","appApiService","countryApiService","currencyApiService","domSanitizer","currencyOptions","hexColor","USD","EUR","GBP","NOK","showCurrencyWarning","initOrganizationForm","getCurrencies","getLogo","organizationCurrency","allCoutries","currency","handleCountryChange","handleCurrencyChange","onColorChange","submit","uploadLogo","objectUrl","URL","createObjectURL","bypassSecurityTrustResourceUrl","uploadLogoSquare","removeLogo","removeLogoSquare","onCurrencyWarningClose","onCurrencyWarningConfirm","blobUrl","safeUrl","DomSanitizer","OrganizationFormComponent_esg_confirm_dialog_24_Template_esg_confirm_dialog_onSubmit_0_listener","handleCurrencyWarningConfirm","OrganizationFormComponent_esg_confirm_dialog_24_Template_esg_confirm_dialog_onCancel_0_listener","handleCurrencyWarningClose","onSubmited","headerText","submitText","componentTextsSquareUpload","handleUploadLogo","handleRemoveLogo","handleRemoveLogoSquare","handleSubmit","OrganizationFormComponent_Template","OrganizationFormComponent_Template_esg_form_dialog_onCancel_0_listener","OrganizationFormComponent_Template_esg_form_dialog_onSubmit_0_listener","OrganizationFormComponent_Template_esg_select_onChange_9_listener","OrganizationFormComponent_Template_esg_select_onChange_10_listener","OrganizationFormComponent_Template_esg_textbox_form_onChange_14_listener","OrganizationFormComponent_Template_esg_textbox_form_onChange_15_listener","OrganizationFormComponent_Template_esg_upload_picture_onSelectFile_19_listener","OrganizationFormComponent_Template_esg_upload_picture_onClearUploadedPhoto_19_listener","OrganizationFormComponent_Template_esg_upload_picture_onSelectFile_23_listener","OrganizationFormComponent_Template_esg_upload_picture_onClearUploadedPhoto_23_listener","OrganizationFormComponent_esg_confirm_dialog_24_Template","OrganizationListComponent_tbody_19_Template_tbody_onOrganizationClick_0_listener","handleOrganizationClick","OrganizationListComponent_tbody_19_Template_tbody_onAddSubOrganization_0_listener","addSubOrganization","OrganizationListComponent_tbody_19_Template_tbody_onEditSubOrganization_0_listener","editSubOrganization","OrganizationListComponent_tbody_19_Template_tbody_onDeleteSubOrganization_0_listener","OrganizationListComponent_esg_alert_dialog_20_Template_esg_alert_dialog_onClose_0_listener","showHasAssetsDialog","alertTitle","alertMessage","alertButtonText","onOrganizationClick","orgId","OrganizationListComponent_Template","OrganizationListComponent_Template_esg_sortable_table_column_sortChange_5_listener","OrganizationListComponent_Template_esg_sortable_table_column_sortChange_8_listener","OrganizationListComponent_Template_esg_sortable_table_column_sortChange_11_listener","OrganizationListComponent_tbody_19_Template","OrganizationListComponent_esg_alert_dialog_20_Template","organizations","OrganizationTbodyComponent_ng_container_18_esg_sub_organization_form_1_Template_esg_sub_organization_form_onSubmit_0_listener","handleOnSubOrgSubmit","OrganizationTbodyComponent_ng_container_18_esg_sub_organization_form_1_Template_esg_sub_organization_form_onCancel_0_listener","handleOnSubOrgCancel","subOrgFc","OrganizationTbodyComponent_ng_container_18_esg_sub_organization_row_2_Template_esg_sub_organization_row_onEditSubOrganization_0_listener","onEditSubOrganization","OrganizationTbodyComponent_ng_container_18_esg_sub_organization_row_2_Template_esg_sub_organization_row_onDeleteSubOrganization_0_listener","onDeleteSubOrganization","OrganizationTbodyComponent_ng_container_18_esg_sub_organization_row_2_Template_esg_sub_organization_row_onAddSubOrganization_0_listener","onAddSubOrganization","sub_r4","OrganizationTbodyComponent_ng_container_18_esg_sub_organization_form_1_Template","OrganizationTbodyComponent_ng_container_18_esg_sub_organization_row_2_Template","expanded","handleExpand","handleOnAddClick","subOrgFormGroup","OrganizationTbodyComponent_Template","OrganizationTbodyComponent_Template_tr_click_single_0_listener","OrganizationTbodyComponent_Template_tr_click_double_0_listener","OrganizationTbodyComponent_Template_button_click_2_listener","OrganizationTbodyComponent_Template_button_click_5_listener","OrganizationTbodyComponent_Template_esg_table_button_onClick_17_listener","OrganizationTbodyComponent_ng_container_18_Template","usersCount","indent","showErrors","subOrgForm","SubOrganizationFormComponent_Template","SubOrganizationFormComponent_Template_tr_onClickOutside_0_listener","SubOrganizationFormComponent_Template_tr_onEscapeKey_0_listener","SubOrganizationFormComponent_Template_tr_onEnterKey_0_listener","SubOrganizationFormComponent_Template_span_click_2_listener","SubOrganizationFormComponent_Template_span_click_3_listener","SubOrganizationFormComponent_Template_esg_table_select_onChange_7_listener","SubOrganizationFormComponent_Template_esg_table_cancel_button_onClick_13_listener","SubOrganizationRowComponent_tr_0_button_5_Template_button_click_0_listener","SubOrganizationRowComponent_tr_0_Template_button_click_2_listener","SubOrganizationRowComponent_tr_0_Template_span_dblclick_4_listener","handleOnEditClick","SubOrganizationRowComponent_tr_0_button_5_Template","SubOrganizationRowComponent_tr_0_Template_td_dblclick_7_listener","SubOrganizationRowComponent_tr_0_Template_td_dblclick_9_listener","SubOrganizationRowComponent_tr_0_Template_td_dblclick_11_listener","SubOrganizationRowComponent_tr_0_Template_td_dblclick_13_listener","SubOrganizationRowComponent_tr_0_Template_esg_table_delete_button_onClick_15_listener","modes","SubOrganizationRowComponent_esg_sub_organization_form_1_Template_esg_sub_organization_form_onSubmit_0_listener","handleOnSubOrgEdit","SubOrganizationRowComponent_esg_sub_organization_form_1_Template_esg_sub_organization_form_onCancel_0_listener","SubOrganizationRowComponent_ng_container_2_esg_sub_organization_form_1_Template_esg_sub_organization_form_onSubmit_0_listener","SubOrganizationRowComponent_ng_container_2_esg_sub_organization_form_1_Template_esg_sub_organization_form_onCancel_0_listener","SubOrganizationRowComponent_ng_container_2_esg_sub_organization_row_2_Template_esg_sub_organization_row_onEditSubOrganization_0_listener","SubOrganizationRowComponent_ng_container_2_esg_sub_organization_row_2_Template_esg_sub_organization_row_onDeleteSubOrganization_0_listener","SubOrganizationRowComponent_ng_container_2_esg_sub_organization_row_2_Template_esg_sub_organization_row_onAddSubOrganization_0_listener","sub_r7","SubOrganizationRowComponent_ng_container_2_esg_sub_organization_form_1_Template","SubOrganizationRowComponent_ng_container_2_esg_sub_organization_row_2_Template","Add","FormMode","SubOrganizationRowComponent_Template","SubOrganizationRowComponent_tr_0_Template","SubOrganizationRowComponent_esg_sub_organization_form_1_Template","SubOrganizationRowComponent_ng_container_2_Template","styles","UserRoleOptions","countryFilterOptionInitialized","organizationContextSub","loadSpecificOrganization","setOrganizationDetails","u","showInfo","subOrganization","OrganizationsComponent_esg_search_filter_bar_2_Template_esg_search_filter_bar_searchValueChange_0_listener","OrganizationsComponent_esg_search_filter_bar_2_Template_esg_dropdown_multiple_form_onChange_2_listener","OrganizationsComponent_esg_organization_list_4_Template_esg_organization_list_onOrganizationClick_0_listener","OrganizationsComponent_esg_organization_list_4_Template_esg_organization_list_onSortChange_0_listener","OrganizationsComponent_esg_organization_form_5_Template_esg_organization_form_onCancel_0_listener","OrganizationsComponent_esg_organization_form_5_Template_esg_organization_form_onSubmited_0_listener","OrganizationsComponent_esg_confirm_dialog_8_Template_esg_confirm_dialog_onCancel_0_listener","OrganizationsComponent_esg_confirm_dialog_8_Template_esg_confirm_dialog_onSubmit_0_listener","OrganizationsComponent_esg_add_button_9_Template_esg_add_button_onClick_0_listener","removeAlertTitle","removeAlertMessage","handleEditOrganization","handleDeleteOrganization","handleFormDialogClose","hasUsers","OrganizationsComponent_Template","OrganizationsComponent_esg_search_filter_bar_2_Template","OrganizationsComponent_esg_dot_flashing_3_Template","OrganizationsComponent_esg_organization_list_4_Template","OrganizationsComponent_esg_organization_form_5_Template","OrganizationsComponent_Template_esg_details_dialog_onClose_6_listener","OrganizationsComponent_esg_organization_details_7_Template","OrganizationsComponent_esg_confirm_dialog_8_Template","OrganizationsComponent_esg_add_button_9_Template","OrganizationsComponent_Template_esg_pagination_onPaginationChange_10_listener","LabelValueComponent_Template","ProfileStateService","appInfo","loadUserDetals","changePasswordRedirect","ProfileComponent_Template","ProfileComponent_Template_esg_button_onClick_8_listener","ProfileComponent_Template_esg_button_onClick_11_listener","ViewModeEnums","RegionsStateService","regionApiService","regions","regionNameFormControl","getRegions","region","viewMode","Create","submitCreate","editRegion","editedRegion","submitEdit","newName","showRemoveRegionFor","deleteRegionSubmit","RegionsComponent_ng_container_1_table_3_ng_container_9_tr_1_Template_tr_dblclick_0_listener","region_r4","handleEditRegion","RegionsComponent_ng_container_1_table_3_ng_container_9_tr_1_Template_esg_table_delete_button_onClick_6_listener","RegionsComponent_ng_container_1_table_3_ng_container_9_tr_2_Template_tr_onClickOutside_0_listener","handleSubmitEdit","RegionsComponent_ng_container_1_table_3_ng_container_9_tr_2_Template_tr_onEscapeKey_0_listener","handleCancelEdit","RegionsComponent_ng_container_1_table_3_ng_container_9_tr_2_Template_esg_table_input_onEnter_4_listener","RegionsComponent_ng_container_1_table_3_ng_container_9_tr_2_Template_esg_table_cancel_button_onClick_6_listener","RegionsComponent_ng_container_1_table_3_ng_container_9_tr_1_Template","RegionsComponent_ng_container_1_table_3_ng_container_9_tr_2_Template","ViewModes","RegionsComponent_ng_container_1_table_3_tr_10_Template_div_onIntersection_2_listener","RegionsComponent_ng_container_1_table_3_tr_10_Template_esg_add_button_onClick_3_listener","handleClickCreate","RegionsComponent_ng_container_1_table_3_tr_11_Template_tr_onClickOutside_0_listener","RegionsComponent_ng_container_1_table_3_tr_11_Template_tr_onEscapeKey_0_listener","handleCancelCreate","RegionsComponent_ng_container_1_table_3_tr_11_Template_esg_table_input_onEnter_4_listener","RegionsComponent_ng_container_1_table_3_tr_11_Template_esg_table_cancel_button_onClick_6_listener","RegionsComponent_ng_container_1_table_3_Template_esg_sortable_table_column_sortChange_6_listener","RegionsComponent_ng_container_1_table_3_ng_container_9_Template","RegionsComponent_ng_container_1_table_3_tr_10_Template","RegionsComponent_ng_container_1_table_3_tr_11_Template","RegionsComponent_ng_container_1_table_3_Template","RegionsComponent_esg_confirm_dialog_2_Template_esg_confirm_dialog_onCancel_0_listener","RegionsComponent_esg_confirm_dialog_2_Template_esg_confirm_dialog_onSubmit_0_listener","handleSubmitDelete","RegionsComponent_Template","RegionsComponent_esg_dot_flashing_0_Template","RegionsComponent_ng_container_1_Template","RegionsComponent_esg_confirm_dialog_2_Template","UnitsStateService","hasSubmitted","getUnits","showRemoveForUnitKey","unitForm","unitFormGroup","createUnitSubmit","editUnit","unitKey","editedUnitKey","updateUnitSubmit","deleteUnitSubmit","UnitsComponent_ng_container_1_tr_14_esg_table_delete_button_7_Template_esg_table_delete_button_onClick_0_listener","unit_r4","UnitsComponent_ng_container_1_tr_14_esg_table_delete_button_7_Template","UnitsComponent_ng_container_1_tr_15_Template_div_onIntersection_2_listener","UnitsComponent_ng_container_1_tr_15_Template_esg_add_button_onClick_3_listener","handleCreateUnitClick","UnitsComponent_ng_container_1_tr_16_Template_tr_onClickOutside_0_listener","UnitsComponent_ng_container_1_tr_16_Template_tr_onEscapeKey_0_listener","handleCreateUnitCancel","UnitsComponent_ng_container_1_tr_16_Template_tr_onEnterKey_0_listener","UnitsComponent_ng_container_1_tr_16_ng_container_1_Template","UnitsComponent_ng_container_1_tr_16_Template_esg_table_cancel_button_onClick_3_listener","unitForm_r7","UnitsComponent_ng_container_1_ng_template_17_ng_container_0_Template","UnitsComponent_ng_container_1_Template_esg_sortable_table_column_sortChange_8_listener","UnitsComponent_ng_container_1_Template_esg_sortable_table_column_sortChange_11_listener","UnitsComponent_ng_container_1_tr_14_Template","UnitsComponent_ng_container_1_tr_15_Template","UnitsComponent_ng_container_1_tr_16_Template","UnitsComponent_ng_container_1_ng_template_17_Template","trackByUnitKey","UnitsComponent_esg_confirm_dialog_2_Template_esg_confirm_dialog_onCancel_0_listener","UnitsComponent_esg_confirm_dialog_2_Template_esg_confirm_dialog_onSubmit_0_listener","UnitsComponent_Template","UnitsComponent_esg_dot_flashing_0_Template","UnitsComponent_ng_container_1_Template","UnitsComponent_esg_confirm_dialog_2_Template","UsersStateService","AllUsersStateService","loadUsers","loadOrganizationOptions","AllUsersComponent_esg_user_form_7_Template_esg_user_form_onCancel_0_listener","AllUsersComponent_esg_user_form_7_Template_esg_user_form_onAddSubmit_0_listener","handleSubmitAddUser","AllUsersComponent_esg_user_form_7_Template_esg_user_form_onEditSubmit_0_listener","handleSubmitEditUser","selectedUser","isSuperAdmin","AllUsersComponent_esg_confirm_dialog_10_Template_esg_confirm_dialog_onCancel_0_listener","AllUsersComponent_esg_confirm_dialog_10_Template_esg_confirm_dialog_onSubmit_0_listener","handleDeleteUserSubmit","removeUserMessage","AllUsersComponent_Template","AllUsersComponent_Template_esg_search_filter_bar_searchValueChange_2_listener","AllUsersComponent_Template_esg_dropdown_multiple_form_onChange_4_listener","AllUsersComponent_Template_esg_add_button_onClick_5_listener","handleAddUser","AllUsersComponent_Template_esg_user_list_onUserClick_6_listener","handleSelectUser","AllUsersComponent_esg_user_form_7_Template","AllUsersComponent_Template_esg_details_dialog_onClose_8_listener","AllUsersComponent_esg_user_details_9_Template","AllUsersComponent_esg_confirm_dialog_10_Template","AllUsersComponent_Template_esg_pagination_onPaginationChange_11_listener","filteredRole","userRoleOptions","showUserForm","showUserDetails","userMenuProvider","showRemoveUser","getUserRoleLabel","UserDetailsComponent_Template","onAddSubmit","onEditSubmit","organizationIdControl","firstNameFormControl","lastNameFormControl","emailFormControl","roleFormControl","handleOrganizationChange","handleRoleChange","UserFormComponent_Template","UserFormComponent_Template_esg_form_dialog_onCancel_0_listener","UserFormComponent_Template_esg_form_dialog_onSubmit_0_listener","UserFormComponent_Template_esg_select_onChange_10_listener","UserFormComponent_Template_esg_select_onChange_11_listener","UserListComponent_tr_18_Template_tr_click_0_listener","item_r2","handleUserClick","onUserClick","UserListComponent_Template","UserListComponent_Template_esg_sortable_table_column_sortChange_6_listener","UserListComponent_Template_esg_sortable_table_column_sortChange_9_listener","UserListComponent_Template_esg_sortable_table_column_sortChange_12_listener","UserListComponent_Template_esg_sortable_table_column_sortChange_15_listener","UserListComponent_tr_18_Template","Report_User_Create","Report_User_Update","Report_User_Delete","organizationResult","setUserDetails","userDetailsPromise","userDetails","addUser","editUser","UsersComponent_esg_user_form_7_Template_esg_user_form_onCancel_0_listener","UsersComponent_esg_user_form_7_Template_esg_user_form_onAddSubmit_0_listener","UsersComponent_esg_user_form_7_Template_esg_user_form_onEditSubmit_0_listener","UsersComponent_esg_confirm_dialog_10_Template_esg_confirm_dialog_onCancel_0_listener","UsersComponent_esg_confirm_dialog_10_Template_esg_confirm_dialog_onSubmit_0_listener","handleEditUser","handleDeleteUser","editUserData","UsersComponent_Template","UsersComponent_Template_esg_search_filter_bar_searchValueChange_2_listener","UsersComponent_Template_esg_dropdown_multiple_form_onChange_4_listener","UsersComponent_Template_esg_add_button_onClick_5_listener","UsersComponent_Template_esg_user_list_onUserClick_6_listener","UsersComponent_esg_user_form_7_Template","UsersComponent_Template_esg_details_dialog_onClose_8_listener","UsersComponent_esg_user_details_9_Template","UsersComponent_esg_confirm_dialog_10_Template","UsersComponent_Template_esg_pagination_onPaginationChange_11_listener","AddAssetOptions","AssetFormDialogStateService","assetApiService","assetsMenuState","assetTypeEnum","assetTypeOptions","organizationCountryMap","selectedAssetType","submitAssetForm","routerLink","Vessel","VehicleCraftMachinery","Supplier","Facility","Client","link","loadAssetTypeCounters","notifyOfNewAsset","setSelectAssetType","set","AssetsMenuStateService","AssetTableComponent","AssetFormDialogComponent_esg_vessels_table_13_Template_esg_vessels_table_onFormSubmit_0_listener","handleOnFormSubmit","AssetFormDialogComponent_esg_vehicles_crafts_machinery_table_14_Template_esg_vehicles_crafts_machinery_table_onFormSubmit_0_listener","AssetFormDialogComponent_esg_suppliers_table_15_Template_esg_suppliers_table_onFormSubmit_0_listener","AssetFormDialogComponent_esg_facilities_table_16_Template_esg_facilities_table_onFormSubmit_0_listener","AssetFormDialogComponent_esg_clients_table_17_Template_esg_clients_table_onFormSubmit_0_listener","AssetFormDialogComponent","isFormDisabled","assetComponent","handleOnSubmitClick","AssetFormDialogComponent_Query","AssetFormDialogComponent_Template","AssetFormDialogComponent_Template_esg_form_dialog_onCancel_0_listener","AssetFormDialogComponent_Template_esg_form_dialog_onSubmit_0_listener","AssetFormDialogComponent_Template_esg_select_onChange_8_listener","AssetFormDialogComponent_esg_vessels_table_13_Template","AssetFormDialogComponent_esg_vehicles_crafts_machinery_table_14_Template","AssetFormDialogComponent_esg_suppliers_table_15_Template","AssetFormDialogComponent_esg_facilities_table_16_Template","AssetFormDialogComponent_esg_clients_table_17_Template","RecordSubCategoryLabel","RecordCategoryLabel","RecordCategoryPath","RecordSubCategoryPath","AssetDetailsStateService","dataRecordService","assetVersions","recordsOverview","tabs","activeTab","getAssetVersion","vessel","mainOrganizationId","getRecordsOverview","subCategory","categoryLabel","subCategoryPath","firstDate","lastDate","recordType","validateExcelOptionColumn","AssetCategoryRoutes","AssetListStateService","isFilterApplied","filteredOrganization","filteredVesselType","filteredVehicleType","filteredFacitityType","filteredPowerSourceType","filteredCountries","filteredSocialRisks","filteredEnvRisks","deleteDialogMessage","appConfig","assetDetailsOpen","removeDialogOpen","assetCategoryRoutes","assets","updating","excelTitle","importFromExcelEnabled","importingInProgress","importingInProgressLabel","importFromExcelFieldConfigs","propertyName","defaultVersionDate","UTC","showStickyPaginationDivider","assetFromDialogSub","newAssetSubject$","handleNewAssetFromDialog","initByOrganization","getAssets","Organization","asset","formSubmit","selectedAsset","selected","setSelectedAsset","updateParams","createParams","getNewestAssetVersionId","getAssetDetails","handleCloseAssetDetails","handleInitateDelete","handleCloseDeleteDialog","handleDeleteAssetSubmit","validationMessages","validateOptionColumns","recordsToAdd","recordsAdded","addRecordPromises","createAssetFromExcel","handleOnImportAssets","getExcelOptionColumn","optionLabel","valueInUpperCase","trim","toUpperCase","findOption","rowNo","handleDeleteAllFilteredRecordsInitiate","handleDeleteAllFilteredRecordsClose","handleDeleteAllFilteredRecordsSubmit","handleOnDeleteAllFilteredRecords","handlePageSizeChange","setQueryParams","resetPagination","snapshot","getQueryParams","AssetListComponent_esg_asset_table_1_Template_esg_asset_table_onDetailsClick_0_listener","AssetListComponent_esg_asset_table_1_Template_esg_asset_table_onSelectedAssetChange_0_listener","AssetListComponent_esg_asset_table_1_Template_esg_asset_table_onDelete_0_listener","AssetListComponent_esg_asset_table_1_Template_esg_asset_table_onFormSubmit_0_listener","AssetListComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onCancel_0_listener","AssetListComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onSubmit_0_listener","deleteSubmit","AssetListComponent","menuProvider","AssetListComponent_Template","AssetListComponent_esg_dot_flashing_0_Template","AssetListComponent_esg_asset_table_1_Template","AssetListComponent_Template_esg_details_dialog_onClose_2_listener","AssetListComponent_esg_confirm_dialog_3_Template","ClientDetailsStateService","ClientDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_asset_version_form_onClick_0_listener","ClientDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_asset_version_form_onSave_0_listener","ClientDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_asset_version_form_onDelete_0_listener","ClientDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_asset_version_form_onCancel_0_listener","ClientDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_datepicker_onOpen_5_listener","ClientDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_datepicker_onClose_5_listener","ClientDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_datepicker_onChange_5_listener","ClientDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_select_onChange_9_listener","ClientDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_select_onChange_13_listener","ClientDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_textbox_form_onChange_17_listener","ClientDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_textbox_form_onChange_21_listener","ClientDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_textbox_form_onChange_25_listener","ClientDetailsComponent_ng_container_1_esg_asset_version_menu_5_Template_esg_asset_version_menu_onVersionClick_0_listener","ClientDetailsComponent_ng_container_1_esg_asset_version_menu_5_Template_esg_asset_version_menu_onNewVersionClick_0_listener","ClientDetailsComponent_ng_container_1_esg_asset_version_form_4_Template","ClientDetailsComponent_ng_container_1_esg_asset_version_menu_5_Template","ClientDetailsComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onCancel_0_listener","ClientDetailsComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onSubmit_0_listener","ClientDetailsComponent","ClientDetailsComponent_Template","ClientDetailsComponent_ng_container_1_Template","ClientDetailsComponent_esg_dot_flashing_2_Template","ClientDetailsComponent_esg_confirm_dialog_3_Template","ClientsStateService","searchParams","countryOption","ClientsTableComponent_th_3_Template_esg_sortable_table_column_sortChange_2_listener","headerName_r3","headerTitle","ClientsTableComponent_ng_container_6_ng_container_1_tr_1_Template_tr_click_single_0_listener","asset_r5","handleOnSingleClick","ClientsTableComponent_ng_container_6_ng_container_1_tr_1_Template_tr_click_double_0_listener","iniateEdit","ClientsTableComponent_ng_container_6_ng_container_1_tr_2_Template_tr_onClickOutside_0_listener","ClientsTableComponent_ng_container_6_ng_container_1_tr_2_Template_tr_onEscapeKey_0_listener","ClientsTableComponent_ng_container_6_ng_container_1_tr_2_Template_tr_onEnterKey_0_listener","ClientsTableComponent_ng_container_6_ng_container_1_tr_2_ng_container_1_Template","ClientsTableComponent_ng_container_6_ng_container_1_tr_2_Template_button_click_4_listener","assetForm_r7","ClientsTableComponent_ng_container_6_ng_container_1_tr_1_Template","ClientsTableComponent_ng_container_6_ng_container_1_tr_2_Template","ClientsTableComponent_ng_container_6_tr_2_esg_add_button_3_Template_esg_add_button_click_0_listener","initateAdd","ClientsTableComponent_ng_container_6_tr_2_Template_div_onIntersection_2_listener","ClientsTableComponent_ng_container_6_tr_2_esg_add_button_3_Template","ClientsTableComponent_ng_container_6_tr_2_esg_spinner_4_Template","isUpdating","ClientsTableComponent_ng_container_6_tr_3_Template_tr_onClickOutside_0_listener","_r10","ClientsTableComponent_ng_container_6_tr_3_Template_tr_onEscapeKey_0_listener","ClientsTableComponent_ng_container_6_tr_3_Template_tr_onEnterKey_0_listener","ClientsTableComponent_ng_container_6_tr_3_ng_container_1_Template","ClientsTableComponent_ng_container_6_tr_3_Template_button_click_4_listener","ClientsTableComponent_ng_container_6_ng_container_1_Template","ClientsTableComponent_ng_container_6_tr_2_Template","ClientsTableComponent_ng_container_6_tr_3_Template","ClientsTableComponent_tr_7_ng_container_1_Template","ClientsTableComponent_ng_template_8_ng_container_0_esg_table_select_4_Template_esg_table_select_onChange_0_listener","ClientsTableComponent_ng_template_8_ng_container_0_esg_table_select_4_Template","ClientsTableComponent_ng_template_8_ng_container_0_Template_esg_table_select_onChange_6_listener","ClientsTableComponent_ng_template_8_ng_container_0_Template_div_focus_7_listener","ClientsTableComponent_ng_template_8_ng_container_0_Template","ClientsTableComponent","headerArray","h","defaultCountry","defaultOrganization","onSelectedAssetChange","onFormSubmit","handleSubmitRejection","_name","useExisting","ClientsTableComponent_Template","ClientsTableComponent_th_3_Template","ClientsTableComponent_th_4_Template","ClientsTableComponent_ng_container_6_Template","ClientsTableComponent_tr_7_Template","ClientsTableComponent_ng_template_8_Template","ClientsComponent_ng_container_1_esg_search_filter_bar_6_Template_esg_search_filter_bar_searchValueChange_0_listener","ClientsComponent_ng_container_1_esg_search_filter_bar_6_Template_esg_dropdown_multiple_form_onChange_2_listener","ClientsComponent_ng_container_1_esg_search_filter_bar_6_Template_esg_dropdown_multiple_form_onChange_3_listener","ClientsComponent_ng_container_1_esg_pagination_8_Template_esg_pagination_onPaginationChange_0_listener","ClientsComponent_ng_container_1_Template_esg_import_from_excel_toolbar_onImportData_5_listener","ClientsComponent_ng_container_1_Template_esg_import_from_excel_toolbar_onImportDataOpen_5_listener","ClientsComponent_ng_container_1_Template_esg_import_from_excel_toolbar_onClose_5_listener","ClientsComponent_ng_container_1_esg_search_filter_bar_6_Template","ClientsComponent_ng_container_1_Template_esg_clients_table_onDetailsClick_7_listener","ClientsComponent_ng_container_1_Template_esg_clients_table_onSelectedAssetChange_7_listener","ClientsComponent_ng_container_1_Template_esg_clients_table_onDelete_7_listener","ClientsComponent_ng_container_1_Template_esg_clients_table_onFormSubmit_7_listener","ClientsComponent_ng_container_1_Template_esg_clients_table_onSortChange_7_listener","ClientsComponent_ng_container_1_esg_pagination_8_Template","ClientsComponent_esg_confirm_dialog_4_Template_esg_confirm_dialog_onCancel_0_listener","ClientsComponent_esg_confirm_dialog_4_Template_esg_confirm_dialog_onSubmit_0_listener","ClientsComponent","ClientsComponent_Template","ClientsComponent_esg_dot_flashing_0_Template","ClientsComponent_ng_container_1_Template","ClientsComponent_Template_esg_details_dialog_onClose_2_listener","ClientsComponent_esg_client_details_3_Template","ClientsComponent_esg_confirm_dialog_4_Template","facilityTypeOptions","FacilitiesStateService","typeOptions","typeOption","FacilitiesTableComponent_th_3_Template_esg_sortable_table_column_sortChange_2_listener","FacilitiesTableComponent_ng_container_6_ng_container_1_tr_1_Template_tr_click_single_0_listener","FacilitiesTableComponent_ng_container_6_ng_container_1_tr_1_Template_tr_click_double_0_listener","FacilitiesTableComponent_ng_container_6_ng_container_1_tr_2_Template_tr_onClickOutside_0_listener","FacilitiesTableComponent_ng_container_6_ng_container_1_tr_2_Template_tr_onEscapeKey_0_listener","FacilitiesTableComponent_ng_container_6_ng_container_1_tr_2_Template_tr_onEnterKey_0_listener","FacilitiesTableComponent_ng_container_6_ng_container_1_tr_2_ng_container_1_Template","FacilitiesTableComponent_ng_container_6_ng_container_1_tr_2_Template_button_click_4_listener","FacilitiesTableComponent_ng_container_6_ng_container_1_tr_1_Template","FacilitiesTableComponent_ng_container_6_ng_container_1_tr_2_Template","FacilitiesTableComponent_ng_container_6_tr_2_esg_add_button_3_Template_esg_add_button_click_0_listener","FacilitiesTableComponent_ng_container_6_tr_2_Template_div_onIntersection_2_listener","FacilitiesTableComponent_ng_container_6_tr_2_esg_add_button_3_Template","FacilitiesTableComponent_ng_container_6_tr_2_esg_spinner_4_Template","FacilitiesTableComponent_ng_container_6_tr_3_Template_tr_onClickOutside_0_listener","FacilitiesTableComponent_ng_container_6_tr_3_Template_tr_onEscapeKey_0_listener","FacilitiesTableComponent_ng_container_6_tr_3_Template_tr_onEnterKey_0_listener","FacilitiesTableComponent_ng_container_6_tr_3_ng_container_1_Template","FacilitiesTableComponent_ng_container_6_tr_3_Template_button_click_4_listener","FacilitiesTableComponent_ng_container_6_ng_container_1_Template","FacilitiesTableComponent_ng_container_6_tr_2_Template","FacilitiesTableComponent_ng_container_6_tr_3_Template","FacilitiesTableComponent_tr_7_ng_container_1_Template","FacilitiesTableComponent_ng_template_8_ng_container_0_esg_table_select_4_Template_esg_table_select_onChange_0_listener","FacilitiesTableComponent_ng_template_8_ng_container_0_esg_table_select_8_Template_esg_table_select_onChange_0_listener","_r13","FacilitiesTableComponent_ng_template_8_ng_container_0_esg_table_select_4_Template","FacilitiesTableComponent_ng_template_8_ng_container_0_Template_esg_table_select_onChange_6_listener","FacilitiesTableComponent_ng_template_8_ng_container_0_esg_table_select_8_Template","FacilitiesTableComponent_ng_template_8_ng_container_0_Template_div_focus_9_listener","FacilitiesTableComponent_ng_template_8_ng_container_0_Template","FacilitiesTableComponent","FacilitiesTableComponent_Template","FacilitiesTableComponent_th_3_Template","FacilitiesTableComponent_th_4_Template","FacilitiesTableComponent_ng_container_6_Template","FacilitiesTableComponent_tr_7_Template","FacilitiesTableComponent_ng_template_8_Template","FacilitiesComponent_ng_container_1_esg_search_filter_bar_6_Template_esg_search_filter_bar_searchValueChange_0_listener","FacilitiesComponent_ng_container_1_esg_search_filter_bar_6_Template_esg_dropdown_multiple_form_onChange_2_listener","FacilitiesComponent_ng_container_1_esg_search_filter_bar_6_Template_esg_dropdown_multiple_form_onChange_3_listener","FacilitiesComponent_ng_container_1_esg_search_filter_bar_6_Template_esg_dropdown_multiple_form_onChange_4_listener","facilityState","FacilitiesComponent_ng_container_1_esg_pagination_8_Template_esg_pagination_onPaginationChange_0_listener","FacilitiesComponent_ng_container_1_Template_esg_import_from_excel_toolbar_onImportData_5_listener","FacilitiesComponent_ng_container_1_Template_esg_import_from_excel_toolbar_onImportDataOpen_5_listener","FacilitiesComponent_ng_container_1_Template_esg_import_from_excel_toolbar_onClose_5_listener","FacilitiesComponent_ng_container_1_esg_search_filter_bar_6_Template","FacilitiesComponent_ng_container_1_Template_esg_facilities_table_onDetailsClick_7_listener","FacilitiesComponent_ng_container_1_Template_esg_facilities_table_onSelectedAssetChange_7_listener","FacilitiesComponent_ng_container_1_Template_esg_facilities_table_onDelete_7_listener","FacilitiesComponent_ng_container_1_Template_esg_facilities_table_onFormSubmit_7_listener","FacilitiesComponent_ng_container_1_Template_esg_facilities_table_onSortChange_7_listener","FacilitiesComponent_ng_container_1_esg_pagination_8_Template","FacilitiesComponent_esg_confirm_dialog_4_Template_esg_confirm_dialog_onCancel_0_listener","FacilitiesComponent_esg_confirm_dialog_4_Template_esg_confirm_dialog_onSubmit_0_listener","FacilitiesComponent","FacilitiesComponent_Template","FacilitiesComponent_esg_dot_flashing_0_Template","FacilitiesComponent_ng_container_1_Template","FacilitiesComponent_Template_esg_details_dialog_onClose_2_listener","FacilitiesComponent_esg_facility_details_3_Template","FacilitiesComponent_esg_confirm_dialog_4_Template","FacilityDetailsStateService","facility","FacilityDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_asset_version_form_onClick_0_listener","FacilityDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_asset_version_form_onSave_0_listener","FacilityDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_asset_version_form_onDelete_0_listener","FacilityDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_asset_version_form_onCancel_0_listener","FacilityDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_datepicker_onOpen_5_listener","FacilityDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_datepicker_onClose_5_listener","FacilityDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_datepicker_onChange_5_listener","FacilityDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_select_onChange_9_listener","FacilityDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_textbox_form_onChange_13_listener","FacilityDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_select_onChange_17_listener","FacilityDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_select_onChange_21_listener","FacilityDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_textbox_form_onChange_25_listener","FacilityDetailsComponent_ng_container_1_esg_asset_version_menu_5_Template_esg_asset_version_menu_onVersionClick_0_listener","FacilityDetailsComponent_ng_container_1_esg_asset_version_menu_5_Template_esg_asset_version_menu_onNewVersionClick_0_listener","FacilityDetailsComponent_ng_container_1_esg_asset_version_form_4_Template","FacilityDetailsComponent_ng_container_1_esg_asset_version_menu_5_Template","FacilityDetailsComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onCancel_0_listener","FacilityDetailsComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onSubmit_0_listener","FacilityDetailsComponent","FacilityDetailsComponent_Template","FacilityDetailsComponent_ng_container_1_Template","FacilityDetailsComponent_esg_dot_flashing_2_Template","FacilityDetailsComponent_esg_confirm_dialog_3_Template","OrganizationAssetDetailsStateService","OrganizationAssetDetailsComponent","organizationCountry","OrganizationAssetDetailsComponent_Template","OrganizationAssetDetailsComponent_ng_container_1_Template","OrganizationAssetDetailsComponent_esg_dot_flashing_2_Template","NestedOrganizationAssetComponent_tr_0_ng_container_3_esg_organization_icon_1_Template","NestedOrganizationAssetComponent_tr_0_ng_container_3_esg_suborg_icon_2_Template","isTopLevel","NestedOrganizationAssetComponent_tr_0_Template_tr_click_0_listener","handleOnDetailsClick","NestedOrganizationAssetComponent_tr_0_Template_button_click_2_listener","handleOnExpand","NestedOrganizationAssetComponent_tr_0_ng_container_3_Template","activeAssetId","assetDetails","NestedOrganizationAssetComponent_ng_container_1_esg_nested_organization_asset_1_Template_esg_nested_organization_asset_onDetailsClick_0_listener","handleOnSubOrganizationDetailsClick","subOrganization_r4","nextIndent","NestedOrganizationAssetComponent_ng_container_1_esg_nested_organization_asset_1_Template","NestedOrganizationAssetComponent","onDetailsClick","NestedOrganizationAssetComponent_Template","NestedOrganizationAssetComponent_tr_0_Template","NestedOrganizationAssetComponent_ng_container_1_Template","OrganizationAssetsStateService","organizationDetailsOpen","organizationAssetMap","organizationOrderMap","isAdminLinkDisabled","orgainizationId","getOrganizationAssets","updateOrganizationAssetTree","updateAssetUiInTree","orgTree","orderedSubOrgs","selectedOrganizationAsset","OrganizationAssetsComponent_ng_container_1_esg_search_filter_bar_5_Template_esg_search_filter_bar_searchValueChange_0_listener","OrganizationAssetsComponent_ng_container_1_esg_search_filter_bar_5_Template_esg_dropdown_multiple_form_onChange_2_listener","OrganizationAssetsComponent_ng_container_1_esg_nested_organization_asset_17_Template_esg_nested_organization_asset_onDetailsClick_0_listener","organization_r5","OrganizationAssetsComponent_ng_container_1_esg_pagination_23_Template_esg_pagination_onPaginationChange_0_listener","OrganizationAssetsComponent_ng_container_1_esg_search_filter_bar_5_Template","OrganizationAssetsComponent_ng_container_1_Template_esg_sortable_table_column_sortChange_11_listener","OrganizationAssetsComponent_ng_container_1_Template_esg_sortable_table_column_sortChange_14_listener","OrganizationAssetsComponent_ng_container_1_esg_nested_organization_asset_17_Template","OrganizationAssetsComponent_ng_container_1_esg_pagination_23_Template","OrganizationAssetsComponent","OrganizationAssetsComponent_Template","OrganizationAssetsComponent_esg_dot_flashing_0_Template","OrganizationAssetsComponent_ng_container_1_Template","OrganizationAssetsComponent_Template_esg_details_dialog_onClose_2_listener","OrganizationAssetsComponent_esg_organization_asset_details_3_Template","SupplierStatusOptions","SupplierDetailsStateService","statusOptions","RiskColors","Unknown","VeryHighRisk","HighRisk","MediumRisk","LowRisk","NoRisk","RiskLabels","supplier","getScore","isNaN","SupplierDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_asset_version_form_onClick_0_listener","SupplierDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_asset_version_form_onSave_0_listener","SupplierDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_asset_version_form_onDelete_0_listener","SupplierDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_asset_version_form_onCancel_0_listener","SupplierDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_datepicker_onOpen_5_listener","SupplierDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_datepicker_onClose_5_listener","SupplierDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_datepicker_onChange_5_listener","SupplierDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_select_onChange_9_listener","SupplierDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_select_onChange_13_listener","SupplierDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_select_onChange_17_listener","SupplierDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_select_onChange_21_listener","SupplierDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_textbox_form_onChange_25_listener","SupplierDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_textbox_form_onChange_29_listener","SupplierDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_textbox_form_onChange_33_listener","SupplierDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_textbox_form_onChange_37_listener","SupplierDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_textbox_form_onChange_41_listener","SupplierDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_textbox_form_onChange_45_listener","SupplierDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_textbox_form_onChange_49_listener","sectorsOptions","SupplierDetailsComponent_ng_container_1_esg_asset_version_menu_5_Template_esg_asset_version_menu_onVersionClick_0_listener","SupplierDetailsComponent_ng_container_1_esg_asset_version_menu_5_Template_esg_asset_version_menu_onNewVersionClick_0_listener","SupplierDetailsComponent_ng_container_1_div_11_span_47_Template","SupplierDetailsComponent_ng_container_1_div_12_span_23_Template","SupplierDetailsComponent_ng_container_1_esg_asset_version_form_4_Template","SupplierDetailsComponent_ng_container_1_esg_asset_version_menu_5_Template","SupplierDetailsComponent_ng_container_1_div_11_Template","SupplierDetailsComponent_ng_container_1_div_12_Template","SupplierDetailsComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onCancel_0_listener","SupplierDetailsComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onSubmit_0_listener","SupplierDetailsComponent","SupplierDetailsComponent_Template","SupplierDetailsComponent_ng_container_1_Template","SupplierDetailsComponent_esg_dot_flashing_2_Template","SupplierDetailsComponent_esg_confirm_dialog_3_Template","SuppliersStateService","riskOptions","Active","SuppliersTableComponent_th_18_Template_esg_sortable_table_column_sortChange_2_listener","SuppliersTableComponent_th_19_Template_esg_sortable_table_column_sortChange_2_listener","SuppliersTableComponent_ng_container_22_ng_container_1_tr_1_Template_tr_click_single_0_listener","asset_r6","SuppliersTableComponent_ng_container_22_ng_container_1_tr_1_Template_tr_click_double_0_listener","SuppliersTableComponent_ng_container_22_ng_container_1_tr_2_Template_tr_onClickOutside_0_listener","SuppliersTableComponent_ng_container_22_ng_container_1_tr_2_Template_tr_onEscapeKey_0_listener","SuppliersTableComponent_ng_container_22_ng_container_1_tr_2_Template_tr_onEnterKey_0_listener","SuppliersTableComponent_ng_container_22_ng_container_1_tr_2_ng_container_1_Template","SuppliersTableComponent_ng_container_22_ng_container_1_tr_2_Template_button_click_6_listener","assetForm_r8","SuppliersTableComponent_ng_container_22_ng_container_1_tr_1_Template","SuppliersTableComponent_ng_container_22_ng_container_1_tr_2_Template","SuppliersTableComponent_ng_container_22_tr_2_esg_add_button_3_Template_esg_add_button_click_0_listener","SuppliersTableComponent_ng_container_22_tr_2_Template_div_onIntersection_2_listener","SuppliersTableComponent_ng_container_22_tr_2_esg_add_button_3_Template","SuppliersTableComponent_ng_container_22_tr_2_esg_spinner_4_Template","SuppliersTableComponent_ng_container_22_tr_3_Template_tr_onClickOutside_0_listener","SuppliersTableComponent_ng_container_22_tr_3_Template_tr_onEscapeKey_0_listener","SuppliersTableComponent_ng_container_22_tr_3_Template_tr_onEnterKey_0_listener","SuppliersTableComponent_ng_container_22_tr_3_ng_container_1_Template","SuppliersTableComponent_ng_container_22_tr_3_Template_button_click_6_listener","SuppliersTableComponent_ng_container_22_ng_container_1_Template","SuppliersTableComponent_ng_container_22_tr_2_Template","SuppliersTableComponent_ng_container_22_tr_3_Template","SuppliersTableComponent_tr_23_ng_container_1_Template","SuppliersTableComponent_ng_template_24_ng_container_0_esg_table_select_4_Template_esg_table_select_onChange_0_listener","SuppliersTableComponent_ng_template_24_ng_container_0_esg_table_select_8_Template_esg_table_select_onChange_0_listener","_r14","SuppliersTableComponent_ng_template_24_ng_container_0_esg_table_select_4_Template","SuppliersTableComponent_ng_template_24_ng_container_0_esg_textbox_form_6_Template","SuppliersTableComponent_ng_template_24_ng_container_0_esg_table_select_8_Template","SuppliersTableComponent_ng_template_24_ng_container_0_Template_div_focus_9_listener","SuppliersTableComponent_ng_template_24_ng_container_0_Template_esg_table_select_onChange_11_listener","SuppliersTableComponent_ng_template_24_ng_container_0_Template_div_focus_12_listener","SuppliersTableComponent_ng_template_24_ng_container_0_Template","SuppliersTableComponent","SuppliersTableComponent_Template","SuppliersTableComponent_Template_esg_sortable_table_column_sortChange_5_listener","SuppliersTableComponent_Template_esg_sortable_table_column_sortChange_8_listener","SuppliersTableComponent_Template_esg_sortable_table_column_sortChange_11_listener","SuppliersTableComponent_Template_esg_sortable_table_column_sortChange_14_listener","SuppliersTableComponent_Template_esg_sortable_table_column_sortChange_17_listener","SuppliersTableComponent_th_18_Template","SuppliersTableComponent_th_19_Template","SuppliersTableComponent_th_20_Template","SuppliersTableComponent_ng_container_22_Template","SuppliersTableComponent_tr_23_Template","SuppliersTableComponent_ng_template_24_Template","SuppliersComponent_ng_container_1_esg_search_filter_bar_6_Template_esg_search_filter_bar_searchValueChange_0_listener","SuppliersComponent_ng_container_1_esg_search_filter_bar_6_Template_esg_dropdown_multiple_form_onChange_2_listener","SuppliersComponent_ng_container_1_esg_search_filter_bar_6_Template_esg_dropdown_multiple_form_onChange_3_listener","SuppliersComponent_ng_container_1_esg_search_filter_bar_6_Template_esg_dropdown_multiple_form_onChange_4_listener","SuppliersComponent_ng_container_1_esg_search_filter_bar_6_Template_esg_dropdown_multiple_form_onChange_5_listener","SuppliersComponent_ng_container_1_esg_search_filter_bar_6_Template_esg_dropdown_multiple_form_onChange_6_listener","supplierState","SuppliersComponent_ng_container_1_esg_confirm_dialog_7_Template_esg_confirm_dialog_onSubmit_0_listener","SuppliersComponent_ng_container_1_esg_confirm_dialog_7_Template_esg_confirm_dialog_onCancel_0_listener","SuppliersComponent_ng_container_1_esg_pagination_9_Template_esg_pagination_onPaginationChange_0_listener","SuppliersComponent_ng_container_1_Template_esg_import_from_excel_toolbar_onImportData_5_listener","SuppliersComponent_ng_container_1_Template_esg_import_from_excel_toolbar_onImportDataOpen_5_listener","SuppliersComponent_ng_container_1_Template_esg_import_from_excel_toolbar_onClose_5_listener","SuppliersComponent_ng_container_1_esg_search_filter_bar_6_Template","SuppliersComponent_ng_container_1_esg_confirm_dialog_7_Template","SuppliersComponent_ng_container_1_Template_esg_suppliers_table_onDetailsClick_8_listener","SuppliersComponent_ng_container_1_Template_esg_suppliers_table_onSelectedAssetChange_8_listener","SuppliersComponent_ng_container_1_Template_esg_suppliers_table_onDelete_8_listener","SuppliersComponent_ng_container_1_Template_esg_suppliers_table_onFormSubmit_8_listener","SuppliersComponent_ng_container_1_Template_esg_suppliers_table_onSortChange_8_listener","SuppliersComponent_ng_container_1_esg_pagination_9_Template","SuppliersComponent_esg_confirm_dialog_4_Template_esg_confirm_dialog_onCancel_0_listener","SuppliersComponent_esg_confirm_dialog_4_Template_esg_confirm_dialog_onSubmit_0_listener","SuppliersComponent","SuppliersComponent_Template","SuppliersComponent_esg_dot_flashing_0_Template","SuppliersComponent_ng_container_1_Template","SuppliersComponent_Template_esg_details_dialog_onClose_2_listener","SuppliersComponent_esg_supplier_details_3_Template","SuppliersComponent_esg_confirm_dialog_4_Template","powerSourceOptions","VehicleCraftMachineryDetailsStateService","CO2","NOx","VehicleCraftMachineryDetailsComponent_ng_container_1_esg_asset_version_form_4_ng_container_22_Template_esg_textbox_form_onChange_4_listener","VehicleCraftMachineryDetailsComponent_ng_container_1_esg_asset_version_form_4_ng_container_22_Template_esg_textbox_form_onChange_8_listener","VehicleCraftMachineryDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_asset_version_form_onClick_0_listener","VehicleCraftMachineryDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_asset_version_form_onSave_0_listener","VehicleCraftMachineryDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_asset_version_form_onDelete_0_listener","VehicleCraftMachineryDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_asset_version_form_onCancel_0_listener","VehicleCraftMachineryDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_datepicker_onOpen_5_listener","VehicleCraftMachineryDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_datepicker_onClose_5_listener","VehicleCraftMachineryDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_datepicker_onChange_5_listener","VehicleCraftMachineryDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_textbox_form_onChange_9_listener","VehicleCraftMachineryDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_select_onChange_13_listener","VehicleCraftMachineryDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_textbox_form_onChange_17_listener","VehicleCraftMachineryDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_select_onChange_21_listener","VehicleCraftMachineryDetailsComponent_ng_container_1_esg_asset_version_form_4_ng_container_22_Template","VehicleCraftMachineryDetailsComponent_ng_container_1_esg_asset_version_menu_5_Template_esg_asset_version_menu_onVersionClick_0_listener","VehicleCraftMachineryDetailsComponent_ng_container_1_esg_asset_version_menu_5_Template_esg_asset_version_menu_onNewVersionClick_0_listener","VehicleCraftMachineryDetailsComponent_ng_container_1_esg_asset_version_form_4_Template","VehicleCraftMachineryDetailsComponent_ng_container_1_esg_asset_version_menu_5_Template","VehicleCraftMachineryDetailsComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onCancel_0_listener","VehicleCraftMachineryDetailsComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onSubmit_0_listener","VehicleCraftMachineryDetailsComponent","VehicleCraftMachineryDetailsComponent_Template","VehicleCraftMachineryDetailsComponent_ng_container_1_Template","VehicleCraftMachineryDetailsComponent_esg_dot_flashing_2_Template","VehicleCraftMachineryDetailsComponent_esg_confirm_dialog_3_Template","vehicleCraftMachineryTypeOptions","VehiclesCraftsMachineryStateService","subTypeOptions","subTypeOption","VehiclesCraftsMachineryTableComponent_th_3_Template_esg_sortable_table_column_sortChange_2_listener","VehiclesCraftsMachineryTableComponent_ng_container_6_ng_container_1_tr_1_Template_tr_click_single_0_listener","VehiclesCraftsMachineryTableComponent_ng_container_6_ng_container_1_tr_1_Template_tr_click_double_0_listener","VehiclesCraftsMachineryTableComponent_ng_container_6_ng_container_1_tr_2_Template_tr_onClickOutside_0_listener","VehiclesCraftsMachineryTableComponent_ng_container_6_ng_container_1_tr_2_Template_tr_onEscapeKey_0_listener","VehiclesCraftsMachineryTableComponent_ng_container_6_ng_container_1_tr_2_Template_tr_onEnterKey_0_listener","VehiclesCraftsMachineryTableComponent_ng_container_6_ng_container_1_tr_2_ng_container_1_Template","VehiclesCraftsMachineryTableComponent_ng_container_6_ng_container_1_tr_2_Template_button_click_4_listener","VehiclesCraftsMachineryTableComponent_ng_container_6_ng_container_1_tr_1_Template","VehiclesCraftsMachineryTableComponent_ng_container_6_ng_container_1_tr_2_Template","VehiclesCraftsMachineryTableComponent_ng_container_6_tr_2_esg_add_button_3_Template_esg_add_button_click_0_listener","VehiclesCraftsMachineryTableComponent_ng_container_6_tr_2_Template_div_onIntersection_2_listener","VehiclesCraftsMachineryTableComponent_ng_container_6_tr_2_esg_add_button_3_Template","VehiclesCraftsMachineryTableComponent_ng_container_6_tr_2_esg_spinner_4_Template","VehiclesCraftsMachineryTableComponent_ng_container_6_tr_3_Template_tr_onClickOutside_0_listener","VehiclesCraftsMachineryTableComponent_ng_container_6_tr_3_Template_tr_onEscapeKey_0_listener","VehiclesCraftsMachineryTableComponent_ng_container_6_tr_3_Template_tr_onEnterKey_0_listener","VehiclesCraftsMachineryTableComponent_ng_container_6_tr_3_ng_container_1_Template","VehiclesCraftsMachineryTableComponent_ng_container_6_tr_3_Template_button_click_4_listener","VehiclesCraftsMachineryTableComponent_ng_container_6_ng_container_1_Template","VehiclesCraftsMachineryTableComponent_ng_container_6_tr_2_Template","VehiclesCraftsMachineryTableComponent_ng_container_6_tr_3_Template","VehiclesCraftsMachineryTableComponent_tr_7_ng_container_1_Template","VehiclesCraftsMachineryTableComponent_ng_template_8_ng_container_0_esg_table_select_4_Template_esg_table_select_onChange_0_listener","VehiclesCraftsMachineryTableComponent_ng_template_8_ng_container_0_esg_table_select_6_Template_esg_table_select_onChange_0_listener","VehiclesCraftsMachineryTableComponent_ng_template_8_ng_container_0_esg_table_select_4_Template","VehiclesCraftsMachineryTableComponent_ng_template_8_ng_container_0_esg_table_select_6_Template","VehiclesCraftsMachineryTableComponent_ng_template_8_ng_container_0_Template_esg_table_select_onChange_8_listener","VehiclesCraftsMachineryTableComponent_ng_template_8_ng_container_0_Template_div_focus_9_listener","VehiclesCraftsMachineryTableComponent_ng_template_8_ng_container_0_Template","VehiclesCraftsMachineryTableComponent","VehiclesCraftsMachineryTableComponent_Template","VehiclesCraftsMachineryTableComponent_th_3_Template","VehiclesCraftsMachineryTableComponent_th_4_Template","VehiclesCraftsMachineryTableComponent_ng_container_6_Template","VehiclesCraftsMachineryTableComponent_tr_7_Template","VehiclesCraftsMachineryTableComponent_ng_template_8_Template","VehiclesCraftsMachineryComponent_ng_container_1_esg_search_filter_bar_6_Template_esg_search_filter_bar_searchValueChange_0_listener","VehiclesCraftsMachineryComponent_ng_container_1_esg_search_filter_bar_6_Template_esg_dropdown_multiple_form_onChange_2_listener","VehiclesCraftsMachineryComponent_ng_container_1_esg_search_filter_bar_6_Template_esg_dropdown_multiple_form_onChange_3_listener","VehiclesCraftsMachineryComponent_ng_container_1_esg_search_filter_bar_6_Template_esg_dropdown_multiple_form_onChange_4_listener","vehicleState","VehiclesCraftsMachineryComponent_ng_container_1_esg_pagination_8_Template_esg_pagination_onPaginationChange_0_listener","VehiclesCraftsMachineryComponent_ng_container_1_Template_esg_import_from_excel_toolbar_onImportData_5_listener","VehiclesCraftsMachineryComponent_ng_container_1_Template_esg_import_from_excel_toolbar_onImportDataOpen_5_listener","VehiclesCraftsMachineryComponent_ng_container_1_Template_esg_import_from_excel_toolbar_onClose_5_listener","VehiclesCraftsMachineryComponent_ng_container_1_esg_search_filter_bar_6_Template","VehiclesCraftsMachineryComponent_ng_container_1_Template_esg_vehicles_crafts_machinery_table_onDetailsClick_7_listener","VehiclesCraftsMachineryComponent_ng_container_1_Template_esg_vehicles_crafts_machinery_table_onSelectedAssetChange_7_listener","VehiclesCraftsMachineryComponent_ng_container_1_Template_esg_vehicles_crafts_machinery_table_onDelete_7_listener","VehiclesCraftsMachineryComponent_ng_container_1_Template_esg_vehicles_crafts_machinery_table_onFormSubmit_7_listener","VehiclesCraftsMachineryComponent_ng_container_1_Template_esg_vehicles_crafts_machinery_table_onSortChange_7_listener","VehiclesCraftsMachineryComponent_ng_container_1_esg_pagination_8_Template","VehiclesCraftsMachineryComponent_esg_confirm_dialog_4_Template_esg_confirm_dialog_onCancel_0_listener","VehiclesCraftsMachineryComponent_esg_confirm_dialog_4_Template_esg_confirm_dialog_onSubmit_0_listener","VehiclesCraftsMachineryComponent","VehiclesCraftsMachineryComponent_Template","VehiclesCraftsMachineryComponent_esg_dot_flashing_0_Template","VehiclesCraftsMachineryComponent_ng_container_1_Template","VehiclesCraftsMachineryComponent_Template_esg_details_dialog_onClose_2_listener","VehiclesCraftsMachineryComponent_esg_vehicle_craft_machinery_details_3_Template","VehiclesCraftsMachineryComponent_esg_confirm_dialog_4_Template","vesselTypeOptions","VesselDetailsStateService","yesNoOptions","scrubberSystemOptions","recycleYear","scrubbersSystem","sys","defaultOrganizationCode","setScrubbersInstalled","setRoRoVessel","VesselDetailsComponent_ng_container_1_esg_asset_version_form_4_ng_container_14_ng_container_5_Template_esg_textbox_form_onChange_4_listener","VesselDetailsComponent_ng_container_1_esg_asset_version_form_4_ng_container_14_ng_container_6_Template_esg_textbox_form_onChange_4_listener","VesselDetailsComponent_ng_container_1_esg_asset_version_form_4_ng_container_14_Template_esg_select_onChange_4_listener","VesselDetailsComponent_ng_container_1_esg_asset_version_form_4_ng_container_14_ng_container_5_Template","VesselDetailsComponent_ng_container_1_esg_asset_version_form_4_ng_container_14_ng_container_6_Template","PassengerCruise","VesselDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_asset_version_form_onClick_0_listener","VesselDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_asset_version_form_onSave_0_listener","VesselDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_asset_version_form_onDelete_0_listener","VesselDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_asset_version_form_onCancel_0_listener","VesselDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_datepicker_onOpen_5_listener","VesselDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_datepicker_onClose_5_listener","VesselDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_datepicker_onChange_5_listener","VesselDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_select_onChange_9_listener","VesselDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_select_onChange_13_listener","VesselDetailsComponent_ng_container_1_esg_asset_version_form_4_ng_container_14_Template","VesselDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_textbox_form_onChange_18_listener","VesselDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_textbox_form_onChange_22_listener","VesselDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_textbox_form_onChange_26_listener","VesselDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_select_onChange_30_listener","VesselDetailsComponent_ng_container_1_esg_asset_version_form_4_Template_esg_select_onChange_31_listener","Cargo","VesselDetailsComponent_ng_container_1_esg_asset_version_menu_5_Template_esg_asset_version_menu_onVersionClick_0_listener","VesselDetailsComponent_ng_container_1_esg_asset_version_menu_5_Template_esg_asset_version_menu_onNewVersionClick_0_listener","VesselDetailsComponent_ng_container_1_esg_asset_version_form_4_Template","VesselDetailsComponent_ng_container_1_esg_asset_version_menu_5_Template","VesselDetailsComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onCancel_0_listener","VesselDetailsComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onSubmit_0_listener","VesselDetailsComponent","VesselDetailsComponent_Template","VesselDetailsComponent_ng_container_1_Template","VesselDetailsComponent_esg_dot_flashing_2_Template","VesselDetailsComponent_esg_confirm_dialog_3_Template","VesselsStateService","VesselsTableComponent_th_3_Template_esg_sortable_table_column_sortChange_2_listener","VesselsTableComponent_ng_container_6_ng_container_1_tr_1_Template_tr_click_single_0_listener","VesselsTableComponent_ng_container_6_ng_container_1_tr_1_Template_tr_click_double_0_listener","VesselsTableComponent_ng_container_6_ng_container_1_tr_2_Template_tr_onClickOutside_0_listener","VesselsTableComponent_ng_container_6_ng_container_1_tr_2_Template_tr_onEscapeKey_0_listener","VesselsTableComponent_ng_container_6_ng_container_1_tr_2_Template_tr_onEnterKey_0_listener","VesselsTableComponent_ng_container_6_ng_container_1_tr_2_ng_container_1_Template","VesselsTableComponent_ng_container_6_ng_container_1_tr_2_Template_button_click_4_listener","VesselsTableComponent_ng_container_6_ng_container_1_tr_1_Template","VesselsTableComponent_ng_container_6_ng_container_1_tr_2_Template","VesselsTableComponent_ng_container_6_tr_2_esg_add_button_3_Template_esg_add_button_click_0_listener","VesselsTableComponent_ng_container_6_tr_2_Template_div_onIntersection_2_listener","VesselsTableComponent_ng_container_6_tr_2_esg_add_button_3_Template","VesselsTableComponent_ng_container_6_tr_2_esg_spinner_4_Template","VesselsTableComponent_ng_container_6_tr_3_Template_tr_onClickOutside_0_listener","VesselsTableComponent_ng_container_6_tr_3_Template_tr_onEscapeKey_0_listener","VesselsTableComponent_ng_container_6_tr_3_Template_tr_onEnterKey_0_listener","VesselsTableComponent_ng_container_6_tr_3_ng_container_1_Template","VesselsTableComponent_ng_container_6_tr_3_Template_button_click_4_listener","VesselsTableComponent_ng_container_6_ng_container_1_Template","VesselsTableComponent_ng_container_6_tr_2_Template","VesselsTableComponent_ng_container_6_tr_3_Template","VesselsTableComponent_tr_7_ng_container_1_Template","VesselsTableComponent_ng_template_8_ng_container_0_esg_table_select_4_Template_esg_table_select_onChange_0_listener","VesselsTableComponent_ng_template_8_ng_container_0_esg_table_select_4_Template","VesselsTableComponent_ng_template_8_ng_container_0_Template_esg_table_select_onChange_6_listener","VesselsTableComponent_ng_template_8_ng_container_0_Template_div_focus_7_listener","VesselsTableComponent_ng_template_8_ng_container_0_Template","VesselsTableComponent","VesselsTableComponent_Template","VesselsTableComponent_th_3_Template","VesselsTableComponent_th_4_Template","VesselsTableComponent_ng_container_6_Template","VesselsTableComponent_tr_7_Template","VesselsTableComponent_ng_template_8_Template","VesselsComponent_ng_container_1_esg_search_filter_bar_6_Template_esg_search_filter_bar_searchValueChange_0_listener","VesselsComponent_ng_container_1_esg_search_filter_bar_6_Template_esg_dropdown_multiple_form_onChange_2_listener","VesselsComponent_ng_container_1_esg_search_filter_bar_6_Template_esg_dropdown_multiple_form_onChange_3_listener","vesselState","VesselsComponent_ng_container_1_esg_confirm_dialog_7_Template_esg_confirm_dialog_onSubmit_0_listener","VesselsComponent_ng_container_1_esg_confirm_dialog_7_Template_esg_confirm_dialog_onCancel_0_listener","VesselsComponent_ng_container_1_esg_pagination_9_Template_esg_pagination_onPaginationChange_0_listener","VesselsComponent_ng_container_1_Template_esg_import_from_excel_toolbar_onImportData_5_listener","VesselsComponent_ng_container_1_Template_esg_import_from_excel_toolbar_onImportDataOpen_5_listener","VesselsComponent_ng_container_1_Template_esg_import_from_excel_toolbar_onClose_5_listener","VesselsComponent_ng_container_1_esg_search_filter_bar_6_Template","VesselsComponent_ng_container_1_esg_confirm_dialog_7_Template","VesselsComponent_ng_container_1_Template_esg_vessels_table_onDetailsClick_8_listener","VesselsComponent_ng_container_1_Template_esg_vessels_table_onSelectedAssetChange_8_listener","VesselsComponent_ng_container_1_Template_esg_vessels_table_onDelete_8_listener","VesselsComponent_ng_container_1_Template_esg_vessels_table_onFormSubmit_8_listener","VesselsComponent_ng_container_1_Template_esg_vessels_table_onSortChange_8_listener","VesselsComponent_ng_container_1_esg_pagination_9_Template","VesselsComponent_esg_confirm_dialog_4_Template_esg_confirm_dialog_onCancel_0_listener","VesselsComponent_esg_confirm_dialog_4_Template_esg_confirm_dialog_onSubmit_0_listener","VesselsComponent","VesselsComponent_Template","VesselsComponent_esg_dot_flashing_0_Template","VesselsComponent_ng_container_1_Template","VesselsComponent_Template_esg_details_dialog_onClose_2_listener","VesselsComponent_esg_vessel_details_3_Template","VesselsComponent_esg_confirm_dialog_4_Template","AssetsDefaultComponent","noCategoryText","AssetsDefaultComponent_Template","toHashTableBy","assetsApiService","assetTypeCounters","AssetsMenuComponent","getAssetTypeCount","AssetsMenuComponent_Template","AssetsPageComponent","AssetsPageComponent_Template","RecordsOverviewComponent","AssetVersionFormComponent","AssetVersionMenuComponent","outlet","header_r1","AssetTableComponent_ng_container_6_ng_container_1_tr_1_Template_tr_click_single_0_listener","asset_r3","AssetTableComponent_ng_container_6_ng_container_1_tr_1_Template_tr_click_double_0_listener","AssetTableComponent_ng_container_6_ng_container_1_tr_2_Template_tr_onClickOutside_0_listener","AssetTableComponent_ng_container_6_ng_container_1_tr_2_Template_tr_onEscapeKey_0_listener","AssetTableComponent_ng_container_6_ng_container_1_tr_2_Template_tr_onEnterKey_0_listener","AssetTableComponent_ng_container_6_ng_container_1_tr_2_ng_container_1_Template","AssetTableComponent_ng_container_6_ng_container_1_tr_2_Template_button_click_4_listener","assetForm_r6","AssetTableComponent_ng_container_6_ng_container_1_tr_1_Template","AssetTableComponent_ng_container_6_ng_container_1_tr_2_Template","AssetTableComponent_ng_container_6_tr_2_esg_add_button_2_Template_esg_add_button_click_0_listener","AssetTableComponent_ng_container_6_tr_2_Template_td_onIntersection_1_listener","AssetTableComponent_ng_container_6_tr_2_esg_add_button_2_Template","AssetTableComponent_ng_container_6_tr_2_esg_spinner_3_Template","AssetTableComponent_ng_container_6_tr_3_Template_tr_onClickOutside_0_listener","AssetTableComponent_ng_container_6_tr_3_Template_tr_onEscapeKey_0_listener","AssetTableComponent_ng_container_6_tr_3_Template_tr_onEnterKey_0_listener","AssetTableComponent_ng_container_6_tr_3_ng_container_1_Template","AssetTableComponent_ng_container_6_tr_3_Template_button_click_4_listener","AssetTableComponent_ng_container_6_ng_container_1_Template","AssetTableComponent_ng_container_6_tr_2_Template","AssetTableComponent_ng_container_6_tr_3_Template","AssetTableComponent_tr_7_ng_container_1_Template","AssetTableComponent_ng_template_8_ng_container_0_Template_esg_table_select_onChange_4_listener","AssetTableComponent_ng_template_8_ng_container_0_Template_div_focus_5_listener","AssetTableComponent_ng_template_8_ng_container_0_Template","AssetTableComponent_Template","AssetTableComponent_th_3_Template","AssetTableComponent_th_4_Template","AssetTableComponent_ng_container_6_Template","AssetTableComponent_tr_7_Template","AssetTableComponent_ng_template_8_Template","AssetVersionFormComponent_div_3_Template_button_click_5_listener","AssetVersionFormComponent_div_3_Template_esg_button_onClick_8_listener","AssetVersionFormComponent_div_3_Template_esg_button_onClick_10_listener","AssetVersionFormComponent_Template","AssetVersionFormComponent_Template_div_onClickOutside_0_listener","AssetVersionFormComponent_Template_div_click_0_listener","AssetVersionFormComponent_Template_div_onEscapeKey_0_listener","AssetVersionFormComponent_Template_div_onEnterKey_0_listener","AssetVersionFormComponent_div_3_Template","AssetVersionMenuComponent_div_3_Template_div_click_0_listener","version_r3","AssetVersionMenuComponent_div_3_esg_check_circle_icon_1_Template","AssetVersionMenuComponent_div_3_esg_history_icon_2_Template","AssetVersionMenuComponent_Template","AssetVersionMenuComponent_div_2_Template","AssetVersionMenuComponent_div_3_Template","AssetVersionMenuComponent_div_4_Template","AssetVersionMenuComponent_Template_esg_add_button_onClick_5_listener","row_r1","ɵɵpureFunction2","RecordsOverviewComponent_tr_12_a_2_Template","RecordsOverviewComponent_tr_12_ng_container_3_Template","getFormattedNumber","RecordsOverviewComponent_Template","RecordsOverviewComponent_tr_12_Template","DataCollectPageComponent","DataCollectPageComponent_Template","RecordCategoryRoutes","SpillsToEnvironmentComponent","MarineProtectedAreasComponent","RecordsMenuComponent","WasteComponent","SegmentedControlComponent","CorruptionRiskComponent","FinesComponent","LobbyPoliticalContributionComponent","WhistleblowingComponent","ElectricityComponent","EmployeeCommutingComponent","ProfileFormComponent","EmployeeCommutingDetailsComponent","EmployeeCommutingRecordsComponent","LeasedAssetsComponent","NewHiresAndTurnoverComponent","GenderDiversityEqualityComponent","GenderDiversityEqualityDetailsComponent","RecordsDefaultComponent","RecordFormDialogComponent","RecordFormTableComponent","WhistleblowingFormTableComponent","WasteFormTableComponent","NewHiresAndTurnoverFormTableComponent","MarineProtectedAreasFormTableComponent","LobbyPoliticalContibutionFormTableComponent","LeasedAssetsFormTableComponent","FinesFormTableComponent","ElectricityFormTableComponent","CorruptionRiskFormTableComponent","SpillsToEnvironmentFormTableComponent","AirTravelFormTableComponent","HotelNightsFormTableComponent","VehicleCombustionFormTableComponent","VesselCombustionFormTableComponent","WorkRelatedInjuriesFormTableComponent","ParentalLeaveFormTableComponent","SickLeaveFormTableComponent","AirTravelComponent","HotelNightsComponent","VesselCombustionComponent","VehicleCombustionComponent","SickLeaveComponent","ParentalLeaveComponent","WorkRelatedInjuriesComponent","GenderDiversityEqualityFormTableComponent","EmployeeCommutingFormTableComponent","GenderDiversityEqualityRecordsComponent","MarineCasualtyComponent","MarineCasualtyFormTableComponent","PurchasedFishComponent","PurchasedFishFormTableComponent","CatchedFishComponent","CatchedFishFormTableComponent","ProfileInputOptions","EmployeeCommutingDetailsStateService","onUpdate","inputOptions","profile","EmployeeCommutingDetailsComponent_Template","EmployeeCommutingDetailsComponent_Template_esg_select_onChange_8_listener","EmployeeCommutingDetailsComponent_Template_esg_textbox_form_onChange_12_listener","EmployeeCommutingDetailsComponent_Template_esg_textbox_form_onEnter_12_listener","EmployeeCommutingDetailsComponent_Template_esg_textbox_form_onChange_16_listener","EmployeeCommutingDetailsComponent_Template_esg_textbox_form_onEnter_16_listener","EmployeeCommutingDetailsComponent_Template_esg_textbox_form_onChange_20_listener","EmployeeCommutingDetailsComponent_Template_esg_textbox_form_onEnter_20_listener","categoryDetails","EmployeeCommutingFormTableComponent_ng_container_1_esg_table_select_2_Template_esg_table_select_onChange_0_listener","recordFc","assetOptions","isAssetsDisabled","EmployeeCommutingFormTableComponent_ng_container_1_esg_table_select_4_Template_esg_table_select_onChange_0_listener","handleTransportChange","commutingTransportOptions","EmployeeCommutingFormTableComponent_ng_container_1_esg_table_select_6_Template_esg_table_select_onChange_0_listener","commutingModeOptions","EmployeeCommutingFormTableComponent_ng_container_1_esg_textbox_form_8_Template_esg_textbox_form_onChange_0_listener","EmployeeCommutingFormTableComponent_ng_container_1_esg_textbox_form_10_Template_esg_textbox_form_onChange_0_listener","EmployeeCommutingFormTableComponent_ng_container_1_esg_textbox_form_12_Template_esg_textbox_form_onChange_0_listener","EmployeeCommutingFormTableComponent_ng_container_1_esg_textbox_form_14_Template_esg_textbox_form_onChange_0_listener","EmployeeCommutingFormTableComponent_ng_container_1_esg_table_select_2_Template","EmployeeCommutingFormTableComponent_ng_container_1_esg_table_select_4_Template","EmployeeCommutingFormTableComponent_ng_container_1_esg_table_select_6_Template","EmployeeCommutingFormTableComponent_ng_container_1_esg_textbox_form_8_Template","EmployeeCommutingFormTableComponent_ng_container_1_esg_textbox_form_10_Template","EmployeeCommutingFormTableComponent_ng_container_1_esg_textbox_form_12_Template","EmployeeCommutingFormTableComponent_ng_container_1_esg_textbox_form_14_Template","recordFormgroup","Car","setRecordsRows","dataRecordsRows","group","handleOnIniateAddRecord","handleCloseForm","setAddRecordForm","getDefaultAssetOption","setEditRecordForm","getParams","commuting","EmployeeCommuting","Manual","EmployeeCommutingFormTableComponent_Template","EmployeeCommutingFormTableComponent_Template_esg_records_table_onAdding_0_listener","EmployeeCommutingFormTableComponent_Template_esg_records_table_onFormClose_0_listener","EmployeeCommutingFormTableComponent_Template_esg_records_table_onEditing_0_listener","handleOnInitateEditRecord","EmployeeCommutingFormTableComponent_Template_esg_records_table_onSubmit_0_listener","EmployeeCommutingFormTableComponent_Template_esg_records_table_onDelete_0_listener","EmployeeCommutingFormTableComponent_Template_esg_records_table_onSortChange_0_listener","EmployeeCommutingFormTableComponent_ng_container_1_Template","RecordsStateService","recordCategory","IndirectEmissionsEmployeeCommuting","assetCategories","setProfileId","loadRecords","getDataRecords","EmployeeCommutingRecordsComponent_esg_employee_commuting_form_table_2_Template_esg_employee_commuting_form_table_onSubmit_0_listener","handleRecordFormSubmit","EmployeeCommutingRecordsComponent_esg_employee_commuting_form_table_2_Template_esg_employee_commuting_form_table_onDelete_0_listener","handleDeleteRecord","EmployeeCommutingRecordsComponent_esg_employee_commuting_form_table_2_Template_esg_employee_commuting_form_table_onSortChange_0_listener","isReadonly","assetCountryMap","EmployeeCommutingRecordsComponent_esg_pagination_3_Template_esg_pagination_onPaginationChange_0_listener","EmployeeCommutingRecordsComponent_Template","EmployeeCommutingRecordsComponent_esg_dot_flashing_0_Template","EmployeeCommutingRecordsComponent_esg_search_filter_bar_1_Template","EmployeeCommutingRecordsComponent_esg_employee_commuting_form_table_2_Template","EmployeeCommutingRecordsComponent_esg_pagination_3_Template","getTimeLabelFromPeriod","ProfilesStateService","EmployeeCommutingStateService","profiles","profileFormgroup","getProfiles","dataProfileApiService","commutingProfile","getDataCategoryDetails","showFormDialog","handleSelectProfile","selectedProfile","formOpen","handleCancelForm","EmployeeCommutingComponent_table_6_ng_container_9_Template_tr_click_1_listener","profile_r2","EmployeeCommutingComponent_table_6_ng_container_9_Template","EmployeeCommutingComponent_table_6_esg_spinner_12_Template","EmployeeCommutingComponent_esg_employee_commuting_details_8_Template_esg_employee_commuting_details_onUpdate_0_listener","EmployeeCommutingComponent_esg_profile_form_9_Template_esg_profile_form_onCancel_0_listener","EmployeeCommutingComponent_esg_profile_form_9_Template_esg_profile_form_onSubmit_0_listener","EmployeeCommutingComponent_esg_confirm_dialog_10_Template_esg_confirm_dialog_onCancel_0_listener","EmployeeCommutingComponent_esg_confirm_dialog_10_Template_esg_confirm_dialog_onSubmit_0_listener","EmployeeCommutingComponent_Template","EmployeeCommutingComponent_Template_esg_add_button_onClick_4_listener","EmployeeCommutingComponent_esg_dot_flashing_5_Template","EmployeeCommutingComponent_table_6_Template","EmployeeCommutingComponent_Template_esg_details_dialog_onClose_7_listener","handleCloseDetails","EmployeeCommutingComponent_esg_employee_commuting_details_8_Template","EmployeeCommutingComponent_esg_profile_form_9_Template","EmployeeCommutingComponent_esg_confirm_dialog_10_Template","recordCategoryRoutes","showRemoveDialog","ContractOptions","EmploymentOptions","GenderOptions","LocationOptions","PositionLevelOptions","generateAgeOptions","generateGUID","GenderDiversityEqualityDetailsRecordsStateService","genderOptions","employmentOptions","contractOptions","positionLevelOptions","locationOptions","regionOptions","genderRecord","ImportedFromExcel","EmployeeGenderDiversityAndEquality","employeeId","addedId","delayRemoveAddedId","integrationApiService","EmployeesGenderEqualityAndDiversity","ageOptions","setAssetId","fetchStaticData","fetchOptions","timePeriodToDates","GenderDiversityEqualityDetailsComponent_Template","GenderDiversityEqualityDetailsComponent_Template_esg_import_from_excel_toolbar_onImportData_5_listener","GenderDiversityEqualityDetailsComponent_Template_esg_import_from_excel_toolbar_onImportDataOpen_5_listener","handleOnImportRecords","GenderDiversityEqualityDetailsComponent_Template_esg_import_from_excel_toolbar_onClose_5_listener","GenderDiversityEqualityDetailsComponent_Template_esg_select_onChange_10_listener","GenderDiversityEqualityFormTableComponent_ng_container_1_esg_table_select_4_Template_esg_table_select_onChange_0_listener","GenderDiversityEqualityFormTableComponent_ng_container_1_esg_table_select_6_Template_esg_table_select_onChange_0_listener","GenderDiversityEqualityFormTableComponent_ng_container_1_esg_table_select_8_Template_esg_table_select_onChange_0_listener","GenderDiversityEqualityFormTableComponent_ng_container_1_esg_table_select_10_Template_esg_table_select_onChange_0_listener","GenderDiversityEqualityFormTableComponent_ng_container_1_esg_table_select_12_Template_esg_table_select_onChange_0_listener","GenderDiversityEqualityFormTableComponent_ng_container_1_esg_table_select_14_Template_esg_table_select_onChange_0_listener","GenderDiversityEqualityFormTableComponent_ng_container_1_esg_table_select_16_Template_esg_table_select_onChange_0_listener","GenderDiversityEqualityFormTableComponent_ng_container_1_esg_textbox_form_18_Template_esg_textbox_form_onChange_0_listener","GenderDiversityEqualityFormTableComponent_ng_container_1_esg_textbox_form_2_Template","GenderDiversityEqualityFormTableComponent_ng_container_1_esg_table_select_4_Template","GenderDiversityEqualityFormTableComponent_ng_container_1_esg_table_select_6_Template","GenderDiversityEqualityFormTableComponent_ng_container_1_esg_table_select_8_Template","GenderDiversityEqualityFormTableComponent_ng_container_1_esg_table_select_10_Template","GenderDiversityEqualityFormTableComponent_ng_container_1_esg_table_select_12_Template","GenderDiversityEqualityFormTableComponent_ng_container_1_esg_table_select_14_Template","GenderDiversityEqualityFormTableComponent_ng_container_1_esg_table_select_16_Template","GenderDiversityEqualityFormTableComponent_ng_container_1_esg_textbox_form_18_Template","setSalaryDescription","defaultBirthYear","defaultYearOfBirthOption","validOptions","Number","GenderDiversityEqualityFormTableComponent_Template","GenderDiversityEqualityFormTableComponent_Template_esg_records_table_onAdding_0_listener","GenderDiversityEqualityFormTableComponent_Template_esg_records_table_onFormClose_0_listener","GenderDiversityEqualityFormTableComponent_Template_esg_records_table_onEditing_0_listener","GenderDiversityEqualityFormTableComponent_Template_esg_records_table_onSubmit_0_listener","GenderDiversityEqualityFormTableComponent_Template_esg_records_table_onDelete_0_listener","GenderDiversityEqualityFormTableComponent_Template_esg_records_table_onSortChange_0_listener","GenderDiversityEqualityFormTableComponent_ng_container_1_Template","GenderDiversityEqualityRecordsComponent_esg_gender_diversity_equality_form_table_1_Template_esg_gender_diversity_equality_form_table_onSubmit_0_listener","GenderDiversityEqualityRecordsComponent_esg_gender_diversity_equality_form_table_1_Template_esg_gender_diversity_equality_form_table_onDelete_0_listener","GenderDiversityEqualityRecordsComponent_esg_gender_diversity_equality_form_table_1_Template_esg_gender_diversity_equality_form_table_onSortChange_0_listener","GenderDiversityEqualityRecordsComponent_esg_pagination_2_Template_esg_pagination_onPaginationChange_0_listener","GenderDiversityEqualityRecordsComponent_Template","GenderDiversityEqualityRecordsComponent_esg_dot_flashing_0_Template","GenderDiversityEqualityRecordsComponent_esg_gender_diversity_equality_form_table_1_Template","GenderDiversityEqualityRecordsComponent_esg_pagination_2_Template","GenderDiversityEqualityStateService","organizationResponse","genderProfile","GenderDiversityEqualityComponent_table_6_ng_container_7_Template_tr_click_1_listener","GenderDiversityEqualityComponent_table_6_ng_container_7_Template","GenderDiversityEqualityComponent_table_6_esg_spinner_10_Template","GenderDiversityEqualityComponent_esg_gender_diversity_equality_details_8_Template_esg_gender_diversity_equality_details_onUpdate_0_listener","GenderDiversityEqualityComponent_esg_profile_form_9_Template_esg_profile_form_onCancel_0_listener","GenderDiversityEqualityComponent_esg_profile_form_9_Template_esg_profile_form_onSubmit_0_listener","GenderDiversityEqualityComponent_esg_confirm_dialog_10_Template_esg_confirm_dialog_onCancel_0_listener","GenderDiversityEqualityComponent_esg_confirm_dialog_10_Template_esg_confirm_dialog_onSubmit_0_listener","GenderDiversityEqualityComponent_Template","GenderDiversityEqualityComponent_Template_esg_add_button_onClick_4_listener","GenderDiversityEqualityComponent_esg_dot_flashing_5_Template","GenderDiversityEqualityComponent_table_6_Template","GenderDiversityEqualityComponent_Template_esg_details_dialog_onClose_7_listener","GenderDiversityEqualityComponent_esg_gender_diversity_equality_details_8_Template","GenderDiversityEqualityComponent_esg_profile_form_9_Template","GenderDiversityEqualityComponent_esg_confirm_dialog_10_Template","handleInitiateEdit","RecordFormDialogStateService","subCategoryEnum","recordCategoryOptions","DirectEmissionFuelCombustion","IndirectEmissionsElectricity","IndirectEmissionsWaste","IndirectEmissionsBusinessTravel","EmbeddedEmissionsLeasedAssets","BiodiversitySpillsToEnvironment","BiodiversityProtectedAreas","EmployeesParentalLeave","EmployeesSickLeave","EmployessWorkRelatedInjuries","EmployessMarineCasualties","EmployeesNewHiresAndTurnovers","PurchasedFish","selectedSubCategory","setSelectedCategory","recordSubCategoryOptions","VesselConsumption","VehicleConsumption","setSelectedSubCategory","OrganizationBusinessAirTravel","OrganizationBusinessTravelHotelNights","submitRecordForm","categoryType","subCategoryType","setSelectedProfile","profileOptions","RecordsComponent","RecordFormDialogComponent_esg_select_10_Template_esg_select_onChange_0_listener","RecordFormDialogComponent_esg_select_11_Template_esg_select_onChange_0_listener","RecordFormDialogComponent_ng_container_16_esg_vessel_combustion_1_Template_esg_vessel_combustion_onSubmit_0_listener","RecordFormDialogComponent_ng_container_16_esg_vehicle_combustion_2_Template_esg_vehicle_combustion_onSubmit_0_listener","RecordFormDialogComponent_ng_container_16_esg_vessel_combustion_1_Template","RecordFormDialogComponent_ng_container_16_esg_vehicle_combustion_2_Template","RecordFormDialogComponent_esg_electricity_17_Template_esg_electricity_onSubmit_0_listener","RecordFormDialogComponent_esg_waste_18_Template_esg_waste_onSubmit_0_listener","RecordFormDialogComponent_ng_container_19_esg_air_travel_1_Template_esg_air_travel_onSubmit_0_listener","RecordFormDialogComponent_ng_container_19_esg_hotel_nights_2_Template_esg_hotel_nights_onSubmit_0_listener","RecordFormDialogComponent_ng_container_19_esg_air_travel_1_Template","RecordFormDialogComponent_ng_container_19_esg_hotel_nights_2_Template","RecordFormDialogComponent_esg_leased_assets_20_Template_esg_leased_assets_onSubmit_0_listener","RecordFormDialogComponent_esg_spills_to_environment_21_Template_esg_spills_to_environment_onSubmit_0_listener","RecordFormDialogComponent_esg_marine_protected_areas_22_Template_esg_marine_protected_areas_onSubmit_0_listener","RecordFormDialogComponent_esg_new_hires_and_turnover_23_Template_esg_new_hires_and_turnover_onSubmit_0_listener","RecordFormDialogComponent_esg_sick_leave_24_Template_esg_sick_leave_onSubmit_0_listener","RecordFormDialogComponent_esg_parental_leave_25_Template_esg_parental_leave_onSubmit_0_listener","_r15","RecordFormDialogComponent_esg_work_related_injuries_26_Template_esg_work_related_injuries_onSubmit_0_listener","_r16","RecordFormDialogComponent_esg_marine_casualties_27_Template_esg_marine_casualties_onSubmit_0_listener","RecordFormDialogComponent_esg_purchased_fish_28_Template_esg_purchased_fish_onSubmit_0_listener","_r18","cdr","updateFormGroup","formGroup","recordsComponent","detectChanges","ChangeDetectorRef","RecordFormDialogComponent_Query","RecordFormDialogComponent_Template","RecordFormDialogComponent_Template_esg_form_dialog_onCancel_0_listener","RecordFormDialogComponent_Template_esg_form_dialog_onSubmit_0_listener","RecordFormDialogComponent_Template_esg_select_onChange_9_listener","RecordFormDialogComponent_esg_select_10_Template","RecordFormDialogComponent_esg_select_11_Template","RecordFormDialogComponent_ng_container_16_Template","RecordFormDialogComponent_esg_electricity_17_Template","RecordFormDialogComponent_esg_waste_18_Template","RecordFormDialogComponent_ng_container_19_Template","RecordFormDialogComponent_esg_leased_assets_20_Template","RecordFormDialogComponent_esg_spills_to_environment_21_Template","RecordFormDialogComponent_esg_marine_protected_areas_22_Template","RecordFormDialogComponent_esg_new_hires_and_turnover_23_Template","RecordFormDialogComponent_esg_sick_leave_24_Template","RecordFormDialogComponent_esg_parental_leave_25_Template","RecordFormDialogComponent_esg_work_related_injuries_26_Template","RecordFormDialogComponent_esg_marine_casualties_27_Template","RecordFormDialogComponent_esg_purchased_fish_28_Template","RecordsDefaultComponent_Template","RecordsMenuComponent_Template","ConsumptionValueTypeOptions","AirTravelFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onOpen_0_listener","startDateOpen","AirTravelFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onClose_0_listener","onStartDateClose","AirTravelFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onOpen_0_listener","endDateOpen","AirTravelFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onClose_0_listener","AirTravelFormTableComponent_ng_container_1_esg_table_select_8_Template_esg_table_select_onChange_0_listener","AirTravelFormTableComponent_ng_container_1_esg_table_select_10_Template_esg_table_select_onChange_0_listener","consumptionValueTypeOptions","AirTravelFormTableComponent_ng_container_1_esg_table_select_12_Template_esg_table_select_onChange_0_listener","distanceTypeOptions","AirTravelFormTableComponent_ng_container_1_esg_textbox_form_14_Template_esg_textbox_form_onChange_0_listener","AirTravelFormTableComponent_ng_container_1_esg_textbox_form_16_Template_esg_textbox_form_onChange_0_listener","getPlaceholderByType","AirTravelFormTableComponent_ng_container_1_esg_textbox_form_18_Template_esg_textbox_form_onChange_0_listener","onMeasuredChange","AirTravelFormTableComponent_ng_container_1_esg_datepicker_2_Template","AirTravelFormTableComponent_ng_container_1_esg_datepicker_6_Template","AirTravelFormTableComponent_ng_container_1_esg_table_select_8_Template","AirTravelFormTableComponent_ng_container_1_esg_table_select_10_Template","AirTravelFormTableComponent_ng_container_1_esg_table_select_12_Template","AirTravelFormTableComponent_ng_container_1_esg_textbox_form_14_Template","AirTravelFormTableComponent_ng_container_1_esg_textbox_form_16_Template","AirTravelFormTableComponent_ng_container_1_esg_textbox_form_18_Template","getUnitByType","Distance","Fuel","measured","airRecord","businessTravel","AirTravelFormTableComponent_Template","AirTravelFormTableComponent_Template_esg_records_table_onAdding_0_listener","AirTravelFormTableComponent_Template_esg_records_table_onFormClose_0_listener","AirTravelFormTableComponent_Template_esg_records_table_onEditing_0_listener","AirTravelFormTableComponent_Template_esg_records_table_onSubmit_0_listener","AirTravelFormTableComponent_Template_esg_records_table_onDelete_0_listener","AirTravelFormTableComponent_Template_esg_records_table_onSortChange_0_listener","AirTravelFormTableComponent_ng_container_1_Template","AirTravelStateService","assetValidation","validateExcelAssets","notMeasuredRecords","validateNotMeasuredData","getAssetOptionColumn","airTravel","getAssetOptions","notMappedColumns","BusinessTravelComponent","AirTravelComponent_ng_container_0_esg_search_filter_bar_8_esg_dropdown_multiple_form_4_Template_esg_dropdown_multiple_form_onChange_0_listener","handleAssetTypeFilterChange","filteredAssetTypes","AirTravelComponent_ng_container_0_esg_search_filter_bar_8_Template_esg_datepicker_onChange_2_listener","AirTravelComponent_ng_container_0_esg_search_filter_bar_8_Template_esg_datepicker_onChange_3_listener","AirTravelComponent_ng_container_0_esg_search_filter_bar_8_esg_dropdown_multiple_form_4_Template","AirTravelComponent_ng_container_0_esg_search_filter_bar_8_Template_esg_dropdown_multiple_form_onChange_5_listener","AirTravelComponent_ng_container_0_esg_search_filter_bar_8_Template_esg_select_onChange_6_listener","handleInputTypeChange","startDateFilter","endDateFilter","filteredAssets","assetFilterOptions","filteredInputType","inputTypeOptions","AirTravelComponent_ng_container_0_esg_confirm_dialog_9_Template_esg_confirm_dialog_onSubmit_0_listener","AirTravelComponent_ng_container_0_esg_confirm_dialog_9_Template_esg_confirm_dialog_onCancel_0_listener","AirTravelComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onImportData_1_listener","AirTravelComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onImportDataOpen_1_listener","AirTravelComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onClose_1_listener","AirTravelComponent_ng_container_0_esg_dot_flashing_7_Template","AirTravelComponent_ng_container_0_esg_search_filter_bar_8_Template","AirTravelComponent_ng_container_0_esg_confirm_dialog_9_Template","AirTravelComponent_esg_air_travel_form_table_1_Template_esg_air_travel_form_table_onSubmit_0_listener","AirTravelComponent_esg_air_travel_form_table_1_Template_esg_air_travel_form_table_onDelete_0_listener","AirTravelComponent_esg_air_travel_form_table_1_Template_esg_air_travel_form_table_onSortChange_0_listener","AirTravelComponent_esg_pagination_2_Template_esg_pagination_onPaginationChange_0_listener","AirTravelComponent_Template","AirTravelComponent_ng_container_0_Template","AirTravelComponent_esg_air_travel_form_table_1_Template","AirTravelComponent_esg_pagination_2_Template","BusinessTravelComponent_Template","HotelNightsFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onOpen_0_listener","HotelNightsFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onClose_0_listener","HotelNightsFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onOpen_0_listener","HotelNightsFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onClose_0_listener","HotelNightsFormTableComponent_ng_container_1_esg_table_select_8_Template_esg_table_select_onChange_0_listener","handleOnAssetChange","HotelNightsFormTableComponent_ng_container_1_esg_table_select_10_Template_esg_table_select_onChange_0_listener","HotelNightsFormTableComponent_ng_container_1_esg_textbox_form_12_Template_esg_textbox_form_onChange_0_listener","HotelNightsFormTableComponent_ng_container_1_esg_datepicker_2_Template","HotelNightsFormTableComponent_ng_container_1_esg_datepicker_6_Template","HotelNightsFormTableComponent_ng_container_1_esg_table_select_8_Template","HotelNightsFormTableComponent_ng_container_1_esg_table_select_10_Template","HotelNightsFormTableComponent_ng_container_1_esg_textbox_form_12_Template","getCountryOptionByAssetId","hotelRecord","hotelNights","HotelNightsFormTableComponent_Template","HotelNightsFormTableComponent_Template_esg_records_table_onAdding_0_listener","HotelNightsFormTableComponent_Template_esg_records_table_onFormClose_0_listener","HotelNightsFormTableComponent_Template_esg_records_table_onEditing_0_listener","HotelNightsFormTableComponent_Template_esg_records_table_onSubmit_0_listener","HotelNightsFormTableComponent_Template_esg_records_table_onDelete_0_listener","HotelNightsFormTableComponent_Template_esg_records_table_onSortChange_0_listener","HotelNightsFormTableComponent_ng_container_1_Template","HotelNightsStateService","HotelNightsComponent_ng_container_0_esg_search_filter_bar_8_esg_dropdown_multiple_form_4_Template_esg_dropdown_multiple_form_onChange_0_listener","HotelNightsComponent_ng_container_0_esg_search_filter_bar_8_Template_esg_datepicker_onChange_2_listener","HotelNightsComponent_ng_container_0_esg_search_filter_bar_8_Template_esg_datepicker_onChange_3_listener","HotelNightsComponent_ng_container_0_esg_search_filter_bar_8_esg_dropdown_multiple_form_4_Template","HotelNightsComponent_ng_container_0_esg_search_filter_bar_8_Template_esg_dropdown_multiple_form_onChange_5_listener","HotelNightsComponent_ng_container_0_esg_search_filter_bar_8_Template_esg_select_onChange_6_listener","HotelNightsComponent_ng_container_0_esg_confirm_dialog_9_Template_esg_confirm_dialog_onSubmit_0_listener","HotelNightsComponent_ng_container_0_esg_confirm_dialog_9_Template_esg_confirm_dialog_onCancel_0_listener","HotelNightsComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onImportData_1_listener","HotelNightsComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onImportDataOpen_1_listener","HotelNightsComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onClose_1_listener","HotelNightsComponent_ng_container_0_esg_dot_flashing_7_Template","HotelNightsComponent_ng_container_0_esg_search_filter_bar_8_Template","HotelNightsComponent_ng_container_0_esg_confirm_dialog_9_Template","HotelNightsComponent_esg_hotel_nights_form_table_1_Template_esg_hotel_nights_form_table_onSubmit_0_listener","HotelNightsComponent_esg_hotel_nights_form_table_1_Template_esg_hotel_nights_form_table_onDelete_0_listener","HotelNightsComponent_esg_hotel_nights_form_table_1_Template_esg_hotel_nights_form_table_onSortChange_0_listener","HotelNightsComponent_esg_pagination_2_Template_esg_pagination_onPaginationChange_0_listener","HotelNightsComponent_Template","HotelNightsComponent_ng_container_0_Template","HotelNightsComponent_esg_hotel_nights_form_table_1_Template","HotelNightsComponent_esg_pagination_2_Template","PurchasedFishTypeOptions","CatchedFishFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onOpen_0_listener","CatchedFishFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onClose_0_listener","CatchedFishFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onOpen_0_listener","CatchedFishFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onClose_0_listener","CatchedFishFormTableComponent_ng_container_1_esg_table_select_8_Template_esg_table_select_onChange_0_listener","CatchedFishFormTableComponent_ng_container_1_esg_table_select_10_Template_esg_table_select_onChange_0_listener","catchedFishTypeOptions","CatchedFishFormTableComponent_ng_container_1_esg_textbox_form_12_Template_esg_textbox_form_onChange_0_listener","CatchedFishFormTableComponent_ng_container_1_esg_datepicker_2_Template","CatchedFishFormTableComponent_ng_container_1_esg_datepicker_6_Template","CatchedFishFormTableComponent_ng_container_1_esg_table_select_8_Template","CatchedFishFormTableComponent_ng_container_1_esg_table_select_10_Template","CatchedFishFormTableComponent_ng_container_1_esg_textbox_form_12_Template","fish","CatchedFish","Angler","CatchedFishFormTableComponent_Template","CatchedFishFormTableComponent_Template_esg_records_table_onAdding_0_listener","CatchedFishFormTableComponent_Template_esg_records_table_onFormClose_0_listener","CatchedFishFormTableComponent_Template_esg_records_table_onEditing_0_listener","CatchedFishFormTableComponent_Template_esg_records_table_onSubmit_0_listener","CatchedFishFormTableComponent_Template_esg_records_table_onDelete_0_listener","CatchedFishFormTableComponent_Template_esg_records_table_onSortChange_0_listener","CatchedFishFormTableComponent_ng_container_1_Template","CatchedFishStateService","rocordCategory","filteredCatchedFishType","handleCatchedFishTypeChange","CatchedFishComponent_ng_container_0_esg_search_filter_bar_7_esg_dropdown_multiple_form_4_Template_esg_dropdown_multiple_form_onChange_0_listener","CatchedFishComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_datepicker_onChange_2_listener","CatchedFishComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_datepicker_onChange_3_listener","CatchedFishComponent_ng_container_0_esg_search_filter_bar_7_esg_dropdown_multiple_form_4_Template","CatchedFishComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_dropdown_multiple_form_onChange_5_listener","CatchedFishComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_select_onChange_6_listener","CatchedFishComponent_ng_container_0_esg_confirm_dialog_8_Template_esg_confirm_dialog_onSubmit_0_listener","CatchedFishComponent_ng_container_0_esg_confirm_dialog_8_Template_esg_confirm_dialog_onCancel_0_listener","CatchedFishComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onImportData_1_listener","CatchedFishComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onImportDataOpen_1_listener","CatchedFishComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onClose_1_listener","CatchedFishComponent_ng_container_0_esg_dot_flashing_6_Template","CatchedFishComponent_ng_container_0_esg_search_filter_bar_7_Template","CatchedFishComponent_ng_container_0_esg_confirm_dialog_8_Template","CatchedFishComponent_esg_catched_fish_form_table_1_Template_esg_catched_fish_form_table_onSubmit_0_listener","CatchedFishComponent_esg_catched_fish_form_table_1_Template_esg_catched_fish_form_table_onDelete_0_listener","CatchedFishComponent_esg_catched_fish_form_table_1_Template_esg_catched_fish_form_table_onSortChange_0_listener","CatchedFishComponent_esg_pagination_2_Template_esg_pagination_onPaginationChange_0_listener","CatchedFishComponent_Template","CatchedFishComponent_ng_container_0_Template","CatchedFishComponent_esg_catched_fish_form_table_1_Template","CatchedFishComponent_esg_pagination_2_Template","CorruptionRiskFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onOpen_0_listener","CorruptionRiskFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onClose_0_listener","CorruptionRiskFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onOpen_0_listener","CorruptionRiskFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onClose_0_listener","CorruptionRiskFormTableComponent_ng_container_1_esg_table_select_8_Template_esg_table_select_onChange_0_listener","CorruptionRiskFormTableComponent_ng_container_1_esg_textbox_form_10_Template_esg_textbox_form_onChange_0_listener","CorruptionRiskFormTableComponent_ng_container_1_esg_textbox_form_12_Template_esg_textbox_form_onChange_0_listener","CorruptionRiskFormTableComponent_ng_container_1_esg_textbox_form_14_Template_esg_textbox_form_onChange_0_listener","CorruptionRiskFormTableComponent_ng_container_1_esg_datepicker_2_Template","CorruptionRiskFormTableComponent_ng_container_1_esg_datepicker_6_Template","CorruptionRiskFormTableComponent_ng_container_1_esg_table_select_8_Template","CorruptionRiskFormTableComponent_ng_container_1_esg_textbox_form_10_Template","CorruptionRiskFormTableComponent_ng_container_1_esg_textbox_form_12_Template","CorruptionRiskFormTableComponent_ng_container_1_esg_textbox_form_14_Template","setCurrencyDescription","currencyHeaderCell","corruption","OrganizationCorruptionRisk","CorruptionRiskFormTableComponent_Template","CorruptionRiskFormTableComponent_Template_esg_records_table_onAdding_0_listener","CorruptionRiskFormTableComponent_Template_esg_records_table_onFormClose_0_listener","CorruptionRiskFormTableComponent_Template_esg_records_table_onEditing_0_listener","CorruptionRiskFormTableComponent_Template_esg_records_table_onSubmit_0_listener","CorruptionRiskFormTableComponent_Template_esg_records_table_onDelete_0_listener","CorruptionRiskFormTableComponent_Template_esg_records_table_onSortChange_0_listener","CorruptionRiskFormTableComponent_ng_container_1_Template","CorruptionRiskStateService","BusinessEthicsCorruptionRisk","CorruptionRiskComponent_ng_container_0_esg_search_filter_bar_6_esg_dropdown_multiple_form_4_Template_esg_dropdown_multiple_form_onChange_0_listener","CorruptionRiskComponent_ng_container_0_esg_search_filter_bar_6_Template_esg_datepicker_onChange_2_listener","CorruptionRiskComponent_ng_container_0_esg_search_filter_bar_6_Template_esg_datepicker_onChange_3_listener","CorruptionRiskComponent_ng_container_0_esg_search_filter_bar_6_esg_dropdown_multiple_form_4_Template","CorruptionRiskComponent_ng_container_0_esg_search_filter_bar_6_Template_esg_dropdown_multiple_form_onChange_5_listener","CorruptionRiskComponent_ng_container_0_esg_search_filter_bar_6_Template_esg_select_onChange_6_listener","CorruptionRiskComponent_ng_container_0_esg_confirm_dialog_7_Template_esg_confirm_dialog_onSubmit_0_listener","CorruptionRiskComponent_ng_container_0_esg_confirm_dialog_7_Template_esg_confirm_dialog_onCancel_0_listener","CorruptionRiskComponent_ng_container_0_esg_dot_flashing_5_Template","CorruptionRiskComponent_ng_container_0_esg_search_filter_bar_6_Template","CorruptionRiskComponent_ng_container_0_esg_confirm_dialog_7_Template","CorruptionRiskComponent_esg_corruption_risk_form_table_1_Template_esg_corruption_risk_form_table_onSubmit_0_listener","CorruptionRiskComponent_esg_corruption_risk_form_table_1_Template_esg_corruption_risk_form_table_onDelete_0_listener","CorruptionRiskComponent_esg_corruption_risk_form_table_1_Template_esg_corruption_risk_form_table_onSortChange_0_listener","CorruptionRiskComponent_esg_pagination_2_Template_esg_pagination_onPaginationChange_0_listener","CorruptionRiskComponent_Template","CorruptionRiskComponent_ng_container_0_Template","CorruptionRiskComponent_esg_corruption_risk_form_table_1_Template","CorruptionRiskComponent_esg_pagination_2_Template","ElectricityFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onOpen_0_listener","ElectricityFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onClose_0_listener","ElectricityFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onOpen_0_listener","ElectricityFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onClose_0_listener","ElectricityFormTableComponent_ng_container_1_esg_table_select_8_Template_esg_table_select_onChange_0_listener","ElectricityFormTableComponent_ng_container_1_esg_table_select_10_Template_esg_table_select_onChange_0_listener","ElectricityFormTableComponent_ng_container_1_esg_textbox_form_12_Template_esg_textbox_form_onChange_0_listener","ElectricityFormTableComponent_ng_container_1_esg_datepicker_2_Template","ElectricityFormTableComponent_ng_container_1_esg_datepicker_6_Template","ElectricityFormTableComponent_ng_container_1_esg_table_select_8_Template","ElectricityFormTableComponent_ng_container_1_esg_table_select_10_Template","ElectricityFormTableComponent_ng_container_1_esg_textbox_form_12_Template","assetFormControl","countryFormControl","assetOption","electricity","ElectricityConsumption","ElectricityFormTableComponent_Template","ElectricityFormTableComponent_Template_esg_records_table_onAdding_0_listener","ElectricityFormTableComponent_Template_esg_records_table_onFormClose_0_listener","ElectricityFormTableComponent_Template_esg_records_table_onEditing_0_listener","ElectricityFormTableComponent_Template_esg_records_table_onSubmit_0_listener","ElectricityFormTableComponent_Template_esg_records_table_onDelete_0_listener","ElectricityFormTableComponent_Template_esg_records_table_onSortChange_0_listener","ElectricityFormTableComponent_ng_container_1_Template","AssetCategoryLabel","ElectricityStateService","assetToCategoryMap","electricityConsumption","getAssetOptionsByType","Electric","PlugInHybrid","ElectricityComponent_ng_container_0_esg_search_filter_bar_7_esg_dropdown_multiple_form_4_Template_esg_dropdown_multiple_form_onChange_0_listener","ElectricityComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_datepicker_onChange_2_listener","ElectricityComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_datepicker_onChange_3_listener","ElectricityComponent_ng_container_0_esg_search_filter_bar_7_esg_dropdown_multiple_form_4_Template","ElectricityComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_dropdown_multiple_form_onChange_5_listener","ElectricityComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_select_onChange_6_listener","ElectricityComponent_ng_container_0_esg_confirm_dialog_8_Template_esg_confirm_dialog_onSubmit_0_listener","ElectricityComponent_ng_container_0_esg_confirm_dialog_8_Template_esg_confirm_dialog_onCancel_0_listener","ElectricityComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onImportData_1_listener","ElectricityComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onImportDataOpen_1_listener","ElectricityComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onClose_1_listener","ElectricityComponent_ng_container_0_esg_dot_flashing_6_Template","ElectricityComponent_ng_container_0_esg_search_filter_bar_7_Template","ElectricityComponent_ng_container_0_esg_confirm_dialog_8_Template","ElectricityComponent_esg_electricity_form_table_1_Template_esg_electricity_form_table_onSubmit_0_listener","ElectricityComponent_esg_electricity_form_table_1_Template_esg_electricity_form_table_onDelete_0_listener","ElectricityComponent_esg_electricity_form_table_1_Template_esg_electricity_form_table_onSortChange_0_listener","ElectricityComponent_esg_pagination_2_Template_esg_pagination_onPaginationChange_0_listener","ElectricityComponent_Template","ElectricityComponent_ng_container_0_Template","ElectricityComponent_esg_electricity_form_table_1_Template","ElectricityComponent_esg_pagination_2_Template","FinesFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onOpen_0_listener","FinesFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onClose_0_listener","FinesFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onOpen_0_listener","FinesFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onClose_0_listener","FinesFormTableComponent_ng_container_1_esg_table_select_8_Template_esg_table_select_onChange_0_listener","FinesFormTableComponent_ng_container_1_esg_textbox_form_10_Template_esg_textbox_form_onChange_0_listener","FinesFormTableComponent_ng_container_1_esg_textbox_form_12_Template_esg_textbox_form_onChange_0_listener","FinesFormTableComponent_ng_container_1_esg_datepicker_2_Template","FinesFormTableComponent_ng_container_1_esg_datepicker_6_Template","FinesFormTableComponent_ng_container_1_esg_table_select_8_Template","FinesFormTableComponent_ng_container_1_esg_textbox_form_10_Template","FinesFormTableComponent_ng_container_1_esg_textbox_form_12_Template","fines","OrganizationFines","FinesFormTableComponent_Template","FinesFormTableComponent_Template_esg_records_table_onAdding_0_listener","FinesFormTableComponent_Template_esg_records_table_onFormClose_0_listener","FinesFormTableComponent_Template_esg_records_table_onEditing_0_listener","FinesFormTableComponent_Template_esg_records_table_onSubmit_0_listener","FinesFormTableComponent_Template_esg_records_table_onDelete_0_listener","FinesFormTableComponent_Template_esg_records_table_onSortChange_0_listener","FinesFormTableComponent_ng_container_1_Template","FinesStateService","BusinessEthicsFines","FinesComponent_ng_container_0_esg_search_filter_bar_6_esg_dropdown_multiple_form_4_Template_esg_dropdown_multiple_form_onChange_0_listener","FinesComponent_ng_container_0_esg_search_filter_bar_6_Template_esg_datepicker_onChange_2_listener","FinesComponent_ng_container_0_esg_search_filter_bar_6_Template_esg_datepicker_onChange_3_listener","FinesComponent_ng_container_0_esg_search_filter_bar_6_esg_dropdown_multiple_form_4_Template","FinesComponent_ng_container_0_esg_search_filter_bar_6_Template_esg_dropdown_multiple_form_onChange_5_listener","FinesComponent_ng_container_0_esg_search_filter_bar_6_Template_esg_select_onChange_6_listener","FinesComponent_ng_container_0_esg_confirm_dialog_7_Template_esg_confirm_dialog_onSubmit_0_listener","FinesComponent_ng_container_0_esg_confirm_dialog_7_Template_esg_confirm_dialog_onCancel_0_listener","FinesComponent_ng_container_0_esg_dot_flashing_5_Template","FinesComponent_ng_container_0_esg_search_filter_bar_6_Template","FinesComponent_ng_container_0_esg_confirm_dialog_7_Template","FinesComponent_esg_fines_form_table_1_Template_esg_fines_form_table_onSubmit_0_listener","FinesComponent_esg_fines_form_table_1_Template_esg_fines_form_table_onDelete_0_listener","FinesComponent_esg_fines_form_table_1_Template_esg_fines_form_table_onSortChange_0_listener","FinesComponent_esg_pagination_2_Template_esg_pagination_onPaginationChange_0_listener","FinesComponent_Template","FinesComponent_ng_container_0_Template","FinesComponent_esg_fines_form_table_1_Template","FinesComponent_esg_pagination_2_Template","FuelCombustionComponent","FuelCombustionComponent_Template","VehicleCombustionFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onOpen_0_listener","VehicleCombustionFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onClose_0_listener","VehicleCombustionFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onOpen_0_listener","VehicleCombustionFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onClose_0_listener","VehicleCombustionFormTableComponent_ng_container_1_esg_table_select_8_Template_esg_table_select_onChange_0_listener","VehicleCombustionFormTableComponent_ng_container_1_esg_textbox_form_10_Template_esg_textbox_form_onChange_0_listener","VehicleCombustionFormTableComponent_ng_container_1_esg_textbox_form_12_Template_esg_textbox_form_onChange_0_listener","VehicleCombustionFormTableComponent_ng_container_1_esg_textbox_form_14_Template_esg_textbox_form_onChange_0_listener","VehicleCombustionFormTableComponent_ng_container_1_esg_textbox_form_16_Template_esg_textbox_form_onChange_0_listener","VehicleCombustionFormTableComponent_ng_container_1_esg_table_select_17_Template_esg_table_select_onChange_0_listener","naturalGasUnits","VehicleCombustionFormTableComponent_ng_container_1_esg_textbox_form_19_Template_esg_textbox_form_onChange_0_listener","VehicleCombustionFormTableComponent_ng_container_1_esg_table_select_20_Template_esg_table_select_onChange_0_listener","liquidPetroleumGas_unit","liquidPetroleumGasUnits","VehicleCombustionFormTableComponent_ng_container_1_esg_textbox_form_22_Template_esg_textbox_form_onChange_0_listener","VehicleCombustionFormTableComponent_ng_container_1_esg_datepicker_2_Template","VehicleCombustionFormTableComponent_ng_container_1_esg_datepicker_6_Template","VehicleCombustionFormTableComponent_ng_container_1_esg_table_select_8_Template","VehicleCombustionFormTableComponent_ng_container_1_esg_textbox_form_10_Template","VehicleCombustionFormTableComponent_ng_container_1_esg_textbox_form_12_Template","VehicleCombustionFormTableComponent_ng_container_1_esg_textbox_form_14_Template","VehicleCombustionFormTableComponent_ng_container_1_esg_textbox_form_16_Template","VehicleCombustionFormTableComponent_ng_container_1_esg_table_select_17_Template","VehicleCombustionFormTableComponent_ng_container_1_esg_textbox_form_19_Template","VehicleCombustionFormTableComponent_ng_container_1_esg_table_select_20_Template","VehicleCombustionFormTableComponent_ng_container_1_esg_textbox_form_22_Template","vehicleRecord","vehicleCompustion","VehicleCombustionFormTableComponent_Template","VehicleCombustionFormTableComponent_Template_esg_records_table_onAdding_0_listener","VehicleCombustionFormTableComponent_Template_esg_records_table_onFormClose_0_listener","VehicleCombustionFormTableComponent_Template_esg_records_table_onEditing_0_listener","VehicleCombustionFormTableComponent_Template_esg_records_table_onSubmit_0_listener","VehicleCombustionFormTableComponent_Template_esg_records_table_onDelete_0_listener","VehicleCombustionFormTableComponent_Template_esg_records_table_onSortChange_0_listener","VehicleCombustionFormTableComponent_ng_container_1_Template","VehicleCraftMachineryTypeLabel","VehicleCombustionStateService","getVehicleCraftsMachineryOptions","VehicleCombustionComponent_ng_container_0_esg_search_filter_bar_7_esg_dropdown_multiple_form_4_Template_esg_dropdown_multiple_form_onChange_0_listener","VehicleCombustionComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_datepicker_onChange_2_listener","VehicleCombustionComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_datepicker_onChange_3_listener","VehicleCombustionComponent_ng_container_0_esg_search_filter_bar_7_esg_dropdown_multiple_form_4_Template","VehicleCombustionComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_dropdown_multiple_form_onChange_5_listener","VehicleCombustionComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_select_onChange_6_listener","VehicleCombustionComponent_ng_container_0_esg_confirm_dialog_8_Template_esg_confirm_dialog_onSubmit_0_listener","VehicleCombustionComponent_ng_container_0_esg_confirm_dialog_8_Template_esg_confirm_dialog_onCancel_0_listener","VehicleCombustionComponent_ng_container_0_esg_dot_flashing_6_Template","VehicleCombustionComponent_ng_container_0_esg_search_filter_bar_7_Template","VehicleCombustionComponent_ng_container_0_esg_confirm_dialog_8_Template","VehicleCombustionComponent_esg_vehicle_combustion_form_table_1_Template_esg_vehicle_combustion_form_table_onSubmit_0_listener","VehicleCombustionComponent_esg_vehicle_combustion_form_table_1_Template_esg_vehicle_combustion_form_table_onDelete_0_listener","VehicleCombustionComponent_esg_vehicle_combustion_form_table_1_Template_esg_vehicle_combustion_form_table_onSortChange_0_listener","VehicleCombustionComponent_esg_pagination_2_Template_esg_pagination_onPaginationChange_0_listener","VehicleCombustionComponent_Template","VehicleCombustionComponent_ng_container_0_Template","VehicleCombustionComponent_esg_vehicle_combustion_form_table_1_Template","VehicleCombustionComponent_esg_pagination_2_Template","VesselCombustionFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onOpen_0_listener","VesselCombustionFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onClose_0_listener","VesselCombustionFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onOpen_0_listener","VesselCombustionFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onClose_0_listener","VesselCombustionFormTableComponent_ng_container_1_esg_table_select_8_Template_esg_table_select_onChange_0_listener","VesselCombustionFormTableComponent_ng_container_1_td_9_esg_textbox_form_1_Template_esg_textbox_form_onChange_0_listener","VesselCombustionFormTableComponent_ng_container_1_td_9_esg_textbox_form_1_Template","VesselCombustionFormTableComponent_ng_container_1_td_10_esg_textbox_form_1_Template_esg_textbox_form_onChange_0_listener","VesselCombustionFormTableComponent_ng_container_1_td_10_esg_textbox_form_1_Template","VesselCombustionFormTableComponent_ng_container_1_td_11_esg_textbox_form_1_Template_esg_textbox_form_onChange_0_listener","VesselCombustionFormTableComponent_ng_container_1_td_11_esg_table_select_2_Template_esg_table_select_onChange_0_listener","mgo_unit","VesselCombustionFormTableComponent_ng_container_1_td_11_esg_textbox_form_1_Template","VesselCombustionFormTableComponent_ng_container_1_td_11_esg_table_select_2_Template","VesselCombustionFormTableComponent_ng_container_1_td_12_esg_textbox_form_1_Template_esg_textbox_form_onChange_0_listener","VesselCombustionFormTableComponent_ng_container_1_td_12_esg_table_select_2_Template_esg_table_select_onChange_0_listener","hfo_unit","VesselCombustionFormTableComponent_ng_container_1_td_12_esg_textbox_form_1_Template","VesselCombustionFormTableComponent_ng_container_1_td_12_esg_table_select_2_Template","VesselCombustionFormTableComponent_ng_container_1_td_13_esg_textbox_form_1_Template_esg_textbox_form_onChange_0_listener","VesselCombustionFormTableComponent_ng_container_1_td_13_esg_table_select_2_Template_esg_table_select_onChange_0_listener","lfo_unit","VesselCombustionFormTableComponent_ng_container_1_td_13_esg_textbox_form_1_Template","VesselCombustionFormTableComponent_ng_container_1_td_13_esg_table_select_2_Template","VesselCombustionFormTableComponent_ng_container_1_td_14_esg_textbox_form_1_Template_esg_textbox_form_onChange_0_listener","VesselCombustionFormTableComponent_ng_container_1_td_14_esg_table_select_2_Template_esg_table_select_onChange_0_listener","lng_unit","VesselCombustionFormTableComponent_ng_container_1_td_14_esg_textbox_form_1_Template","VesselCombustionFormTableComponent_ng_container_1_td_14_esg_table_select_2_Template","VesselCombustionFormTableComponent_ng_container_1_td_15_esg_textbox_form_1_Template_esg_textbox_form_onChange_0_listener","VesselCombustionFormTableComponent_ng_container_1_td_15_esg_textbox_form_1_Template","VesselCombustionFormTableComponent_ng_container_1_td_16_esg_textbox_form_1_Template_esg_textbox_form_onChange_0_listener","VesselCombustionFormTableComponent_ng_container_1_td_16_esg_table_select_2_Template_esg_table_select_onChange_0_listener","VesselCombustionFormTableComponent_ng_container_1_td_16_esg_textbox_form_1_Template","VesselCombustionFormTableComponent_ng_container_1_td_16_esg_table_select_2_Template","VesselCombustionFormTableComponent_ng_container_1_td_17_esg_textbox_form_1_Template_esg_textbox_form_onChange_0_listener","VesselCombustionFormTableComponent_ng_container_1_td_17_esg_table_select_2_Template_esg_table_select_onChange_0_listener","_r19","VesselCombustionFormTableComponent_ng_container_1_td_17_esg_textbox_form_1_Template","VesselCombustionFormTableComponent_ng_container_1_td_17_esg_table_select_2_Template","VesselCombustionFormTableComponent_ng_container_1_esg_datepicker_2_Template","VesselCombustionFormTableComponent_ng_container_1_esg_datepicker_6_Template","VesselCombustionFormTableComponent_ng_container_1_esg_table_select_8_Template","VesselCombustionFormTableComponent_ng_container_1_td_9_Template","VesselCombustionFormTableComponent_ng_container_1_td_10_Template","VesselCombustionFormTableComponent_ng_container_1_td_11_Template","VesselCombustionFormTableComponent_ng_container_1_td_12_Template","VesselCombustionFormTableComponent_ng_container_1_td_13_Template","VesselCombustionFormTableComponent_ng_container_1_td_14_Template","VesselCombustionFormTableComponent_ng_container_1_td_15_Template","VesselCombustionFormTableComponent_ng_container_1_td_16_Template","VesselCombustionFormTableComponent_ng_container_1_td_17_Template","showSegmentedControl","activeSegmentedTab","columnFilterStorageKey","useColumnFilter","VesselEmissions","vesselRecord","vesselCompustion","VesselCombustionFormTableComponent_Template","VesselCombustionFormTableComponent_Template_esg_records_table_onAdding_0_listener","VesselCombustionFormTableComponent_Template_esg_records_table_onFormClose_0_listener","VesselCombustionFormTableComponent_Template_esg_records_table_onEditing_0_listener","VesselCombustionFormTableComponent_Template_esg_records_table_onSubmit_0_listener","VesselCombustionFormTableComponent_Template_esg_records_table_onDelete_0_listener","VesselCombustionFormTableComponent_Template_esg_records_table_onSortChange_0_listener","VesselCombustionFormTableComponent_ng_container_1_Template","VesselCombustionStateService","segmentedTabs","getRecordTypeParam","handleOnSegmentedTabClick","initialized","checkForImportedData","mgoUnitOption","hfoUnitOption","lfoUnitOption","lngUnitOption","hvO100UnitOption","hvO100_unit","mgoB30UnitOption","mgoB30_unit","setRecordTypeParam","tab","VesselCombustionComponent_ng_container_0_esg_segmented_control_7_Template_esg_segmented_control_onTabClick_0_listener","VesselCombustionComponent_ng_container_0_esg_search_filter_bar_9_esg_dropdown_multiple_form_4_Template_esg_dropdown_multiple_form_onChange_0_listener","VesselCombustionComponent_ng_container_0_esg_search_filter_bar_9_Template_esg_datepicker_onChange_2_listener","VesselCombustionComponent_ng_container_0_esg_search_filter_bar_9_Template_esg_datepicker_onChange_3_listener","VesselCombustionComponent_ng_container_0_esg_search_filter_bar_9_esg_dropdown_multiple_form_4_Template","VesselCombustionComponent_ng_container_0_esg_search_filter_bar_9_Template_esg_dropdown_multiple_form_onChange_5_listener","VesselCombustionComponent_ng_container_0_esg_search_filter_bar_9_Template_esg_select_onChange_6_listener","VesselCombustionComponent_ng_container_0_esg_confirm_dialog_10_Template_esg_confirm_dialog_onSubmit_0_listener","VesselCombustionComponent_ng_container_0_esg_confirm_dialog_10_Template_esg_confirm_dialog_onCancel_0_listener","VesselCombustionComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onImportData_1_listener","VesselCombustionComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onImportDataOpen_1_listener","VesselCombustionComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onClose_1_listener","VesselCombustionComponent_ng_container_0_esg_segmented_control_7_Template","VesselCombustionComponent_ng_container_0_esg_dot_flashing_8_Template","VesselCombustionComponent_ng_container_0_esg_search_filter_bar_9_Template","VesselCombustionComponent_ng_container_0_esg_confirm_dialog_10_Template","VesselCombustionComponent_esg_vessel_combustion_form_table_1_Template_esg_vessel_combustion_form_table_onSubmit_0_listener","VesselCombustionComponent_esg_vessel_combustion_form_table_1_Template_esg_vessel_combustion_form_table_onDelete_0_listener","VesselCombustionComponent_esg_vessel_combustion_form_table_1_Template_esg_vessel_combustion_form_table_onSortChange_0_listener","VesselCombustionComponent_esg_pagination_2_Template_esg_pagination_onPaginationChange_0_listener","VesselCombustionComponent_Template","VesselCombustionComponent_ng_container_0_Template","VesselCombustionComponent_esg_vessel_combustion_form_table_1_Template","VesselCombustionComponent_esg_pagination_2_Template","LeasedAssetsFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onOpen_0_listener","LeasedAssetsFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onClose_0_listener","LeasedAssetsFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onOpen_0_listener","LeasedAssetsFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onClose_0_listener","LeasedAssetsFormTableComponent_ng_container_1_esg_table_select_8_Template_esg_table_select_onChange_0_listener","LeasedAssetsFormTableComponent_ng_container_1_esg_table_select_10_Template_esg_table_select_onChange_0_listener","clientOptions","LeasedAssetsFormTableComponent_ng_container_1_esg_datepicker_2_Template","LeasedAssetsFormTableComponent_ng_container_1_esg_datepicker_6_Template","LeasedAssetsFormTableComponent_ng_container_1_esg_table_select_8_Template","LeasedAssetsFormTableComponent_ng_container_1_esg_table_select_10_Template","submitOnPristine","leasedAsset","OrganizationWhistleblowing","LeasedAssetsFormTableComponent_Template","LeasedAssetsFormTableComponent_Template_esg_records_table_onAdding_0_listener","LeasedAssetsFormTableComponent_Template_esg_records_table_onFormClose_0_listener","LeasedAssetsFormTableComponent_Template_esg_records_table_onEditing_0_listener","LeasedAssetsFormTableComponent_Template_esg_records_table_onSubmit_0_listener","LeasedAssetsFormTableComponent_Template_esg_records_table_onDelete_0_listener","LeasedAssetsFormTableComponent_Template_esg_records_table_onSortChange_0_listener","LeasedAssetsFormTableComponent_ng_container_1_Template","LeasedAssetsStateService","getClientOptions","LeasedAssetsComponent_ng_container_0_esg_search_filter_bar_6_esg_dropdown_multiple_form_4_Template_esg_dropdown_multiple_form_onChange_0_listener","LeasedAssetsComponent_ng_container_0_esg_search_filter_bar_6_Template_esg_datepicker_onChange_2_listener","LeasedAssetsComponent_ng_container_0_esg_search_filter_bar_6_Template_esg_datepicker_onChange_3_listener","LeasedAssetsComponent_ng_container_0_esg_search_filter_bar_6_esg_dropdown_multiple_form_4_Template","LeasedAssetsComponent_ng_container_0_esg_search_filter_bar_6_Template_esg_dropdown_multiple_form_onChange_5_listener","LeasedAssetsComponent_ng_container_0_esg_search_filter_bar_6_Template_esg_select_onChange_6_listener","LeasedAssetsComponent_ng_container_0_esg_confirm_dialog_7_Template_esg_confirm_dialog_onSubmit_0_listener","LeasedAssetsComponent_ng_container_0_esg_confirm_dialog_7_Template_esg_confirm_dialog_onCancel_0_listener","LeasedAssetsComponent_ng_container_0_esg_dot_flashing_5_Template","LeasedAssetsComponent_ng_container_0_esg_search_filter_bar_6_Template","LeasedAssetsComponent_ng_container_0_esg_confirm_dialog_7_Template","LeasedAssetsComponent_esg_leased_assets_form_table_1_Template_esg_leased_assets_form_table_onSubmit_0_listener","LeasedAssetsComponent_esg_leased_assets_form_table_1_Template_esg_leased_assets_form_table_onDelete_0_listener","LeasedAssetsComponent_esg_leased_assets_form_table_1_Template_esg_leased_assets_form_table_onSortChange_0_listener","LeasedAssetsComponent_esg_pagination_2_Template_esg_pagination_onPaginationChange_0_listener","LeasedAssetsComponent_Template","LeasedAssetsComponent_ng_container_0_Template","LeasedAssetsComponent_esg_leased_assets_form_table_1_Template","LeasedAssetsComponent_esg_pagination_2_Template","LobbyPoliticalContibutionFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onOpen_0_listener","LobbyPoliticalContibutionFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onClose_0_listener","LobbyPoliticalContibutionFormTableComponent_ng_container_1_esg_table_select_4_Template_esg_table_select_onChange_0_listener","LobbyPoliticalContibutionFormTableComponent_ng_container_1_esg_table_select_8_Template_esg_table_select_onChange_0_listener","LobbyPoliticalContibutionFormTableComponent_ng_container_1_esg_textbox_form_10_Template_esg_textbox_form_onChange_0_listener","LobbyPoliticalContibutionFormTableComponent_ng_container_1_esg_datepicker_2_Template","LobbyPoliticalContibutionFormTableComponent_ng_container_1_esg_table_select_4_Template","LobbyPoliticalContibutionFormTableComponent_ng_container_1_esg_textbox_form_6_Template","LobbyPoliticalContibutionFormTableComponent_ng_container_1_esg_table_select_8_Template","LobbyPoliticalContibutionFormTableComponent_ng_container_1_esg_textbox_form_10_Template","lobbyPoliticalContribution","OrganizationLobbyPoliticalContribution","AD","LobbyPoliticalContibutionFormTableComponent_Template","LobbyPoliticalContibutionFormTableComponent_Template_esg_records_table_onAdding_0_listener","LobbyPoliticalContibutionFormTableComponent_Template_esg_records_table_onFormClose_0_listener","LobbyPoliticalContibutionFormTableComponent_Template_esg_records_table_onEditing_0_listener","LobbyPoliticalContibutionFormTableComponent_Template_esg_records_table_onSubmit_0_listener","LobbyPoliticalContibutionFormTableComponent_Template_esg_records_table_onDelete_0_listener","LobbyPoliticalContibutionFormTableComponent_Template_esg_records_table_onSortChange_0_listener","LobbyPoliticalContibutionFormTableComponent_ng_container_1_Template","LobbyPoliticalContributionStateService","BusinessEthicsLobbyPoliticalContribution","LobbyPoliticalContributionComponent_ng_container_0_esg_search_filter_bar_6_esg_dropdown_multiple_form_4_Template_esg_dropdown_multiple_form_onChange_0_listener","LobbyPoliticalContributionComponent_ng_container_0_esg_search_filter_bar_6_Template_esg_datepicker_onChange_2_listener","LobbyPoliticalContributionComponent_ng_container_0_esg_search_filter_bar_6_Template_esg_datepicker_onChange_3_listener","LobbyPoliticalContributionComponent_ng_container_0_esg_search_filter_bar_6_esg_dropdown_multiple_form_4_Template","LobbyPoliticalContributionComponent_ng_container_0_esg_search_filter_bar_6_Template_esg_dropdown_multiple_form_onChange_5_listener","LobbyPoliticalContributionComponent_ng_container_0_esg_search_filter_bar_6_Template_esg_select_onChange_6_listener","LobbyPoliticalContributionComponent_ng_container_0_esg_confirm_dialog_7_Template_esg_confirm_dialog_onSubmit_0_listener","LobbyPoliticalContributionComponent_ng_container_0_esg_confirm_dialog_7_Template_esg_confirm_dialog_onCancel_0_listener","LobbyPoliticalContributionComponent_ng_container_0_esg_dot_flashing_5_Template","LobbyPoliticalContributionComponent_ng_container_0_esg_search_filter_bar_6_Template","LobbyPoliticalContributionComponent_ng_container_0_esg_confirm_dialog_7_Template","LobbyPoliticalContributionComponent_esg_lobby_political_contibution_form_table_1_Template_esg_lobby_political_contibution_form_table_onSubmit_0_listener","LobbyPoliticalContributionComponent_esg_lobby_political_contibution_form_table_1_Template_esg_lobby_political_contibution_form_table_onDelete_0_listener","LobbyPoliticalContributionComponent_esg_lobby_political_contibution_form_table_1_Template_esg_lobby_political_contibution_form_table_onSortChange_0_listener","LobbyPoliticalContributionComponent_esg_pagination_2_Template_esg_pagination_onPaginationChange_0_listener","LobbyPoliticalContributionComponent_Template","LobbyPoliticalContributionComponent_ng_container_0_Template","LobbyPoliticalContributionComponent_esg_lobby_political_contibution_form_table_1_Template","LobbyPoliticalContributionComponent_esg_pagination_2_Template","MarineCasualtyTypeOptions","MarineCasualtyFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onOpen_0_listener","MarineCasualtyFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onClose_0_listener","MarineCasualtyFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onOpen_0_listener","MarineCasualtyFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onClose_0_listener","MarineCasualtyFormTableComponent_ng_container_1_esg_table_select_8_Template_esg_table_select_onChange_0_listener","MarineCasualtyFormTableComponent_ng_container_1_esg_table_select_10_Template_esg_table_select_onChange_0_listener","marineCasultyType","marineCasualtyTypeOptions","MarineCasualtyFormTableComponent_ng_container_1_esg_textbox_form_12_Template_esg_textbox_form_onChange_0_listener","MarineCasualtyFormTableComponent_ng_container_1_esg_datepicker_2_Template","MarineCasualtyFormTableComponent_ng_container_1_esg_datepicker_6_Template","MarineCasualtyFormTableComponent_ng_container_1_esg_table_select_8_Template","MarineCasualtyFormTableComponent_ng_container_1_esg_table_select_10_Template","MarineCasualtyFormTableComponent_ng_container_1_esg_textbox_form_12_Template","incidentsRecord","EmployeeMarineCasualty","MarineCasualtyFormTableComponent_Template","MarineCasualtyFormTableComponent_Template_esg_records_table_onAdding_0_listener","MarineCasualtyFormTableComponent_Template_esg_records_table_onFormClose_0_listener","MarineCasualtyFormTableComponent_Template_esg_records_table_onEditing_0_listener","MarineCasualtyFormTableComponent_Template_esg_records_table_onSubmit_0_listener","MarineCasualtyFormTableComponent_Template_esg_records_table_onDelete_0_listener","MarineCasualtyFormTableComponent_Template_esg_records_table_onSortChange_0_listener","MarineCasualtyFormTableComponent_ng_container_1_Template","MarineCasualtyStateService","MarineCasualtyComponent_ng_container_0_esg_search_filter_bar_7_esg_dropdown_multiple_form_4_Template_esg_dropdown_multiple_form_onChange_0_listener","MarineCasualtyComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_datepicker_onChange_2_listener","MarineCasualtyComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_datepicker_onChange_3_listener","MarineCasualtyComponent_ng_container_0_esg_search_filter_bar_7_esg_dropdown_multiple_form_4_Template","MarineCasualtyComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_dropdown_multiple_form_onChange_5_listener","MarineCasualtyComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_select_onChange_6_listener","MarineCasualtyComponent_ng_container_0_esg_confirm_dialog_8_Template_esg_confirm_dialog_onSubmit_0_listener","MarineCasualtyComponent_ng_container_0_esg_confirm_dialog_8_Template_esg_confirm_dialog_onCancel_0_listener","MarineCasualtyComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onImportData_1_listener","MarineCasualtyComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onImportDataOpen_1_listener","MarineCasualtyComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onClose_1_listener","MarineCasualtyComponent_ng_container_0_esg_dot_flashing_6_Template","MarineCasualtyComponent_ng_container_0_esg_search_filter_bar_7_Template","MarineCasualtyComponent_ng_container_0_esg_confirm_dialog_8_Template","MarineCasualtyComponent_esg_marine_casualty_form_table_1_Template_esg_marine_casualty_form_table_onSubmit_0_listener","MarineCasualtyComponent_esg_marine_casualty_form_table_1_Template_esg_marine_casualty_form_table_onDelete_0_listener","MarineCasualtyComponent_esg_marine_casualty_form_table_1_Template_esg_marine_casualty_form_table_onSortChange_0_listener","MarineCasualtyComponent_esg_pagination_2_Template_esg_pagination_onPaginationChange_0_listener","MarineCasualtyComponent_Template","MarineCasualtyComponent_ng_container_0_Template","MarineCasualtyComponent_esg_marine_casualty_form_table_1_Template","MarineCasualtyComponent_esg_pagination_2_Template","datediff","MarineProtectedAreasFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onOpen_0_listener","MarineProtectedAreasFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onClose_0_listener","MarineProtectedAreasFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onChange_0_listener","handlePeriodInProtectedAreasChange","MarineProtectedAreasFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onOpen_0_listener","MarineProtectedAreasFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onClose_0_listener","MarineProtectedAreasFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onChange_0_listener","MarineProtectedAreasFormTableComponent_ng_container_1_esg_table_select_8_Template_esg_table_select_onChange_0_listener","MarineProtectedAreasFormTableComponent_ng_container_1_esg_textbox_form_10_Template_esg_textbox_form_onChange_0_listener","handleDaysInProtectedAreasChange","MarineProtectedAreasFormTableComponent_ng_container_1_esg_datepicker_2_Template","MarineProtectedAreasFormTableComponent_ng_container_1_esg_datepicker_6_Template","MarineProtectedAreasFormTableComponent_ng_container_1_esg_table_select_8_Template","MarineProtectedAreasFormTableComponent_ng_container_1_esg_textbox_form_10_Template","protectedAreas","VesselDurationInProtectedAreas","numberOfDays","periodDays","MarineProtectedAreasFormTableComponent_Template","MarineProtectedAreasFormTableComponent_Template_esg_records_table_onAdding_0_listener","MarineProtectedAreasFormTableComponent_Template_esg_records_table_onFormClose_0_listener","MarineProtectedAreasFormTableComponent_Template_esg_records_table_onEditing_0_listener","MarineProtectedAreasFormTableComponent_Template_esg_records_table_onSubmit_0_listener","MarineProtectedAreasFormTableComponent_Template_esg_records_table_onDelete_0_listener","MarineProtectedAreasFormTableComponent_Template_esg_records_table_onSortChange_0_listener","MarineProtectedAreasFormTableComponent_ng_container_1_Template","MarineProtectedAreasStateService","vesselDurationInProtectedAreasData","MarineProtectedAreasComponent_ng_container_0_esg_search_filter_bar_7_esg_dropdown_multiple_form_4_Template_esg_dropdown_multiple_form_onChange_0_listener","MarineProtectedAreasComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_datepicker_onChange_2_listener","MarineProtectedAreasComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_datepicker_onChange_3_listener","MarineProtectedAreasComponent_ng_container_0_esg_search_filter_bar_7_esg_dropdown_multiple_form_4_Template","MarineProtectedAreasComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_dropdown_multiple_form_onChange_5_listener","MarineProtectedAreasComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_select_onChange_6_listener","MarineProtectedAreasComponent_ng_container_0_esg_confirm_dialog_8_Template_esg_confirm_dialog_onSubmit_0_listener","MarineProtectedAreasComponent_ng_container_0_esg_confirm_dialog_8_Template_esg_confirm_dialog_onCancel_0_listener","MarineProtectedAreasComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onImportData_1_listener","MarineProtectedAreasComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onImportDataOpen_1_listener","MarineProtectedAreasComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onClose_1_listener","MarineProtectedAreasComponent_ng_container_0_esg_dot_flashing_6_Template","MarineProtectedAreasComponent_ng_container_0_esg_search_filter_bar_7_Template","MarineProtectedAreasComponent_ng_container_0_esg_confirm_dialog_8_Template","MarineProtectedAreasComponent_esg_marine_protected_areas_form_table_1_Template_esg_marine_protected_areas_form_table_onSubmit_0_listener","MarineProtectedAreasComponent_esg_marine_protected_areas_form_table_1_Template_esg_marine_protected_areas_form_table_onDelete_0_listener","MarineProtectedAreasComponent_esg_marine_protected_areas_form_table_1_Template_esg_marine_protected_areas_form_table_onSortChange_0_listener","MarineProtectedAreasComponent_esg_pagination_2_Template_esg_pagination_onPaginationChange_0_listener","MarineProtectedAreasComponent_Template","MarineProtectedAreasComponent_ng_container_0_Template","MarineProtectedAreasComponent_esg_marine_protected_areas_form_table_1_Template","MarineProtectedAreasComponent_esg_pagination_2_Template","AgeGroupOptions","EmploymentEventOptions","NewHiresAndTurnoverFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onOpen_0_listener","NewHiresAndTurnoverFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onClose_0_listener","NewHiresAndTurnoverFormTableComponent_ng_container_1_esg_table_select_4_Template_esg_table_select_onChange_0_listener","NewHiresAndTurnoverFormTableComponent_ng_container_1_esg_table_select_6_Template_esg_table_select_onChange_0_listener","action","employmentEventOptions","NewHiresAndTurnoverFormTableComponent_ng_container_1_esg_table_select_8_Template_esg_table_select_onChange_0_listener","NewHiresAndTurnoverFormTableComponent_ng_container_1_esg_table_select_10_Template_esg_table_select_onChange_0_listener","ageGroupOptions","NewHiresAndTurnoverFormTableComponent_ng_container_1_esg_table_select_12_Template_esg_table_select_onChange_0_listener","NewHiresAndTurnoverFormTableComponent_ng_container_1_esg_table_select_14_Template_esg_table_select_onChange_0_listener","NewHiresAndTurnoverFormTableComponent_ng_container_1_esg_datepicker_2_Template","NewHiresAndTurnoverFormTableComponent_ng_container_1_esg_table_select_4_Template","NewHiresAndTurnoverFormTableComponent_ng_container_1_esg_table_select_6_Template","NewHiresAndTurnoverFormTableComponent_ng_container_1_esg_table_select_8_Template","NewHiresAndTurnoverFormTableComponent_ng_container_1_esg_table_select_10_Template","NewHiresAndTurnoverFormTableComponent_ng_container_1_esg_table_select_12_Template","NewHiresAndTurnoverFormTableComponent_ng_container_1_esg_table_select_14_Template","newHiresAndTurnovers","EmployeeNewHiresAndTurnovers","NewHiresAndTurnoverFormTableComponent_Template","NewHiresAndTurnoverFormTableComponent_Template_esg_records_table_onAdding_0_listener","NewHiresAndTurnoverFormTableComponent_Template_esg_records_table_onFormClose_0_listener","NewHiresAndTurnoverFormTableComponent_Template_esg_records_table_onEditing_0_listener","NewHiresAndTurnoverFormTableComponent_Template_esg_records_table_onSubmit_0_listener","NewHiresAndTurnoverFormTableComponent_Template_esg_records_table_onDelete_0_listener","NewHiresAndTurnoverFormTableComponent_Template_esg_records_table_onSortChange_0_listener","NewHiresAndTurnoverFormTableComponent_ng_container_1_Template","NewHiresAndTurnoverStateService","employmentEventOption","genderOption","ageGroupOption","positionLevelOption","regionOption","NewHiresAndTurnoverComponent_ng_container_0_esg_search_filter_bar_7_esg_dropdown_multiple_form_4_Template_esg_dropdown_multiple_form_onChange_0_listener","NewHiresAndTurnoverComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_datepicker_onChange_2_listener","NewHiresAndTurnoverComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_datepicker_onChange_3_listener","NewHiresAndTurnoverComponent_ng_container_0_esg_search_filter_bar_7_esg_dropdown_multiple_form_4_Template","NewHiresAndTurnoverComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_dropdown_multiple_form_onChange_5_listener","NewHiresAndTurnoverComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_select_onChange_6_listener","NewHiresAndTurnoverComponent_ng_container_0_esg_confirm_dialog_8_Template_esg_confirm_dialog_onSubmit_0_listener","NewHiresAndTurnoverComponent_ng_container_0_esg_confirm_dialog_8_Template_esg_confirm_dialog_onCancel_0_listener","NewHiresAndTurnoverComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onImportData_1_listener","NewHiresAndTurnoverComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onImportDataOpen_1_listener","NewHiresAndTurnoverComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onClose_1_listener","NewHiresAndTurnoverComponent_ng_container_0_esg_dot_flashing_6_Template","NewHiresAndTurnoverComponent_ng_container_0_esg_search_filter_bar_7_Template","NewHiresAndTurnoverComponent_ng_container_0_esg_confirm_dialog_8_Template","NewHiresAndTurnoverComponent_esg_new_hires_and_turnover_form_table_1_Template_esg_new_hires_and_turnover_form_table_onSubmit_0_listener","NewHiresAndTurnoverComponent_esg_new_hires_and_turnover_form_table_1_Template_esg_new_hires_and_turnover_form_table_onDelete_0_listener","NewHiresAndTurnoverComponent_esg_new_hires_and_turnover_form_table_1_Template_esg_new_hires_and_turnover_form_table_onSortChange_0_listener","NewHiresAndTurnoverComponent_esg_pagination_2_Template_esg_pagination_onPaginationChange_0_listener","NewHiresAndTurnoverComponent_Template","NewHiresAndTurnoverComponent_ng_container_0_Template","NewHiresAndTurnoverComponent_esg_new_hires_and_turnover_form_table_1_Template","NewHiresAndTurnoverComponent_esg_pagination_2_Template","ParentalLeaveOptions","ParentalLeaveFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onOpen_0_listener","ParentalLeaveFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onClose_0_listener","ParentalLeaveFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onOpen_0_listener","ParentalLeaveFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onClose_0_listener","ParentalLeaveFormTableComponent_ng_container_1_esg_table_select_8_Template_esg_table_select_onChange_0_listener","ParentalLeaveFormTableComponent_ng_container_1_esg_table_select_10_Template_esg_table_select_onChange_0_listener","parentalLeaveOptions","ParentalLeaveFormTableComponent_ng_container_1_esg_table_select_12_Template_esg_table_select_onChange_0_listener","ParentalLeaveFormTableComponent_ng_container_1_esg_table_select_14_Template_esg_table_select_onChange_0_listener","ParentalLeaveFormTableComponent_ng_container_1_esg_datepicker_2_Template","ParentalLeaveFormTableComponent_ng_container_1_esg_datepicker_6_Template","ParentalLeaveFormTableComponent_ng_container_1_esg_table_select_8_Template","ParentalLeaveFormTableComponent_ng_container_1_esg_table_select_10_Template","ParentalLeaveFormTableComponent_ng_container_1_esg_table_select_12_Template","ParentalLeaveFormTableComponent_ng_container_1_esg_table_select_14_Template","parentalLeavesRecord","parentGender","parentLeave","EmployeeParentalLeaves","ParentalLeaveFormTableComponent_Template","ParentalLeaveFormTableComponent_Template_esg_records_table_onAdding_0_listener","ParentalLeaveFormTableComponent_Template_esg_records_table_onFormClose_0_listener","ParentalLeaveFormTableComponent_Template_esg_records_table_onEditing_0_listener","ParentalLeaveFormTableComponent_Template_esg_records_table_onSubmit_0_listener","ParentalLeaveFormTableComponent_Template_esg_records_table_onDelete_0_listener","ParentalLeaveFormTableComponent_Template_esg_records_table_onSortChange_0_listener","ParentalLeaveFormTableComponent_ng_container_1_Template","ParentalLeaveStateService","parentalLeave","ParentalLeaveComponent_ng_container_0_esg_search_filter_bar_7_esg_dropdown_multiple_form_4_Template_esg_dropdown_multiple_form_onChange_0_listener","ParentalLeaveComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_datepicker_onChange_2_listener","ParentalLeaveComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_datepicker_onChange_3_listener","ParentalLeaveComponent_ng_container_0_esg_search_filter_bar_7_esg_dropdown_multiple_form_4_Template","ParentalLeaveComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_dropdown_multiple_form_onChange_5_listener","ParentalLeaveComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_select_onChange_6_listener","ParentalLeaveComponent_ng_container_0_esg_confirm_dialog_8_Template_esg_confirm_dialog_onSubmit_0_listener","ParentalLeaveComponent_ng_container_0_esg_confirm_dialog_8_Template_esg_confirm_dialog_onCancel_0_listener","ParentalLeaveComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onImportData_1_listener","ParentalLeaveComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onImportDataOpen_1_listener","ParentalLeaveComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onClose_1_listener","ParentalLeaveComponent_ng_container_0_esg_dot_flashing_6_Template","ParentalLeaveComponent_ng_container_0_esg_search_filter_bar_7_Template","ParentalLeaveComponent_ng_container_0_esg_confirm_dialog_8_Template","ParentalLeaveComponent_esg_parental_leave_form_table_1_Template_esg_parental_leave_form_table_onSubmit_0_listener","ParentalLeaveComponent_esg_parental_leave_form_table_1_Template_esg_parental_leave_form_table_onDelete_0_listener","ParentalLeaveComponent_esg_parental_leave_form_table_1_Template_esg_parental_leave_form_table_onSortChange_0_listener","ParentalLeaveComponent_esg_pagination_2_Template_esg_pagination_onPaginationChange_0_listener","ParentalLeaveComponent_Template","ParentalLeaveComponent_ng_container_0_Template","ParentalLeaveComponent_esg_parental_leave_form_table_1_Template","ParentalLeaveComponent_esg_pagination_2_Template","PurchasedFishFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onOpen_0_listener","PurchasedFishFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onClose_0_listener","PurchasedFishFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onOpen_0_listener","PurchasedFishFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onClose_0_listener","PurchasedFishFormTableComponent_ng_container_1_esg_table_select_8_Template_esg_table_select_onChange_0_listener","PurchasedFishFormTableComponent_ng_container_1_esg_table_select_10_Template_esg_table_select_onChange_0_listener","purchasedFishTypeOptions","PurchasedFishFormTableComponent_ng_container_1_esg_textbox_form_12_Template_esg_textbox_form_onChange_0_listener","PurchasedFishFormTableComponent_ng_container_1_esg_datepicker_2_Template","PurchasedFishFormTableComponent_ng_container_1_esg_datepicker_6_Template","PurchasedFishFormTableComponent_ng_container_1_esg_table_select_8_Template","PurchasedFishFormTableComponent_ng_container_1_esg_table_select_10_Template","PurchasedFishFormTableComponent_ng_container_1_esg_textbox_form_12_Template","PurchasedFishFormTableComponent_Template","PurchasedFishFormTableComponent_Template_esg_records_table_onAdding_0_listener","PurchasedFishFormTableComponent_Template_esg_records_table_onFormClose_0_listener","PurchasedFishFormTableComponent_Template_esg_records_table_onEditing_0_listener","PurchasedFishFormTableComponent_Template_esg_records_table_onSubmit_0_listener","PurchasedFishFormTableComponent_Template_esg_records_table_onDelete_0_listener","PurchasedFishFormTableComponent_Template_esg_records_table_onSortChange_0_listener","PurchasedFishFormTableComponent_ng_container_1_Template","PurchasedFishStateService","filteredPurchasedFishType","handlePurchasedFishTypeChange","PurchasedFishComponent_ng_container_0_esg_search_filter_bar_7_esg_dropdown_multiple_form_4_Template_esg_dropdown_multiple_form_onChange_0_listener","PurchasedFishComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_datepicker_onChange_2_listener","PurchasedFishComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_datepicker_onChange_3_listener","PurchasedFishComponent_ng_container_0_esg_search_filter_bar_7_esg_dropdown_multiple_form_4_Template","PurchasedFishComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_dropdown_multiple_form_onChange_5_listener","PurchasedFishComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_select_onChange_6_listener","PurchasedFishComponent_ng_container_0_esg_confirm_dialog_8_Template_esg_confirm_dialog_onSubmit_0_listener","PurchasedFishComponent_ng_container_0_esg_confirm_dialog_8_Template_esg_confirm_dialog_onCancel_0_listener","PurchasedFishComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onImportData_1_listener","PurchasedFishComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onImportDataOpen_1_listener","PurchasedFishComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onClose_1_listener","PurchasedFishComponent_ng_container_0_esg_dot_flashing_6_Template","PurchasedFishComponent_ng_container_0_esg_search_filter_bar_7_Template","PurchasedFishComponent_ng_container_0_esg_confirm_dialog_8_Template","PurchasedFishComponent_esg_purchased_fish_form_table_1_Template_esg_purchased_fish_form_table_onSubmit_0_listener","PurchasedFishComponent_esg_purchased_fish_form_table_1_Template_esg_purchased_fish_form_table_onDelete_0_listener","PurchasedFishComponent_esg_purchased_fish_form_table_1_Template_esg_purchased_fish_form_table_onSortChange_0_listener","PurchasedFishComponent_esg_pagination_2_Template_esg_pagination_onPaginationChange_0_listener","PurchasedFishComponent_Template","PurchasedFishComponent_ng_container_0_Template","PurchasedFishComponent_esg_purchased_fish_form_table_1_Template","PurchasedFishComponent_esg_pagination_2_Template","RecordInputTypeOptions","convertToLocalDateOnlyUTC","recordEnum","isSubmitting","initOptions","ms","getAddOrEditResponse","handleStickyPaginationDivider","setVisibleAssetOptions","selectedAssetTypes","inputTypeOption","notMappedRecordAssets","notMappedAssetsString","findAsset","formTable","RecordsComponent_Query","SickLeaveFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onOpen_0_listener","SickLeaveFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onClose_0_listener","SickLeaveFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onOpen_0_listener","SickLeaveFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onClose_0_listener","SickLeaveFormTableComponent_ng_container_1_esg_table_select_8_Template_esg_table_select_onChange_0_listener","SickLeaveFormTableComponent_ng_container_1_esg_table_select_10_Template_esg_table_select_onChange_0_listener","SickLeaveFormTableComponent_ng_container_1_esg_textbox_form_12_Template_esg_textbox_form_onChange_0_listener","SickLeaveFormTableComponent_ng_container_1_esg_textbox_form_14_Template_esg_textbox_form_onChange_0_listener","SickLeaveFormTableComponent_ng_container_1_esg_textbox_form_16_Template_esg_textbox_form_onChange_0_listener","SickLeaveFormTableComponent_ng_container_1_esg_datepicker_2_Template","SickLeaveFormTableComponent_ng_container_1_esg_datepicker_6_Template","SickLeaveFormTableComponent_ng_container_1_esg_table_select_8_Template","SickLeaveFormTableComponent_ng_container_1_esg_table_select_10_Template","SickLeaveFormTableComponent_ng_container_1_esg_textbox_form_12_Template","SickLeaveFormTableComponent_ng_container_1_esg_textbox_form_14_Template","SickLeaveFormTableComponent_ng_container_1_esg_textbox_form_16_Template","sickLeaveRecord","sickLeave","EmployeeSickLeaves","SickLeaveFormTableComponent_Template","SickLeaveFormTableComponent_Template_esg_records_table_onAdding_0_listener","SickLeaveFormTableComponent_Template_esg_records_table_onFormClose_0_listener","SickLeaveFormTableComponent_Template_esg_records_table_onEditing_0_listener","SickLeaveFormTableComponent_Template_esg_records_table_onSubmit_0_listener","SickLeaveFormTableComponent_Template_esg_records_table_onDelete_0_listener","SickLeaveFormTableComponent_Template_esg_records_table_onSortChange_0_listener","SickLeaveFormTableComponent_ng_container_1_Template","SickLeaveStateService","SickLeaveComponent_ng_container_0_esg_search_filter_bar_7_esg_dropdown_multiple_form_4_Template_esg_dropdown_multiple_form_onChange_0_listener","SickLeaveComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_datepicker_onChange_2_listener","SickLeaveComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_datepicker_onChange_3_listener","SickLeaveComponent_ng_container_0_esg_search_filter_bar_7_esg_dropdown_multiple_form_4_Template","SickLeaveComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_dropdown_multiple_form_onChange_5_listener","SickLeaveComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_select_onChange_6_listener","SickLeaveComponent_ng_container_0_esg_confirm_dialog_8_Template_esg_confirm_dialog_onSubmit_0_listener","SickLeaveComponent_ng_container_0_esg_confirm_dialog_8_Template_esg_confirm_dialog_onCancel_0_listener","SickLeaveComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onImportData_1_listener","SickLeaveComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onImportDataOpen_1_listener","SickLeaveComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onClose_1_listener","SickLeaveComponent_ng_container_0_esg_dot_flashing_6_Template","SickLeaveComponent_ng_container_0_esg_search_filter_bar_7_Template","SickLeaveComponent_ng_container_0_esg_confirm_dialog_8_Template","SickLeaveComponent_esg_sick_leave_form_table_1_Template_esg_sick_leave_form_table_onSubmit_0_listener","SickLeaveComponent_esg_sick_leave_form_table_1_Template_esg_sick_leave_form_table_onDelete_0_listener","SickLeaveComponent_esg_sick_leave_form_table_1_Template_esg_sick_leave_form_table_onSortChange_0_listener","SickLeaveComponent_esg_pagination_2_Template_esg_pagination_onPaginationChange_0_listener","SickLeaveComponent_Template","SickLeaveComponent_ng_container_0_Template","SickLeaveComponent_esg_sick_leave_form_table_1_Template","SickLeaveComponent_esg_pagination_2_Template","SpillTypeOptions","SpillsToEnvironmentFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onOpen_0_listener","SpillsToEnvironmentFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onClose_0_listener","SpillsToEnvironmentFormTableComponent_ng_container_1_esg_table_select_4_Template_esg_table_select_onChange_0_listener","SpillsToEnvironmentFormTableComponent_ng_container_1_esg_table_select_6_Template_esg_table_select_onChange_0_listener","spillsOptions","SpillsToEnvironmentFormTableComponent_ng_container_1_esg_table_select_8_Template_esg_table_select_onChange_0_listener","hazardiousOptions","SpillsToEnvironmentFormTableComponent_ng_container_1_esg_textbox_form_10_Template_esg_textbox_form_onChange_0_listener","SpillsToEnvironmentFormTableComponent_ng_container_1_esg_datepicker_2_Template","SpillsToEnvironmentFormTableComponent_ng_container_1_esg_table_select_4_Template","SpillsToEnvironmentFormTableComponent_ng_container_1_esg_table_select_6_Template","SpillsToEnvironmentFormTableComponent_ng_container_1_esg_table_select_8_Template","SpillsToEnvironmentFormTableComponent_ng_container_1_esg_textbox_form_10_Template","spillOption","spills","VesselSpills","SpillsToEnvironmentFormTableComponent_Template","SpillsToEnvironmentFormTableComponent_Template_esg_records_table_onAdding_0_listener","SpillsToEnvironmentFormTableComponent_Template_esg_records_table_onFormClose_0_listener","SpillsToEnvironmentFormTableComponent_Template_esg_records_table_onEditing_0_listener","SpillsToEnvironmentFormTableComponent_Template_esg_records_table_onSubmit_0_listener","SpillsToEnvironmentFormTableComponent_Template_esg_records_table_onDelete_0_listener","SpillsToEnvironmentFormTableComponent_Template_esg_records_table_onSortChange_0_listener","SpillsToEnvironmentFormTableComponent_ng_container_1_Template","SpillsToEnvironmentStateService","SpillsToEnvironmentComponent_ng_container_0_esg_search_filter_bar_6_esg_dropdown_multiple_form_4_Template_esg_dropdown_multiple_form_onChange_0_listener","SpillsToEnvironmentComponent_ng_container_0_esg_search_filter_bar_6_Template_esg_datepicker_onChange_2_listener","SpillsToEnvironmentComponent_ng_container_0_esg_search_filter_bar_6_Template_esg_datepicker_onChange_3_listener","SpillsToEnvironmentComponent_ng_container_0_esg_search_filter_bar_6_esg_dropdown_multiple_form_4_Template","SpillsToEnvironmentComponent_ng_container_0_esg_search_filter_bar_6_Template_esg_dropdown_multiple_form_onChange_5_listener","SpillsToEnvironmentComponent_ng_container_0_esg_search_filter_bar_6_Template_esg_select_onChange_6_listener","SpillsToEnvironmentComponent_ng_container_0_esg_confirm_dialog_7_Template_esg_confirm_dialog_onSubmit_0_listener","SpillsToEnvironmentComponent_ng_container_0_esg_confirm_dialog_7_Template_esg_confirm_dialog_onCancel_0_listener","SpillsToEnvironmentComponent_ng_container_0_esg_dot_flashing_5_Template","SpillsToEnvironmentComponent_ng_container_0_esg_search_filter_bar_6_Template","SpillsToEnvironmentComponent_ng_container_0_esg_confirm_dialog_7_Template","SpillsToEnvironmentComponent_esg_spills_to_environment_form_table_1_Template_esg_spills_to_environment_form_table_onSubmit_0_listener","SpillsToEnvironmentComponent_esg_spills_to_environment_form_table_1_Template_esg_spills_to_environment_form_table_onDelete_0_listener","SpillsToEnvironmentComponent_esg_spills_to_environment_form_table_1_Template_esg_spills_to_environment_form_table_onSortChange_0_listener","SpillsToEnvironmentComponent_esg_pagination_2_Template_esg_pagination_onPaginationChange_0_listener","SpillsToEnvironmentComponent_Template","SpillsToEnvironmentComponent_ng_container_0_Template","SpillsToEnvironmentComponent_esg_spills_to_environment_form_table_1_Template","SpillsToEnvironmentComponent_esg_pagination_2_Template","getWasteHandlingOptions","WasteFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onOpen_0_listener","WasteFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onClose_0_listener","WasteFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onOpen_0_listener","WasteFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onClose_0_listener","WasteFormTableComponent_ng_container_1_esg_table_select_8_Template_esg_table_select_onChange_0_listener","WasteFormTableComponent_ng_container_1_esg_table_select_10_Template_esg_table_select_onChange_0_listener","handleClassChange","wasteClassOptions","wasteClass","WasteFormTableComponent_ng_container_1_esg_table_select_12_Template_esg_table_select_onChange_0_listener","handleSubClassChange","wasteSubClassOptions","wasteSubClass","WasteFormTableComponent_ng_container_1_esg_table_select_14_Template_esg_table_select_onChange_0_listener","WasteFormTableComponent_ng_container_1_esg_table_select_16_Template_esg_table_select_onChange_0_listener","disposalOptions","WasteFormTableComponent_ng_container_1_esg_textbox_form_18_Template_esg_textbox_form_onChange_0_listener","WasteFormTableComponent_ng_container_1_esg_table_select_19_Template_esg_table_select_onChange_0_listener","WasteFormTableComponent_ng_container_1_esg_textbox_form_21_Template_esg_textbox_form_onChange_0_listener","WasteFormTableComponent_ng_container_1_esg_datepicker_2_Template","WasteFormTableComponent_ng_container_1_esg_datepicker_6_Template","WasteFormTableComponent_ng_container_1_esg_table_select_8_Template","WasteFormTableComponent_ng_container_1_esg_table_select_10_Template","WasteFormTableComponent_ng_container_1_esg_table_select_12_Template","WasteFormTableComponent_ng_container_1_esg_table_select_14_Template","WasteFormTableComponent_ng_container_1_esg_table_select_16_Template","WasteFormTableComponent_ng_container_1_esg_textbox_form_18_Template","WasteFormTableComponent_ng_container_1_esg_table_select_19_Template","WasteFormTableComponent_ng_container_1_esg_textbox_form_21_Template","A_Plastics","K_CargoResidues_Harmful","waste","Waste","sub","WasteFormTableComponent_Template","WasteFormTableComponent_Template_esg_records_table_onAdding_0_listener","WasteFormTableComponent_Template_esg_records_table_onFormClose_0_listener","WasteFormTableComponent_Template_esg_records_table_onEditing_0_listener","WasteFormTableComponent_Template_esg_records_table_onSubmit_0_listener","WasteFormTableComponent_Template_esg_records_table_onDelete_0_listener","WasteFormTableComponent_Template_esg_records_table_onSortChange_0_listener","WasteFormTableComponent_ng_container_1_Template","WasteStateService","validateSubClassOptionColumn","wasteSubClassPossibleOptions","C_DomesticWastes","F_OperationalWastes","classOption","subclassOption","Mixed","toDisposalOption","unitOption","WasteComponent_ng_container_0_esg_search_filter_bar_7_esg_dropdown_multiple_form_4_Template_esg_dropdown_multiple_form_onChange_0_listener","WasteComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_datepicker_onChange_2_listener","WasteComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_datepicker_onChange_3_listener","WasteComponent_ng_container_0_esg_search_filter_bar_7_esg_dropdown_multiple_form_4_Template","WasteComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_dropdown_multiple_form_onChange_5_listener","WasteComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_select_onChange_6_listener","WasteComponent_ng_container_0_esg_confirm_dialog_8_Template_esg_confirm_dialog_onSubmit_0_listener","WasteComponent_ng_container_0_esg_confirm_dialog_8_Template_esg_confirm_dialog_onCancel_0_listener","WasteComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onImportData_1_listener","WasteComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onImportDataOpen_1_listener","WasteComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onClose_1_listener","WasteComponent_ng_container_0_esg_dot_flashing_6_Template","WasteComponent_ng_container_0_esg_search_filter_bar_7_Template","WasteComponent_ng_container_0_esg_confirm_dialog_8_Template","WasteComponent_esg_waste_form_table_1_Template_esg_waste_form_table_onSubmit_0_listener","WasteComponent_esg_waste_form_table_1_Template_esg_waste_form_table_onDelete_0_listener","WasteComponent_esg_waste_form_table_1_Template_esg_waste_form_table_onSortChange_0_listener","WasteComponent_esg_pagination_2_Template_esg_pagination_onPaginationChange_0_listener","WasteComponent_Template","WasteComponent_ng_container_0_Template","WasteComponent_esg_waste_form_table_1_Template","WasteComponent_esg_pagination_2_Template","WhistleblowingFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onOpen_0_listener","WhistleblowingFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onClose_0_listener","WhistleblowingFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onOpen_0_listener","WhistleblowingFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onClose_0_listener","WhistleblowingFormTableComponent_ng_container_1_esg_table_select_8_Template_esg_table_select_onChange_0_listener","WhistleblowingFormTableComponent_ng_container_1_esg_textbox_form_10_Template_esg_textbox_form_onChange_0_listener","WhistleblowingFormTableComponent_ng_container_1_esg_datepicker_2_Template","WhistleblowingFormTableComponent_ng_container_1_esg_datepicker_6_Template","WhistleblowingFormTableComponent_ng_container_1_esg_table_select_8_Template","WhistleblowingFormTableComponent_ng_container_1_esg_textbox_form_10_Template","whistleblowing","WhistleblowingFormTableComponent_Template","WhistleblowingFormTableComponent_Template_esg_records_table_onAdding_0_listener","WhistleblowingFormTableComponent_Template_esg_records_table_onFormClose_0_listener","WhistleblowingFormTableComponent_Template_esg_records_table_onEditing_0_listener","WhistleblowingFormTableComponent_Template_esg_records_table_onSubmit_0_listener","WhistleblowingFormTableComponent_Template_esg_records_table_onDelete_0_listener","WhistleblowingFormTableComponent_Template_esg_records_table_onSortChange_0_listener","WhistleblowingFormTableComponent_ng_container_1_Template","WhistleblowingStateService","BusinessEthicsWhistleblowing","WhistleblowingComponent_ng_container_0_esg_search_filter_bar_5_esg_dropdown_multiple_form_4_Template_esg_dropdown_multiple_form_onChange_0_listener","WhistleblowingComponent_ng_container_0_esg_search_filter_bar_5_Template_esg_datepicker_onChange_2_listener","WhistleblowingComponent_ng_container_0_esg_search_filter_bar_5_Template_esg_datepicker_onChange_3_listener","WhistleblowingComponent_ng_container_0_esg_search_filter_bar_5_esg_dropdown_multiple_form_4_Template","WhistleblowingComponent_ng_container_0_esg_search_filter_bar_5_Template_esg_dropdown_multiple_form_onChange_5_listener","WhistleblowingComponent_ng_container_0_esg_search_filter_bar_5_Template_esg_select_onChange_6_listener","WhistleblowingComponent_ng_container_0_esg_confirm_dialog_6_Template_esg_confirm_dialog_onSubmit_0_listener","WhistleblowingComponent_ng_container_0_esg_confirm_dialog_6_Template_esg_confirm_dialog_onCancel_0_listener","WhistleblowingComponent_ng_container_0_esg_search_filter_bar_5_Template","WhistleblowingComponent_ng_container_0_esg_confirm_dialog_6_Template","WhistleblowingComponent_esg_whistleblowing_form_table_1_Template_esg_whistleblowing_form_table_onSubmit_0_listener","WhistleblowingComponent_esg_whistleblowing_form_table_1_Template_esg_whistleblowing_form_table_onDelete_0_listener","WhistleblowingComponent_esg_whistleblowing_form_table_1_Template_esg_whistleblowing_form_table_onSortChange_0_listener","WhistleblowingComponent_esg_pagination_2_Template_esg_pagination_onPaginationChange_0_listener","WhistleblowingComponent_Template","WhistleblowingComponent_ng_container_0_Template","WhistleblowingComponent_esg_whistleblowing_form_table_1_Template","WhistleblowingComponent_esg_pagination_2_Template","WorkRelatedInjuriesFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onOpen_0_listener","WorkRelatedInjuriesFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onClose_0_listener","WorkRelatedInjuriesFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onOpen_0_listener","WorkRelatedInjuriesFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onClose_0_listener","WorkRelatedInjuriesFormTableComponent_ng_container_1_esg_table_select_8_Template_esg_table_select_onChange_0_listener","WorkRelatedInjuriesFormTableComponent_ng_container_1_esg_textbox_form_10_Template_esg_textbox_form_onChange_0_listener","WorkRelatedInjuriesFormTableComponent_ng_container_1_esg_textbox_form_12_Template_esg_textbox_form_onChange_0_listener","WorkRelatedInjuriesFormTableComponent_ng_container_1_esg_textbox_form_14_Template_esg_textbox_form_onChange_0_listener","WorkRelatedInjuriesFormTableComponent_ng_container_1_esg_textbox_form_16_Template_esg_textbox_form_onChange_0_listener","WorkRelatedInjuriesFormTableComponent_ng_container_1_esg_textbox_form_18_Template_esg_textbox_form_onChange_0_listener","WorkRelatedInjuriesFormTableComponent_ng_container_1_esg_textbox_form_20_Template_esg_textbox_form_onChange_0_listener","WorkRelatedInjuriesFormTableComponent_ng_container_1_esg_textbox_form_22_Template_esg_textbox_form_onChange_0_listener","WorkRelatedInjuriesFormTableComponent_ng_container_1_esg_datepicker_2_Template","WorkRelatedInjuriesFormTableComponent_ng_container_1_esg_datepicker_6_Template","WorkRelatedInjuriesFormTableComponent_ng_container_1_esg_table_select_8_Template","WorkRelatedInjuriesFormTableComponent_ng_container_1_esg_textbox_form_10_Template","WorkRelatedInjuriesFormTableComponent_ng_container_1_esg_textbox_form_12_Template","WorkRelatedInjuriesFormTableComponent_ng_container_1_esg_textbox_form_14_Template","WorkRelatedInjuriesFormTableComponent_ng_container_1_esg_textbox_form_16_Template","WorkRelatedInjuriesFormTableComponent_ng_container_1_esg_textbox_form_18_Template","WorkRelatedInjuriesFormTableComponent_ng_container_1_esg_textbox_form_20_Template","WorkRelatedInjuriesFormTableComponent_ng_container_1_esg_textbox_form_22_Template","EmployeeWorkRelatedInjuries","WorkRelatedInjuriesFormTableComponent_Template","WorkRelatedInjuriesFormTableComponent_Template_esg_records_table_onAdding_0_listener","WorkRelatedInjuriesFormTableComponent_Template_esg_records_table_onFormClose_0_listener","WorkRelatedInjuriesFormTableComponent_Template_esg_records_table_onEditing_0_listener","WorkRelatedInjuriesFormTableComponent_Template_esg_records_table_onSubmit_0_listener","WorkRelatedInjuriesFormTableComponent_Template_esg_records_table_onDelete_0_listener","WorkRelatedInjuriesFormTableComponent_Template_esg_records_table_onSortChange_0_listener","WorkRelatedInjuriesFormTableComponent_ng_container_1_Template","WorkRelatedInjuriesStateService","WorkRelatedInjuriesComponent_ng_container_0_esg_search_filter_bar_7_esg_dropdown_multiple_form_4_Template_esg_dropdown_multiple_form_onChange_0_listener","WorkRelatedInjuriesComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_datepicker_onChange_2_listener","WorkRelatedInjuriesComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_datepicker_onChange_3_listener","WorkRelatedInjuriesComponent_ng_container_0_esg_search_filter_bar_7_esg_dropdown_multiple_form_4_Template","WorkRelatedInjuriesComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_dropdown_multiple_form_onChange_5_listener","WorkRelatedInjuriesComponent_ng_container_0_esg_search_filter_bar_7_Template_esg_select_onChange_6_listener","WorkRelatedInjuriesComponent_ng_container_0_esg_confirm_dialog_8_Template_esg_confirm_dialog_onSubmit_0_listener","WorkRelatedInjuriesComponent_ng_container_0_esg_confirm_dialog_8_Template_esg_confirm_dialog_onCancel_0_listener","WorkRelatedInjuriesComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onImportData_1_listener","WorkRelatedInjuriesComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onImportDataOpen_1_listener","WorkRelatedInjuriesComponent_ng_container_0_Template_esg_import_from_excel_toolbar_onClose_1_listener","WorkRelatedInjuriesComponent_ng_container_0_esg_dot_flashing_6_Template","WorkRelatedInjuriesComponent_ng_container_0_esg_search_filter_bar_7_Template","WorkRelatedInjuriesComponent_ng_container_0_esg_confirm_dialog_8_Template","WorkRelatedInjuriesComponent_esg_work_related_injuries_form_table_1_Template_esg_work_related_injuries_form_table_onSubmit_0_listener","WorkRelatedInjuriesComponent_esg_work_related_injuries_form_table_1_Template_esg_work_related_injuries_form_table_onDelete_0_listener","WorkRelatedInjuriesComponent_esg_work_related_injuries_form_table_1_Template_esg_work_related_injuries_form_table_onSortChange_0_listener","WorkRelatedInjuriesComponent_esg_pagination_2_Template_esg_pagination_onPaginationChange_0_listener","WorkRelatedInjuriesComponent_Template","WorkRelatedInjuriesComponent_ng_container_0_Template","WorkRelatedInjuriesComponent_esg_work_related_injuries_form_table_1_Template","WorkRelatedInjuriesComponent_esg_pagination_2_Template","ProfileFormComponent_div_9_Template_esg_select_onChange_3_listener","inputTypeFc","hideInputType","timePeriodFc","handleTimePeriodChange","timePeriodData","ProfileFormComponent_Template","ProfileFormComponent_Template_esg_form_dialog_onCancel_0_listener","ProfileFormComponent_Template_esg_form_dialog_onSubmit_0_listener","ProfileFormComponent_Template_esg_time_period_onChange_8_listener","ProfileFormComponent_div_9_Template","RecordFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onOpen_0_listener","RecordFormTableComponent_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onClose_0_listener","RecordFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onOpen_0_listener","RecordFormTableComponent_ng_container_1_esg_datepicker_6_Template_esg_datepicker_onClose_0_listener","RecordFormTableComponent_ng_container_1_esg_table_select_8_Template_esg_table_select_onChange_0_listener","RecordFormTableComponent_ng_container_1_esg_datepicker_2_Template","RecordFormTableComponent_ng_container_1_esg_datepicker_6_Template","RecordFormTableComponent_ng_container_1_esg_table_select_8_Template","loadColumnFilter","columnFilterSubscription","selectedColumns","storedFilters","setColumnFilter","pristine","endDateControl","startDateControl","touched","hasValidator","RecordFormTableComponent_Template","RecordFormTableComponent_Template_esg_records_table_onAdding_0_listener","RecordFormTableComponent_Template_esg_records_table_onFormClose_0_listener","RecordFormTableComponent_Template_esg_records_table_onEditing_0_listener","RecordFormTableComponent_Template_esg_records_table_onSubmit_0_listener","RecordFormTableComponent_Template_esg_records_table_onDelete_0_listener","RecordFormTableComponent_Template_esg_records_table_onSortChange_0_listener","RecordFormTableComponent_ng_container_1_Template","SegmentedControlComponent_ng_container_0_a_1_Template_a_click_0_listener","tab_r2","handleOnTabClick","SegmentedControlComponent_ng_container_0_a_1_span_2_Template","SegmentedControlComponent_ng_container_0_div_2_Template_div_click_0_listener","SegmentedControlComponent_ng_container_0_a_1_Template","SegmentedControlComponent_ng_container_0_div_2_Template","onTabClick","tabValue","SegmentedControlComponent_Template","SegmentedControlComponent_ng_container_0_Template","DataImportFromExcelExampleComponent_esg_data_import_from_excel_2_Template_esg_data_import_from_excel_importData_0_listener","handleImportData","DataImportFromExcelExampleComponent_esg_data_import_from_excel_2_Template_esg_data_import_from_excel_onClose_0_listener","closeCustomImportFromExcelDialog","DataImportFromExcelExampleComponent","customImportFromExcelDialogVisible","fieldConfigs","showCustomImportFromExcelDialog","DataImportFromExcelExampleComponent_Template","DataImportFromExcelExampleComponent_Template_button_click_0_listener","DataImportFromExcelExampleComponent_esg_data_import_from_excel_2_Template","ContentExampleStateService","ExampleComponent","ExampleComponent_Template","UiComponentsComponent","ExamplesComponent","FormsModule","FeedbackExamplesComponent","SharedComponentsComponent","OnboardingExampleComponent","GenericTableExampleComponent","contentList","stickyComponentsToolbar","onContentDataChange","handleGetBotAnswer","handleUploadPhoto","photo","handleStickyComponentMenu","handleOnAddContent","addTextContent","addImageContent","addImportFromExcelContent","addTextDisclosureContent","moveContent","movedContent","newList","deleteContent","splice","comp","_","contentState","dropdownFavouriteOptions","dropdownFavouriteValue","favouriteOptions","dropdownMultipleOptions","dropdownMultipleFc","checkboxFc","tableInputFormControl","tableInputFormControl2","tableDropdownOptions1","tableDropdownFormControl1","detectFont","ExamplesComponent_Query","ExamplesComponent_Template_div_onIntersection_35_listener","ExamplesComponent_Template_esg_content_onAddContent_36_listener","ExamplesComponent_Template_esg_content_onDeleteContent_36_listener","ExamplesComponent_Template_esg_content_onMoveContent_36_listener","content_r2","isString","containsCJK","match","longTextTitle","longTextMessage","handleSuccess","handleInfo","handleWarning","showWarning","handleError","FeedbackExamplesComponent_Template","FeedbackExamplesComponent_Template_button_click_14_listener","FeedbackExamplesComponent_Template_button_click_18_listener","FeedbackExamplesComponent_Template_button_click_22_listener","FeedbackExamplesComponent_Template_button_click_26_listener","FeedbackExamplesComponent_Template_button_click_32_listener","FeedbackExamplesComponent_Template_button_click_36_listener","FeedbackExamplesComponent_Template_button_click_40_listener","FeedbackExamplesComponent_Template_button_click_44_listener","FeedbackExamplesComponent_Template_button_click_50_listener","FeedbackExamplesComponent_Template_button_click_54_listener","FeedbackExamplesComponent_Template_button_click_58_listener","FeedbackExamplesComponent_Template_button_click_62_listener","FeedbackExamplesComponent_Template_button_click_68_listener","FeedbackExamplesComponent_Template_button_click_72_listener","FeedbackExamplesComponent_Template_button_click_76_listener","FeedbackExamplesComponent_Template_button_click_80_listener","jsonPlaceholder","jsonInput","parseJson","inputObj","updatedData","handleOnRowChange","rowIndex","slice","handleOnAddRow","belowRowId","newRow","handleOnAddColumn","afterColumnId","newColumn","columnIndex","handleOnDeleteRow","handleOnDeleteColumn","handleOnColumnsChange","GenericTableExampleComponent_Template","GenericTableExampleComponent_Template_esg_button_onClick_1_listener","GenericTableExampleComponent_Template_esg_generic_table_onRowChange_3_listener","GenericTableExampleComponent_Template_esg_generic_table_onAddRowAfter_3_listener","GenericTableExampleComponent_Template_esg_generic_table_onDeleteRow_3_listener","GenericTableExampleComponent_Template_esg_generic_table_onAddColumnAfter_3_listener","GenericTableExampleComponent_Template_esg_generic_table_onDeleteColumn_3_listener","GenericTableExampleComponent_Template_esg_generic_table_onColumnsChange_3_listener","OnboardingExampleComponent_esg_onboarding_dialog_0_Template_esg_onboarding_dialog_onClose_0_listener","isDialogOpen","OnboardingExampleComponent_Template","OnboardingExampleComponent_esg_onboarding_dialog_0_Template","OnboardingExampleComponent_Template_esg_button_onClick_1_listener","riskCategoryEnum","timePeriodFormControl","Annual","nan","NaN","paginationData","pagination","SharedComponentsComponent_Template","SharedComponentsComponent_Template_esg_pagination_onPaginationChange_21_listener","UiComponentsComponent_esg_dialog_73_Template_esg_dialog_onClose_0_listener","UiComponentsComponent_esg_dialog_74_Template_esg_dialog_onClose_0_listener","UiComponentsComponent_esg_dialog_75_Template_esg_dialog_onClose_0_listener","UiComponentsComponent_esg_dialog_76_Template_esg_dialog_onClose_0_listener","textboxValue","textboxChange","textboxFormControl","contextMenuOptions","optionValue","groupedOptions","multipleOptions","openDialogType","UiComponentsComponent_Template","UiComponentsComponent_Template_esg_textbox_onChange_15_listener","UiComponentsComponent_Template_esg_select_onChange_38_listener","ɵɵtwoWayListener","UiComponentsComponent_Template_esg_select_ngModelChange_39_listener","ɵɵtwoWayBindingSet","UiComponentsComponent_Template_esg_select_onChange_39_listener","UiComponentsComponent_div_40_Template","UiComponentsComponent_div_41_Template","UiComponentsComponent_Template_button_click_64_listener","UiComponentsComponent_Template_button_click_66_listener","UiComponentsComponent_Template_button_click_68_listener","UiComponentsComponent_Template_button_click_70_listener","UiComponentsComponent_esg_dialog_73_Template","UiComponentsComponent_esg_dialog_74_Template","UiComponentsComponent_esg_dialog_75_Template","UiComponentsComponent_esg_dialog_76_Template","ɵɵtwoWayProperty","AssignedTasksComponent_tr_13_Template_tr_click_0_listener","handleTaskClick","statusColor","statusLabel","AssignedTasksComponent","onTaskClick","tasks","AssignedTasksComponent_Template","AssignedTasksComponent_tr_13_Template","HomeContentComponent","HomeContentComponent_Template","topicItemStatusOptions","HomePageStateService","topicItemServiceApi","contextSubscription","loadTopicItems","greetingsByCurrentTime","HomePageComponent_esg_assigned_tasks_29_Template_esg_assigned_tasks_onTaskClick_0_listener","HomePageComponent","greetings","fragment","HomePageComponent_Template","HomePageComponent_esg_assigned_tasks_29_Template","HomePageComponent_div_30_Template","HomePageComponent_esg_dot_flashing_31_Template","GetIndicatorDataDescription","AllRecordsDialogStateService","indicatorDataService","indicatorRecords","ImportedFrom3rdParty","groupedAssets","assetMap","handleUpdateRecord","AllRecordsDialogComponent_ng_container_10_esg_dropdown_multiple_form_5_Template_esg_dropdown_multiple_form_onChange_0_listener","AllRecordsDialogComponent_ng_container_10_esg_indicator_record_form_table_7_Template_esg_indicator_record_form_table_onUpdate_0_listener","AllRecordsDialogComponent_ng_container_10_esg_indicator_record_form_table_7_Template_esg_indicator_record_form_table_onDelete_0_listener","AllRecordsDialogComponent_ng_container_10_esg_indicator_record_form_table_7_Template_esg_indicator_record_form_table_onSortChange_0_listener","indicatorRecordDuration","indicatorUnit","AllRecordsDialogComponent_ng_container_10_esg_indicator_table_records_8_Template_esg_indicator_table_records_onUpdate_0_listener","AllRecordsDialogComponent_ng_container_10_esg_indicator_table_records_8_Template_esg_indicator_table_records_onDelete_0_listener","indicatorTableDefinition","AllRecordsDialogComponent_ng_container_10_esg_pagination_9_Template_esg_pagination_onPaginationChange_0_listener","AllRecordsDialogComponent_ng_container_10_Template_esg_datepicker_onChange_3_listener","AllRecordsDialogComponent_ng_container_10_Template_esg_datepicker_onChange_4_listener","AllRecordsDialogComponent_ng_container_10_esg_dropdown_multiple_form_5_Template","AllRecordsDialogComponent_ng_container_10_Template_esg_dropdown_multiple_form_onChange_6_listener","AllRecordsDialogComponent_ng_container_10_esg_indicator_record_form_table_7_Template","AllRecordsDialogComponent_ng_container_10_esg_indicator_table_records_8_Template","AllRecordsDialogComponent_ng_container_10_esg_pagination_9_Template","indicatorValueType","AllRecordsDialogComponent","onClose","AllRecordsDialogComponent_Template","AllRecordsDialogComponent_Template_esg_dialog_onClose_0_listener","AllRecordsDialogComponent_Template_button_click_2_listener","AllRecordsDialogComponent_ng_container_10_Template","AllRecordsDialogComponent_esg_dot_flashing_11_Template","ExcelTimePeriodType","IndicatorDataStateService","getDisplayedItemsRange","Math","isAllRecordsDialogOpen","SingleDate","Period","validateExcelTimePeriodType","validTimePeriodTypes","notMappedPeriodTypes","notMappedPeriodTypesString","validateExcelTimePeriod","notMappedPeriod","periodValue","quarterOrMonth","Month","Quarter","notMappedPeriodString","createTimePeriod","Monthly","Quarterly","timePeriodTypeValidation","timePeriodValidation","emissions","err","handleAddRecord","handleOpenAllRecordsDialog","handleCloseAllRecordsDialog","IndicatorDataComponent_ng_container_0_div_1_Template_esg_import_from_excel_toolbar_onImportData_1_listener","IndicatorDataComponent_ng_container_0_div_1_Template_esg_import_from_excel_toolbar_onImportDataOpen_1_listener","IndicatorDataComponent_ng_container_0_div_1_Template_esg_import_from_excel_toolbar_onClose_1_listener","IndicatorDataComponent_ng_container_0_esg_dropdown_multiple_form_6_Template_esg_dropdown_multiple_form_onChange_0_listener","IndicatorDataComponent_ng_container_0_esg_indicator_record_form_table_9_Template_esg_indicator_record_form_table_onCreate_0_listener","IndicatorDataComponent_ng_container_0_esg_indicator_record_form_table_9_Template_esg_indicator_record_form_table_onUpdate_0_listener","IndicatorDataComponent_ng_container_0_esg_indicator_record_form_table_9_Template_esg_indicator_record_form_table_onDelete_0_listener","IndicatorDataComponent_ng_container_0_esg_indicator_record_form_table_9_Template_esg_indicator_record_form_table_onSortChange_0_listener","IndicatorDataComponent_ng_container_0_esg_indicator_table_records_10_Template_esg_indicator_table_records_onCreate_0_listener","IndicatorDataComponent_ng_container_0_esg_indicator_table_records_10_Template_esg_indicator_table_records_onUpdate_0_listener","IndicatorDataComponent_ng_container_0_esg_indicator_table_records_10_Template_esg_indicator_table_records_onDelete_0_listener","isAddEnabled","IndicatorDataComponent_ng_container_0_esg_pagination_11_Template_esg_pagination_onPaginationChange_0_listener","IndicatorDataComponent_ng_container_0_div_1_Template","IndicatorDataComponent_ng_container_0_Template_esg_datepicker_onChange_4_listener","IndicatorDataComponent_ng_container_0_Template_esg_datepicker_onChange_5_listener","IndicatorDataComponent_ng_container_0_esg_dropdown_multiple_form_6_Template","IndicatorDataComponent_ng_container_0_Template_esg_dropdown_multiple_form_onChange_7_listener","IndicatorDataComponent_ng_container_0_Template_esg_select_onChange_8_listener","IndicatorDataComponent_ng_container_0_esg_indicator_record_form_table_9_Template","IndicatorDataComponent_ng_container_0_esg_indicator_table_records_10_Template","IndicatorDataComponent_ng_container_0_esg_pagination_11_Template","isSingleIndicator","IndicatorDataComponent_esg_all_records_dialog_2_Template_esg_all_records_dialog_onClose_0_listener","IndicatorDataComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onSubmit_0_listener","IndicatorDataComponent_esg_confirm_dialog_3_Template_esg_confirm_dialog_onCancel_0_listener","IndicatorDataComponent","compatibleRawDataSources","IndicatorDataComponent_Template","IndicatorDataComponent_ng_container_0_Template","IndicatorDataComponent_esg_dot_flashing_1_Template","IndicatorDataComponent_esg_all_records_dialog_2_Template","IndicatorDataComponent_esg_confirm_dialog_3_Template","IndicatorRecordsComponent","IndicatorRecordFormTableComponent_ng_container_1_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onOpen_0_listener","IndicatorRecordFormTableComponent_ng_container_1_ng_container_1_esg_datepicker_2_Template_esg_datepicker_onClose_0_listener","IndicatorRecordFormTableComponent_ng_container_1_ng_container_1_td_3_esg_datepicker_3_Template_esg_datepicker_onOpen_0_listener","IndicatorRecordFormTableComponent_ng_container_1_ng_container_1_td_3_esg_datepicker_3_Template_esg_datepicker_onClose_0_listener","IndicatorRecordFormTableComponent_ng_container_1_ng_container_1_td_3_esg_datepicker_3_Template","IndicatorRecordFormTableComponent_ng_container_1_ng_container_1_esg_datepicker_2_Template","IndicatorRecordFormTableComponent_ng_container_1_ng_container_1_td_3_Template","recordDurationEnum","IndicatorRecordFormTableComponent_ng_container_1_esg_table_select_4_Template_esg_table_select_onChange_0_listener","IndicatorRecordFormTableComponent_ng_container_1_esg_textbox_form_6_Template_esg_textbox_form_onChange_0_listener","IndicatorRecordFormTableComponent_ng_container_1_esg_textbox_form_8_Template_esg_textbox_form_onChange_0_listener","singleValue","IndicatorRecordFormTableComponent_ng_container_1_ng_container_1_Template","IndicatorRecordFormTableComponent_ng_container_1_td_2_Template","IndicatorRecordFormTableComponent_ng_container_1_esg_table_select_4_Template","IndicatorRecordFormTableComponent_ng_container_1_esg_textbox_form_6_Template","IndicatorRecordFormTableComponent_ng_container_1_esg_textbox_form_8_Template","showPeriodSelector","IndicatorRecordFormTableComponent","setHeaderCells","periodDescription","getDurationLabel","defaultTimeperiod","onCreate","IndicatorRecordFormTableComponent_Template","IndicatorRecordFormTableComponent_Template_esg_records_table_onAdding_0_listener","IndicatorRecordFormTableComponent_Template_esg_records_table_onFormClose_0_listener","IndicatorRecordFormTableComponent_Template_esg_records_table_onEditing_0_listener","IndicatorRecordFormTableComponent_Template_esg_records_table_onSubmit_0_listener","IndicatorRecordFormTableComponent_Template_esg_records_table_onDelete_0_listener","IndicatorRecordFormTableComponent_Template_esg_records_table_onSortChange_0_listener","IndicatorRecordFormTableComponent_ng_container_1_Template","globalMonthShortOptions","globalQuarterOptions","quarter","month","IndicatorRecordsComponent_Template","IndicatorTableRecordsComponent_ng_container_3_div_1_Template_esg_add_button_onClick_1_listener","IndicatorTableRecordsComponent_ng_container_3_div_2_Template_div_onClickOutside_0_listener","IndicatorTableRecordsComponent_ng_container_3_div_2_Template_div_onEscapeKey_0_listener","IndicatorTableRecordsComponent_ng_container_3_div_2_Template_div_onEnterKey_0_listener","IndicatorTableRecordsComponent_ng_container_3_div_2_ng_container_1_Template","recordForm_r5","IndicatorTableRecordsComponent_ng_container_3_div_1_Template","IndicatorTableRecordsComponent_ng_container_3_div_2_Template","IndicatorTableRecordsComponent_ng_container_4_esg_indicator_table_value_1_Template_esg_indicator_table_value_click_0_listener","record_r7","columnTypeMap","columnOptionsMap","columnUnitMap","IndicatorTableRecordsComponent_ng_container_4_div_2_Template_div_onClickOutside_0_listener","IndicatorTableRecordsComponent_ng_container_4_div_2_Template_div_onEscapeKey_0_listener","IndicatorTableRecordsComponent_ng_container_4_div_2_Template_div_onEnterKey_0_listener","IndicatorTableRecordsComponent_ng_container_4_div_2_ng_container_1_Template","IndicatorTableRecordsComponent_ng_container_4_esg_indicator_table_value_1_Template","IndicatorTableRecordsComponent_ng_container_4_div_2_Template","IndicatorTableRecordsComponent_ng_template_5_ng_container_0_ng_container_3_div_1_esg_datepicker_1_Template_esg_datepicker_onOpen_0_listener","IndicatorTableRecordsComponent_ng_template_5_ng_container_0_ng_container_3_div_1_esg_datepicker_1_Template_esg_datepicker_onClose_0_listener","IndicatorTableRecordsComponent_ng_template_5_ng_container_0_ng_container_3_div_1_esg_datepicker_1_Template","IndicatorTableRecordsComponent_ng_template_5_ng_container_0_ng_container_3_ng_container_2_esg_datepicker_4_Template_esg_datepicker_onOpen_0_listener","IndicatorTableRecordsComponent_ng_template_5_ng_container_0_ng_container_3_ng_container_2_esg_datepicker_4_Template_esg_datepicker_onClose_0_listener","IndicatorTableRecordsComponent_ng_template_5_ng_container_0_ng_container_3_ng_container_2_esg_datepicker_4_Template","IndicatorTableRecordsComponent_ng_template_5_ng_container_0_ng_container_3_div_1_Template","IndicatorTableRecordsComponent_ng_template_5_ng_container_0_ng_container_3_ng_container_2_Template","IndicatorTableRecordsComponent_ng_template_5_ng_container_0_esg_table_select_6_Template_esg_table_select_onChange_0_listener","id_r14","connected_r15","IndicatorTableRecordsComponent_ng_template_5_ng_container_0_div_9_Template_div_click_0_listener","IndicatorTableRecordsComponent_ng_template_5_ng_container_0_ng_container_3_Template","IndicatorTableRecordsComponent_ng_template_5_ng_container_0_div_4_Template","IndicatorTableRecordsComponent_ng_template_5_ng_container_0_esg_table_select_6_Template","IndicatorTableRecordsComponent_ng_template_5_ng_container_0_div_8_Template","IndicatorTableRecordsComponent_ng_template_5_ng_container_0_div_9_Template","IndicatorTableRecordsComponent_ng_template_5_ng_container_0_Template_esg_generic_table_onRowChange_10_listener","handleTableValueChange","IndicatorTableRecordsComponent_ng_template_5_ng_container_0_Template","IndicatorTableRecordsComponent","newRecord","getEmptyTableValue","convertTableValueToGenericRowUi","trackByRecordId","observerEntry","cellValue","getDefaultValueForColumn","rowDef","IndicatorTableRecordsComponent_Template","IndicatorTableRecordsComponent_Template_div_onIntersection_0_listener","IndicatorTableRecordsComponent_ng_container_3_Template","IndicatorTableRecordsComponent_ng_container_4_Template","IndicatorTableRecordsComponent_ng_template_5_Template","IndicatorTab","IndicatorDetailsStateService","indicatorApiService","IndicatorTabEnum","Performance","Data","Properties","compatibleIndicatorDefinitionDataSources","getIndicatorDefinitionData","definitionResponse","indicatorDefinitonProperties","standards","unitName","numericCalculationType","setOrganizationCurrency","setActiveTab","sectorTypes","IndicatorDetailsComponent_ng_container_1_ng_container_7_Case_1_Template","IndicatorDetailsComponent_ng_container_1_ng_container_7_Case_2_Template","IndicatorDetailsComponent_ng_container_1_ng_container_7_Case_3_Template","tmp_2_0","IndicatorDetailsComponent_ng_container_1_Template_esg_tabs_onTabClick_5_listener","IndicatorDetailsComponent_ng_container_1_div_6_Template","IndicatorDetailsComponent_ng_container_1_ng_container_7_Template","updatingCalculation","IndicatorDetailsComponent","IndicatorDetailsComponent_Template","IndicatorDetailsComponent_esg_dot_flashing_0_Template","IndicatorDetailsComponent_ng_container_1_Template","IndicatorGraphViewComponent","isAnnual","contextMenuOptionsProvider","exportToPng","exportToSvg","chart","exportChart","filename","backgroundColor","handleChartInstanceHandler","graphData","IndicatorGraphViewComponent_Template","IndicatorGraphViewComponent_Template_esg_chart_v3_chartIntanceHandler_1_listener","valueSeriesArray","targetSeries","KpisTimePeriodTypeOptions","getSubOrganization","so","IndicatorPerformanceStateService","timeFormGroup","yearInterval","calculatedDataApiService","targetDialogOpen","fromYearOptions","toYearOptions","indicatorScope","includeSubOrgs","timePeriodTypeOptions","organizationSubOrganizationOptions","contextMenuProvider","handleExpandSubstrateData","calculateValue","substrateDataIsLoading","groupName","numberOfAssets","valueTotal","handleExpandSubstrateGroupData","groupIndex","organizationListResponse","handleReportScopeChange","getCalculatedData","formSubscription","setDisabledYearOptions","handleTimeChange","setYearOptions","minYear","maxYear","yearOptions","parseInt","setNumericCalculatedData","numericCalculatedDataSummary","Decrease","calculatedGraph","series","labelSeries","IndicatorPerformanceComponent_esg_set_indicator_target_dialog_0_Template_esg_set_indicator_target_dialog_onClose_0_listener","handleCloseTargetDialog","IndicatorPerformanceComponent_esg_set_indicator_target_dialog_0_Template_esg_set_indicator_target_dialog_onUpdate_0_listener","handleUpdatedTarget","IndicatorPerformanceComponent_esg_button_4_Template_esg_button_onClick_0_listener","handleSetTarget","isNumericAverage","IndicatorPerformanceComponent_ng_container_16_div_1_ng_container_2_esg_numeric_calculated_data_2_Template_esg_numeric_calculated_data_expandSubstrateData_0_listener","IndicatorPerformanceComponent_ng_container_16_div_1_ng_container_2_esg_numeric_calculated_data_2_Template_esg_numeric_calculated_data_expandSubstrateGroupData_0_listener","IndicatorPerformanceComponent_ng_container_16_div_1_ng_container_2_esg_indicator_graph_view_1_Template","IndicatorPerformanceComponent_ng_container_16_div_1_ng_container_2_esg_numeric_calculated_data_2_Template","IndicatorPerformanceComponent_ng_container_16_div_1_esg_numeric_calculated_summary_1_Template","IndicatorPerformanceComponent_ng_container_16_div_1_ng_container_2_Template","table_r5","calculatedTableColumnTypeMap","calculatedTableColumnOptionsMap","calculatedTableColumnUnitMap","IndicatorPerformanceComponent_ng_container_16_div_2_esg_indicator_table_value_2_Template","calculatedTableHeaders","IndicatorPerformanceComponent_ng_container_16_div_1_Template","IndicatorPerformanceComponent_ng_container_16_div_2_Template","IndicatorPerformanceComponent","indicatorNumericCalculationType","setTableDefinitionHeadersAndMaps","IndicatorPerformanceComponent_Template","IndicatorPerformanceComponent_esg_set_indicator_target_dialog_0_Template","IndicatorPerformanceComponent_Template_esg_select_tree_onChange_3_listener","IndicatorPerformanceComponent_esg_button_4_Template","IndicatorPerformanceComponent_ng_container_16_Template","IndicatorPerformanceComponent_esg_dot_flashing_17_Template","numberToFormattedNumberString","period_r4","item_r7","NumericCalculatedDataComponent_ng_container_33_ng_container_15_ng_container_13_ng_container_1_Template","group_r8","NumericCalculatedDataComponent_ng_container_33_ng_container_15_Template_esg_collapsible_icon_onClick_4_listener","groupIndex_r6","i_r2","handleExpandGroup","NumericCalculatedDataComponent_ng_container_33_ng_container_15_ng_container_13_Template","NumericCalculatedDataComponent_ng_container_33_Template_esg_collapsible_icon_onClick_3_listener","NumericCalculatedDataComponent_ng_container_33_ng_container_9_Template","NumericCalculatedDataComponent_ng_container_33_esg_tooltip_10_Template","NumericCalculatedDataComponent_ng_container_33_ng_container_15_Template","NumericCalculatedDataComponent_ng_container_33_tr_16_Template","NumericCalculatedDataComponent","expandSubstrateData","expandSubstrateGroupData","abs","NumericCalculatedDataComponent_Template","NumericCalculatedDataComponent_ng_container_33_Template","isAboveTarget","NumericCalculatedSummaryComponent","yearLabel","isAverage","summary","NumericCalculatedSummaryComponent_Template","NumericCalculatedSummaryComponent_ng_container_25_Template","TargetTrendOptions","SetIndicatorTargetDialogStateService","indicatorApi","targetValueCalculatorService","initTargetValues","targetValues","suborganization","targetTrendOptions","baseYear","numeric","baseYearValue","targetYear","targetTrendType","targetPerecentChange","baseYearValidationMessage","targetYearValidationMessage","kpiId","targetValuesResponse","calculateTargetValue","calculatePercentageChange","percentageChange","trend","baseYearValueNumber","percentageChangeNumber","Increase","targetValueNumber","round","generateTargetValues","invalid","calculatedTargetValues","calculateTargetValuesByTargetValue","baseValue","parseFloat","targetYearValue","setTarget","TargetValueCalculatorService","target_r2","SetIndicatorTargetDialogComponent","SetIndicatorTargetDialogComponent_Template","SetIndicatorTargetDialogComponent_Template_esg_form_dialog_onCancel_0_listener","SetIndicatorTargetDialogComponent_Template_esg_form_dialog_onSubmit_0_listener","SetIndicatorTargetDialogComponent_Template_esg_textbox_form_onEnter_10_listener","markAsTouched","SetIndicatorTargetDialogComponent_Template_esg_textbox_form_onChange_10_listener","SetIndicatorTargetDialogComponent_span_12_Template","SetIndicatorTargetDialogComponent_Template_esg_textbox_form_onChange_16_listener","SetIndicatorTargetDialogComponent_Template_esg_textbox_form_onEnter_21_listener","SetIndicatorTargetDialogComponent_Template_esg_textbox_form_onChange_21_listener","SetIndicatorTargetDialogComponent_span_23_Template","SetIndicatorTargetDialogComponent_Template_esg_textbox_form_onChange_31_listener","SetIndicatorTargetDialogComponent_Template_esg_textbox_form_onChange_37_listener","SetIndicatorTargetDialogComponent_Template_esg_button_onClick_39_listener","SetIndicatorTargetDialogComponent_tr_51_Template","IndicatorPropertiesComponent","indicatorProperties","sectorsStringList","rawDataSourcesList","indicatorDefinitionDataSourcesList","IndicatorPropertiesComponent_Template","menuState","CategoryColors","CategoryLabels","isAdded","setLibraryIndicatorCount","addIndicatorToOrganization","indicatorIndex","setOurIndicatorsCount","clearRecentlyAddedFlag","setRecentlyAddedFlag","getSectorsStringList","IndicatorsLibraryComponent_ng_container_1_tr_24_button_2_Template_button_click_0_listener","IndicatorsLibraryComponent_ng_container_1_tr_24_button_2_Template","IndicatorsLibraryComponent_ng_container_1_tr_24_span_3_Template","IndicatorsLibraryComponent_ng_container_1_Template_esg_search_filter_bar_searchValueChange_3_listener","IndicatorsLibraryComponent_ng_container_1_Template_esg_dropdown_multiple_form_onChange_5_listener","IndicatorsLibraryComponent_ng_container_1_Template_div_onIntersection_6_listener","IndicatorsLibraryComponent_ng_container_1_Template_esg_sortable_table_column_sortChange_13_listener","IndicatorsLibraryComponent_ng_container_1_Template_esg_sortable_table_column_sortChange_16_listener","IndicatorsLibraryComponent_ng_container_1_Template_esg_sortable_table_column_sortChange_19_listener","IndicatorsLibraryComponent_ng_container_1_Template_esg_sortable_table_column_sortChange_22_listener","IndicatorsLibraryComponent_ng_container_1_tr_24_Template","trackByIndicator","IndicatorsLibraryComponent","IndicatorsLibraryComponent_Template","IndicatorsLibraryComponent_esg_dot_flashing_0_Template","IndicatorsLibraryComponent_ng_container_1_Template","IndicatorsLibraryComponent_Template_esg_pagination_onPaginationChange_2_listener","IndicatorsListStateService","indicators","valueStatusEnum","showNotPossibleToRemoveDialog","updatingSelectedIndicator","updatingAllIndicators","updatingAllIndicatorsProgress","hasRemovePermission","calculationUpdateIsNeeded","listReportUsedIndicator","handleInitateRemoveIndicator","getOrganizationCurrency","queryParamsSub","handleQueryParamsChange","fragmentSub","handleFragmentChange","categoryFilter","currentCategory","setCalculationStatus","newestDate","hasOutOfDateStatus","OutOfDate","WithErrors","indicatorsLastCalculated","indicatorCategory","setSelectedIndicator","handleCloseRemoveDialog","handleInitateNotPossibleToRemoveDialog","listReportInUsed","handleCloseNotPossibleToRemoveDialog","updateSelectedIndicator","selectedIndicator","CalculationInProgress","UpToDate","updateAllIndicators","totalIndicators","updatedCount","requestBatchSize","processBatch","batch","batchPromises","decrementCategoryCount","IndicatorsListComponent_ng_container_1_ng_container_24_tr_1_Template_tr_click_0_listener","handleIndicatorClick","IndicatorsListComponent_ng_container_1_ng_container_24_tr_1_esg_tooltip_5_Template","IndicatorsListComponent_ng_container_1_ng_container_24_tr_1_esg_tooltip_6_Template","IndicatorsListComponent_ng_container_1_ng_container_24_tr_1_esg_check_circle_icon_7_Template","IndicatorsListComponent_ng_container_1_ng_container_24_tr_1_esg_calculation_icon_8_Template","IndicatorsListComponent_ng_container_1_ng_container_24_tr_1_Template_esg_table_button_onClick_16_listener","IndicatorsListComponent_ng_container_1_ng_container_24_tr_1_Template","IndicatorsListComponent_ng_container_1_Template_button_click_5_listener","IndicatorsListComponent_ng_container_1_ng_container_6_Template","IndicatorsListComponent_ng_container_1_ng_container_7_Template","IndicatorsListComponent_ng_container_1_ng_container_8_Template","IndicatorsListComponent_ng_container_1_Template_esg_search_filter_bar_searchValueChange_12_listener","IndicatorsListComponent_ng_container_1_Template_esg_sortable_table_column_sortChange_18_listener","IndicatorsListComponent_ng_container_1_Template_esg_sortable_table_column_sortChange_21_listener","IndicatorsListComponent_ng_container_1_ng_container_24_Template","IndicatorsListComponent_button_4_Template_button_click_0_listener","IndicatorsListComponent_button_4_ng_container_1_Template","IndicatorsListComponent_button_4_ng_container_2_Template","IndicatorsListComponent_button_4_ng_container_3_Template","IndicatorsListComponent_button_4_ng_container_4_Template","IndicatorsListComponent_esg_confirm_dialog_8_Template_esg_confirm_dialog_onCancel_0_listener","IndicatorsListComponent_esg_confirm_dialog_8_Template_esg_confirm_dialog_onSubmit_0_listener","ɵɵpropertyInterpolate1","report_r8","IndicatorsListComponent_esg_dialog_9_div_16_ng_container_1_Template","IndicatorsListComponent_esg_dialog_9_Template_esg_dialog_onClose_0_listener","IndicatorsListComponent_esg_dialog_9_div_16_Template","IndicatorsListComponent_esg_dialog_9_Template_esg_button_onClick_20_listener","IndicatorsListComponent","routerState","root","closeIndicatorDetails","IndicatorsListComponent_Template","IndicatorsListComponent_esg_dot_flashing_0_Template","IndicatorsListComponent_ng_container_1_Template","IndicatorsListComponent_Template_esg_details_dialog_onClose_2_listener","IndicatorsListComponent_button_4_Template","IndicatorsListComponent_span_5_Template","IndicatorsListComponent_esg_indicator_details_6_Template","IndicatorsListComponent_esg_narrative_details_7_Template","IndicatorsListComponent_esg_confirm_dialog_8_Template","IndicatorsListComponent_esg_dialog_9_Template","IndicatorsListComponent_Template_esg_pagination_onPaginationChange_10_listener","getLibraryIndicatorCount","getOurIndicatorsCount","fromEntries","libraryIndicatorCount","IndicatorsPageComponent","IndicatorsPageComponent_Template","NarrativeDetailsComponent","IndicatorTableValueComponent","NarrativeDetailsStateService","NarrativeDetailsComponent_ng_container_1_Template_esg_tabs_onTabClick_5_listener","NarrativeDetailsComponent_Template","NarrativeDetailsComponent_esg_dot_flashing_0_Template","NarrativeDetailsComponent_ng_container_1_Template","IndicatorTableValueComponent_ng_container_4_ng_container_1_esg_raw_data_icon_1_Template","IndicatorTableValueComponent_ng_container_4_ng_container_1_esg_column_stack_icon_2_Template","IndicatorTableValueComponent_ng_container_4_ng_container_1_esg_import_from_excel_icon_3_Template","isNewlyAdded","IndicatorTableValueComponent_ng_container_4_ng_container_1_Template","IndicatorTableValueComponent_ng_container_4_esg_pulsing_dot_2_Template","cell_r2","IndicatorTableValueComponent_tr_12_td_1_span_3_Template","IndicatorTableValueComponent_tr_12_td_1_Template","trackByCell","columnUnit","findUnitInOptions","trackByRowId","unitValue","IndicatorTableValueComponent_Template","IndicatorTableValueComponent_ng_container_4_Template","IndicatorTableValueComponent_esg_tooltip_5_Template","IndicatorTableValueComponent_div_9_Template","IndicatorTableValueComponent_tr_12_Template","noContentImage","src","alt","NoTopicSelectedComponent","reportState","ReportDetailsStateService","NoTopicSelectedComponent_Template","NoTopicSelectedComponent_div_0_Template","NoTopicSelectedComponent_div_1_Template","freshReport","openFileInNewTab","PdfGenerationError","reportApiService","topicItemApiService","pdfService","isLoadingReport","isLoadingIndicators","isCalculatingIndicators","isCalculatingIndicatorsLabel","isCreatingPdf","loadedMainTopics","loadedTopics","loadReportData","reportData","Todo","setTopicDetails","selectedTopic","reduce","prev","curr","clearTopicDetails","clearReportData","ml","m","calculateAllIndicators","reportAllTopicItemsResponse","allDifferentThenArticleTopicItems","NewIndicator","updateProgressLabel","topicItem","createPdf","isExecutiveSummaryReport","reportContent","pdfUrl","generatePdf","organizationDetails","writingSystem","isExecutiveSummary","showMainContent","ReportPdfService","TopicDetailsStateService","ReportDetailsComponent_ng_container_1_esg_report_structure_1_Template_esg_report_structure_onSelectTopic_0_listener","handleSelectTopic","ReportDetailsComponent_ng_container_1_esg_report_structure_1_Template_esg_report_structure_addMainLevel_0_listener","handleAddMainLevel","ReportDetailsComponent_ng_container_1_esg_report_structure_1_Template_esg_report_structure_onCreatePDF_0_listener","ReportDetailsComponent_ng_container_1_esg_report_structure_1_Template_esg_report_structure_onCreateSummaryPDF_0_listener","ReportDetailsComponent_ng_container_1_esg_report_structure_1_Template_esg_report_structure_onCalculateIndicators_0_listener","ReportDetailsComponent_ng_container_1_esg_report_structure_1_Template","ReportDetailsComponent_ng_container_1_esg_side_menu_2_Template","ReportDetailsComponent","indicatorsState","ReportDetailsComponent_Template","ReportDetailsComponent_ng_container_1_Template","ReportDetailsComponent_ng_container_3_Template","ReportDetailsComponent_esg_dot_flashing_4_Template","ReportDetailsComponent_esg_dot_flashing_5_Template","ReportDetailsComponent_esg_dot_flashing_6_Template","ReportStructureComponent","MainLevelItemComponent","TopicItemComponent","TopicDetailsComponent","TopicItemListComponent","TopicItemDetailsComponent","IndicatorValuesComponent","ReportMenuItemComponent","ReportPageComponent","SubstrateDataComponent","IndicatorInputComponent","NewIndicatorFormComponent","TextDisclosureFormComponent","TopicContentComponent","TopicItemContentComponent","TopicItemHeaderComponent","TopicItemPlaceholderComponent","IndicatorDisclosureDialogComponent","importFromExcelTable","_importFromExcelTable","numberOfColumns","rightColumnsWidth","fill","table","headerRows","widths","concat","headerColumns","rowsColumns","margin","layout","hLineColor","vLineColor","hLineWidth","vLineWidth","style","alignment","rowColumns","rowCell","generateIndicatorSet","keyFigures","isCustomPeriod","tableHeaders","tableBody","periodRow","dataRow","italics","bold","dontBreakRows","paddingRight","paddingLeft","paddingTop","paddingBottom","generateTableValue","calculatedTable","metaData","showCurrentValue","showPreviousValue","labelTable","generateLabelTable","currentTable","generateValueTable","previousTable","currentCells","previousCells","referenceRow","stack","fillColor","node","hasGroupLabel","firstColumn","timperiod","timePeriodRow","groupCells","currentGroup","groupColSpan","rowCells","j","pickTextColorBasedOnBgColor","mapKeyFiguresToRow","matchingComponents","hasTargetColumn","hasCurrentColumn","hasPreviousColumn","current","previous","getKeyFigureFromMainLevels","topic","_ref3","keyFigure","_x3","generateKeyFiguresTable","keyFiguresTables","figures","indictorValues","pageBreak","fixLineHeight","FontTypes","generateTopicTitle","unbreakable","generateChapterPage","mainTopicTitle","absolutePosition","y","canvas","w","fillOpacity","x1","y1","x2","y2","lineWidth","lineColor","frontPage","configuration","reportTitle","image","fit","characterSpacing","footer","marginRight","currentNode","followingNodesOnPage","nodesOnNextPage","pageMarginTop","pageNumbers","pageInnerHeight","startPosition","defaultHTMLStyles","defaultStyles","p","h1","font","SemiBold","h2","h3","h4","h5","h6","img","marginBottom","li","strong","pdfStyles","companyName","Light","mainTopicTitleCover","companyNameCover","mainTopicTitleLeft","keyFigureTitle","topicTitle","topicItemTitle","keyFiguresTableCell","indicatorHeading","indicatorTableHeading","indicatorReference","excelHeader","excelBody","footerText","textDisclosureReference","htmlToPdfmake","generateReport","generateVfs","throwErrorIfPdfDefinitionNotValid","getBase64ImageFromURL","fontsFactory","contentToPdf","test","HTMlToContent","getPictureUrl","_ref4","usedKeyFigures","Boolean","_x4","_x5","_x6","_ref5","_x7","_x8","getCoverPhotoUrl","replaceListItems","html","listType","itemPrefix","counter","RegExp","listItems","attributes","replaceHorizontalRule","formatListItems","updateImgAttributesForPdf","A4_WIDTH","maxWidth","imgRegex","imgAttributes","updatedAttributes","widthMatch","existingWidth","heightMatch","Regular","generateComponentsContent","_ref6","_x9","generateReportContent","fonts","vfs","mainContent","_ref7","_ref8","topicIndex","_ref9","topicItemIndex","topicItemErrorId","_ref10","validateContent","_x15","_x13","_x14","_x11","_x12","_x10","keyFiguresContent","frontPageContent","finishedContent","dd","pageMargins","defaultStyle","images","pageBreakBefore","cloneDeep","ContextMenuComponent","MainLevelItemComponent_ng_container_2__svg_svg_9_Template_svg_click_0_listener","toggleExpand","MainLevelItemComponent_ng_container_2__svg_svg_10_Template_svg_click_0_listener","MainLevelItemComponent_ng_container_2_Template_div_mousedown_1_listener","handleDragStart","MainLevelItemComponent_ng_container_2__svg_svg_9_Template","MainLevelItemComponent_ng_container_2__svg_svg_10_Template","MainLevelItemComponent_ng_container_2_Template_div_click_single_11_listener","handleSingleClick","MainLevelItemComponent_ng_container_2_Template_div_click_double_11_listener","handleDoubleClick","MainLevelItemComponent_ng_container_2_esg_spinner_14_Template","MainLevelItemComponent_ng_container_2_Template_svg_click_16_listener","handleEnableAddTopic","mainLevelData","isLoading","mainLevelMenuProvider","MainLevelItemComponent_span_3_Template_span_onClickOutside_0_listener","handleEditingMainLevelClickOutside","MainLevelItemComponent_span_3_Template_span_onEscapeKey_0_listener","handleCancelMainLevelForm","MainLevelItemComponent_span_3_Template_span_onEnterKey_0_listener","editingMainLevelFormControl","MainLevelItemComponent_div_4_Template_div_onClickOutside_0_listener","handleAddingTopicClickOutside","MainLevelItemComponent_div_4_Template_div_onEscapeKey_0_listener","handleCancelTopicForm","MainLevelItemComponent_div_4_Template_div_onEnterKey_0_listener","addingTopicFormControl","onUpdateMainLevel","onAddTopic","onDeleteMainLevel","handleEditClick","contextMenuComponent","handleMouseLeave","MainLevelItemComponent_Query","MainLevelItemComponent_Template_div_mouseleave_1_listener","MainLevelItemComponent_ng_container_2_Template","MainLevelItemComponent_span_3_Template","MainLevelItemComponent_div_4_Template","MainLevelItemComponent_ng_content_6_Template","ReportMenuItemComponent_Template","ReportMenuItemComponent_Template_div_click_0_listener","transferArrayItem","ReportStructureComponent_esg_main_level_item_8_esg_topic_item_2_Template_esg_topic_item_onSelectTopic_0_listener","ReportStructureComponent_esg_main_level_item_8_esg_topic_item_2_Template_esg_topic_item_onEditTopic_0_listener","handleEditTopic","ReportStructureComponent_esg_main_level_item_8_esg_topic_item_2_Template_esg_topic_item_onDeleteTopic_0_listener","handleDeleteTopic","ReportStructureComponent_esg_main_level_item_8_esg_topic_item_2_Template_esg_topic_item_onDeactivateTopic_0_listener","handleDeactivateTopic","mainLevel_r3","topic_r5","ReportStructureComponent_esg_main_level_item_8_Template_esg_main_level_item_onUpdateMainLevel_0_listener","ReportStructureComponent_esg_main_level_item_8_Template_esg_main_level_item_onAddTopic_0_listener","ReportStructureComponent_esg_main_level_item_8_Template_esg_main_level_item_onDeleteMainLevel_0_listener","handleDeleteMainLevel","ReportStructureComponent_esg_main_level_item_8_Template_div_cdkDropListDropped_1_listener","dropTopic","ReportStructureComponent_esg_main_level_item_8_esg_topic_item_2_Template","trackByTopic","ReportStructureComponent_button_9_Template_button_click_0_listener","ReportStructureComponent_div_10_Template_esg_textbox_form_onEnter_1_listener","handleSubmitAddNewMainLevel","newMainLevel","ReportStructureComponent_esg_report_menu_item_14_Template_esg_report_menu_item_onClick_0_listener","handleCalculateIndicators","ReportStructureComponent_esg_report_menu_item_14_esg_warning_filled_icon_1_Template","ReportStructureComponent_esg_report_menu_item_14_esg_error_icon_2_Template","ReportStructureComponent_esg_report_menu_item_14_esg_check_circle_icon_3_Template","ReportStructureComponent_esg_report_menu_item_14_esg_calculation_icon_4_Template","ReportStructureComponent_div_20_Template_div_onClickOutside_0_listener","handleCloseCreatePdfContextMenu","ReportStructureComponent_div_20_Template_div_click_2_listener","handleCreatePdfReport","ReportStructureComponent_div_20_Template_div_click_4_listener","handleCreatePdfExecutiveSummaryReport","ReportStructureComponent_esg_report_menu_item_21_Template_esg_report_menu_item_onClick_0_listener","handleSaveReportAsTemplate","ReportStructureComponent_esg_report_menu_item_22_Template_esg_report_menu_item_onClick_0_listener","handleReportSettings","ReportStructureComponent_esg_confirm_dialog_23_Template_esg_confirm_dialog_onCancel_0_listener","removeMainLevelData","ReportStructureComponent_esg_confirm_dialog_23_Template_esg_confirm_dialog_onSubmit_0_listener","handleDeleteMainLevelSubmit","removeMainLevelTitle","removeMainLevelMessage","ReportStructureComponent_esg_confirm_dialog_24_Template_esg_confirm_dialog_onCancel_0_listener","removeTopicData","ReportStructureComponent_esg_confirm_dialog_24_Template_esg_confirm_dialog_onSubmit_0_listener","handleDeleteTopicSubmit","removeTopicTitle","removeTopicMessage","ReportStructureComponent_esg_template_form_25_Template_esg_template_form_onClose_0_listener","handleCloseTemplateFormDialog","ReportStructureComponent_esg_template_form_25_Template_esg_template_form_onSubmit_0_listener","handleSavedAsTemplateSuccess","ReportStructureComponent_esg_report_form_26_Template_esg_report_form_onClose_0_listener","handleCloseReportFormDialog","ReportStructureComponent_esg_report_form_26_Template_esg_report_form_onSubmit_0_listener","hanldeOpenCreatePdfContextMenu","createPdfContextMenuOpen","reportVersionEnum","onSelectTopic","onCreatePDF","onCreateSummaryPDF","onCalculateIndicators","templateFormDialogOpen","reportFormDialogOpen","mainLevel","updatedName","topicName","dropMainLevel","previousContainer","currentContainer","container","topicToMove","handleHtmlReport","ReportStructureComponent_Template","ReportStructureComponent_Template_div_cdkDropListDropped_6_listener","ReportStructureComponent_esg_main_level_item_8_Template","ReportStructureComponent_button_9_Template","ReportStructureComponent_div_10_Template","ReportStructureComponent_esg_report_menu_item_14_Template","ReportStructureComponent_Template_esg_report_menu_item_onClick_15_listener","ReportStructureComponent_Template_esg_report_menu_item_onClick_18_listener","ReportStructureComponent_div_20_Template","ReportStructureComponent_esg_report_menu_item_21_Template","ReportStructureComponent_esg_report_menu_item_22_Template","ReportStructureComponent_esg_confirm_dialog_23_Template","ReportStructureComponent_esg_confirm_dialog_24_Template","ReportStructureComponent_esg_template_form_25_Template","ReportStructureComponent_esg_report_form_26_Template","V2","TopicItemComponent_a_9_Template_div_click_single_1_listener","TopicItemComponent_a_9_Template_div_click_double_1_listener","TopicItemComponent_a_9__svg_svg_4_Template","TopicItemComponent_a_9_esg_spinner_5_Template","topicData","TopicItemComponent_div_10_Template_div_onClickOutside_0_listener","handleClickOutside","TopicItemComponent_div_10_Template_div_onEscapeKey_0_listener","TopicItemComponent_div_10_Template_div_onEnterKey_0_listener","editingFormControl","onEditTopic","onDeleteTopic","onDeactivateTopic","topicMenuProvider","TopicItemComponent_Query","TopicItemComponent_Template_div_mouseleave_0_listener","TopicItemComponent_Template_div_mousedown_1_listener","TopicItemComponent_a_9_Template","TopicItemComponent_div_10_Template","disclosure_r1","IndicatorDisclosureDialogComponent_ng_container_12_div_1_Template","IndicatorDisclosureDialogComponent_Template","IndicatorDisclosureDialogComponent_Template_button_click_2_listener","IndicatorDisclosureDialogComponent_ng_container_12_Template","TopicContentStateService","appInfoService","topicTopicItems","responsiblePersonOptions","removeTopicItemMessage","indicatorSingleValueOptions","narrativeIndicatorOptions","isDisclosureModalVisible","sectionSub","fragmentSectionId","getAllIndicatorOptions","responsiblePerson","collapsed","handleOnAddHeader","topicItemStatus","handleOnMoveTopicItem","handleOnInitateDeleteTopicItem","removeTopicItemId","handleOnDeleteTopicItemCancel","handleOnDeleteTopicItem","handleOnReordering","handleOnReorderCancel","availableIndicatorsResponse","availableIndicators","groupedIndicators","singleGroupedIndicators","narrativeGroupedIndicators","openDisclosureModal","closeDisclosureModal","updateTopicItemStatus","TopicContentComponent_button_9_Template_button_click_0_listener","TopicContentComponent_esg_button_10_Template_esg_button_click_0_listener","TopicContentComponent_For_13_Defer_0_Template_esg_topic_item_content_onDeleteHeader_0_listener","TopicContentComponent_For_13_Defer_0_Template_esg_topic_item_content_onResponsiblePersonChange_0_listener","TopicContentComponent_For_13_Defer_0_Template_esg_topic_item_content_onUpdateVisibility_0_listener","TopicContentComponent_For_13_Defer_0_Template_esg_topic_item_content_onSetDisclosures_0_listener","TopicContentComponent_For_13_Defer_0_Template_esg_topic_item_content_onTopicItemStatusChange_0_listener","ɵ$index_49_r7","ɵ$count_49_r8","TopicContentComponent_For_13_Defer_0_Template","TopicContentComponent_For_13_DeferPlaceholder_1_Template","ɵɵdefer","TopicContentComponent_For_13_Defer_2_DepsFn","ɵɵdeferOnViewport","TopicContentComponent_esg_indicator_disclosure_dialog_14_Template_esg_indicator_disclosure_dialog_onClose_0_listener","TopicContentComponent_esg_confirm_dialog_15_Template_esg_confirm_dialog_onCancel_0_listener","TopicContentComponent_esg_confirm_dialog_15_Template_esg_confirm_dialog_onSubmit_0_listener","topicSub","selectedTopicId","shouldShowTooltip","TopicContentComponent_Template","TopicContentComponent_esg_tooltip_2_Template","TopicContentComponent_span_3_Template","TopicContentComponent_Template_button_click_4_listener","TopicContentComponent_div_8_Template","TopicContentComponent_button_9_Template","TopicContentComponent_esg_button_10_Template","TopicContentComponent_Template_div_cdkDropListDropped_11_listener","ɵɵrepeaterCreate","TopicContentComponent_For_13_Template","_forTrack0","TopicContentComponent_esg_indicator_disclosure_dialog_14_Template","TopicContentComponent_esg_confirm_dialog_15_Template","ɵɵrepeater","TopicItemContentStateService","chatAIService","dynamicContent","isLoadingComponents","onDataChangeComponent","updatedComponent","handleOnSetDisclosures","getUploadPhoto","handleAddIndicatorToSet","getUnusedIndicatorOptions","tdStates","tdData","tdIndicator","handleRemoveIndicatorFromSet","indicatorRows","newIndicatorRows","newIndicatorContentData","handleAddTextDisclosureComponent","setIndicatorOptions","setIndicatorPeriodLabels","dynamicComponentFactory","dynamicComponent","getOrderedIndicatorValues","getTextDisclosureValues","photo$","handleTopicItemNameChange","v","handleOnAddComponent","addEmptyIndicatorComponent","addTextComponent","addImageComponent","addImportFromExcelComponent","addTextDisclosureComponent","IndicatorComponent","textDisclosureComponent","prevList","handleOnInitateDeleteComponent","handleOnDeleteComponentCancel","getTextDisclosureOptions","TopicItemContentComponent_ng_container_1_esg_content_list_2_Template_esg_content_list_cdkDropListDropped_0_listener","TopicItemContentComponent_ng_container_1_esg_content_list_2_Template_esg_content_list_onDelete_0_listener","TopicItemContentComponent_ng_container_1_esg_content_list_2_Template_esg_content_list_onSetDisclosures_0_listener","isLastItem","TopicItemContentComponent_ng_container_1_esg_confirm_dialog_3_Template_esg_confirm_dialog_onCancel_0_listener","TopicItemContentComponent_ng_container_1_esg_confirm_dialog_3_Template_esg_confirm_dialog_onSubmit_0_listener","TopicItemContentComponent_ng_container_1_Template_esg_topic_item_header_onAddContent_1_listener","TopicItemContentComponent_ng_container_1_Template_esg_topic_item_header_onEdit_1_listener","handleOnEditHeader","TopicItemContentComponent_ng_container_1_Template_esg_topic_item_header_onDelete_1_listener","handleOnDeleteHeader","TopicItemContentComponent_ng_container_1_Template_esg_topic_item_header_onResponsiblePersonChange_1_listener","handleOnResponsiblePersonChange","TopicItemContentComponent_ng_container_1_Template_esg_topic_item_header_onTopicItemStatusChange_1_listener","handleOnTopicItemStatusChange","TopicItemContentComponent_ng_container_1_Template_esg_topic_item_header_onUpdateVisibility_1_listener","TopicItemContentComponent_ng_container_1_Template_esg_topic_item_header_onToggleCollapse_1_listener","handleOnToggleCollapse","TopicItemContentComponent_ng_container_1_esg_content_list_2_Template","TopicItemContentComponent_ng_container_1_esg_confirm_dialog_3_Template","showEmptyText","scrollIntoViewOnInit","onDeleteHeader","onResponsiblePersonChange","onTopicItemStatusChange","ngAfterViewInit","TopicItemContentComponent_HostBindings","TopicItemContentComponent_Template","TopicItemContentComponent_esg_topic_item_placeholder_0_Template","TopicItemContentComponent_ng_container_1_Template","TopicItemHeaderComponent_div_0_div_1_Template_esg_toggle_switch_onCheck_2_listener","TopicItemHeaderComponent_div_0_div_1_Template_button_click_4_listener","TopicItemHeaderComponent_div_0_button_3_Template_button_click_0_listener","TopicItemHeaderComponent_div_0_esg_content_context_menu_4_Template_esg_content_context_menu_onAddContent_0_listener","TopicItemHeaderComponent_div_0_Template_div_onClickOutside_0_listener","TopicItemHeaderComponent_div_0_div_1_Template","TopicItemHeaderComponent_div_0_button_3_Template","TopicItemHeaderComponent_div_0_esg_content_context_menu_4_Template","TopicItemHeaderComponent_div_0_Template_input_focus_6_listener","handleFocus","TopicItemHeaderComponent_div_0_Template_esg_select_onChange_9_listener","handleOnStatusChange","TopicItemHeaderComponent_div_0_Template_esg_select_onToggleCollapse_9_listener","handleOnToggleStatusDropdown","TopicItemHeaderComponent_div_0_Template_button_click_10_listener","handleOnOpenStatusDropdown","TopicItemHeaderComponent_div_0_esg_arrow_down_13_Template","TopicItemHeaderComponent_div_0_Template_esg_select_onChange_14_listener","TopicItemHeaderComponent_div_0_Template_esg_select_onToggleCollapse_14_listener","handleOnToggleResponsiblePersonDropdown","TopicItemHeaderComponent_div_0_Template_button_click_15_listener","handleOnOpenResponsiblePersonDropdown","TopicItemHeaderComponent_div_0_esg_arrow_down_18_Template","TopicItemHeaderComponent_div_0_span_19_Template","showCollapseButton","headerTextControl","statusDropdownCollapsed","responsiblePersonDropdownCollapsed","TopicItemHeaderComponent_esg_content_topbar_1_Template_esg_content_topbar_onDelete_0_listener","onEdit","onToggleCollapse","TopicItemHeaderComponent_Template","TopicItemHeaderComponent_div_0_Template","TopicItemHeaderComponent_esg_content_topbar_1_Template","TopicItemPlaceholderComponent_Template","NewIndicatorFormStateService","indicatorFc","selectedIndicators","initForm","submitForm","selectedTopicItem","handleFormSubmit","NewIndicatorFormComponent_Template","NewIndicatorFormComponent_Template_esg_form_dialog_onCancel_0_listener","NewIndicatorFormComponent_Template_esg_form_dialog_onSubmit_0_listener","NewIndicatorFormComponent_div_4_Template","TextDisclosureFormStateService","textDisclosureFc","textDisclosureParams","TextDisclosure","TextDisclosureFormComponent_Template","TextDisclosureFormComponent_Template_esg_form_dialog_onCancel_0_listener","TextDisclosureFormComponent_Template_esg_form_dialog_onSubmit_0_listener","TextDisclosureFormComponent_div_4_Template","isSelectedTopicItemArticle","selectedType","Article","isLoadingTopicItems","topicItemDetailsFade","unitsSubscription","setIndicatorValueDescriptions","clearTopicItems","loadTopicTopicItems","setTopicItemDetails","acc","topicItemType","setSelectedContentType","unitDescription","onTopicItemDetailsReorder","getSelectedContentType","clearTopicItemDetails","selectedTopicItemId","handleClickIndicatorPreview","indicatorPreviewViewModel","mapAppStateToIndicatorViewModel","handleCloseIndicatorPreview","contents","TopicDetailsComponent_div_1_Template_esg_context_menu_onCloseOptions_1_listener","TopicDetailsComponent_div_1_Template_esg_add_button_onClick_2_listener","TopicDetailsComponent_div_2_esg_topic_item_list_1_Template_esg_topic_item_list_onTopicItemClick_0_listener","handleSelectTopicItem","TopicDetailsComponent_div_2_esg_topic_item_list_1_Template","TopicDetailsComponent_div_2_esg_spinner_2_Template","TopicDetailsComponent_div_4_Template_esg_context_menu_onCloseOptions_6_listener","TopicDetailsComponent_div_4_Template_span_click_7_listener","TopicDetailsComponent_ng_container_5_esg_new_indicator_form_1_Template_esg_new_indicator_form_onCancel_0_listener","TopicDetailsComponent_ng_container_5_esg_new_indicator_form_1_Template_esg_new_indicator_form_onAddSubmit_0_listener","handleSubmitAddTopicItem","TopicDetailsComponent_ng_container_5_esg_new_indicator_form_1_Template_esg_new_indicator_form_onEditSubmit_0_listener","handleSubmitEditTopicItem","TopicDetailsComponent_ng_container_5_esg_text_disclosure_form_2_Template_esg_text_disclosure_form_onCancel_0_listener","TopicDetailsComponent_ng_container_5_esg_text_disclosure_form_2_Template_esg_text_disclosure_form_onAddSubmit_0_listener","TopicDetailsComponent_ng_container_5_esg_text_disclosure_form_2_Template_esg_text_disclosure_form_onEditSubmit_0_listener","TopicDetailsComponent_ng_container_5_esg_new_indicator_form_1_Template","TopicDetailsComponent_ng_container_5_esg_text_disclosure_form_2_Template","TopicDetailsComponent_esg_topic_item_details_7_Template_esg_topic_item_details_onReorder_0_listener","TopicDetailsComponent_esg_topic_item_details_7_Template_esg_topic_item_details_onCalculate_0_listener","TopicDetailsComponent_esg_confirm_dialog_8_Template_esg_confirm_dialog_onCancel_0_listener","TopicDetailsComponent_esg_confirm_dialog_8_Template_esg_confirm_dialog_onSubmit_0_listener","handleDeleteTopicItemSubmit","TopicDetailsComponent_esg_dialog_9_Template_esg_dialog_onClose_0_listener","showAddTopicItemDialog","showRemoveTopicItemDialog","showAddKeyFiguresDialog","V1","handleAddTopicItem","DataValueIndicator","topicItemMenuProvider","handleEditTopicItem","handleDeleteTopicItem","detailsSub","handleTopicItemDetailsClose","TopicDetailsComponent_Template","TopicDetailsComponent_h2_0_Template","TopicDetailsComponent_div_1_Template","TopicDetailsComponent_div_2_Template","TopicDetailsComponent_esg_dot_flashing_3_Template","TopicDetailsComponent_div_4_Template","TopicDetailsComponent_ng_container_5_Template","TopicDetailsComponent_Template_esg_details_dialog_onClose_6_listener","TopicDetailsComponent_Template_esg_details_dialog_onCallToAction_6_listener","TopicDetailsComponent_esg_topic_item_details_7_Template","TopicDetailsComponent_esg_confirm_dialog_8_Template","TopicDetailsComponent_esg_dialog_9_Template","ComponentsStateService","componentsList","defaultCompTextTitle","defaultCompImageTitle","defaultCompImportFromExcelTitle","fade","singleValueIndicators","indicatorValueMenuProvider","IndicatorInputComponent_esg_confirm_dialog_12_Template_esg_confirm_dialog_onCancel_0_listener","handleOnCloseConnectionDialog","IndicatorInputComponent_esg_confirm_dialog_12_Template_esg_confirm_dialog_onSubmit_0_listener","handleOnSetConnection","alertSubmitText","isCalculated","onGoToDatacollect","onSetConnection","showConnectionDialog","disconnectDataCollectMessage","reconnectDataCollectMessage","handleOnClose","IndicatorInputComponent_HostBindings","IndicatorInputComponent_onEscapeKey_HostBindingHandler","IndicatorInputComponent_onEnterKey_HostBindingHandler","IndicatorInputComponent_esg_context_menu_4_Template","IndicatorInputComponent_esg_lock_icon_6_Template","IndicatorInputComponent_esg_no_lock_icon_7_Template","IndicatorInputComponent_Template_esg_textbox_form_onEnter_8_listener","IndicatorInputComponent_Template_div_click_11_listener","IndicatorInputComponent_esg_confirm_dialog_12_Template","getFigureTimeLabel","value_r4","IndicatorValuesComponent_ng_container_26_tr_1_span_8_Template_span_focus_0_listener","i_r5","handleOnEditingTarget","IndicatorValuesComponent_ng_container_26_tr_1_span_8_Template_span_click_0_listener","IndicatorValuesComponent_ng_container_26_tr_1_esg_indicator_input_9_Template_esg_indicator_input_onClose_0_listener","handleOnCloseInputModal","IndicatorValuesComponent_ng_container_26_tr_1_esg_indicator_input_9_Template_esg_indicator_input_onSubmit_0_listener","IndicatorValuesComponent_ng_container_26_tr_1_span_12_Template_span_focus_0_listener","handleOnEditingCurrent","IndicatorValuesComponent_ng_container_26_tr_1_span_12_Template_span_click_0_listener","IndicatorValuesComponent_ng_container_26_tr_1_esg_indicator_input_13_Template_esg_indicator_input_onClose_0_listener","IndicatorValuesComponent_ng_container_26_tr_1_esg_indicator_input_13_Template_esg_indicator_input_onSubmit_0_listener","IndicatorValuesComponent_ng_container_26_tr_1_esg_indicator_input_13_Template_esg_indicator_input_onGoToDatacollect_0_listener","IndicatorValuesComponent_ng_container_26_tr_1_esg_indicator_input_13_Template_esg_indicator_input_onSetConnection_0_listener","IndicatorValuesComponent_ng_container_26_tr_1_span_16_Template_span_focus_0_listener","handleOnEditingPrevious","IndicatorValuesComponent_ng_container_26_tr_1_span_16_Template_span_click_0_listener","IndicatorValuesComponent_ng_container_26_tr_1_esg_indicator_input_17_Template_esg_indicator_input_onClose_0_listener","IndicatorValuesComponent_ng_container_26_tr_1_esg_indicator_input_17_Template_esg_indicator_input_onSubmit_0_listener","IndicatorValuesComponent_ng_container_26_tr_1_esg_indicator_input_17_Template_esg_indicator_input_onGoToDatacollect_0_listener","IndicatorValuesComponent_ng_container_26_tr_1_esg_indicator_input_17_Template_esg_indicator_input_onSetConnection_0_listener","IndicatorValuesComponent_ng_container_26_tr_1_Template_td_dblclick_1_listener","handleExpandRow","IndicatorValuesComponent_ng_container_26_tr_1_ng_container_4_Template","IndicatorValuesComponent_ng_container_26_tr_1_ng_container_5_Template","IndicatorValuesComponent_ng_container_26_tr_1_esg_tooltip_7_Template","IndicatorValuesComponent_ng_container_26_tr_1_span_8_Template","IndicatorValuesComponent_ng_container_26_tr_1_esg_indicator_input_9_Template","IndicatorValuesComponent_ng_container_26_tr_1_esg_tooltip_11_Template","IndicatorValuesComponent_ng_container_26_tr_1_span_12_Template","IndicatorValuesComponent_ng_container_26_tr_1_esg_indicator_input_13_Template","IndicatorValuesComponent_ng_container_26_tr_1_esg_tooltip_15_Template","IndicatorValuesComponent_ng_container_26_tr_1_span_16_Template","IndicatorValuesComponent_ng_container_26_tr_1_esg_indicator_input_17_Template","IndicatorValuesComponent_ng_container_26_tr_1_Template_td_click_18_listener","IndicatorValuesComponent_ng_container_26_tr_1_esg_icon_expanders_19_Template","editIndex","isInputModalOpen","IndicatorValuesComponent_ng_container_26_tr_1_Template","IndicatorValuesComponent_ng_container_26_tr_2_Template","shift","IndicatorValuesComponent_Template","IndicatorValuesComponent_span_8_Template","IndicatorValuesComponent_span_13_Template","IndicatorValuesComponent_span_18_Template","IndicatorValuesComponent_span_23_Template","IndicatorValuesComponent_ng_container_26_Template","SubstrateDataComponent_tr_2_ng_container_1_Template","SubstrateDataComponent_tr_4_ng_container_1_Template","cell_r6","SubstrateDataComponent_tfoot_5_tr_1_ng_container_1_Template","row_r7","SubstrateDataComponent_tfoot_5_tr_1_Template","showFooter","SubstrateDataComponent_Template","SubstrateDataComponent_tr_2_Template","SubstrateDataComponent_tr_4_Template","SubstrateDataComponent_tfoot_5_Template","TopicItemDetailsStateService","calculateIsHovered","setLastUpdated","setCalculationIsHovered","hover","handleCalculateNewIndicator","TopicItemDetailsComponent_div_0_div_5_Template_button_click_1_listener","handleCalculateIndicator","TopicItemDetailsComponent_div_0_div_5_Template_button_mouseenter_1_listener","TopicItemDetailsComponent_div_0_div_5_Template_button_mouseleave_1_listener","TopicItemDetailsComponent_div_0_div_5_esg_cloud_update_icon_2_Template","TopicItemDetailsComponent_div_0_div_5_esg_cloud_update_filled_icon_3_Template","TopicItemDetailsComponent_div_0_div_2_Template","TopicItemDetailsComponent_div_0_esg_header_with_guidance_3_Template","TopicItemDetailsComponent_div_0_h2_4_Template","TopicItemDetailsComponent_div_0_div_5_Template","componentsState","isNewIndicator","formattedReferenceStandards","onCalculate","showReferences","handleGoToDatacollect","handleOnReorder","TopicItemDetailsComponent_Template","TopicItemDetailsComponent_div_0_Template","TopicItemDetailsComponent_div_1_Template","TopicItemDetailsComponent_Template_div_onIntersection_2_listener","TopicItemDetailsComponent_Template_esg_content_onAddContent_3_listener","TopicItemDetailsComponent_Template_esg_content_onMoveContent_3_listener","TopicItemDetailsComponent_Template_esg_content_onDeleteContent_3_listener","TopicItemDetailsComponent_Template_esg_content_onReorder_3_listener","TopicItemDetailsComponent_esg_dot_flashing_4_Template","parentNode","TopicItemListComponent_tr_16_Template_tr_click_0_listener","handleTopicItemClick","TopicItemListComponent_tr_16_Template_esg_status_select_onChange_12_listener","TopicItemListComponent_tr_16_Template_esg_toggle_switch_onCheck_14_listener","TopicItemListComponent_tr_16_Template_esg_select_onChange_16_listener","getInitialStatus","onTopicItemClick","drop","TopicItemListComponent_Template","TopicItemListComponent_Template_tbody_cdkDropListDropped_15_listener","TopicItemListComponent_tr_16_Template","formatTimePeriod","backgroundPictureUrl","ReportCardComponent","onDuplicate","onRemove","handleDuplicate","handleRemove","timeLabel","lastModifiedData","oldVersion","showRemoveIcon","ReportCardComponent_Template","ReportCardComponent_Template_div_click_0_listener","ReportCardComponent_div_2_Template","ReportCardComponent_div_9_Template","ReportCardComponent_img_10_Template","ReportCardComponent_div_11_Template","observed","templateData","backgroundPhotoUrl","EditFormComponent_div_1_Template_button_click_2_listener","onBackBtnClick","EditFormComponent_div_1_div_9_Template","EditFormComponent_div_1_div_10_Template","EditFormComponent_div_5_Template_esg_textbox_onChange_4_listener","handleTitleChange","EditFormComponent_div_5_Template_esg_select_tree_onChange_8_listener","EditFormComponent_div_5_Template_esg_checkbox_onCheck_10_listener","handleIncludeSubOrgsChange","EditFormComponent_div_5_Template_esg_time_period_onChange_16_listener","EditFormComponent_div_5_Template_esg_select_onChange_20_listener","handleWritingSystem","EditFormComponent_div_5_ng_container_22_Template","EditFormComponent_div_5_Template_esg_upload_picture_onSelectFile_25_listener","uploadCoverSquarePhoto","EditFormComponent_div_5_Template_esg_upload_picture_onClearUploadedPhoto_25_listener","removeCoverSquarePhoto","EditFormComponent_div_5_Template_esg_upload_picture_onSelectFile_28_listener","uploadCoverPhoto","EditFormComponent_div_5_Template_esg_upload_picture_onClearUploadedPhoto_28_listener","removeCoverPhoto","reportScope","inludeSubOrgs","timePeriodTypeEnum","pdfWritingSystemOptions","componentTextsForHtml","EditFormComponent_esg_button_9_Template_esg_button_onClick_0_listener","submitAddReport","submitted","EditFormComponent_esg_button_10_Template_esg_button_onClick_0_listener","submitEditReport","edited","EditFormComponent","onAddReportBtnClick","onEditReportBtnClick","onUplodCoverPhoto","bottom","saveReportFromTemplate","editReport","ReportFormStateService","EditFormComponent_Query","EditFormComponent_div_1_Template","EditFormComponent_div_2_Template","EditFormComponent_div_5_Template","EditFormComponent_Template_div_onIntersection_6_listener","EditFormComponent_esg_button_9_Template","EditFormComponent_esg_button_10_Template","main_r7","PdfWritingSystemOptions","VisibleForm","findNestedOption","showReportForm","visibleForm","ReportForm","showTemplateList","TemplateList","reportStateService","selectTemplate","initReport","getSubOgrnizationId","coverPhotoValue","coverPhotoSquareValue","pdfWritingSystemValue","clearState","onCreateReportSucess","loadReports","cp","ReportStateService","ReportFormComponent_container_element_1_esg_template_list_1_Template_esg_template_list_onSelectTemplate_0_listener","handleSelectTemplate","ReportFormComponent_container_element_1_esg_edit_form_2_Template_esg_edit_form_onBackBtnClick_0_listener","handleBackBtnClick","ReportFormComponent_container_element_1_esg_edit_form_2_Template_esg_edit_form_onSubmit_0_listener","ReportFormComponent_container_element_1_esg_template_list_1_Template","ReportFormComponent_container_element_1_esg_edit_form_2_Template","VisibleFormEnum","TemplateType","ReportFormComponent","Existing","ReportFormComponent_Template","ReportFormComponent_Template_esg_dialog_onClose_0_listener","ReportFormComponent_container_element_1_Template","ReportFormComponent_div_2_Template","TemplateCardComponent_div_2_div_1_Template","TemplateCardComponent_div_2_div_2_Template","TemplateCardComponent_div_2_img_3_Template","TemplateCardComponent_div_2_esg_button_5_Template","showChooseBtn","TemplateCardComponent_div_3_div_1_Template","TemplateCardComponent_div_3_div_2_Template","TemplateCardComponent_div_3_img_3_Template","TemplateCardComponent_div_3_esg_button_5_Template","longDescription","TemplateCardComponent","blankReport","TemplateCardComponent_Template","TemplateCardComponent_Template_div_click_0_listener","TemplateCardComponent_div_2_Template","TemplateCardComponent_div_3_Template","TemplateCardComponent_div_6_Template","TemplateCardComponent_div_7_Template","TemplateListComponent_div_2_div_2_Template_esg_template_card_onClick_1_listener","item_r4","onSelectTemplate","TemplateListComponent_div_2_Template_esg_template_card_onClick_1_listener","TemplateListComponent_div_2_div_2_Template","templates","TemplateListComponent","templateApiService","blank","fromTemplate","TemplateListComponent_Template","TemplateListComponent_header_1_Template","TemplateListComponent_div_2_Template","TemplateListComponent_esg_dot_flashing_3_Template","isLoadingReports","isLoadingTemplates","reports","handleCreate","handleCloseCreateDialog","reportIndex","report","emptyReport","pop","removeReport","loadTemplates","reportStatusOptions","ReportPageComponent_esg_confirm_dialog_0_Template_esg_confirm_dialog_onCancel_0_listener","handleRemoveCancel","ReportPageComponent_esg_confirm_dialog_0_Template_esg_confirm_dialog_onSubmit_0_listener","handleRemoveSubmit","removeMessage","ReportPageComponent_div_2_esg_add_button_1_Template_esg_add_button_onClick_0_listener","ReportPageComponent_div_2_esg_add_button_1_Template","hasCreateReportPermission","ReportPageComponent_esg_tabs_3_Template_esg_tabs_onTabClick_0_listener","ReportPageComponent_ng_container_4_div_1_ng_container_2_a_2_Template_esg_report_card_onDuplicate_1_listener","item_r6","ReportPageComponent_ng_container_4_div_1_ng_container_2_a_2_Template_esg_report_card_onRemove_1_listener","handleRemoveReport","getStatusColor","hasRemoveReportPermission","ReportPageComponent_ng_container_4_div_1_ng_container_2_div_1_Template","ReportPageComponent_ng_container_4_div_1_ng_container_2_a_2_Template","ReportPageComponent_ng_container_4_div_1_ng_container_2_Template","ReportPageComponent_ng_container_4_div_2_Template_span_click_4_listener","ReportPageComponent_ng_container_4_div_1_Template","ReportPageComponent_ng_container_4_div_2_Template","ReportPageComponent_div_5_div_1_div_1_Template_div_click_0_listener","item_r9","ReportPageComponent_div_5_div_1_div_1_Template_esg_template_card_view_onRemove_1_listener","handleRemoveTemplate","ReportPageComponent_div_5_div_1_div_1_Template","ReportPageComponent_div_5_div_1_Template","ReportPageComponent_div_5_div_2_Template","ReportPageComponent_div_5_esg_dot_flashing_3_Template","ReportPageComponent_esg_report_form_8_Template_esg_report_form_onClose_0_listener","ReportPageComponent_esg_report_form_8_Template_esg_report_form_onSubmit_0_listener","ReportPageComponent_esg_template_form_9_Template_esg_template_form_onClose_0_listener","handleCloseTemplateDialog","ReportPageComponent_esg_template_form_9_Template_esg_template_form_onSubmit_0_listener","handleOnEditTemplate","selectedTemplateId","statusOption","Report_Delete","Template_Read","val","handleSelectReport","removeReportId","removeTemplateId","ReportPageComponent_Template","ReportPageComponent_esg_confirm_dialog_0_Template","ReportPageComponent_div_2_Template","ReportPageComponent_esg_tabs_3_Template","ReportPageComponent_ng_container_4_Template","ReportPageComponent_div_5_Template","ReportPageComponent_esg_dot_flashing_6_Template","ReportPageComponent_esg_report_form_8_Template","ReportPageComponent_esg_template_form_9_Template","TemplateCardViewComponent","TemplateFormComponent","NgSwitch","NgSwitchCase","DialogComponent","SpinnerComponent","TemplateCardViewComponent_div_8_Template_div_click_0_listener","TemplateCardViewComponent_Template","TemplateCardViewComponent_Template_div_click_0_listener","TemplateCardViewComponent_div_8_Template","TemplateCardViewComponent_img_9_Template","TemplateCardViewComponent_div_10_Template","TemplateStateService","getBlobFromImgUrl","notGlobalIndicatorsWarningMessage","TemplateFormComponent_ng_container_11_Template_esg_checkbox_onCheck_2_listener","handleGlobalClick","TemplateFormComponent_ng_container_11_span_5_Template","hasAccessToMarkTemplateAsGlobal","tmpCoverPhoto","getCanCreateAsGlobalTemplate","templateDataValid","globalCheckboxValid","handleShortDescriptionChange","evt","handleSaveTemplate","blobData","TemplateFormComponent_Query","TemplateFormComponent_Template","TemplateFormComponent_Template_esg_dialog_onClose_0_listener","TemplateFormComponent_div_2_Template","TemplateFormComponent_div_3_Template","TemplateFormComponent_Template_esg_textbox_onChange_10_listener","TemplateFormComponent_ng_container_11_Template","TemplateFormComponent_Template_esg_upload_picture_onSelectFile_26_listener","TemplateFormComponent_Template_esg_upload_picture_onClearUploadedPhoto_26_listener","TemplateFormComponent_Template_div_onIntersection_27_listener","TemplateFormComponent_Template_esg_button_onClick_30_listener","TemplateFormComponent_Template_esg_button_onClick_32_listener","main_r4","SupportArticleStateService","supportTopicItemApiService","contentFade","article","articleId","SupportArticleDetailsComponent_ng_container_0_div_5_Template_div_onIntersection_0_listener","SupportArticleDetailsComponent_ng_container_0_div_5_Template","SupportArticleDetailsComponent_ng_container_0_Template_esg_content_onAddContent_6_listener","SupportArticleDetailsComponent_ng_container_0_Template_esg_content_onMoveContent_6_listener","SupportArticleDetailsComponent_ng_container_0_Template_esg_content_onDeleteContent_6_listener","SupportArticleDetailsComponent_ng_container_0_Template_esg_content_onReorder_6_listener","SupportArticleDetailsComponent","selectedArticleId","SupportArticleDetailsComponent_Template","SupportArticleDetailsComponent_ng_container_0_Template","SupportArticleDetailsComponent_esg_dot_flashing_1_Template","SupportContentListStateService","articles","editPermisson","articleFade","articleNameFormControl","getArticles","setEditPermission","editPermission","selectArticle","onDetailsReorder","editArticle","editedArticle","clearSelection","closeSelectedArticle","showDelete","closeDelete","deleteArticle","moveArticleItem","SupportContentListComponent_ng_container_0_table_4_ng_container_11_tr_1_Template_tr_click_single_0_listener","handleSelectArticle","SupportContentListComponent_ng_container_0_table_4_ng_container_11_tr_1_Template_esg_table_button_onClick_5_listener","SupportContentListComponent_ng_container_0_table_4_ng_container_11_tr_2_Template_tr_click_single_0_listener","SupportContentListComponent_ng_container_0_table_4_ng_container_11_tr_2_Template_tr_click_double_0_listener","handleEditArticle","SupportContentListComponent_ng_container_0_table_4_ng_container_11_tr_2_Template_esg_table_button_onClick_14_listener","SupportContentListComponent_ng_container_0_table_4_ng_container_11_tr_3_Template_tr_onClickOutside_0_listener","SupportContentListComponent_ng_container_0_table_4_ng_container_11_tr_3_Template_esg_table_input_onEnter_3_listener","SupportContentListComponent_ng_container_0_table_4_ng_container_11_tr_3_Template_esg_table_cancel_button_onClick_7_listener","SupportContentListComponent_ng_container_0_table_4_ng_container_11_tr_1_Template","SupportContentListComponent_ng_container_0_table_4_ng_container_11_tr_2_Template","SupportContentListComponent_ng_container_0_table_4_ng_container_11_tr_3_Template","SupportContentListComponent_ng_container_0_table_4_tr_12_Template_tr_onClickOutside_0_listener","SupportContentListComponent_ng_container_0_table_4_tr_12_Template_esg_table_input_onEnter_3_listener","SupportContentListComponent_ng_container_0_table_4_tr_12_Template_esg_table_cancel_button_onClick_7_listener","SupportContentListComponent_ng_container_0_table_4_th_3_Template","SupportContentListComponent_ng_container_0_table_4_th_7_Template","SupportContentListComponent_ng_container_0_table_4_th_8_Template","SupportContentListComponent_ng_container_0_table_4_Template_tbody_cdkDropListDropped_10_listener","SupportContentListComponent_ng_container_0_table_4_ng_container_11_Template","SupportContentListComponent_ng_container_0_table_4_tr_12_Template","SupportContentListComponent_ng_container_0_esg_add_button_5_Template_esg_add_button_onClick_0_listener","SupportContentListComponent_ng_container_0_esg_support_article_details_7_Template_esg_support_article_details_onClose_0_listener","handleCloseSelectedArticle","SupportContentListComponent_ng_container_0_esg_support_article_details_7_Template_esg_support_article_details_onReorder_0_listener","SupportContentListComponent_ng_container_0_esg_confirm_dialog_8_Template_esg_confirm_dialog_onCancel_0_listener","SupportContentListComponent_ng_container_0_esg_confirm_dialog_8_Template_esg_confirm_dialog_onSubmit_0_listener","removeArticleMessage","SupportContentListComponent_ng_container_0_esg_dot_flashing_3_Template","SupportContentListComponent_ng_container_0_table_4_Template","SupportContentListComponent_ng_container_0_esg_add_button_5_Template","SupportContentListComponent_ng_container_0_Template_esg_details_dialog_onClose_6_listener","SupportContentListComponent_ng_container_0_esg_support_article_details_7_Template","SupportContentListComponent_ng_container_0_esg_confirm_dialog_8_Template","SupportContentListComponent","parentState","articleSub","f","Support_Create","Support_Update","Support_Delete","getSupportTopics","SupportPageStateService","SupportContentListComponent_Template","SupportContentListComponent_ng_container_0_Template","supportTopicApiService","topicResponse","topic_r1","SupportPageComponent","SupportPageComponent_Template","SupportPageComponent_a_6_Template","SupportPageComponent_div_7_Template","TutorialsComponent","TutorialDialogComponent","PlayIconComponent","trustedVideoSrc","TutorialDialogComponent_ng_container_6_esg_play_icon_1_Template","isVideoLoaded","tutorial","videoSrc","trustedImageSrc","thumbnailSrc","isPlayingVideo","video","addEventListener","videoIsLoaded","play","handleVideoClick","pause","removeEventListener","TutorialDialogComponent_Query","TutorialDialogComponent_Template_esg_dialog_onClose_0_listener","TutorialDialogComponent_Template_div_click_1_listener","TutorialDialogComponent_source_4_Template","TutorialDialogComponent_esg_dot_flashing_5_Template","TutorialDialogComponent_ng_container_6_Template","TutorialsComponent_div_3_Template_div_click_0_listener","tutorial_r2","handleOnVideoClick","getTrustedImageSrc","TutorialsComponent_esg_tutorial_dialog_4_Template_esg_tutorial_dialog_onClose_0_listener","handleOnDialogClose","selectedTutorial","tutorials","TutorialsComponent_Template","TutorialsComponent_div_3_Template","TutorialsComponent_esg_tutorial_dialog_4_Template","base64ToBlob","base64Data","base64Response","arrayBufferToBase64","buffer","binary","bytes","Uint8Array","len","byteLength","fromCharCode","btoa","fontValues","sTypoAscender","sTypoDescender","unitsPerEm","fontTypographyInfo","ascender","descender","getFontBase64","_getFontBase","fontPath","fontData","arrayBuffer","base64Font","availableFonts","English","normal","bolditalics","Arial","CourierNew","Georgia","LucidaSansUnicode","Tahoma","TimesNewRoman","TrebuchetMS","Verdana","Chinese","Japanese","Korean","Thai","pdfMake","_generateVfs","assign","fontStyles","_generateReport","reject","pdfGenerator","chunks","stream","getStream","on","chunk","offset","end","mainTopicTabs","PreviewLayoutComponent_esg_topic_tabs_4_Template_esg_topic_tabs_onTabClick_0_listener","feedState","onContentLinkClick","topicTabs","PreviewLayoutComponent_esg_segmented_tabs_14_Template_esg_segmented_tabs_onTabClick_0_listener","stickyTabs","PreviewLayoutComponent_esg_topic_tabs_15_Template_esg_topic_tabs_onTabClick_0_listener","isTablet","PreviewLayoutComponent_esg_side_dialog_17_Template_esg_side_dialog_onClose_0_listener","onToggleMenu","PreviewLayoutComponent_esg_side_dialog_17_Template_esg_mobile_navigation_onClose_1_listener","isMenuOpen","isMobile","isWideDesktop","PreviewLayoutComponent","coverPhotoBackground","breakpointObserver","showShareButton","onShare","tabObserverRootMargin","breakpointEnum","WideDesktop","NarrowDesktop","Tablet","Mobile","matches","setBreakPoint","breakpoint","breakpoints","resetTabs","BreakpointObserver","ReportPreviewStateService","MainTopicFeedStateService","PreviewLayoutComponent_Query","PreviewLayoutComponent_Template_nav_onCopyLink_1_listener","PreviewLayoutComponent_Template_nav_onMenuClick_1_listener","PreviewLayoutComponent_esg_segmented_tabs_3_Template","PreviewLayoutComponent_esg_topic_tabs_4_Template","PreviewLayoutComponent_Template_div_onIntersection_13_listener","handleTabsObservation","PreviewLayoutComponent_esg_segmented_tabs_14_Template","PreviewLayoutComponent_esg_topic_tabs_15_Template","PreviewLayoutComponent_esg_side_dialog_17_Template","organizationLogoSquareUrl","showNavbarDetails","currentBreakpoint","isNarrowDesktop","Breakpoint","PreviewNavbarComponent_div_0_img_1_Template","PreviewNavbarComponent_div_0_div_2_Template","showDetails","PreviewNavbarComponent_div_2_button_1_Template_button_click_0_listener","handleOnCopyLink","hasContent","PreviewNavbarComponent_div_2_button_2_Template_button_click_0_listener","handleOnMenuClick","PreviewNavbarComponent_div_2_button_2_esg_menu_icon_1_Template","PreviewNavbarComponent_div_2_button_2_esg_icon_close_2_Template","PreviewNavbarComponent_div_2_button_1_Template","PreviewNavbarComponent_div_2_button_2_Template","PreviewNavbarComponent","showOnlyContent","onMenuClick","onCopyLink","PreviewNavbarComponent_HostBindings","PreviewNavbarComponent_div_0_Template","PreviewNavbarComponent_div_1_Template","PreviewNavbarComponent_div_2_Template","KeyFigureInputType","KeyFiguresPreviewStateService","keyFiguresList","setKeyFigures","figure","combinedReferences","reference","value_r2","KeyFiguresComponent_ng_container_18_ng_container_1_ng_container_8_ng_container_4_Template","keyFigure_r3","KeyFiguresComponent_ng_container_18_ng_container_1_ng_container_8_Template","keyFigureTable_r4","KeyFiguresComponent_ng_container_18_ng_container_1_Template","KeyFiguresComponent","mainLevelsObservable$","KeyFiguresComponent_Template","KeyFiguresComponent_ng_container_17_Template","KeyFiguresComponent_ng_container_18_Template","isDesktop","contentRootmargin","changeContentOn","observationBuffer","innerHeight","activeTopicId","activeTopicItemId","mainTopicPreviewUiState","topicInitialized","topicPaddingTop","tocRootmargin","fixedToc","initMainlevel","indicatorViewModels","mapToIndicatorViewModel","setTopicItemTabs","activeStart","topicItemTabs","setUrl","onTopicInit","getElementById","behavior","urlParts","rootPage","queryParamsHandling","handleTopicChange","topicEntry","currentTopicIndex","handleTopicItemChange","topicItemEntry","currentTopicItemIndex","handleOnTocIntersection","tocItemEntry","MainTopicFeedComponent_div_1_span_3_Template_span_onInit_0_listener","MainTopicFeedComponent_div_1_span_3_Template_span_onIntersection_0_listener","MainTopicFeedComponent_div_1_div_7_span_1_Template_span_onIntersection_0_listener","MainTopicFeedComponent_div_1_div_7_span_1_Template","topicItem_r4","MainTopicFeedComponent_div_1_div_8_span_1_Template_span_onIntersection_0_listener","MainTopicFeedComponent_div_1_div_8_esg_table_of_contents_2_Template_esg_table_of_contents_onItemClick_0_listener","MainTopicFeedComponent_div_1_div_8_span_1_Template","MainTopicFeedComponent_div_1_div_8_esg_table_of_contents_2_Template","topic_r7","MainTopicFeedComponent_div_1_div_1_Template","MainTopicFeedComponent_div_1_span_3_Template","MainTopicFeedComponent_div_1_div_7_Template","MainTopicFeedComponent_div_1_div_8_Template","isNarrow","MainTopicFeedComponent","MainTopicFeedComponent_Template","MainTopicFeedComponent_div_1_Template","showShareDialog","mainLevelBehavior","initHTMLReport","completeReportData","mapToMainLevel","mappedTopics","mapToTopic","mapped","mappedTopicItems","mapToTopicItem","audit","ratio","handleShare","handleShareDialogClose","ReportPreviewComponent_esg_report_share_dialog_0_Template_esg_report_share_dialog_onClose_0_listener","ReportPreviewComponent","oldReportId","ReportPreviewComponent_Template","ReportPreviewComponent_esg_report_share_dialog_0_Template","ReportPreviewComponent_Template_esg_preview_layout_onShare_1_listener","DynamicSeperatorComponent","DynamicTableHeaderCellComponent","TableOfContentsComponent","PreviewSideMenuComponent","MobileNavigationComponent","TopicTabsComponent","ReportShareDialogComponent","RootPathOfTheSharePage","ReportShareDialogStateService","loadShareLinks","reponse","origin","ReportShareDialogComponent_tr_14_Template_button_click_8_listener","textToCopy_r2","ReportShareDialogComponent_tr_14_Template_esg_button_onClick_13_listener","ReportShareDialogComponent_esg_add_button_16_Template_esg_add_button_onClick_0_listener","ReportShareDialogComponent_esg_button_18_Template_esg_button_onClick_0_listener","ReportShareDialogComponent_esg_button_19_Template_esg_button_onClick_0_listener","ReportShareDialogComponent_Template","ReportShareDialogComponent_Template_esg_dialog_onClose_0_listener","ReportShareDialogComponent_tr_14_Template","ReportShareDialogComponent_esg_add_button_16_Template","ReportShareDialogComponent_esg_textbox_form_17_Template","ReportShareDialogComponent_esg_button_18_Template","ReportShareDialogComponent_esg_button_19_Template","bgColor","DynamicSeperatorComponent_Template","fontColor","DynamicTableHeaderCellComponent_Template","MobileNavigationComponent_div_5_ng_container_5_div_1_ng_container_5_div_1_Template_div_click_0_listener","indicator_r6","ctx_r6","mainLevel_r2","topic_r4","MobileNavigationComponent_div_5_ng_container_5_div_1_ng_container_5_div_1_Template","MobileNavigationComponent_div_5_ng_container_5_div_1_Template_div_click_1_listener","MobileNavigationComponent_div_5_ng_container_5_div_1_esg_icon_add_3_Template","MobileNavigationComponent_div_5_ng_container_5_div_1_esg_icon_minus_4_Template","MobileNavigationComponent_div_5_ng_container_5_div_1_ng_container_5_Template","MobileNavigationComponent_div_5_ng_container_5_div_1_Template","MobileNavigationComponent_div_5_Template_div_click_1_listener","MobileNavigationComponent_div_5_esg_icon_add_3_Template","MobileNavigationComponent_div_5_esg_icon_minus_4_Template","MobileNavigationComponent_div_5_ng_container_5_Template","MobileNavigationComponent_Template","MobileNavigationComponent_Template_div_click_2_listener","MobileNavigationComponent_div_5_Template","PreviewSideMenuComponent_div_12_a_1_Template_a_click_0_listener","tab_r3","PreviewSideMenuComponent_div_12_a_1_Template","PreviewSideMenuComponent_Template","PreviewSideMenuComponent_Template_button_click_1_listener","PreviewSideMenuComponent_Template_button_click_4_listener","PreviewSideMenuComponent_div_12_Template","TableOfContentsComponent_ng_container_2_a_1_Template_button_click_2_listener","handleOnItemClick","fragmentActiveOptions","TableOfContentsComponent_ng_container_2_div_2_Template_div_click_0_listener","activeItem","TableOfContentsComponent_ng_container_2_a_1_Template","TableOfContentsComponent_ng_container_2_div_2_Template","onItemClick","matrixParams","paths","itemValue","TableOfContentsComponent_Template","TableOfContentsComponent_ng_container_2_Template","TopicTabsComponent_a_1_Template_button_click_2_listener","TopicTabsComponent_Template","TopicTabsComponent_a_1_Template","AssetHistoryDialogComponent_div_5_div_9_ng_container_1_Template","AssetHistoryDialogComponent_div_5_Template_div_click_2_listener","handleOpenDetails","AssetHistoryDialogComponent_div_5_div_9_Template","openDetailsIndex","AssetHistoryDialogComponent","historyItems","AssetHistoryDialogComponent_Template","AssetHistoryDialogComponent_Template_esg_dialog_onClose_0_listener","AssetHistoryDialogComponent_div_5_Template","BetaTagComponent","textColor","BetaTagComponent_Template","Highcharts","HighchartsExporting","generateTooltip","points","renderPoint","point","renderErrorMessage","pointWithError","ChartV3Component","chartIntanceHandler","chartOptions","plotBackgroundColor","tooltip","outside","shared","useHTML","formatter","exporting","enabled","buttons","contextButton","className","fallbackToExportServer","plotOptions","pointPlacement","events","click","xAxis","crosshair","dashStyle","updateSeries","updatedSeries","di","marker","radius","valueSeries","hidden","hanleOnCreateChart","xLabel","yLabel","ChartV3Component_Template","ChartV3Component_Template_highcharts_chart_updateChange_2_listener","ChartV3Component_Template_highcharts_chart_chartInstance_2_listener","ChartV3Component_div_3_Template","ColumnViewerComponent_esg_select_options_4_Template_esg_select_options_onChange_0_listener","maxHeight","ColumnViewerComponent","onResize","setMaxHeigth","toggleOpenOptions","setDropUp","optionSelected","deleteOption","closeOptions","button","getBoundingClientRect","inputRect","windowHeight","remainingHeight","ColumnViewerComponent_Query","ColumnViewerComponent_resize_HostBindingHandler","ɵɵresolveWindow","ColumnViewerComponent_Template_div_onClickOutside_0_listener","ColumnViewerComponent_Template_button_click_1_listener","ColumnViewerComponent_esg_select_options_4_Template","read","utils","ExcelSheet","calculateAlphabeticalString","isExcelNumberChangedNumberOfDecimals","isExcelNumberTextFormat","isExcelStringDateFormat","isValid","isValidExcelRange","mapToValueType","debounce","ImportExcelSteps","MappintToValueTypeError","selectOption","DataImportFromExcelStateService","fieldConfigStateArray","fieldConfigState","notValidDataImport","fca","importedData","notValidDatFields","mappedTo","isValidImportedField","fct","sheetNamesString","sheetNames","importExcelStep","Step1UploadDataSource","createConfigurationBaseOnImportedData","showPreview","selectedSheetName","selectedSheetRange","importedHeaders","importedFieldOptions","mapDataHeaderColumns","importDataOfUpdateRanteDebounced","importDataOfUpdatedRange","importSheetRangeFc","initialize","fieldConfig","handleShowHidePreview","uploadExcelFile","clearSelectedSheetData","fileData","workBook","cellNF","cellFormula","cellText","cellStyles","cellDates","raw","SheetNames","handleSelectSheet","sheetName","clearFieldConfigState","selectedWorkSheet","Sheets","range","getCellValue","cellAddress","decode_cell","sheetCell","encode_cell","isExcelStringDateFormatResult","formatString","separator","parsedDate","excelSheet","columnNames","importedHeader","columnName","setDefaultFieldConfigState","fcs","getSelectedFieldData","expectedType","getImportDataOutput","importDataOutput","mappedColumns","mappedToValue","alphabeticalIndex","headerConfiguration","selectedColumnNo","selectedColumnAlphabetical","descriptionPrefix","isRequired","recordValue","valueTrimmedUpperCase","isRecordValid","DataImportFromExcelComponent_div_29_button_4_Template_button_click_0_listener","sheetName_r5","DataImportFromExcelComponent_div_29_ng_container_5_button_5_Template_button_click_0_listener","DataImportFromExcelComponent_div_29_ng_container_5_button_6_Template_button_click_0_listener","cell_r8","cell_r9","DataImportFromExcelComponent_div_29_ng_container_5_div_10_tr_8_td_3_Template","cell_r10","DataImportFromExcelComponent_div_29_ng_container_5_div_10_tr_9_td_3_span_1_Template","DataImportFromExcelComponent_div_29_ng_container_5_div_10_tr_9_td_3_span_2_Template","DataImportFromExcelComponent_div_29_ng_container_5_div_10_tr_9_td_3_Template","row_r11","DataImportFromExcelComponent_div_29_ng_container_5_div_10_td_7_Template","DataImportFromExcelComponent_div_29_ng_container_5_div_10_tr_8_Template","DataImportFromExcelComponent_div_29_ng_container_5_div_10_tr_9_Template","DataImportFromExcelComponent_div_29_ng_container_5_button_5_Template","DataImportFromExcelComponent_div_29_ng_container_5_button_6_Template","DataImportFromExcelComponent_div_29_ng_container_5_div_10_Template","DataImportFromExcelComponent_div_29_button_4_Template","DataImportFromExcelComponent_div_29_ng_container_5_Template","c_r12","fc_r13","fc_r14","dataRow_r15","DataImportFromExcelComponent_div_30_tr_15_td_4_Template","i_r16","DataImportFromExcelComponent_div_30_th_10_Template","DataImportFromExcelComponent_div_30_td_14_Template","DataImportFromExcelComponent_div_30_tr_15_Template","DataImportFromExcelComponent_div_32_Template_esg_button_onClick_1_listener","DataImportFromExcelComponent_div_32_Template_esg_button_onClick_3_listener","DataImportFromExcelComponent","importData","handleUploadFile","currentTarget","fileList","files","handleUpdateImport","DataImportFromExcelComponent_Query","DataImportFromExcelComponent_Template","DataImportFromExcelComponent_Template_esg_dialog_onClose_0_listener","DataImportFromExcelComponent_Template_input_change_22_listener","DataImportFromExcelComponent_Template_esg_button_click_25_listener","fileSelect_r2","DataImportFromExcelComponent_div_27_Template","DataImportFromExcelComponent_div_29_Template","DataImportFromExcelComponent_div_30_Template","DataImportFromExcelComponent_Template_div_onIntersection_31_listener","DataImportFromExcelComponent_div_32_Template","content_r18","XLSX","generateExcelFile","workbook","book_new","sheetData","headerRow","templateRowData","generateFakeDataForType","sheet","aoa_to_sheet","book_append_sheet","writeFile","ExcelCell","dataRange","calculateExcelDataRange","leftTopCellRow","rightBottomCellRow","leftTopCellColumn","rightBottomCellColumn","calculateAlphabeticalNumber","str","charCode","charCodeAt","num","remainder","floor","leftTopCellAddress","rightBottomCellAddress","regex","z","isDateString","checkDateAndExtractSeparator","startsWith","isDate","isBoolean","DescriptionAndReferenceComponent_span_2_Template_span_click_0_listener","handleCollapse","formattedFrameworkStandards","DescriptionAndReferenceComponent_div_3_esg_text_view_editor_1_Template","DescriptionAndReferenceComponent_div_3_span_2_Template","DescriptionAndReferenceComponent_div_3_div_3_Template","DescriptionAndReferenceComponent","collapsedByDefault","DescriptionAndReferenceComponent_Template","DescriptionAndReferenceComponent_span_2_Template","DescriptionAndReferenceComponent_div_3_Template","DetailsDialogComponent_span_10_Template_span_click_0_listener","onCallToAction","callToActionText","handleStickyToolbar","DetailsDialogComponent_Query","DetailsDialogComponent_Template_esg_side_dialog_onClose_0_listener","DetailsDialogComponent_Template_div_onIntersection_3_listener","DetailsDialogComponent_Template_button_click_5_listener","DetailsDialogComponent_span_10_Template","content_r4","FormDialogComponent","submitDisabled","expandStickyDivider","FormDialogComponent_Query","FormDialogComponent_Template_esg_dialog_onClose_0_listener","FormDialogComponent_Template_esg_dialog_keydown_enter_0_listener","FormDialogComponent_Template_div_onIntersection_5_listener","FormDialogComponent_Template_esg_button_onClick_7_listener","FormDialogComponent_Template_esg_button_onClick_9_listener","container_r2","GriReportTipComponent_div_0_Template_button_click_6_listener","toggleProTip","GriReportTipComponent","isProTipVisible","GriReportTipComponent_Template","GriReportTipComponent_div_0_Template","GriReportTipComponent_Template_div_click_1_listener","HeaderWithGuidanceComponent_div_3_Template_div_click_0_listener","HeaderWithGuidanceComponent","hideGuidance","HeaderWithGuidanceComponent_Template","HeaderWithGuidanceComponent_div_3_Template","HeaderWithGuidanceComponent_div_4_Template","ImportFromExcelToolbarComponent_esg_data_import_from_excel_0_Template_esg_data_import_from_excel_importData_0_listener","onImportData","ImportFromExcelToolbarComponent_esg_data_import_from_excel_0_Template_esg_data_import_from_excel_onClose_0_listener","inProgress","inProgressLabel","filedConfigs","ImportFromExcelToolbarComponent","onImportDataOpen","handleOnGetExcelTemplate","dialogOpen","ImportFromExcelToolbarComponent_Template","ImportFromExcelToolbarComponent_esg_data_import_from_excel_0_Template","ImportFromExcelToolbarComponent_Template_button_click_2_listener","ImportFromExcelToolbarComponent_Template_button_click_6_listener","ɵ$index_14_r2","ɵ$count_14_r3","ɵ$index_19_r5","ɵ$count_19_r6","IndicatorTableValuePreviewComponent_Conditional_3_For_3_Conditional_3_For_1_Template","ɵɵrepeaterTrackByIdentity","ctx_r7","index_r7","ɵ$index_24_r10","ɵ$count_24_r11","IndicatorTableValuePreviewComponent_Conditional_3_For_3_Conditional_4_For_1_Template","IndicatorTableValuePreviewComponent_Conditional_3_For_3_For_2_Template","IndicatorTableValuePreviewComponent_Conditional_3_For_3_Conditional_3_Template","IndicatorTableValuePreviewComponent_Conditional_3_For_3_Conditional_4_Template","row_r12","ɵ$index_33_r15","ɵ$count_33_r16","IndicatorTableValuePreviewComponent_Conditional_3_For_6_For_2_Conditional_0_Template","IndicatorTableValuePreviewComponent_Conditional_3_For_6_For_2_Conditional_1_Template","cell_r17","ɵ$index_44_r18","ɵ$count_44_r19","formatCellValue","IndicatorTableValuePreviewComponent_Conditional_3_For_6_Conditional_3_Conditional_0_For_1_Template","index_r20","cell_r21","ɵ$index_49_r22","ɵ$count_49_r23","IndicatorTableValuePreviewComponent_Conditional_3_For_6_Conditional_3_Conditional_1_For_1_Template","IndicatorTableValuePreviewComponent_Conditional_3_For_6_Conditional_3_Conditional_0_Template","IndicatorTableValuePreviewComponent_Conditional_3_For_6_Conditional_3_Conditional_1_Template","cell_r24","ɵ$index_55_r25","ɵ$count_55_r26","IndicatorTableValuePreviewComponent_Conditional_3_For_6_Conditional_4_Conditional_0_For_1_Template","cell_r27","ɵ$index_60_r28","ɵ$count_60_r29","IndicatorTableValuePreviewComponent_Conditional_3_For_6_Conditional_4_Conditional_1_For_1_Template","IndicatorTableValuePreviewComponent_Conditional_3_For_6_Conditional_4_Conditional_0_Template","IndicatorTableValuePreviewComponent_Conditional_3_For_6_Conditional_4_Conditional_1_Template","IndicatorTableValuePreviewComponent_Conditional_3_For_6_For_2_Template","IndicatorTableValuePreviewComponent_Conditional_3_For_6_Conditional_3_Template","IndicatorTableValuePreviewComponent_Conditional_3_For_6_Conditional_4_Template","row_r30","IndicatorTableValuePreviewComponent_Conditional_3_For_3_Template","IndicatorTableValuePreviewComponent_Conditional_3_For_6_Template","IndicatorTableValuePreviewComponent_button_10_Template_button_click_0_listener","_r31","showDescriptionButton","createLabelTable","createValueTable","groupItems","IndicatorTableValuePreviewComponent_Template","IndicatorTableValuePreviewComponent_Conditional_3_Template","IndicatorTableValuePreviewComponent_button_10_Template","OnboardingDialogComponent","slides","OnboardingDialogComponent_Template","OnboardingDialogComponent_Template_esg_carousel_dialog_onClose_0_listener","PaginationComponent_ng_container_16_button_2_Template_button_click_0_listener","page_r2","setPage","PaginationComponent_ng_container_16_span_1_Template","PaginationComponent_ng_container_16_button_2_Template","pageSizeOptions","onPaginationChange","setPageNumbers","start","page","setPageSize","sizeOption","size","handleNextPage","handlePreviousPage","handleFirstPage","handleLastPage","pages","PaginationComponent_Template","PaginationComponent_Template_button_click_11_listener","PaginationComponent_Template_button_click_14_listener","PaginationComponent_ng_container_16_Template","PaginationComponent_Template_button_click_18_listener","PaginationComponent_Template_button_click_21_listener","PaginationComponent_Template_esg_select_onChange_24_listener","RecordsTableComponent_ng_container_4_th_1_div_1_Template_esg_sortable_table_column_sortChange_1_listener","RecordsTableComponent_ng_container_4_th_1_div_1_span_6_Template","RecordsTableComponent_ng_container_4_th_1_div_1_span_7_Template","RecordsTableComponent_ng_container_4_th_1_ng_template_2_span_3_Template","RecordsTableComponent_ng_container_4_th_1_div_1_Template","RecordsTableComponent_ng_container_4_th_1_ng_template_2_Template","RecordsTableComponent_ng_container_4_th_1_Template","RecordsTableComponent_th_6_ng_container_1_esg_column_viewer_2_Template","RecordsTableComponent_th_6_ng_container_1_Template","RecordsTableComponent_ng_container_8_tr_1_Template_esg_add_button_onClick_2_listener","RecordsTableComponent_ng_container_8_tr_2_Template_tr_onClickOutside_0_listener","RecordsTableComponent_ng_container_8_tr_2_Template_tr_onEscapeKey_0_listener","RecordsTableComponent_ng_container_8_tr_2_Template_tr_onEnterKey_0_listener","RecordsTableComponent_ng_container_8_tr_2_Template_tr_focusin_0_listener","RecordsTableComponent_ng_container_8_tr_2_ng_container_1_Template","RecordsTableComponent_ng_container_8_tr_2_Template_td_click_2_listener","RecordsTableComponent_ng_container_8_ng_container_3_tr_1_ng_container_1_td_1_span_1_ng_container_1_esg_raw_data_icon_1_Template","RecordsTableComponent_ng_container_8_ng_container_3_tr_1_ng_container_1_td_1_span_1_ng_container_1_esg_column_stack_icon_2_Template","RecordsTableComponent_ng_container_8_ng_container_3_tr_1_ng_container_1_td_1_span_1_ng_container_1_esg_indicator_data_from_excel_icon_3_Template","RecordsTableComponent_ng_container_8_ng_container_3_tr_1_ng_container_1_td_1_span_1_ng_container_1_esg_indicator_data_from_3nd_parties_icon_4_Template","RecordsTableComponent_ng_container_8_ng_container_3_tr_1_ng_container_1_td_1_span_1_ng_container_1_Template","RecordsTableComponent_ng_container_8_ng_container_3_tr_1_ng_container_1_td_1_span_1_esg_pulsing_dot_2_Template","cell_r13","RecordsTableComponent_ng_container_8_ng_container_3_tr_1_ng_container_1_td_1_Template_td_click_0_listener","RecordsTableComponent_ng_container_8_ng_container_3_tr_1_ng_container_1_td_1_span_1_Template","RecordsTableComponent_ng_container_8_ng_container_3_tr_1_ng_container_1_td_1_span_3_Template","isFirst_r15","RecordsTableComponent_ng_container_8_ng_container_3_tr_1_ng_container_1_td_1_Template","RecordsTableComponent_ng_container_8_ng_container_3_tr_1_ng_container_1_Template","RecordsTableComponent_ng_container_8_ng_container_3_tr_1_td_2_Template","RecordsTableComponent_ng_container_8_ng_container_3_tr_1_span_4_Template","RecordsTableComponent_ng_container_8_ng_container_3_tr_1_esg_context_menu_5_Template","RecordsTableComponent_ng_container_8_ng_container_3_tr_2_Template_tr_onClickOutside_0_listener","RecordsTableComponent_ng_container_8_ng_container_3_tr_2_Template_tr_onEscapeKey_0_listener","RecordsTableComponent_ng_container_8_ng_container_3_tr_2_Template_tr_onEnterKey_0_listener","RecordsTableComponent_ng_container_8_ng_container_3_tr_2_Template_tr_focusin_0_listener","RecordsTableComponent_ng_container_8_ng_container_3_tr_2_ng_container_1_Template","RecordsTableComponent_ng_container_8_ng_container_3_tr_2_esg_context_menu_3_Template","RecordsTableComponent_ng_container_8_ng_container_3_tr_1_Template","RecordsTableComponent_ng_container_8_ng_container_3_tr_2_Template","RecordsTableComponent_ng_container_8_tr_1_Template","RecordsTableComponent_ng_container_8_tr_2_Template","RecordsTableComponent_ng_container_8_ng_container_3_Template","RecordsTableComponent_ng_container_9_ng_container_2_Template","RecordsTableComponent","RecordsTableComponent_Template","RecordsTableComponent_Template_div_onIntersection_0_listener","RecordsTableComponent_ng_container_4_Template","RecordsTableComponent_th_5_Template","RecordsTableComponent_th_6_Template","RecordsTableComponent_ng_container_8_Template","RecordsTableComponent_ng_container_9_Template","RecordsTableComponent_ng_template_10_Template","riskLabel","RiskBarComponent_div_0_span_7_Template","RiskBarComponent_div_0_div_10_Template","isUnknown","riskCategory","RiskBarComponent","RiskBarComponent_Template","RiskBarComponent_div_0_Template","RiskLabelComponent","RiskCategoryEnum","getRiskLabel","RiskLabelComponent_Template","RouteSelectorComponent_div_7_a_3_Template","RouteSelectorComponent","_items","localeCompare","scrollWrapper","scrollOptionIntoView","selectedLabel","isCollapsed","toggleCollapse","selector","optionElement","querySelector","scrollWrapperElement","scrollTop","offsetTop","RouteSelectorComponent_Query","RouteSelectorComponent_resize_HostBindingHandler","RouteSelectorComponent_Template_div_onClickOutside_0_listener","RouteSelectorComponent_Template_div_click_1_listener","RouteSelectorComponent_div_7_Template","SearchFilterBarComponent_div_0_Template_esg_textbox_onChange_1_listener","handleSearchValueChange","showSearchValue","showFilter","searchValueChange","SearchFilterBarComponent_HostBindings","SearchFilterBarComponent_div_0_Template","SearchFilterBarComponent_div_1_Template","SearchFilterBarComponent_div_2_Template","IndicatorSetPreviewComponent_th_9_span_4_Template","IndicatorSetPreviewComponent_th_10_span_4_Template","IndicatorSetPreviewComponent_th_11_span_4_Template","getGridColumnSpan","IndicatorSetPreviewComponent_ng_container_13_td_6_Template","IndicatorSetPreviewComponent_ng_container_13_td_7_Template","IndicatorSetPreviewComponent_ng_container_13_td_8_Template","IndicatorSetPreviewComponent_ng_container_13_tr_9_Template","IndicatorSetPreviewComponent","getGridTemplateColumns","getVisibleColumnsCount","IndicatorSetPreviewComponent_Template","IndicatorSetPreviewComponent_span_8_Template","IndicatorSetPreviewComponent_th_9_Template","IndicatorSetPreviewComponent_th_10_Template","IndicatorSetPreviewComponent_th_11_Template","IndicatorSetPreviewComponent_ng_container_13_Template","component_r1","getKeyFigures","table_r3","SectionContentPreviewComponent_div_2_div_1_ng_container_5_ng_container_1_esg_indicator_table_value_preview_1_Template","SectionContentPreviewComponent_div_2_div_1_ng_container_5_ng_container_1_Template","SectionContentPreviewComponent_div_2_div_1_ng_container_5_esg_indicator_set_preview_2_Template","SectionContentPreviewComponent_div_2_div_1_esg_text_view_editor_1_Template","SectionContentPreviewComponent_div_2_div_1_div_2_Template","SectionContentPreviewComponent_div_2_div_1_esg_table_data_3_Template","SectionContentPreviewComponent_div_2_div_1_img_4_Template","SectionContentPreviewComponent_div_2_div_1_ng_container_5_Template","SectionContentPreviewComponent_div_2_div_1_Template","section","SectionContentPreviewComponent","SectionContentPreviewComponent_Template","SectionContentPreviewComponent_div_2_Template","SubstrateDataPreviewComponent","TableDataComponent","TimePeriodComponent","HighchartsChartModule","SideMenuComponent","TimePeriodSelectorComponent","TimePeriodSelectorOptionsComponent","SideMenuComponent_button_0_Template_button_click_0_listener","navigateBack","backButtonLabel","showBackButton","goBackUrl","hideScroll","setHideScroll","SideMenuComponent_HostBindings","SideMenuComponent_mouseenter_HostBindingHandler","SideMenuComponent_mouseleave_HostBindingHandler","SideMenuComponent_button_0_Template","subHeader","SortableTableColumnComponent_div_1_div_3_Template","activeSortKey","activeSortDirection","showDefaultName","sortChange","isSorted","toggleSort","newDirection","SortableTableColumnComponent_HostBindings","SortableTableColumnComponent_Template_div_click_0_listener","SortableTableColumnComponent_div_1_Template","SortableTableColumnComponent_i_4_Template","SortableTableColumnComponent_i_5_Template","SortableTableColumnComponent_i_6_Template","SubstrateDataPreviewComponent_tr_2_ng_container_1_Template","SubstrateDataPreviewComponent_tr_4_ng_container_1_Template","SubstrateDataPreviewComponent_Template","SubstrateDataPreviewComponent_tr_2_Template","SubstrateDataPreviewComponent_tr_4_Template","TableDataComponent_tr_5_td_1_Template","columnsCount","config","editMode","TableDataComponent_Template","TableDataComponent_th_3_Template","TableDataComponent_tr_5_Template","quarterOptions","monthOptions","timePeriodEnum","initializeForm","handleSelectTimeperiodType","annualYear","quarterYear","monthYear","handleOnChange","handlePeriodChange","quarterOption","monthOption","form","TimePeriodSelectorOptionsComponent_Template","TimePeriodSelectorOptionsComponent_Template_div_click_1_listener","TimePeriodSelectorOptionsComponent_Template_esg_textbox_form_onEnter_5_listener","TimePeriodSelectorOptionsComponent_Template_div_click_7_listener","TimePeriodSelectorOptionsComponent_Template_esg_select_onChange_11_listener","TimePeriodSelectorOptionsComponent_Template_esg_textbox_form_onEnter_12_listener","TimePeriodSelectorOptionsComponent_Template_div_click_14_listener","TimePeriodSelectorOptionsComponent_Template_esg_select_onChange_18_listener","TimePeriodSelectorOptionsComponent_Template_esg_textbox_form_onEnter_19_listener","forwardRef","NG_VALUE_ACCESSOR","TimePeriodSelectorComponent_esg_time_period_selector_options_4_Template_esg_time_period_selector_options_onChange_0_listener","handleChange","selectedValue","variant","placeholder","tabindex","selectedValueLabel","focused","writeValue","getSelectedValueLabel","registerOnChange","fn","onModelChange","registerOnTouched","onModelTouched","setDisabledState","isDisabled","handleFocusOut","TimePeriodSelectorComponent_Query","TimePeriodSelectorComponent_focus_HostBindingHandler","TimePeriodSelectorComponent_onEscapeKey_HostBindingHandler","TimePeriodSelectorComponent_onEnterKey_HostBindingHandler","ɵɵhostProperty","TimePeriodSelectorComponent_Template","TimePeriodSelectorComponent_Template_div_onClickOutside_0_listener","TimePeriodSelectorComponent_Template_esg_select_field_onToggleCollapse_3_listener","TimePeriodSelectorComponent_esg_time_period_selector_options_4_Template","generateCurrentYearOptions","globalMonthOptions","TimePeriodComponent_esg_select_7_Template_esg_select_onChange_0_listener","handleAnnualTimePeriodChange","annualYearValue","annualYearStartMonthValue","TimePeriodComponent_ng_container_14_Template_div_click_1_listener","selectTimePeriod","TimePeriodComponent_ng_container_14_Template_esg_select_onChange_5_listener","handleMonthTimePeriodChange","monthlyYearValue","TimePeriodComponent_ng_container_14_Template_esg_select_onChange_6_listener","monthlyValue","TimePeriodComponent_ng_container_15_Template_div_click_1_listener","TimePeriodComponent_ng_container_15_Template_esg_datepicker_onChange_5_listener","updateTimePeriod","TimePeriodComponent_ng_container_15_Template_esg_datepicker_onChange_6_listener","customStartDate","customEndDate","hidePeriodTypes","showYearStartMonth","numberOfYearsBefore","generatedYearOptions","currentYear","currentYearOption","quarterlyYearValue","quarterlyValue","isCustom","yearOption","startMonthOption","handleQuarterlyTimePeriodChange","getTimePeriodData","TimePeriodComponent_Template","TimePeriodComponent_span_0_Template","TimePeriodComponent_Template_div_click_2_listener","TimePeriodComponent_Template_esg_select_onChange_6_listener","TimePeriodComponent_esg_select_7_Template","TimePeriodComponent_Template_div_click_8_listener","TimePeriodComponent_Template_esg_select_onChange_12_listener","TimePeriodComponent_Template_esg_select_onChange_13_listener","TimePeriodComponent_ng_container_14_Template","TimePeriodComponent_ng_container_15_Template","doubleClick","singleClick","clicksSubject","subscription","clickEvent","doubleClickEvent","ClickDoubleDirective_HostBindings","ClickDoubleDirective_click_HostBindingHandler","ClickDoubleDirective_dblclick_HostBindingHandler","elementRef","threshold","rootMargin","onInit","onIntersection","IntersectionObserver","entries","unobserve","disconnect","keyOnlyOnFocus","onEscapeKey","onEnterKey","handleOnEscapeKey","contains","handleOnEnterKey","KeyboardShortcutsDirective_HostBindings","KeyboardShortcutsDirective_keydown_escape_HostBindingHandler","ɵɵresolveDocument","KeyboardShortcutsDirective_keydown_enter_HostBindingHandler","TabFocusDirective","isTabPressed","onTabFocus","onTabBlur","handleKeydown","handleKeyup","handleFocusIn","TabFocusDirective_HostBindings","TabFocusDirective_keydown_HostBindingHandler","TabFocusDirective_keyup_HostBindingHandler","TabFocusDirective_focus_HostBindingHandler","TabFocusDirective_focusout_HostBindingHandler","htmlFormats","CH4","N2O","SOx","m2","m3","pure","standalone","unicodeFormats","Toast","NotificationWrapperComponent","toastrService","toastPackage","toastType","ToastrService","ToastPackage","NotificationWrapperComponent_Template","NotificationWrapperComponent_Template_esg_notification_onClose_0_listener","ToastrModule","BrowserAnimationsModule","toastComponent","toastClass","preventDuplicates","iconClasses","info","warning","toastr","toast","timeOut","toastRef","componentInstance","disableTimeOut","yearlyChangeValue","toFixed","unitApiService","unitsSubject","unitsHashTable","HoverActionStateType","GenericTableComponent_thead_2_th_2_ng_container_1_div_1_Template_button_mouseenter_1_listener","setHoverActionState","hoverActionStateTypeEnum","DeleteColumn","GenericTableComponent_thead_2_th_2_ng_container_1_div_1_Template_button_mouseleave_1_listener","clearHoverActionState","GenericTableComponent_thead_2_th_2_ng_container_1_div_1_Template_button_click_1_listener","column_r5","handleOnColumnDelete","GenericTableComponent_thead_2_th_2_ng_container_1_div_1_Template_button_mouseenter_3_listener","AddColumn","GenericTableComponent_thead_2_th_2_ng_container_1_div_1_Template_button_mouseleave_3_listener","GenericTableComponent_thead_2_th_2_ng_container_1_div_1_Template_button_click_3_listener","handleOnColumnAddAfter","GenericTableComponent_thead_2_th_2_ng_container_1_div_2_Template_button_mouseenter_3_listener","AddRow","GenericTableComponent_thead_2_th_2_ng_container_1_div_2_Template_button_mouseleave_3_listener","GenericTableComponent_thead_2_th_2_ng_container_1_div_2_Template_button_click_3_listener","handleOnRowAddAfter","GenericTableComponent_thead_2_th_2_ng_container_1_div_1_Template","GenericTableComponent_thead_2_th_2_ng_container_1_div_2_Template","GenericTableComponent_thead_2_th_2_ng_container_1_Template_div_mouseenter_3_listener","handleResizeMouseEnter","GenericTableComponent_thead_2_th_2_ng_container_1_Template_div_mouseleave_3_listener","handleResizeMouseLeave","GenericTableComponent_thead_2_th_2_ng_container_1_Template_div_mousedown_3_listener","startResizing","hoveredColumnId","firstIndex_r10","isFirstHeaderHovered","resizingForColumn","isAddColumnHovered","isAddRowHovered","GenericTableComponent_thead_2_th_2_Template_th_mouseenter_0_listener","onColumnMouseEnter","GenericTableComponent_thead_2_th_2_ng_container_1_Template","GenericTableComponent_thead_2_th_2_Template_textarea_blur_3_listener","handleOnHeaderChange","GenericTableComponent_thead_2_th_2_Template_input_blur_4_listener","handleOnDescriptionChange","isDeleteColumnHovered","isConfigurable","inputTypeEnum","GenericTableComponent_thead_2_Template_thead_mouseenter_0_listener","clearHoverState","GenericTableComponent_thead_2_th_2_Template","trackByColumnId","GenericTableComponent_tr_4_td_1_ng_container_1_div_1_Template_button_mouseenter_1_listener","DeleteRow","GenericTableComponent_tr_4_td_1_ng_container_1_div_1_Template_button_mouseleave_1_listener","GenericTableComponent_tr_4_td_1_ng_container_1_div_1_Template_button_click_1_listener","row_r14","handleOnRowDelete","GenericTableComponent_tr_4_td_1_ng_container_1_div_1_Template_button_mouseenter_3_listener","GenericTableComponent_tr_4_td_1_ng_container_1_div_1_Template_button_mouseleave_3_listener","GenericTableComponent_tr_4_td_1_ng_container_1_div_1_Template_button_click_3_listener","GenericTableComponent_tr_4_td_1_ng_container_1_div_1_Template","GenericTableComponent_tr_4_td_1_ng_container_1_Template_div_mousedown_2_listener","cell_r15","GenericTableComponent_tr_4_td_1_ng_container_1_Template_div_mouseenter_2_listener","GenericTableComponent_tr_4_td_1_ng_container_1_Template_div_mouseleave_2_listener","hoveredRowId","firstIndex_r17","GenericTableComponent_tr_4_td_1_ng_container_4_Template_esg_textbox_onChange_1_listener","handleOnTextChange","getColumnType","GenericTableComponent_tr_4_td_1_ng_container_5_esg_table_select_2_Template_esg_table_select_onChange_0_listener","_r20","handleOnCurrencyChange","getCurrencyOption","GenericTableComponent_tr_4_td_1_ng_container_5_Template_esg_textbox_onChange_1_listener","handleOnNumberChange","GenericTableComponent_tr_4_td_1_ng_container_5_esg_table_select_2_Template","GenericTableComponent_tr_4_td_1_ng_container_6_Template_esg_table_select_onChange_1_listener","_r21","handleOnDropdownChange","getOptionValue","getColumnOptions","GenericTableComponent_tr_4_td_1_ng_container_1_Template","GenericTableComponent_tr_4_td_1_Template_div_mouseenter_3_listener","first","onRowMouseEnter","GenericTableComponent_tr_4_td_1_ng_container_4_Template","GenericTableComponent_tr_4_td_1_ng_container_5_Template","GenericTableComponent_tr_4_td_1_ng_container_6_Template","isSelectedCell","isDeleteRowHovered","GenericTableComponent_tr_4_td_1_Template","GenericTableComponent","hideColumns","onRowChange","onAddRowAfter","onDeleteRow","onAddColumnAfter","onDeleteColumn","onColumnsChange","optionsMap","selectedRows","isSelecting","hoverActionState","updateColumnTypeMap","updateOptionsMap","valueIndex","onMouseDown","tagName","clearCellSelection","selectCell","onMouseUp","onMouseMove","parentCell","getAttribute","columnHeader","parentElement","startPageX","pageX","originalWidth","offsetWidth","mouseMoveHandler","moveEvent","tableWidth","movementX","newWidth","newWidthPercent","stopResizing","GenericTableComponent_Query","GenericTableComponent_mousedown_HostBindingHandler","GenericTableComponent_mouseup_HostBindingHandler","GenericTableComponent_mousemove_HostBindingHandler","GenericTableComponent_Template_table_mouseleave_0_listener","GenericTableComponent_thead_2_Template","GenericTableComponent_Template_tbody_mouseenter_3_listener","GenericTableComponent_tr_4_Template","TableButtonComponent_Template","TableButtonComponent_Template_button_click_0_listener","TableCancelButtonComponent_Template","TableCancelButtonComponent_Template_button_click_0_listener","TableDeleteButtonComponent","TableDeleteButtonComponent_Template","TableDeleteButtonComponent_Template_button_click_0_listener","TableDropdownComponent_div_5_div_1_Template_div_click_0_listener","option_r2","TableDropdownComponent_div_5_div_1_Template","TableDropdownComponent","TableDropdownComponent_Template","TableDropdownComponent_Template_div_onClickOutside_0_listener","TableDropdownComponent_Template_div_click_1_listener","TableDropdownComponent_div_5_Template","TableHeaderTextComponent","TableHeaderTextComponent_Template","TableInputComponent","inputEl","autoFocus","onEnter","initialValue","handleEnter","handleEscape","TableInputComponent_Query","TableInputComponent_Template_input_onEscapeKey_0_listener","TableInputComponent_Template_input_onEnterKey_0_listener","TableSelectComponent_esg_select_options_4_Template_esg_select_options_onChange_0_listener","selectedValueAsArray","popUpStyle","TableSelectComponent_Template","TableSelectComponent_Template_div_onClickOutside_0_listener","TableSelectComponent_Template_esg_select_field_onToggleCollapse_3_listener","TableSelectComponent_esg_select_options_4_Template","isPopup","longestLabel","TableTextComponent","TableTextComponent_Template","IconModule","AlertDialogComponent","buttonText","AlertDialogComponent_Template","AlertDialogComponent_Template_esg_dialog_onClose_0_listener","AlertDialogComponent_Template_esg_button_onClick_7_listener","showIcon","AddButtonComponent_Template","AddButtonComponent_Template_button_click_0_listener","AddButtonComponent_esg_icon_add_1_Template","ButtonComponent","iconButton","disabledHover","ButtonComponent_Template","ButtonComponent_Template_button_click_0_listener","index_r3","currentSlideIndex","slide_r2","CarouselDialogComponent_ng_container_2_Defer_1_Template","CarouselDialogComponent_ng_container_2_DeferPlaceholder_2_Template","CarouselDialogComponent_ng_container_2_Defer_3_DepsFn","ɵɵdeferWhen","index_r5","CarouselDialogComponent_esg_button_14_Template_esg_button_onClick_0_listener","CarouselDialogComponent","isFirstSlide","isLastSlide","handleNextSlide","handlePreviousSlide","CarouselDialogComponent_Template","CarouselDialogComponent_Template_esg_dialog_onClose_0_listener","CarouselDialogComponent_ng_container_2_Template","CarouselDialogComponent_Template_button_click_3_listener","CarouselDialogComponent_Template_button_click_6_listener","CarouselDialogComponent_span_10_Template","CarouselDialogComponent_Template_button_click_11_listener","CarouselDialogComponent_esg_button_14_Template","CarouselSlideComponent_ng_container_6_esg_dot_flashing_1_Template","CarouselSlideComponent_ng_container_6_ng_container_2_Template","CarouselSlideComponent","sanitizedHtml","bypassSecurityTrustHtml","slide","handleOutOfViewport","CarouselSlideComponent_Query","CarouselSlideComponent_Template_div_onIntersection_2_listener","CarouselSlideComponent_Template_div_click_2_listener","CarouselSlideComponent_source_5_Template","CarouselSlideComponent_ng_container_6_Template","CheckboxFormComponent","onCheck","CheckboxFormComponent_Template","CheckboxFormComponent_Template_div_click_0_listener","CheckboxComponent","handleOnCheck","checked","CheckboxComponent_Template","CheckboxComponent_Template_span_click_0_listener","CollapsibleIconComponent","CollapsibleIconComponent_Template","CollapsibleIconComponent_Template_div_click_0_listener","CollapsibleSectionComponent","handleCollpase","CollapsibleSectionComponent_Template","CollapsibleSectionComponent_Template_div_click_0_listener","CollapsibleSectionComponent_div_5_Template","cancelText","ConfirmDialogComponent_Template","ConfirmDialogComponent_Template_esg_dialog_onClose_0_listener","ConfirmDialogComponent_Template_esg_button_onClick_7_listener","ConfirmDialogComponent_Template_esg_button_onClick_9_listener","Subscription","ContextMenuComponent_button_1_Template_button_click_0_listener","ContextMenuComponent_button_1_Template_button_mouseenter_0_listener","iconHover","ContextMenuComponent_button_1_Template_button_mouseleave_0_listener","disableTab","ContextMenuComponent_button_2_Template_button_click_0_listener","ContextMenuComponent_button_2_Template_button_mouseenter_0_listener","ContextMenuComponent_button_2_Template_button_mouseleave_0_listener","optionsHeader","ContextMenuComponent_div_4_div_2_Template_div_click_0_listener","handleClickedOnOption","ContextMenuComponent_div_4_Template_div_onClickOutside_0_listener","ContextMenuComponent_div_4_Template_div_onIntersection_0_listener","ContextMenuComponent_div_4_div_1_Template","ContextMenuComponent_div_4_div_2_Template","ContextMenuComponent_div_4_div_3_Template","trackByOption","handlePopupPositionStyle","contextMenuService","menuPosition","menuIndent","onOpenOptions","onCloseOptions","currentMenuPosition","handlePositionStyle","addScrollEventListener","add","activeMenu$","activeMenu","setActiveMenu","isTop","isLeft","menuIndentPx","right","translateX","translateY","intersectionRect","ContextMenuService","ContextMenuComponent_HostBindings","ContextMenuComponent_resize_HostBindingHandler","ContextMenuComponent_button_1_Template","ContextMenuComponent_button_2_Template","ContextMenuComponent_ng_content_3_Template","ContextMenuComponent_div_4_Template","MAT_DATE_FORMATS","DatepickerHeaderComponent","_calendar","_dateAdapter","_dateFormats","_destroyed","stateChanges","markForCheck","format","activeDate","monthYearLabel","toLocaleUpperCase","isPreviousMonthDisabled","minDate","getYear","isPreviousYearDisabled","isNextMonthDisabled","maxDate","isNextYearDisabled","previousClicked","addCalendarMonths","addCalendarYears","nextClicked","MatCalendar","DateAdapter","DatepickerHeaderComponent_Template","DatepickerHeaderComponent_Template_button_click_1_listener","DatepickerHeaderComponent_Template_button_click_4_listener","DatepickerHeaderComponent_Template_button_click_8_listener","DatepickerHeaderComponent_Template_button_click_10_listener","MAT_DATE_LOCALE","NativeDateAdapter","DatepickerComponent_esg_tag_3_Template_esg_tag_onClose_0_listener","handleClearFilter","CustomDateAdapter","getDayOfWeekNames","getFirstDayOfWeek","displayFormat","toDateString","MATERIAL_DATEPICKER_FORMATS","dateInput","day","dateA11yLabel","monthYearA11yLabel","DatepickerComponent","isFilter","inputIndent","onOpen","handleOpen","useValue","DatepickerComponent_Template","DatepickerComponent_Template_div_click_0_listener","picker_r2","DatepickerComponent_Template_input_dateChange_1_listener","DatepickerComponent_esg_tag_3_Template","DatepickerComponent_Template_mat_datepicker_opened_4_listener","DatepickerComponent_Template_mat_datepicker_closed_4_listener","DialogComponent_button_5_Template_button_click_0_listener","closeClicked","showCloseBtn","handleKeyEvent","handleClickBackground","DialogComponent_HostBindings","DialogComponent_keydown_escape_HostBindingHandler","DialogComponent_Template_div_click_2_listener","DialogComponent_button_5_Template","DotFlashingComponent_Template","DotFlashingComponent_div_1_Template","SectionDotFlashingComponent","SectionDotFlashingComponent_Template","SectionDotFlashingComponent_ng_container_0_Template","DropdownMultipleFormComponent_esg_tag_5_Template_esg_tag_onClose_0_listener","selectedOption_r4","DropdownMultipleFormComponent_esg_select_options_8_Template_esg_select_options_onChange_0_listener","DropdownMultipleFormComponent_esg_select_options_8_Template_esg_select_options_onReset_0_listener","deleteAll","handlePopupPosition","minWidth","DropdownMultipleFormComponent_Query","DropdownMultipleFormComponent_resize_HostBindingHandler","DropdownMultipleFormComponent_Template_div_onClickOutside_0_listener","DropdownMultipleFormComponent_Template_div_click_1_listener","DropdownMultipleFormComponent_div_4_Template","DropdownMultipleFormComponent_esg_tag_5_Template","DropdownMultipleFormComponent_esg_select_options_8_Template","AIAssistant","OpenAITextAdapter","FormatPainter","ClassicEditor","Autoformat","AutoImage","Autosave","Bold","Essentials","Heading","ImageBlock","ImageCaption","ImageInline","ImageInsert","ImageInsertViaUrl","ImageResize","ImageStyle","ImageTextAlternative","ImageToolbar","Base64UploadAdapter","ImageUpload","Indent","IndentBlock","Italic","Link","LinkImage","List","ListProperties","Paragraph","PasteFromOffice","PictureEditing","TableCaption","TableCellProperties","TableColumnResize","TableProperties","TableToolbar","TodoList","Underline","SpecialCharacters","FontFamily","FontBackgroundColor","FontColor","FontSize","Alignment","CkEditorComponent_ckeditor_6_Template_ckeditor_ready_0_listener","onReady","Editor","LICENSE_KEY","AI_API_KEY","CkEditorComponent","changeDetector","hostElement","isLayoutReady","contentChange","toolbarElement","stickyPanelElement","isAnyChildElementFocused","activeElement","isCkBodyWrapperFocused","ckBodyWrapper","addCkBodyWrapperListeners","toggleStickyPanel","toolbar","shouldNotGroupWhenFull","plugins","ai","openAI","requestHeaders","Authorization","requestParameters","model","temperature","top_p","max_tokens","aiAssistant","commands","groupId","heading","view","fontFamily","supportAllValues","initialData","licenseKey","addTargetToExternalLinks","defaultProtocol","decorators","toggleDownloadable","download","editor","editorInstance","ui","getData","isToolbarClicked","CkEditorComponent_Template","CkEditorComponent_ckeditor_6_Template","AddIconComponent","hoverColor","currentColor","hovered","toggleHover","AddIconComponent_Template","AddIconComponent_Template_svg_mouseenter_0_listener","AddIconComponent_Template_svg_mouseleave_0_listener","ArrowDownComponent","sizePx","ArrowDownComponent_HostBindings","ArrowRightLongComponent","ArrowRightLongComponent_Template","ArrowRightTopComponent","ArrowRightTopComponent_Template","ArrowRightComponent","ArrowRightComponent_Template","AssetIconComponent","AssetIconComponent_HostBindings","AssignedIconComponent","AssignedIconComponent_HostBindings","BotIconComponent","BotIconComponent_HostBindings","CalculationIconComponent","CalculationIconComponent_HostBindings","ChartIconComponent","ChartIconComponent_Template","CheckCircleIconComponent","CheckCircleIconComponent_HostBindings","CheckmarkComponent","CheckmarkComponent_Template","ChevronComponent","ChevronComponent_Template","ClearIconComponent","ClearIconComponent_Template","ClearIconComponent_Template_svg_mouseenter_0_listener","ClearIconComponent_Template_svg_mouseleave_0_listener","CloseIconComponent","CloseIconComponent_Template","CloudDisconnectedIconComponent","CloudDisconnectedIconComponent_HostBindings","CloudLockedIconComponent","CloudLockedIconComponent_HostBindings","CloudUpdateFilledIconComponent","CloudUpdateFilledIconComponent_HostBindings","CloudUpdateIconComponent","CloudUpdateIconComponent_HostBindings","ColumnStackIconComponent","ColumnStackIconComponent_HostBindings","CompanyIconComponent","CompanyIconComponent_HostBindings","ConvertIconComponent","ConvertIconComponent_HostBindings","CopyLinkComponent","CopyLinkComponent_Template","CopyLinkComponent_Template_svg_mouseenter_0_listener","CopyLinkComponent_Template_svg_mouseleave_0_listener","DashboardIconComponent","DashboardIconComponent_HostBindings","DeleteIconComponent","DeleteIconComponent_Template","DeleteIconComponent_Template_svg_mouseenter_0_listener","DeleteIconComponent_Template_svg_mouseleave_0_listener","DeleteXmarkIconComponent","DeleteXmarkIconComponent_Template","DocumentIconComponent","DocumentIconComponent_Template","DoubleChevronComponent","DoubleChevronComponent_Template","DownloadIconComponent","DownloadIconComponent_Template","DragIconComponent_HostBindings","DropdownArrowComponent","DropdownArrowComponent_Template","EllipsisHorizontalComponent","EllipsisHorizontalComponent_Template","EllipsisVerticalComponent","EllipsisVerticalComponent_Template","EnvironmentIconComponent","EnvironmentIconComponent_HostBindings","ErrorIconComponent","ErrorIconComponent_HostBindings","ExcelIconComponent","ExcelIconComponent_Template","ExpanderIconComponent","ExpanderIconComponent_Template","ExtLinkIconComponent","ExtLinkIconComponent_Template","ExtLinkIconComponent_Template_svg_mouseenter_0_listener","ExtLinkIconComponent_Template_svg_mouseleave_0_listener","FrameworkIconComponent","FrameworkIconComponent_Template","GovernanceIconComponent","GovernanceIconComponent_HostBindings","GroupIconComponent","GroupIconComponent_Template","GroupIconComponent_Template_svg_mouseenter_0_listener","GroupIconComponent_Template_svg_mouseleave_0_listener","HistoryIconComponent","HistoryIconComponent_HostBindings","HomeIconComponent","HomeIconComponent_HostBindings","SaveTemplateComponent","ImageIconComponent","LogoutIconComponent","PreviewIconComponent","MinusIconComponent","SettingsIconComponent","UpdateIconComponent","ImportFromExcelIconComponent","InfoIconFilledComponent","InfoIconComponent","LockIconComponent","NoLockIconComponent","PaperplaneIconComponent","MenuIconComponent","ShareIconComponent","MoveIconComponent","IconTargetComponent","RegionIconComponent","OrganizationIconComponent","SuborgIconComponent","ReportIconComponent","SupportIconComponent","NewIconComponent","RecordsIconComponent","WindowIconComponent","IndLibraryIconComponent","SocialIconComponent","StackIconComponent","LanguageIconComponent","RawDataIconComponent","WarningIconComponent","SectionIconComponent","ImportFromExcel2IconComponent","SearchIconComponent","WarningFilledIconComponent","SortIconComponent","SortAccendingIconComponent","SortDescendingIconComponent","IndicatorDataFrom3ndPartiesIconComponent","IndicatorDataFromExcelIconComponent","ImageIconComponent_HostBindings","ImportFromExcel2IconComponent_Template","ImportFromExcelIconComponent_Template","IndLibraryIconComponent_HostBindings","IndicatorDataFrom3ndPartiesIconComponent_Template","IndicatorDataFromExcelIconComponent_Template","InfoIconFilledComponent_HostBindings","InfoIconComponent_Template","KpiIconComponent_HostBindings","LanguageIconComponent_HostBindings","LockIconComponent_HostBindings","LogoutIconComponent_HostBindings","MenuIconComponent_HostBindings","MinusIconComponent_Template","MinusIconComponent_Template_svg_mouseenter_0_listener","MinusIconComponent_Template_svg_mouseleave_0_listener","MoveIconComponent_Template","NewIconComponent_HostBindings","NoLockIconComponent_HostBindings","OrganizationIconComponent_HostBindings","PaperplaneIconComponent_HostBindings","ɵɵattributeInterpolate1","PlayIconComponent_HostBindings","PreviewIconComponent_Template","PreviewIconComponent_Template_svg_mouseenter_0_listener","PreviewIconComponent_Template_svg_mouseleave_0_listener","RawDataIconComponent_HostBindings","RecordsIconComponent_HostBindings","RegionIconComponent_Template","ReportIconComponent_HostBindings","SaveTemplateComponent_Template","SaveTemplateComponent_Template_svg_mouseenter_0_listener","SaveTemplateComponent_Template_svg_mouseleave_0_listener","SearchIconComponent_HostBindings","SectionIconComponent_HostBindings","SettingsIconComponent_Template","ShareIconComponent_HostBindings","SocialIconComponent_HostBindings","SortAccendingIconComponent_HostBindings","SortDescendingIconComponent_HostBindings","SortIconComponent_HostBindings","StackIconComponent_HostBindings","SuborgIconComponent_HostBindings","SupportIconComponent_HostBindings","IconTargetComponent_Template","TextIconComponent_HostBindings","UpdateIconComponent_Template","WarningFilledIconComponent_HostBindings","WarningIconComponent_HostBindings","WindowIconComponent_HostBindings","LetterAvatarComponent","LetterAvatarComponent_HostBindings","NotificationComponent","NotificationComponent_HostBindings","NotificationComponent_click_HostBindingHandler","NotificationComponent__svg_path_3_Template","NotificationComponent__svg_path_4_Template","NotificationComponent__svg_path_5_Template","NotificationComponent__svg_path_6_Template","NotificationComponent_span_10_Template","NotificationComponent_div_11_Template","NotificationComponent_Template_button_click_12_listener","ignoreIfSelected","onClickOutside","selectedText","getSelection","clickInside","OnClickOutsideComponent_HostBindings","OnClickOutsideComponent_click_HostBindingHandler","PulsingDotComponent","PulsingDotComponent_Template","RadioButtonComponent","RadioButtonComponent_Template","RadioButtonComponent_Template_span_click_0_listener","RadioButtonComponent__svg_circle_3_Template","SelectSimpleComponent_Conditional_3_For_3_Template_div_click_0_listener","SelectSimpleComponent_Conditional_3_For_3_Template","SelectSimpleComponent","SelectSimpleComponent_Template","SelectSimpleComponent_Template_div_onClickOutside_0_listener","SelectSimpleComponent_Template_div_click_1_listener","SelectSimpleComponent_Conditional_3_Template","SelectFieldComponent","SelectFieldComponent_HostBindings","SelectFieldComponent_click_HostBindingHandler","SelectFieldComponent_span_3_Template","tmp_0_0","headerLabel","SelectOptionsComponent_label_5_Template_label_click_0_listener","handleOnReset","selectedValues","resetLabel","group_r3","SelectOptionsComponent_ng_container_6_span_1_Template","SelectOptionsComponent_ng_container_6_ng_container_2_Template","optionsTemplate_r4","SelectOptionsComponent_ng_template_8_ng_container_0_Template_label_click_1_listener","option_r6","isOptionSelected","SelectOptionsComponent_ng_template_8_ng_container_0_Template","options_r7","SelectOptionsComponent","_options","_groupedOptions","_favouriteOptions","allowReset","onReset","SelectOptionsComponent_Query","SelectOptionsComponent_span_2_Template","SelectOptionsComponent_ng_container_3_Template","SelectOptionsComponent_div_4_Template","SelectOptionsComponent_label_5_Template","SelectOptionsComponent_ng_container_6_Template","SelectOptionsComponent_ng_container_7_Template","SelectOptionsComponent_ng_template_8_Template","SelectTreeOptionsComponent_For_1_esg_select_tree_options_4_Template_esg_select_tree_options_onSelectOption_0_listener","level","SelectTreeOptionsComponent_For_1_Template_div_click_0_listener","SelectTreeOptionsComponent_For_1_esg_select_tree_options_4_Template","getPadding","nestedOption","SelectTreeOptionsComponent","onSelectOption","SelectTreeOptionsComponent_Template","SelectTreeOptionsComponent_For_1_Template","ɵɵrepeaterTrackByIndex","SelectTreeComponent_label_1_span_2_Template","SelectTreeComponent_Conditional_4_Template_esg_select_tree_options_onSelectOption_2_listener","SelectTreeComponent","SelectTreeComponent_Template","SelectTreeComponent_Template_div_onClickOutside_0_listener","SelectTreeComponent_label_1_Template","SelectTreeComponent_Template_div_click_2_listener","SelectTreeComponent_Template_esg_select_field_onToggleCollapse_3_listener","SelectTreeComponent_Conditional_4_Template","findLongestLabelInOptions","SelectComponent_label_1_span_2_Template","SelectComponent_esg_select_field_4_Template_esg_select_field_onToggleCollapse_0_listener","SelectComponent_esg_select_options_6_Template_esg_select_options_onChange_0_listener","customDropdown","fitLongestLabel","handleOnCollapse","SelectComponent_Query","SelectComponent_onTabFocus_HostBindingHandler","SelectComponent_onTabBlur_HostBindingHandler","SelectComponent_onEscapeKey_HostBindingHandler","SelectComponent_onEnterKey_HostBindingHandler","SelectComponent_resize_HostBindingHandler","ɵɵHostDirectivesFeature","directive","SelectComponent_Template","SelectComponent_Template_div_onClickOutside_0_listener","SelectComponent_label_1_Template","SelectComponent_esg_select_field_4_Template","SelectComponent_ng_content_5_Template","SelectComponent_esg_select_options_6_Template","SideDialogComponent","fullWidth","contentStyle","SideDialogComponent_Template","SideDialogComponent_Template_div_click_1_listener","ɵɵstyleMap","useDefaultTextStyle","SpinnerComponent_Template","SpinnerComponent_div_13_Template","StatusSelectComponent_esg_select_options_8_Template_esg_select_options_onChange_0_listener","StatusSelectComponent","handleFieldClick","StatusSelectComponent_Template","StatusSelectComponent_Template_div_onClickOutside_0_listener","StatusSelectComponent_Template_div_click_3_listener","StatusSelectComponent_span_4_Template","StatusSelectComponent_esg_select_options_8_Template","SegmentedTabsComponent_ng_container_1_a_1_Template_a_isActiveChange_0_listener","handleOnLinkChange","SegmentedTabsComponent_ng_container_1_a_1_Template_a_click_0_listener","activeColor","activeFontColor","SegmentedTabsComponent_ng_container_1_div_2_Template_div_click_0_listener","SegmentedTabsComponent_ng_container_1_a_1_Template","SegmentedTabsComponent_ng_container_1_div_2_Template","SegmentedTabsComponent","SegmentedTabsComponent_Template","SegmentedTabsComponent_ng_container_1_Template","TabsComponent_ng_container_1_a_1_Template_a_click_0_listener","TabsComponent_ng_container_1_a_1_span_2_Template","TabsComponent_ng_container_1_div_2_Template_div_click_0_listener","TabsComponent_ng_container_1_div_2_span_2_Template","TabsComponent_ng_container_1_a_1_Template","TabsComponent_ng_container_1_div_2_Template","TabsComponent","tabIndent","TabsComponent_Template","TabsComponent_ng_container_1_Template","TagComponent","TagComponent_HostBindings","TagComponent_Template_span_click_2_listener","Quill","TextEditorToolbarComponent_span_1_Template_button_click_1_listener","chatPrompt","handleOnChatBotClick","botDisabled","TextEditorToolbarComponent_esg_select_2_Template_esg_select_click_0_listener","TextEditorToolbarComponent_esg_select_2_Template_esg_select_onChange_0_listener","handleParagraphOnChange","TextEditorToolbarComponent_esg_select_2_Template_esg_select_onToggleCollapse_0_listener","paragraphOptions","paragraphContextCollapsed","paragraphOption","TextEditorToolbarComponent_span_25_Template_esg_toggle_switch_onCheck_1_listener","TextEditorToolbarComponent_span_26_Template_button_click_1_listener","TextEditorToolbarComponent_div_27_Template_div_onClickOutside_0_listener","handleOnPromptCancel","TextEditorToolbarComponent_div_27_Template_textarea_input_1_listener","adjustPromptHeight","TextEditorToolbarComponent_div_27_Template_textarea_keydown_enter_1_listener","TextEditorToolbarComponent_div_27_Template_textarea_keyup_enter_1_listener","handleOnSubmitPrompt","TextEditorToolbarComponent_div_27_Template_esg_paperplane_icon_click_4_listener","icons","import","align","TextEditorToolbarComponent","hasParagraphStyles","hasChatBotOption","hasDeleteOption","onAddLink","onAddDivider","onSetHeader","onBotClick","onBotCancel","onGenerateText","scrollHeight","TextEditorToolbarComponent_Query","TextEditorToolbarComponent_span_1_Template","TextEditorToolbarComponent_esg_select_2_Template","TextEditorToolbarComponent_Template_button_click_15_listener","TextEditorToolbarComponent_Template_button_click_22_listener","TextEditorToolbarComponent_span_25_Template","TextEditorToolbarComponent_span_26_Template","TextEditorToolbarComponent_div_27_Template","paragraphStyleOptions","BlockEmbed","DividerBlot","blotName","register","sanitize","classes","onFocus","onBlur","onFocusOut","formats","setFocus","editorEvent","quillEditor","handleAddLink","getText","href","deleteText","sources","USER","insertText","setSelection","SILENT","forceChange","paragraphValueSync","formatValue","getFormat","handleSetHeader","handleAddDivider","insertEmbed","handleOnChatBotCancel","TextEditorComponent_Query","TextEditorComponent_Template_quill_editor_onEditorCreated_0_listener","TextEditorComponent_Template_quill_editor_focusout_0_listener","TextEditorComponent_Template_quill_editor_onBlur_0_listener","TextEditorComponent_Template_quill_editor_onFocus_0_listener","TextEditorComponent_Template_quill_editor_click_0_listener","TextEditorComponent_Template_quill_editor_keyup_0_listener","TextEditorComponent_Template_div_onAddLink_2_listener","TextEditorComponent_Template_div_onAddDivider_2_listener","TextEditorComponent_Template_div_onDelete_2_listener","TextEditorComponent_Template_div_onSetHeader_2_listener","TextEditorComponent_Template_div_onGenerateText_2_listener","TextEditorComponent_Template_div_onBotClick_2_listener","TextEditorComponent_Template_div_onBotCancel_2_listener","TextEditorComponent_Template_div_onUpdateVisibility_2_listener","typography","TextViewEditorComponent_Template","TextareaComponent_label_1_span_2_Template","showOptionalText","TextareaComponent_textarea_2_Template_textarea_onEscapeKey_0_listener","TextareaComponent_textarea_2_Template_textarea_focusout_0_listener","inputStyle","TextareaComponent","heigth","maxlength","TextareaComponent_Query","TextareaComponent_label_1_Template","TextareaComponent_textarea_2_Template","TextboxComponent","TextboxFormComponent_label_1_span_2_Template","TextboxFormComponent_span_6_Template_esg_icon_clear_click_1_listener","handleClearText","getValue","valueChangesSubscription","setElementValue","resetValue","HTMLInputElement","TextboxFormComponent_Template","TextboxFormComponent_label_1_Template","TextboxFormComponent_span_3_Template","TextboxFormComponent_Template_input_onEscapeKey_4_listener","TextboxFormComponent_Template_input_onEnterKey_4_listener","TextboxFormComponent_Template_input_keyup_4_listener","input_r3","TextboxFormComponent_Template_input_focusout_4_listener","TextboxFormComponent_span_6_Template","TextboxFormComponent_span_7_Template","TextboxFormComponent_span_8_Template","TextboxFormComponent_span_9_Template","showValidation","hasPrefixIcon","showClearText","stringToNumberString","TextboxComponent_label_1_span_2_Template","TextboxComponent_span_6_Template_esg_icon_clear_click_1_listener","maxDec","showPercent","setInputTypeSettings","format_input","TextboxComponent_Query","TextboxComponent_label_1_Template","TextboxComponent_span_3_Template","TextboxComponent_Template_input_onEscapeKey_4_listener","TextboxComponent_Template_input_onEnterKey_4_listener","TextboxComponent_Template_input_keyup_4_listener","TextboxComponent_Template_input_focusout_4_listener","TextboxComponent_span_6_Template","TextboxComponent_span_7_Template","TextboxComponent_span_8_Template","TextboxComponent_span_9_Template","ToggleSwitchComponent","ToggleSwitchComponent_Template","ToggleSwitchComponent_Template_label_click_0_listener","ToggleSwitchComponent_input_1_Template","ToggleSwitchComponent_input_2_Template","TooltipComponent","underline","alwaysVisible","TooltipComponent_Template","TooltipComponent_span_4_Template","MatDatepickerModule","MatNativeDateModule","UploadPictureComponent","NgxDropzoneModule","DragDropModule","UploadFileComponent","CKEditorModule","UploadFileComponent_Template","UploadPictureComponent_ngx_dropzone_label_19_div_1_Template_svg_click_3_listener","file_r4","ctx_r4","UploadPictureComponent_ngx_dropzone_label_19_div_1_Template","uploadedPhotos","generateUploadPhoto","uploaded","accepted","onSelectFile","onClearUploadedPhoto","validImg","firstLineSpan","texts","sanitizeHtml","onSelect","rejectedFiles","addedFiles","_URL","webkitURL","Image","revokeObjectURL","UploadPictureComponent_Template","UploadPictureComponent_Template_ngx_dropzone_change_1_listener","UploadPictureComponent_Template_span_click_14_listener","drop_r2","showFileSelector","UploadPictureComponent_ngx_dropzone_label_19_Template","UploadPictureComponent_ngx_dropzone_label_20_Template","labelA","labelB","checkStringHex","charAt","g","uicolors","pow","L","control","addDaysToDate","daysToAdd","setDate","hrs","getHours","downloadFile","removeChild","rel","setAttribute","getContext","drawImage","dataURL","toDataURL","onerror","random","formatNumber","minIntDigits","parts","formattedParts","part","numberString","dot_index","substr","toHashTable","aggregates","aggregate","root_id","collection","propertyValue","firstInitial","lastInitial","Truck","Forklift","SmallCrafts","Cranes","IndirectEmissionsTransportAndDistribution","IndirectEmissionsLeasedAssets","IndirectEmissionsPurchasedGoodsAndServices","IndirectEmissionsCapitalGoods","IndirectEmissionsFuelAndEnergyRelatedActivities","EmbeddedEmissionsTransportationAndDistribution","EmbeddedEmissionsProcessingOfSoldProducts","EmbeddedEmissionsUseOfSoldProducts","EmbeddedEmissionsEndOfLifeTreatment","EmbeddedEmissionsFranchises","EmbeddedEmissionsInvestments","EmployeesLeavesAndInjuries","AgeGroupLabel","LessThan30","Between30_50","Over50","EmployementTypeLabel","PermanentFullTime","PermanentPartTime","Contract","PositionLevelLabel","PositionLevel1","PositionLevel2","PositionLevel3","PositionLevel4","PositionLevel5","PositionLevel6","GWP100_CH4","GWP100_N2O","today","unshift","IndicatorTypeOptions","TextIndicator","InProgress","ToVerify","ToAudit","Completed","Offshore","Fishery","Office","Factory_ProductionFacility_Workshop","RetailSpace","Warehouse_Storage","Accommodation_Hotel","FoodAndBeverageFacility","AquacultureFarm","AgricultureFarm","EducationalInstitution","TransportationHub","RealEstate","Hydrogen","Closed","Open","Short","Medium","Long","B_FoodWastes","D_CookingOil","E_IncineratorAshes","G_AnimalCarcass","H_FishingGear","I_ElectronicWaste","J_CargoResidues_NonHarmful","Paper","Glass","Metal","Wood","Textile","MedicalWaste","WastePaint","ContaminatedMuds_Paint_Rust","AbsorbentsContaminatedByHazardiousMaterials","Neon_Bulbs","recycledDisabled","compostedDisabled","disposedToSeaDisabled","Recycled","Composted","Incinerated","Landfilled","DisposedToSea","Cod","Saithe","Haddock","PacificCod","Ling","Tusk","Snowcrab","GreenlandHalibut","Redfish","Halibut","Pollack","Whiting","Flounder","Wolffish","Skate","Dab","Hake","Bus","Subway_Tram_Underground","Train","Motorbike","Ferry","Bicycle","ElectricScooter","Foot","TrolleyBus","Passenger","NotElectric","NewHire","Turnover","Woman","Man","Onshore","FullTime","PartTime","Permanent","Temporary","Contractor","EntitledTo","ParentLeave","VerySeriousMarineCasualty","MarineCasualty","SeriousCasualtyWithVessel","OtherVesselAccidents","PollutionOrRiskOfPollution","OccupationalAccident","KpisOptions","Deactivated","Terminated","yearShift","daysDifference","daysToShift","shiftedStartDate","shiftedEndDate","n","quarterStartMonths","quarterEndMonths","quarterEndDays","environment","production","enableProdMode","getBaseUrl","getElementsByTagName","providers","__NgCli_bootstrap_1","platformBrowser","bootstrapModule"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}