{"version":3,"file":"action.cjs","sources":["../../../../packages/components-wc/src/subject/action.ts"],"sourcesContent":["import { css, html, LitElement } from 'lit'\nimport { property, state } from 'lit/decorators.js'\nimport { safeCustomElement } from '../base/define'\nimport { subjectControlResetStyles } from './shared-styles'\n\nconst answerTextList = [\n  { value: 2, label: '必须全部都是支持选项，方可下一步' },\n  { value: 1, label: '无需判断是否是支持选项' },\n  { value: 3, label: '包含全部支持选项，即可下一步' },\n]\n\nconst addSubjectOptions = [\n  { type: 'single', label: '单选题' },\n  { type: 'multiple', label: '多选题' },\n  { type: 'blank_fill', label: '填空题' },\n  { type: 'text_fill', label: '问答题' },\n  { type: 'scale', label: '量表题' },\n  { type: 'sort', label: '排序题' },\n  { type: 'page_end', label: '分页符' },\n]\n\n@safeCustomElement('qxs-subject-action')\nexport class QxsSubjectAction extends LitElement {\n  static styles = [subjectControlResetStyles, css`\n    :host { display: block; font-family: inherit; font-size: 12px; }\n\n    .action { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; flex-wrap: wrap; gap: 8px; }\n    .action.active { background: transparent; }\n    .left { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }\n    .right { display: flex; align-items: center; gap: 4px; }\n\n    .action-icon {\n      display: inline-flex; align-items: center; justify-content: center;\n      width: 32px; height: 32px; font-size: 18px; color: #303133;\n      cursor: pointer; border-radius: 6px; border: 1px solid #dcdfe6;\n      background: #fff; transition: all 0.2s;\n    }\n    .action-icon:hover { color: #3D61E3; border-color: #3D61E3; background: #ecf5ff; }\n    .action-icon--danger:hover { color: #f56c6c; border-color: #f56c6c; background: #fef0f0; }\n    .action-icon:disabled { color: #c0c4cc; cursor: not-allowed; opacity: 0.6; }\n\n    .text-btn {\n      display: inline-flex; align-items: center; gap: 4px;\n      padding: 6px 12px; font-size: 12px; border-radius: 3px;\n      cursor: pointer; border: 1px solid; transition: all 0.2s;\n    }\n    .text-btn--primary { background: #3D61E3; border-color: #3D61E3; color: #fff; }\n    .text-btn--primary:hover { background: #2D4CB8; border-color: #2D4CB8; }\n    .text-btn--default { background: #fff; border-color: #dcdfe6; color: #606266; }\n    .text-btn--default:hover { color: #3D61E3; border-color: #a0cfff; }\n    .text-btn--danger { background: #f56c6c; border-color: #f56c6c; color: #fff; }\n    .text-btn--danger:hover { background: #e05252; border-color: #e05252; }\n\n    .link-btn { background: none; border: none; color: #3D61E3; cursor: pointer; font-size: 12px; }\n    .link-btn:hover { color: #2D4CB8; }\n\n    .checkbox-label { display: inline-flex; align-items: center; gap: 4px; cursor: pointer; color: #606266; user-select: none; font-size: 12px; }\n    .checkbox-label.disabled { cursor: not-allowed; opacity: 0.6; }\n    .has-set { display: flex; align-items: center; font-size: 12px; color: #bbb; }\n    .answer-text { font-size: 11px; color: #909399; max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n\n    .btn-margin { margin-right: 10px; }\n\n    .modal-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 2000; display: flex; align-items: center; justify-content: center; }\n    .modal { background: #fff; border-radius: 4px; min-width: 360px; max-width: 460px; box-shadow: 0 12px 32px rgba(0,0,0,.1); }\n    .modal-header { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px 12px; border-bottom: 1px solid #e4e7ed; }\n    .modal-title { font-size: 14px; font-weight: 600; color: #303133; }\n    .modal-close { background: none; border: none; font-size: 16px; cursor: pointer; color: #909399; padding: 0; line-height: 1; }\n    .modal-close:hover { color: #3D61E3; }\n    .modal-body { padding: 20px; }\n    .modal-footer { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 20px; border-top: 1px solid #e4e7ed; }\n    .modal-footer button { padding: 6px 16px; font-size: 12px; border-radius: 3px; cursor: pointer; border: 1px solid #dcdfe6; background: #fff; color: #606266; }\n    .modal-footer button:hover { color: #3D61E3; border-color: #a0cfff; }\n    .modal-footer button.primary { background: #3D61E3; border-color: #3D61E3; color: #fff; }\n    .modal-footer button.primary:hover { background: #2D4CB8; border-color: #2D4CB8; }\n\n    .radio-item { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; cursor: pointer; font-size: 13px; color: #606266; }\n    .radio-item:last-child { margin-bottom: 0; }\n\n    .inline-actions { display: inline-flex; align-items: center; gap: 12px; flex-wrap: wrap; }\n    .add-menu-wrap { position: relative; display: inline-flex; }\n    .add-menu {\n      position: absolute; top: calc(100% + 6px); left: 0; z-index: 50;\n      display: grid; grid-template-columns: repeat(2, minmax(84px, 1fr)); gap: 8px;\n      min-width: 196px; padding: 10px; background: #fff; border: 1px solid #e4e7ed;\n      border-radius: 6px; box-shadow: 0 8px 20px rgba(0,0,0,.12);\n    }\n    .add-item {\n      display: inline-flex; align-items: center; justify-content: center;\n      min-height: 30px; padding: 0 10px; border: 1px solid #dcdfe6; border-radius: 4px;\n      background: #fff; color: #606266; font-size: 12px; cursor: pointer; transition: all .2s;\n    }\n    .add-item:hover { color: #3D61E3; border-color: #3D61E3; background: #ecf5ff; }\n  `]\n\n  @property({ type: Boolean, attribute: 'is-edit' }) 'is-edit' = false\n  @property({ type: Boolean, attribute: 'is-set' }) 'is-set' = false\n  @property({ type: Boolean, attribute: 'is-key' }) 'is-key' = false\n  @property({ type: Number, attribute: 'answer-check-type' }) 'answer-check-type' = 1\n  @property({ type: Boolean, attribute: 'show-other-option' }) 'show-other-option' = false\n  @property({ type: Boolean, attribute: 'show-answer-setting' }) 'show-answer-setting' = false\n  @property({ type: Boolean, attribute: 'show-key' }) 'show-key' = false\n  @property({ type: Boolean, attribute: 'show-rich-text' }) 'show-rich-text' = false\n  @property({ type: Boolean, attribute: 'hide-add-rich-text' }) 'hide-add-rich-text' = false\n  @property({ type: Boolean, attribute: 'show-delete-action' }) 'show-delete-action' = true\n  @property({ type: Boolean, attribute: 'show-save-action' }) 'show-save-action' = true\n  @property({ type: Boolean, attribute: 'page-end' }) 'page-end' = false\n  @property({ type: Boolean, attribute: 'show-move' }) 'show-move' = false\n  @property({ type: Boolean, attribute: 'show-add' }) 'show-add' = true\n  @property({ type: Boolean, attribute: 'show-jump' }) 'show-jump' = false\n  @property({ type: Number, attribute: 'exam-answer-relation-type' }) 'exam-answer-relation-type' = 0\n\n  @state() private _modalOpen = false\n  @state() private _currentCheckType = 1\n  @state() private _addMenuOpen = false\n\n  connectedCallback() {\n    super.connectedCallback()\n    document.addEventListener('click', this._handleDocumentClick)\n  }\n\n  disconnectedCallback() {\n    super.disconnectedCallback()\n    document.removeEventListener('click', this._handleDocumentClick)\n  }\n\n  updated(changed: Map<string, unknown>) {\n    if (changed.has('answer-check-type')) {\n      this._currentCheckType = this['answer-check-type']\n    }\n  }\n\n  private _handleDocumentClick = (e: MouseEvent) => {\n    const path = e.composedPath()\n    const wrap = this.shadowRoot?.querySelector('.add-menu-wrap')\n    if (wrap && !path.includes(wrap)) {\n      this._addMenuOpen = false\n    }\n  }\n\n  private _emit(name: string, detail?: unknown) {\n    this.dispatchEvent(new CustomEvent(name, { bubbles: true, composed: true, detail: detail ?? null }))\n  }\n\n  private get _answerText() {\n    return answerTextList.find(i => i.value === this['answer-check-type'])?.label ?? ''\n  }\n\n  private get _showAnswerSetting() {\n    return this['show-other-option'] || this['show-answer-setting']\n  }\n\n  private get _showKey() {\n    return this['show-other-option'] || this['show-key']\n  }\n\n  private _renderEditMode() {\n    return html`\n      <div class=\"left\">\n        <span class=\"inline-actions\">\n          ${this['show-add']\n            ? html`\n            <span class=\"add-menu-wrap\">\n              <span class=\"link-btn\" @click=${() => { this._addMenuOpen = !this._addMenuOpen }}>在此题后加入新题</span>\n              ${this._renderAddMenu()}\n            </span>\n          `\n            : ''}\n          ${!this['hide-add-rich-text']\n            ? html`\n            <span class=\"link-btn\" @click=${() => this._emit('on-show-rich-text')}>\n              ${this['show-rich-text'] ? '删除题目描述（图文）' : '+添加题目描述（图文）'}\n            </span>\n          `\n            : ''}\n          ${this['show-jump']\n            ? html`\n            <span class=\"link-btn\" @click=${() => this._emit('jump')}>${this['is-set'] ? '编辑跳题逻辑' : '设置跳题逻辑'}</span>\n          `\n            : ''}\n          ${this._showAnswerSetting\n            ? html`\n            <span class=\"link-btn\" @click=${() => { this._modalOpen = true }}>答题设置</span>\n          `\n            : ''}\n          ${this._showKey\n            ? html`\n            <label class=\"checkbox-label\">\n              <input type=\"checkbox\" .checked=${this['is-key']} @change=${(e: Event) => this._emit('set-key', { value: (e.target as HTMLInputElement).checked })} />\n              核心题\n            </label>\n          `\n            : ''}\n        </span>\n      </div>\n      <div class=\"right\">\n        ${this['show-delete-action']\n          ? html`<button class=\"text-btn text-btn--danger btn-margin\" @click=${() => this._emit('delete')}>删除</button>`\n          : ''}\n        ${this['show-save-action']\n          ? html`<button class=\"text-btn text-btn--primary\" @click=${() => this._emit('save')}>完成编辑</button>`\n          : ''}\n      </div>\n    `\n  }\n\n  private _renderViewMode() {\n    return html`\n      <div class=\"left\">\n        <span class=\"inline-actions\">\n          ${this._showKey\n            ? html`\n            <label class=\"checkbox-label disabled\">\n              <input type=\"checkbox\" disabled .checked=${this['is-key']} /> 核心题\n            </label>\n          `\n            : ''}\n          ${this._showAnswerSetting\n            ? html`\n            <span class=\"answer-text\">${this._answerText}</span>\n          `\n            : ''}\n          ${this['show-add']\n            ? html`\n            <span class=\"add-menu-wrap\">\n              <span class=\"link-btn\" @click=${() => { this._addMenuOpen = !this._addMenuOpen }}>在此题后加入新题</span>\n              ${this._renderAddMenu()}\n            </span>\n          `\n            : ''}\n          ${this['show-jump']\n            ? html`\n            <span class=\"link-btn\" @click=${() => this._emit('jump')}>${this['is-set'] ? '编辑跳题逻辑' : '设置跳题逻辑'}</span>\n          `\n            : ''}\n        </span>\n      </div>\n      <div class=\"right\">\n        ${!this['is-set'] && this['show-move']\n          ? html`\n          <button class=\"text-btn text-btn--default\" @click=${() => this._emit('move', 'up')}>上移</button>\n          <button class=\"text-btn text-btn--default btn-margin\" @click=${() => this._emit('move', 'down')}>下移</button>\n        `\n          : ''}\n        ${!this['is-set'] && this['show-delete-action']\n          ? html`<button class=\"text-btn text-btn--danger btn-margin\" @click=${() => this._emit('delete')}>删除</button>`\n          : ''}\n        ${!this['page-end'] && !this['is-set']\n          ? html`\n          <button class=\"text-btn text-btn--default\" @click=${() => this._emit('edit')}>编辑</button>\n        `\n          : ''}\n      </div>\n    `\n  }\n\n  private _renderModal() {\n    if (!this._modalOpen) { return '' }\n    return html`\n      <div class=\"modal-backdrop\" @click=${() => { this._modalOpen = false }}>\n        <div class=\"modal\" @click=${(e: Event) => e.stopPropagation()}>\n          <div class=\"modal-header\">\n            <span class=\"modal-title\">答题设置</span>\n            <button class=\"modal-close\" @click=${() => { this._modalOpen = false }}>&#x2715;</button>\n          </div>\n          <div class=\"modal-body\">\n            ${answerTextList.map(item => html`\n              <label class=\"radio-item\">\n                <input type=\"radio\" name=\"answer-check-type\" .value=${String(item.value)}\n                  .checked=${this._currentCheckType === item.value}\n                  @change=${() => { this._currentCheckType = item.value }} />\n                ${item.label}\n              </label>\n            `)}\n          </div>\n          <div class=\"modal-footer\">\n            <button @click=${() => { this._modalOpen = false }}>取消</button>\n            <button class=\"primary\" @click=${() => {\n              this._emit('set-answer-setting', { value: this._currentCheckType })\n              this._modalOpen = false\n            }}>保存</button>\n          </div>\n        </div>\n      </div>\n    `\n  }\n\n  private _renderAddMenu() {\n    if (!this._addMenuOpen) { return '' }\n    return html`\n      <div class=\"add-menu\">\n        ${addSubjectOptions.map(item => html`\n          <button class=\"add-item\" @click=${() => {\n            this._addMenuOpen = false\n            this._emit('add', item.type)\n          }}>${item.label}</button>\n        `)}\n      </div>\n    `\n  }\n\n  render() {\n    return html`\n      <div class=\"action ${this['is-edit'] ? 'active' : ''}\">\n        ${this['is-edit'] ? this._renderEditMode() : this._renderViewMode()}\n        ${this['is-set'] ? html`<div class=\"has-set\">*此题设置了跳题逻辑</div>` : ''}\n      </div>\n      ${this._renderModal()}\n    `\n  }\n}\n\nexport function register() {}\n"],"names":["answerTextList","value","label","addSubjectOptions","type","QxsSubjectAction","LitElement","constructor","super","arguments","this","_modalOpen","_currentCheckType","_addMenuOpen","_handleDocumentClick","e","path","composedPath","wrap","shadowRoot","querySelector","includes","connectedCallback","document","addEventListener","disconnectedCallback","removeEventListener","updated","changed","has","_emit","name","detail","dispatchEvent","CustomEvent","bubbles","composed","_answerText","find","i","_showAnswerSetting","_showKey","_renderEditMode","html","_renderAddMenu","target","checked","_renderViewMode","_renderModal","stopPropagation","map","item","String","render","styles","subjectControlResetStyles","css","__decorateClass","property","Boolean","attribute","prototype","Number","state","safeCustomElement"],"mappings":"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"}