主要功能: - 修改RequirementModal支持12个订单班选择 - 添加OrderClassIconMap图标映射组件 - Store中添加selectedOrderClass状态管理 - WorkflowPage支持传递orderClass参数 - web_result添加URL参数切换功能 - 创建order-class-handler.js动态处理页面主题 技术改进: - 创建软链接关联订单班数据目录 - 生成wenlu.json和food.json数据结构 - 删除重复的web_result目录 - 添加测试页面test-order-class.html 影响范围: - 展会策划系统现支持12个订单班 - 结果展示页面自动适配不同订单班主题 - 用户可选择不同行业生成对应方案 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
85 lines
1.8 KiB
JavaScript
85 lines
1.8 KiB
JavaScript
/**
|
|
* @import {State} from 'mdast-util-to-markdown'
|
|
* @import {FlowChildren, FlowParents, TrackFields} from '../types.js'
|
|
*/
|
|
|
|
/**
|
|
* @param {FlowParents} parent
|
|
* Parent of flow nodes.
|
|
* @param {State} state
|
|
* Info passed around about the current state.
|
|
* @param {TrackFields} info
|
|
* Info on where we are in the document we are generating.
|
|
* @returns {string}
|
|
* Serialized children, joined by (blank) lines.
|
|
*/
|
|
export function containerFlow(parent, state, info) {
|
|
const indexStack = state.indexStack
|
|
const children = parent.children || []
|
|
const tracker = state.createTracker(info)
|
|
/** @type {Array<string>} */
|
|
const results = []
|
|
let index = -1
|
|
|
|
indexStack.push(-1)
|
|
|
|
while (++index < children.length) {
|
|
const child = children[index]
|
|
|
|
indexStack[indexStack.length - 1] = index
|
|
|
|
results.push(
|
|
tracker.move(
|
|
state.handle(child, parent, state, {
|
|
before: '\n',
|
|
after: '\n',
|
|
...tracker.current()
|
|
})
|
|
)
|
|
)
|
|
|
|
if (child.type !== 'list') {
|
|
state.bulletLastUsed = undefined
|
|
}
|
|
|
|
if (index < children.length - 1) {
|
|
results.push(
|
|
tracker.move(between(child, children[index + 1], parent, state))
|
|
)
|
|
}
|
|
}
|
|
|
|
indexStack.pop()
|
|
|
|
return results.join('')
|
|
}
|
|
|
|
/**
|
|
* @param {FlowChildren} left
|
|
* @param {FlowChildren} right
|
|
* @param {FlowParents} parent
|
|
* @param {State} state
|
|
* @returns {string}
|
|
*/
|
|
function between(left, right, parent, state) {
|
|
let index = state.join.length
|
|
|
|
while (index--) {
|
|
const result = state.join[index](left, right, parent, state)
|
|
|
|
if (result === true || result === 1) {
|
|
break
|
|
}
|
|
|
|
if (typeof result === 'number') {
|
|
return '\n'.repeat(1 + result)
|
|
}
|
|
|
|
if (result === false) {
|
|
return '\n\n<!---->\n\n'
|
|
}
|
|
}
|
|
|
|
return '\n\n'
|
|
}
|