| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- function parseLegacyChecklistValue(value) {
- return value.split(',').map((segment) => segment.trim()).filter((segment) => segment !== '')
- }
- export function parseChecklistValue(value) {
- if (!value || value === '') {
- return []
- }
- const trimmed = value.trim()
- if (trimmed.startsWith('[')) {
- try {
- const parsed = JSON.parse(trimmed)
- if (!Array.isArray(parsed)) {
- return []
- }
- return parsed.map((segment) => String(segment).trim()).filter((segment) => segment !== '')
- } catch {
- return []
- }
- }
- return parseLegacyChecklistValue(value)
- }
- export function formatChecklistValue(selected) {
- if (!Array.isArray(selected) || selected.length === 0) {
- return ''
- }
- return JSON.stringify(selected)
- }
- export function toggleChoice(selected, value) {
- const current = Array.isArray(selected) ? [...selected] : []
- const index = current.indexOf(value)
- if (index === -1) {
- current.push(value)
- return current
- }
- current.splice(index, 1)
- return current
- }
- export function choiceLabel(choice) {
- return choice.title || choice.value || ''
- }
- export function allChoiceValues(choices) {
- return choices.map((choice) => choice.value)
- }
|