Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/ilovecveti.ru/bitrix/js/vote/store/vote/src/format/ |
Upload File : |
import { Type } from 'main.core'; import { convertToNumber, isNumberOrString } from 'im.v2.model'; import type { FieldsConfig } from 'im.v2.model'; export const voteFieldsConfig: FieldsConfig = [ { fieldName: 'voteId', targetFieldName: 'id', checkFunction: Type.isNumber, }, { fieldName: 'questions', targetFieldName: 'questions', checkFunction: Type.isObject, formatFunction: (target) => { return Object.keys(target).map((id) => convertToNumber(id)); }, }, { fieldName: 'anonymity', targetFieldName: 'isAnonymous', checkFunction: Type.isNumber, formatFunction: (target) => { return target === 2; }, }, { fieldName: 'canEdit', targetFieldName: 'canEdit', checkFunction: Type.isBoolean, }, { fieldName: 'isVoted', targetFieldName: 'isVoted', checkFunction: Type.isBoolean, }, { fieldName: 'canVote', targetFieldName: 'canVote', checkFunction: Type.isBoolean, }, { fieldName: 'canRevote', targetFieldName: 'canRevoke', checkFunction: Type.isBoolean, }, { fieldName: 'isFinished', targetFieldName: 'isCompleted', checkFunction: Type.isBoolean, }, { fieldName: 'resultUrl', targetFieldName: 'resultUrl', checkFunction: Type.isString, }, ]; export const questionFieldsConfig: FieldsConfig = [ { fieldName: 'id', targetFieldName: 'id', checkFunction: Type.isString, formatFunction: convertToNumber, }, { fieldName: 'answers', targetFieldName: 'answers', checkFunction: Type.isObject, formatFunction: (target) => { return Object.keys(target).map((id) => convertToNumber(id)); }, }, { fieldName: 'question', targetFieldName: 'text', checkFunction: Type.isString, }, { fieldName: 'fieldType', targetFieldName: 'isMultiple', checkFunction: Type.isString, formatFunction: (target) => target === '1', }, { fieldName: 'counter', targetFieldName: 'totalCounter', checkFunction: isNumberOrString, formatFunction: convertToNumber, }, ]; export const answerFieldsConfig: FieldsConfig = [ { fieldName: 'id', targetFieldName: 'id', checkFunction: Type.isString, formatFunction: convertToNumber, }, { fieldName: 'message', targetFieldName: 'text', checkFunction: Type.isString, }, { fieldName: 'counter', targetFieldName: 'counter', checkFunction: isNumberOrString, formatFunction: convertToNumber, }, { fieldName: 'percent', targetFieldName: 'percent', checkFunction: Type.isNumber, }, ];