Skip to content

Commit

Permalink
work for the #6058
Browse files Browse the repository at this point in the history
  • Loading branch information
dmitry-kurmanov committed May 16, 2023
1 parent 993981d commit a66cf31
Show file tree
Hide file tree
Showing 17 changed files with 93 additions and 75 deletions.
3 changes: 2 additions & 1 deletion src/entries/chunks/model.ts
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,8 @@ export {
export { QuestionMatrixBaseModel } from "../../martixBase";
export {
MultipleTextItemModel,
QuestionMultipleTextModel
QuestionMultipleTextModel,
MultipleTextEditorModel
} from "../../question_multipletext";
export { PanelModel, PanelModelBase, QuestionRowModel } from "../../panel";
export { FlowPanelModel } from "../../flowpanel";
Expand Down
21 changes: 19 additions & 2 deletions src/knockout/koquestion_multipletext.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,34 @@ import * as ko from "knockout";
import { QuestionMultipleTextModel, MultipleTextItemModel } from "survey-core";
import { QuestionTextModel } from "survey-core";
import { QuestionImplementor } from "./koquestion";
import { QuestionText } from "./koquestion_text";
import { QuestionText, QuestionTextImplementor } from "./koquestion_text";
import { Question } from "survey-core";
import { Serializer } from "survey-core";
import { QuestionFactory } from "survey-core";
import { MultipleTextEditorModel } from "survey-core";

export class koMultipleTextEditorModel extends MultipleTextEditorModel {
private _implementor: QuestionTextImplementor;
constructor(name: string) {
super(name);
}
protected onBaseCreating() {
super.onBaseCreating();
this._implementor = new QuestionTextImplementor(this);
}
public dispose() {
this._implementor.dispose();
this._implementor = undefined;
super.dispose();
}
}

export class MultipleTextItem extends MultipleTextItemModel {
constructor(name: any = null, title: string = null) {
super(name, title);
}
protected createEditor(name: string): QuestionTextModel {
return new QuestionText(name);
return new koMultipleTextEditorModel(name);
}
}

Expand Down
2 changes: 1 addition & 1 deletion src/question_multipletext.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ export interface IMultipleTextData extends ILocalizableOwner, IPanel {
getIsRequiredText(): string;
}

class MultipleTextEditorModel extends QuestionTextModel {
export class MultipleTextEditorModel extends QuestionTextModel {
public get a11y_input_ariaLabel(): string {
return this.locTitle.renderedHtml;
}
Expand Down
2 changes: 1 addition & 1 deletion src/react/reactquestion_text.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ export class SurveyQuestionText extends SurveyQuestionUncontrolledElement<
onCompositionUpdate={(event) => this.question.onCompositionUpdate(event.nativeEvent)}
aria-required={this.question.a11y_input_ariaRequired}
aria-label={this.question.a11y_input_ariaLabel}
aria-labelledby={this.question.a11y_input_ariaLabelledby}
aria-labelledby={this.question.a11y_input_ariaLabelledBy}
aria-invalid={this.question.a11y_input_ariaInvalid}
aria-describedby={this.question.a11y_input_ariaDescribedBy}
/>
Expand Down
2 changes: 1 addition & 1 deletion src/vue/text-input.vue
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
@focus="question.onFocus"
:aria-required="question.a11y_input_ariaRequired"
:aria-label="question.a11y_input_ariaLabel"
:aria-labelledby="question.a11y_input_ariaLabelledby"
:aria-labelledby="question.a11y_input_ariaLabelledBy"
:aria-invalid="question.a11y_input_ariaInvalid"
:aria-describedby="question.a11y_input_ariaDescribedBy"
/>
Expand Down
24 changes: 12 additions & 12 deletions tests/markup/snapshots/page-swnl-title-v2.snap.html
Original file line number Diff line number Diff line change
@@ -1,36 +1,36 @@
<div style="flex: 1 1 50%; max-width: 100%; min-width: 300px;">
<div aria-invalid="false" aria-labelledby="testid0_ariaTitle" aria-required="false" class="sd-element sd-element--nested sd-question sd-row__question sd-row__question--small" data-name="question0" id="testid0" role="textbox">
<div style="flex:1 1 50%; max-width:100%; min-width:300px;">
<div class="sd-element sd-element--nested sd-question sd-row__question sd-row__question--small" data-name="question0" id="testid0">
<div class="sd-element__header sd-element__header--location-top sd-question__header sd-question__header--location-top">
<h5 aria-label="Question title" class="sd-element__title sd-question__title sd-title" id="testid0_ariaTitle">
<span aria-hidden="true" class="sd-element__num" style="position: static;">1.</span>
<h5 class="sd-element__title sd-question__title sd-title" id="testid0_ariaTitle">
<span aria-hidden="true" class="sd-element__num" style="position:static;">1.</span>
<span>&nbsp;</span>
<span class="sv-string-viewer">Question title</span>
</h5>
<div class="sd-description sd-question__description" style="display: none;">
<div class="sd-description sd-question__description" style="display:none;">
<span class="sv-string-viewer">
</span>
</div>
</div>
<div class="sd-question__content sd-text__content" role="presentation">
<input aria-invalid="false" aria-label="Question title" aria-required="false" class="sd-input sd-text" id="testid0i" placeholder="" type="text">
<input aria-invalid="false" aria-labelledby="testid0_ariaTitle" aria-required="false" class="sd-input sd-text" id="testid0i" placeholder="" type="text">
</div>
</div>
</div>
<div style="flex: 1 1 50%; max-width: 100%; min-width: 300px;">
<div aria-invalid="false" aria-labelledby="testid1_ariaTitle" aria-required="false" class="sd-element sd-element--nested sd-question sd-row__question sd-row__question--small" data-name="question1" id="testid1" role="textbox">
<div style="flex:1 1 50%; max-width:100%; min-width:300px;">
<div class="sd-element sd-element--nested sd-question sd-row__question sd-row__question--small" data-name="question1" id="testid1">
<div class="sd-element__header sd-element__header--location-top sd-question__header sd-question__header--location-top">
<h5 aria-label="Question title" class="sd-element__title sd-question__title sd-title" id="testid1_ariaTitle">
<span aria-hidden="true" class="sd-element__num" style="position: static;">2.</span>
<h5 class="sd-element__title sd-question__title sd-title" id="testid1_ariaTitle">
<span aria-hidden="true" class="sd-element__num" style="position:static;">2.</span>
<span>&nbsp;</span>
<span class="sv-string-viewer">Question title</span>
</h5>
<div class="sd-description sd-question__description" style="display: none;">
<div class="sd-description sd-question__description" style="display:none;">
<span class="sv-string-viewer">
</span>
</div>
</div>
<div class="sd-question__content sd-text__content" role="presentation">
<input aria-invalid="false" aria-label="Question title" aria-required="false" class="sd-input sd-text" id="testid1i" placeholder="" type="text">
<input aria-invalid="false" aria-labelledby="testid1_ariaTitle" aria-required="false" class="sd-input sd-text" id="testid1i" placeholder="" type="text">
</div>
</div>
</div>
12 changes: 6 additions & 6 deletions tests/markup/snapshots/page-title-v2.snap.html
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
<div style="flex: 1 1 100%; max-width: 100%; min-width: 300px;">
<div aria-invalid="false" aria-labelledby="testid0_ariaTitle" aria-required="false" class="sd-element sd-element--with-frame sd-question sd-row__question sd-row__question--small" data-name="question0" id="testid0" role="textbox">
<div style="flex:1 1 100%; max-width:100%; min-width:300px;">
<div class="sd-element sd-element--with-frame sd-question sd-row__question sd-row__question--small" data-name="question0" id="testid0">
<div class="sd-element__header sd-element__header--location-top sd-question__header sd-question__header--location-top">
<h5 aria-label="Question title" class="sd-element__title sd-question__title sd-title" id="testid0_ariaTitle">
<span aria-hidden="true" class="sd-element__num" style="position: static;">1.</span>
<h5 class="sd-element__title sd-question__title sd-title" id="testid0_ariaTitle">
<span aria-hidden="true" class="sd-element__num" style="position:static;">1.</span>
<span>&nbsp;</span>
<span class="sv-string-viewer">Question title</span>
</h5>
<div class="sd-description sd-question__description" style="display: none;">
<div class="sd-description sd-question__description" style="display:none;">
<span class="sv-string-viewer">
</span>
</div>
</div>
<div class="sd-question__content sd-text__content" role="presentation">
<input aria-invalid="false" aria-label="Question title" aria-required="false" class="sd-input sd-text" id="testid0i" placeholder="" type="text">
<input aria-invalid="false" aria-labelledby="testid0_ariaTitle" aria-required="false" class="sd-input sd-text" id="testid0i" placeholder="" type="text">
</div>
</div>
</div>
24 changes: 12 additions & 12 deletions tests/markup/snapshots/panel-page-swnl-title-v2.snap.html
Original file line number Diff line number Diff line change
@@ -1,38 +1,38 @@
<div style="flex: 1 1 50%; max-width: 100%; min-width: 300px;">
<div aria-invalid="false" aria-labelledby="testid0_ariaTitle" aria-required="false" class="sd-element sd-element--nested sd-question sd-row__question sd-row__question--small" data-name="question0" id="testid0" role="textbox">
<div style="flex:1 1 50%; max-width:100%; min-width:300px;">
<div class="sd-element sd-element--nested sd-question sd-row__question sd-row__question--small" data-name="question0" id="testid0">
<div class="sd-element__header sd-element__header--location-top sd-question__header sd-question__header--location-top">
<h5 aria-label="Question title" class="sd-element__title sd-question__title sd-title" id="testid0_ariaTitle">
<span aria-hidden="true" class="sd-element__num" style="position: static;">1.</span>
<h5 class="sd-element__title sd-question__title sd-title" id="testid0_ariaTitle">
<span aria-hidden="true" class="sd-element__num" style="position:static;">1.</span>
<span>&nbsp;</span>
<span class="sv-string-viewer">Question title</span>
</h5>
<div class="sd-description sd-question__description" style="display: none;">
<div class="sd-description sd-question__description" style="display:none;">
<span class="sv-string-viewer">
</span>
</div>
</div>
<div class="sd-question__content sd-text__content" role="presentation">
<input aria-invalid="false" aria-label="Question title" aria-required="false" class="sd-input sd-text" id="testid0i" placeholder="" type="text">
<input aria-invalid="false" aria-labelledby="testid0_ariaTitle" aria-required="false" class="sd-input sd-text" id="testid0i" placeholder="" type="text">
</div>
</div>
</div>
<div style="flex: 1 1 50%; max-width: 100%; min-width: auto;">
<div style="flex:1 1 50%; max-width:100%; min-width:auto;">
<div class="sd-element sd-element--complex sd-element--nested sd-panel sd-row__panel" id="testidp0">
<div class="sd-panel__content" id="testidp0_content">
<div class="sd-clearfix sd-row">
<div style="flex: 1 1 100%; max-width: 100%; min-width: 300px;">
<div aria-invalid="false" aria-labelledby="testid1_ariaTitle" aria-required="false" class="sd-element sd-element--nested sd-question sd-row__question sd-row__question--small" data-name="question1" id="testid1" role="textbox">
<div style="flex:1 1 100%; max-width:100%; min-width:300px;">
<div class="sd-element sd-element--nested sd-question sd-row__question sd-row__question--small" data-name="question1" id="testid1">
<div class="sd-element__header sd-element__header--location-top sd-question__header sd-question__header--location-top">
<h5 aria-label="Question title" class="sd-element__title sd-question__title sd-title" id="testid1_ariaTitle">
<h5 class="sd-element__title sd-question__title sd-title" id="testid1_ariaTitle">
<span class="sv-string-viewer">Question title</span>
</h5>
<div class="sd-description sd-question__description" style="display: none;">
<div class="sd-description sd-question__description" style="display:none;">
<span class="sv-string-viewer">
</span>
</div>
</div>
<div class="sd-question__content sd-text__content" role="presentation">
<input aria-invalid="false" aria-label="Question title" aria-required="false" class="sd-input sd-text" id="testid1i" placeholder="" type="text">
<input aria-invalid="false" aria-labelledby="testid1_ariaTitle" aria-required="false" class="sd-input sd-text" id="testid1i" placeholder="" type="text">
</div>
</div>
</div>
Expand Down
10 changes: 5 additions & 5 deletions tests/markup/snapshots/panel-question-headers.snap.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<div style="flex: 1 1 100%; max-width: 100%; min-width: auto;">
<div style="flex:1 1 100%; max-width:100%; min-width:auto;">
<div class="sd-element sd-element--complex sd-element--with-frame sd-panel sd-row__panel" id="testidp0">
<div class="sd-element__header sd-element__header--location-top sd-panel__header">
<h4 aria-label="panel_title" class="sd-element__title sd-panel__title sd-title">
Expand All @@ -10,18 +10,18 @@ <h4 aria-label="panel_title" class="sd-element__title sd-panel__title sd-title">
</div>
<div class="sd-panel__content" id="testidp0_content">
<div class="sd-clearfix sd-row">
<div style="flex: 1 1 100%; max-width: 100%; min-width: 300px;">
<div aria-invalid="false" aria-labelledby="testid0_ariaTitle" aria-required="false" class="sd-element sd-element--nested sd-question sd-row__question sd-row__question--small" data-name="question1" id="testid0" role="textbox">
<div style="flex:1 1 100%; max-width:100%; min-width:300px;">
<div class="sd-element sd-element--nested sd-question sd-row__question sd-row__question--small" data-name="question1" id="testid0">
<div class="sd-element__header sd-element__header--location-top sd-question__header sd-question__header--location-top">
<h5 aria-label="Question title" class="sd-element__title sd-question__title sd-title" id="testid0_ariaTitle">
<h5 class="sd-element__title sd-question__title sd-title" id="testid0_ariaTitle">
<span class="sv-string-viewer">Question title</span>
</h5>
<div class="sd-description sd-question__description">
<span class="sv-string-viewer">Question description</span>
</div>
</div>
<div class="sd-question__content sd-text__content" role="presentation">
<input aria-invalid="false" aria-label="Question title" aria-required="false" class="sd-input sd-text" id="testid0i" placeholder="" type="text">
<input aria-invalid="false" aria-labelledby="testid0_ariaTitle" aria-required="false" class="sd-input sd-text" id="testid0i" placeholder="" type="text">
</div>
</div>
</div>
Expand Down
4 changes: 2 additions & 2 deletions tests/markup/snapshots/panel-text.snap.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<div class="sv_row">
<div style="flex: 1 1 100%; max-width: 100%; min-width: 300px;">
<div aria-invalid="false" aria-required="false" class="sv_q sv_qstn" data-name="question1" id="testid0" role="textbox">
<div style="flex:1 1 100%; max-width:100%; min-width:300px;">
<div class="sv_q sv_qstn" data-name="question1" id="testid0">
<div role="presentation">
<input aria-invalid="false" aria-label="question1" aria-required="false" class="sv_q_text_root" id="testid0i" placeholder="" type="text">
</div>
Expand Down
8 changes: 4 additions & 4 deletions tests/markup/snapshots/paneldynamic-no-footer-1.snap.html
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
<div style="flex: 1 1 100%; max-width: 100%; min-width: auto;">
<div style="flex:1 1 100%; max-width:100%; min-width:auto;">
<div aria-invalid="false" aria-required="false" class="sd-element sd-element--complex sd-element--with-frame sd-question sd-question--complex sd-question--paneldynamic sd-row__question" data-name="question1" role="textbox">
<div class="sd-question__content" role="presentation">
<div class="sd-paneldynamic">
<div class="sd-paneldynamic__panel-wrapper">
<div class="sd-element sd-element--complex sd-panel sd-row__panel">
<div class="sd-panel__content">
<div class="sd-clearfix sd-row">
<div style="flex: 1 1 100%; max-width: 100%; min-width: 300px;">
<div aria-invalid="false" aria-required="false" class="sd-element sd-element--nested sd-question sd-row__question sd-row__question--small" data-name="question2" role="textbox">
<div style="flex:1 1 100%; max-width:100%; min-width:300px;">
<div class="sd-element sd-element--nested sd-question sd-row__question sd-row__question--small" data-name="question2">
<div class="sd-question__content sd-text__content" role="presentation">
<input aria-invalid="false" aria-label="question2" aria-required="false" class="sd-input sd-text" placeholder="" type="text">
</div>
Expand All @@ -27,7 +27,7 @@
<div class="sv-action sv-action--hidden sv-dots">
<div class="sv-action__content">
<button class="sv-action-bar-item sv-dots__item" role="button" tabindex="0" title="More" type="button">
<svg aria-label="More" class="sv-action-bar-item__icon sv-svg-icon" role="img" style="height: 24px; width: 24px;">
<svg aria-label="More" class="sv-action-bar-item__icon sv-svg-icon" role="img" style="height:24px; width:24px;">
<use xlink:href="#icon-more" class="">
</use>
<title class="">More</title>
Expand Down
8 changes: 4 additions & 4 deletions tests/markup/snapshots/paneldynamic-no-footer-2.snap.html
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
<div style="flex: 1 1 100%; max-width: 100%; min-width: auto;">
<div style="flex:1 1 100%; max-width:100%; min-width:auto;">
<div aria-invalid="false" aria-required="false" class="sd-element sd-element--complex sd-element--with-frame sd-question sd-question--complex sd-question--paneldynamic sd-row__question" data-name="question1" role="textbox">
<div class="sd-question__content" role="presentation">
<div class="sd-paneldynamic">
<div class="sd-paneldynamic__panel-wrapper">
<div class="sd-element sd-element--complex sd-panel sd-row__panel">
<div class="sd-panel__content">
<div class="sd-clearfix sd-row">
<div style="flex: 1 1 100%; max-width: 100%; min-width: 300px;">
<div aria-invalid="false" aria-required="false" class="sd-element sd-element--nested sd-question sd-row__question sd-row__question--small" data-name="question2" role="textbox">
<div style="flex:1 1 100%; max-width:100%; min-width:300px;">
<div class="sd-element sd-element--nested sd-question sd-row__question sd-row__question--small" data-name="question2">
<div class="sd-question__content sd-text__content" role="presentation">
<input aria-invalid="false" aria-label="question2" aria-required="false" class="sd-input sd-text" placeholder="" type="text">
</div>
Expand All @@ -27,7 +27,7 @@
<div class="sv-action sv-action--hidden sv-dots">
<div class="sv-action__content">
<button class="sv-action-bar-item sv-dots__item" role="button" tabindex="0" title="More" type="button">
<svg aria-label="More" class="sv-action-bar-item__icon sv-svg-icon" role="img" style="height: 24px; width: 24px;">
<svg aria-label="More" class="sv-action-bar-item__icon sv-svg-icon" role="img" style="height:24px; width:24px;">
<use xlink:href="#icon-more" class="">
</use>
<title class="">More</title>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
<div style="flex: 1 1 100%; max-width: 100%; min-width: auto;">
<div style="flex:1 1 100%; max-width:100%; min-width:auto;">
<div aria-invalid="false" aria-required="false" class="sd-element sd-element--complex sd-element--with-frame sd-question sd-question--complex sd-question--paneldynamic sd-row__question" data-name="pd" id="testid0" role="textbox">
<div class="sd-question__content" role="presentation">
<div class="sd-paneldynamic">
<div class="sd-paneldynamic__panel-wrapper">
<div class="sd-element sd-element--complex sd-panel sd-row__panel" id="testid0panel0">
<div class="sd-panel__content" id="testid0panel0_content">
<div class="sd-clearfix sd-row">
<div style="flex: 1 1 100%; max-width: 100%; min-width: 300px;">
<div aria-invalid="false" aria-required="false" class="sd-element sd-element--nested sd-question sd-row__question sd-row__question--small" data-name="q1" id="testid0panel0question0" role="textbox">
<div style="flex:1 1 100%; max-width:100%; min-width:300px;">
<div class="sd-element sd-element--nested sd-question sd-row__question sd-row__question--small" data-name="q1" id="testid0panel0question0">
<div class="sd-question__content sd-text__content" role="presentation">
<input aria-invalid="false" aria-label="q1" aria-required="false" class="sd-input sd-text" id="testid0panel0question0i" placeholder="" type="text">
</div>
Expand Down

0 comments on commit a66cf31

Please sign in to comment.