survey-js-ui 2.0.4 → 2.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm/survey-js-ui.mjs +107 -177
- package/fesm/survey-js-ui.mjs.map +1 -1
- package/package.json +2 -2
- package/survey-js-ui.js +35 -121
- package/survey-js-ui.js.map +1 -1
- package/survey-js-ui.min.js +1 -1
- package/survey-js-ui.min.js.LICENSE.txt +1 -1
- package/typings/survey-react-ui/src/reactquestion.d.ts +0 -1
- package/typings/survey-react-ui/src/reactquestion_file.d.ts +0 -2
- package/typings/survey-react-ui/src/reactquestion_paneldynamic.d.ts +0 -4
- package/typings/survey-react-ui/src/reactquestion_rating.d.ts +1 -1
package/fesm/survey-js-ui.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* surveyjs - Survey JavaScript library v2.0.
|
|
2
|
+
* surveyjs - Survey JavaScript library v2.0.5
|
|
3
3
|
* Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
|
|
4
4
|
* License: MIT (http://www.opensource.org/licenses/mit-license.php)
|
|
5
5
|
*/
|
|
@@ -1422,21 +1422,13 @@ class SurveyQuestion extends SurveyElementBase {
|
|
|
1422
1422
|
};
|
|
1423
1423
|
var cssClasses = question.cssClasses;
|
|
1424
1424
|
var questionRender = this.renderQuestion();
|
|
1425
|
-
var errorsTop = this.question.showErrorOnTop
|
|
1426
|
-
? this.renderErrors(cssClasses, "top")
|
|
1427
|
-
: null;
|
|
1428
|
-
var errorsBottom = this.question.showErrorOnBottom
|
|
1429
|
-
? this.renderErrors(cssClasses, "bottom")
|
|
1430
|
-
: null;
|
|
1431
1425
|
var comment = question && question.hasComment ? this.renderComment(cssClasses) : null;
|
|
1432
1426
|
var descriptionUnderInput = question.hasDescriptionUnderInput
|
|
1433
1427
|
? this.renderDescription()
|
|
1434
1428
|
: null;
|
|
1435
1429
|
return (_$1("div", { className: question.cssContent || undefined, style: contentStyle, role: "presentation" },
|
|
1436
|
-
errorsTop,
|
|
1437
1430
|
questionRender,
|
|
1438
1431
|
comment,
|
|
1439
|
-
errorsBottom,
|
|
1440
1432
|
descriptionUnderInput));
|
|
1441
1433
|
}
|
|
1442
1434
|
renderElement() {
|
|
@@ -1513,9 +1505,6 @@ class SurveyElementErrors extends ReactSurveyElement {
|
|
|
1513
1505
|
get creator() {
|
|
1514
1506
|
return this.props.creator;
|
|
1515
1507
|
}
|
|
1516
|
-
get location() {
|
|
1517
|
-
return this.props.location;
|
|
1518
|
-
}
|
|
1519
1508
|
getState(prevState = null) {
|
|
1520
1509
|
return !prevState ? { error: 0 } : { error: prevState.error + 1 };
|
|
1521
1510
|
}
|
|
@@ -1895,7 +1884,7 @@ class PopupModal extends SurveyElementBase {
|
|
|
1895
1884
|
PopupModal.modalDescriptors = [];
|
|
1896
1885
|
|
|
1897
1886
|
/*!
|
|
1898
|
-
* surveyjs - Survey JavaScript library v2.0.
|
|
1887
|
+
* surveyjs - Survey JavaScript library v2.0.5
|
|
1899
1888
|
* Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
|
|
1900
1889
|
* License: MIT (http://www.opensource.org/licenses/mit-license.php)
|
|
1901
1890
|
*/
|
|
@@ -1963,7 +1952,7 @@ var iconsV1 = {
|
|
|
1963
1952
|
};
|
|
1964
1953
|
|
|
1965
1954
|
/*!
|
|
1966
|
-
* surveyjs - Survey JavaScript library v2.0.
|
|
1955
|
+
* surveyjs - Survey JavaScript library v2.0.5
|
|
1967
1956
|
* Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
|
|
1968
1957
|
* License: MIT (http://www.opensource.org/licenses/mit-license.php)
|
|
1969
1958
|
*/
|
|
@@ -2633,8 +2622,9 @@ class SurveyQuestionCheckbox extends SurveyQuestionElementBase {
|
|
|
2633
2622
|
if (this.question.blockedRow) {
|
|
2634
2623
|
return _$1("div", { className: cssClasses.rootRow }, this.getItems(cssClasses, this.question.dataChoices));
|
|
2635
2624
|
}
|
|
2636
|
-
else
|
|
2625
|
+
else {
|
|
2637
2626
|
return _$1(k$2, null, this.getItems(cssClasses, this.question.bodyItems));
|
|
2627
|
+
}
|
|
2638
2628
|
}
|
|
2639
2629
|
getItems(cssClasses, choices) {
|
|
2640
2630
|
var renderedItems = [];
|
|
@@ -3382,14 +3372,14 @@ class SurveyQuestionMatrix extends SurveyQuestionElementBase {
|
|
|
3382
3372
|
var key = "row-" + row.name + "-" + i;
|
|
3383
3373
|
rows.push(_$1(SurveyQuestionMatrixRow, { key: key, question: this.question, cssClasses: cssClasses, row: row, isFirst: i == 0 }));
|
|
3384
3374
|
}
|
|
3385
|
-
var header = !this.question.showHeader ? null : (_$1("thead",
|
|
3375
|
+
var header = !this.question.showHeader ? null : (_$1("thead", { role: "presentation" },
|
|
3386
3376
|
_$1("tr", null,
|
|
3387
3377
|
rowsTH,
|
|
3388
3378
|
headers)));
|
|
3389
3379
|
return (_$1("div", { className: cssClasses.tableWrapper, ref: root => (this.setControl(root)) },
|
|
3390
|
-
_$1("fieldset",
|
|
3391
|
-
_$1("legend", { className: "sv-
|
|
3392
|
-
_$1("table", { className: this.question.getTableCss() },
|
|
3380
|
+
_$1("fieldset", { role: "radiogroup" },
|
|
3381
|
+
_$1("legend", { className: "sv-visuallyhidden" }, this.question.locTitle.renderedHtml),
|
|
3382
|
+
_$1("table", { className: this.question.getTableCss(), role: "presentation" },
|
|
3393
3383
|
header,
|
|
3394
3384
|
_$1("tbody", null, rows)))));
|
|
3395
3385
|
}
|
|
@@ -3567,24 +3557,6 @@ class LoadingIndicatorComponent extends x$2 {
|
|
|
3567
3557
|
}
|
|
3568
3558
|
}
|
|
3569
3559
|
|
|
3570
|
-
class SurveyFileChooseButton extends ReactSurveyElement {
|
|
3571
|
-
constructor(props) {
|
|
3572
|
-
super(props);
|
|
3573
|
-
}
|
|
3574
|
-
get question() {
|
|
3575
|
-
return (this.props.item && this.props.item.data.question) || this.props.data.question;
|
|
3576
|
-
}
|
|
3577
|
-
render() {
|
|
3578
|
-
return attachKey2click(_$1("label", { tabIndex: 0, className: this.question.getChooseFileCss(), htmlFor: this.question.inputId, "aria-label": this.question.chooseButtonText, onClick: (e) => this.question.chooseFile(e.nativeEvent) },
|
|
3579
|
-
(!!this.question.cssClasses.chooseFileIconId) ? _$1(SvgIcon, { title: this.question.chooseButtonText, iconName: this.question.cssClasses.chooseFileIconId, size: "auto" }) : null,
|
|
3580
|
-
_$1("span", null, this.question.chooseButtonText)));
|
|
3581
|
-
}
|
|
3582
|
-
}
|
|
3583
|
-
ReactElementFactory.Instance.registerElement("sv-file-choose-btn", (props) => {
|
|
3584
|
-
return _$1(SurveyFileChooseButton, props);
|
|
3585
|
-
});
|
|
3586
|
-
|
|
3587
|
-
// import { ReactElementFactory, SurveyFileChooseButton } from "../entries/react-ui-model";
|
|
3588
3560
|
class SurveyQuestionFile extends SurveyQuestionElementBase {
|
|
3589
3561
|
constructor(props) {
|
|
3590
3562
|
super(props);
|
|
@@ -3597,8 +3569,6 @@ class SurveyQuestionFile extends SurveyQuestionElementBase {
|
|
|
3597
3569
|
const loadingIndicator = this.question.showLoadingIndicator ? this.renderLoadingIndicator() : null;
|
|
3598
3570
|
const video = this.question.isPlayingVideo ? this.renderVideo() : null;
|
|
3599
3571
|
const fileDecorator = this.question.showFileDecorator ? this.renderFileDecorator() : null;
|
|
3600
|
-
const clearButton = this.question.showRemoveButton ? this.renderClearButton(this.question.cssClasses.removeButton) : null;
|
|
3601
|
-
const clearButtonBottom = this.question.showRemoveButtonBottom ? this.renderClearButton(this.question.cssClasses.removeButtonBottom) : null;
|
|
3602
3572
|
const fileNavigator = this.question.fileNavigatorVisible ? (_$1(SurveyActionBar, { model: this.question.fileNavigator })) : null;
|
|
3603
3573
|
let fileInput;
|
|
3604
3574
|
if (this.question.isReadOnlyAttr) {
|
|
@@ -3619,30 +3589,18 @@ class SurveyQuestionFile extends SurveyQuestionElementBase {
|
|
|
3619
3589
|
fileDecorator,
|
|
3620
3590
|
loadingIndicator,
|
|
3621
3591
|
video,
|
|
3622
|
-
clearButton,
|
|
3623
3592
|
preview,
|
|
3624
|
-
clearButtonBottom,
|
|
3625
3593
|
fileNavigator)));
|
|
3626
3594
|
}
|
|
3627
3595
|
renderFileDecorator() {
|
|
3628
|
-
const chooseButton = this.question.showChooseButton ? this.renderChooseButton() : null;
|
|
3629
3596
|
const actionsContainer = this.question.actionsContainerVisible ? _$1(SurveyActionBar, { model: this.question.actionsContainer }) : null;
|
|
3630
3597
|
const noFileChosen = this.question.isEmpty() ? (_$1("span", { className: this.question.cssClasses.noFileChosen }, this.question.noFileChosenCaption)) : null;
|
|
3631
3598
|
return (_$1("div", { className: this.question.getFileDecoratorCss() },
|
|
3632
3599
|
_$1("span", { className: this.question.cssClasses.dragAreaPlaceholder }, this.renderLocString(this.question.locRenderedPlaceholder)),
|
|
3633
3600
|
_$1("div", { className: this.question.cssClasses.wrapper },
|
|
3634
|
-
chooseButton,
|
|
3635
3601
|
actionsContainer,
|
|
3636
3602
|
noFileChosen)));
|
|
3637
3603
|
}
|
|
3638
|
-
renderChooseButton() {
|
|
3639
|
-
return _$1(SurveyFileChooseButton, { data: { question: this.question } });
|
|
3640
|
-
}
|
|
3641
|
-
renderClearButton(className) {
|
|
3642
|
-
return !this.question.isUploading ? (_$1("button", { type: "button", onClick: this.question.doClean, className: className },
|
|
3643
|
-
_$1("span", null, this.question.clearButtonCaption),
|
|
3644
|
-
(!!this.question.cssClasses.removeButtonIconId) ? _$1(SvgIcon, { iconName: this.question.cssClasses.removeButtonIconId, size: "auto", title: this.question.clearButtonCaption }) : null)) : null;
|
|
3645
|
-
}
|
|
3646
3604
|
renderPreview() {
|
|
3647
3605
|
return ReactElementFactory.Instance.createElement("sv-file-preview", { question: this.question });
|
|
3648
3606
|
}
|
|
@@ -3662,6 +3620,23 @@ ReactQuestionFactory.Instance.registerQuestion("file", props => {
|
|
|
3662
3620
|
return _$1(SurveyQuestionFile, props);
|
|
3663
3621
|
});
|
|
3664
3622
|
|
|
3623
|
+
class SurveyFileChooseButton extends ReactSurveyElement {
|
|
3624
|
+
constructor(props) {
|
|
3625
|
+
super(props);
|
|
3626
|
+
}
|
|
3627
|
+
get question() {
|
|
3628
|
+
return (this.props.item && this.props.item.data.question) || this.props.data.question;
|
|
3629
|
+
}
|
|
3630
|
+
render() {
|
|
3631
|
+
return attachKey2click(_$1("label", { tabIndex: 0, className: this.question.getChooseFileCss(), htmlFor: this.question.inputId, "aria-label": this.question.chooseButtonText, onClick: (e) => this.question.chooseFile(e.nativeEvent) },
|
|
3632
|
+
(!!this.question.cssClasses.chooseFileIconId) ? _$1(SvgIcon, { title: this.question.chooseButtonText, iconName: this.question.cssClasses.chooseFileIconId, size: "auto" }) : null,
|
|
3633
|
+
_$1("span", null, this.question.chooseButtonText)));
|
|
3634
|
+
}
|
|
3635
|
+
}
|
|
3636
|
+
ReactElementFactory.Instance.registerElement("sv-file-choose-btn", (props) => {
|
|
3637
|
+
return _$1(SurveyFileChooseButton, props);
|
|
3638
|
+
});
|
|
3639
|
+
|
|
3665
3640
|
class SurveyFileItem extends SurveyElementBase {
|
|
3666
3641
|
get question() {
|
|
3667
3642
|
return this.props.question;
|
|
@@ -3720,8 +3695,7 @@ class SurveyFilePreview extends SurveyElementBase {
|
|
|
3720
3695
|
}, title: val.name, download: val.name, style: { width: this.question.imageWidth } }, val.name)));
|
|
3721
3696
|
}
|
|
3722
3697
|
renderElement() {
|
|
3723
|
-
const content = this.question.
|
|
3724
|
-
: this.question.previewValue.map((item, index) => { return (_$1(SurveyFileItem, { item: item, question: this.question, key: index })); });
|
|
3698
|
+
const content = this.question.renderedPages.map((page, index) => { return (_$1(SurveyFilePage, { page: page, question: this.question, key: page.id })); });
|
|
3725
3699
|
return _$1("div", { className: this.question.cssClasses.fileList || undefined }, content);
|
|
3726
3700
|
}
|
|
3727
3701
|
canRender() {
|
|
@@ -3849,8 +3823,9 @@ class SurveyQuestionRadiogroup extends SurveyQuestionElementBase {
|
|
|
3849
3823
|
if (this.question.blockedRow) {
|
|
3850
3824
|
return _$1("div", { className: cssClasses.rootRow }, this.getItems(cssClasses, this.question.dataChoices));
|
|
3851
3825
|
}
|
|
3852
|
-
else
|
|
3826
|
+
else {
|
|
3853
3827
|
return _$1(k$2, null, this.getItems(cssClasses, this.question.bodyItems));
|
|
3828
|
+
}
|
|
3854
3829
|
}
|
|
3855
3830
|
getItems(cssClasses, choices) {
|
|
3856
3831
|
var items = [];
|
|
@@ -4089,7 +4064,7 @@ class SurveyQuestionBoolean extends SurveyQuestionElementBase {
|
|
|
4089
4064
|
const cssClasses = this.question.cssClasses;
|
|
4090
4065
|
const itemClass = this.question.getItemCss();
|
|
4091
4066
|
return (_$1("div", { className: cssClasses.root, onKeyDown: this.handleOnKeyDown },
|
|
4092
|
-
_$1("label", { className: itemClass
|
|
4067
|
+
_$1("label", { className: itemClass },
|
|
4093
4068
|
_$1("input", { ref: this.checkRef, type: "checkbox", name: this.question.name, value: this.question.booleanValue === null
|
|
4094
4069
|
? ""
|
|
4095
4070
|
: this.question.booleanValue, id: this.question.inputId, className: cssClasses.control, disabled: this.question.isDisabledAttr, readOnly: this.question.isReadOnlyAttr, checked: this.question.booleanValue || false, onChange: this.handleOnChange, role: this.question.a11y_input_ariaRole, "aria-required": this.question.a11y_input_ariaRequired, "aria-label": this.question.a11y_input_ariaLabel, "aria-labelledby": this.question.a11y_input_ariaLabelledBy, "aria-describedby": this.question.a11y_input_ariaDescribedBy, "aria-invalid": this.question.a11y_input_ariaInvalid, "aria-errormessage": this.question.a11y_input_ariaErrormessage }),
|
|
@@ -4432,10 +4407,7 @@ class SurveyQuestionMatrixDropdownBase extends SurveyQuestionElementBase {
|
|
|
4432
4407
|
return this.renderTableDiv();
|
|
4433
4408
|
}
|
|
4434
4409
|
renderTableDiv() {
|
|
4435
|
-
|
|
4436
|
-
? { overflowX: "scroll" }
|
|
4437
|
-
: {};
|
|
4438
|
-
return (_$1("div", { style: divStyle, className: this.question.cssClasses.tableWrapper, ref: (root) => (this.setControl(root)) },
|
|
4410
|
+
return (_$1("div", { className: this.question.cssClasses.tableWrapper, ref: (root) => (this.setControl(root)) },
|
|
4439
4411
|
_$1(SurveyQuestionMatrixTable, { question: this.question, creator: this.creator, wrapCell: (cell, element, reason) => this.wrapCell(cell, element, reason) })));
|
|
4440
4412
|
}
|
|
4441
4413
|
}
|
|
@@ -4524,7 +4496,7 @@ class SurveyQuestionMatrixDropdownCell extends SurveyQuestionAndErrorsCell {
|
|
|
4524
4496
|
row: this.cell.row,
|
|
4525
4497
|
column: this.cell.cell.column,
|
|
4526
4498
|
};
|
|
4527
|
-
this.question.survey.matrixAfterCellRender(
|
|
4499
|
+
this.question.survey.matrixAfterCellRender(options);
|
|
4528
4500
|
this.question.afterRenderCore(el);
|
|
4529
4501
|
}
|
|
4530
4502
|
}
|
|
@@ -4669,77 +4641,6 @@ ReactElementFactory.Instance.registerElement("sv-matrixdynamic-add-btn", (props)
|
|
|
4669
4641
|
return _$1(SurveyQuestionMatrixDynamicAddButton, props);
|
|
4670
4642
|
});
|
|
4671
4643
|
|
|
4672
|
-
class SurveyQuestionPanelDynamicAction extends ReactSurveyElement {
|
|
4673
|
-
constructor(props) {
|
|
4674
|
-
super(props);
|
|
4675
|
-
}
|
|
4676
|
-
get data() {
|
|
4677
|
-
return (this.props.item && this.props.item.data) || this.props.data;
|
|
4678
|
-
}
|
|
4679
|
-
get question() {
|
|
4680
|
-
return (this.props.item && this.props.item.data.question) || this.props.data.question;
|
|
4681
|
-
}
|
|
4682
|
-
}
|
|
4683
|
-
class SurveyQuestionPanelDynamicAddButton extends SurveyQuestionPanelDynamicAction {
|
|
4684
|
-
constructor() {
|
|
4685
|
-
super(...arguments);
|
|
4686
|
-
this.handleClick = (event) => {
|
|
4687
|
-
this.question.addPanelUI();
|
|
4688
|
-
};
|
|
4689
|
-
}
|
|
4690
|
-
renderElement() {
|
|
4691
|
-
if (!this.question.canAddPanel)
|
|
4692
|
-
return null;
|
|
4693
|
-
const btnText = this.renderLocString(this.question.locAddPanelText);
|
|
4694
|
-
return (_$1("button", { type: "button", id: this.question.addButtonId, className: this.question.getAddButtonCss(), onClick: this.handleClick },
|
|
4695
|
-
_$1("span", { className: this.question.cssClasses.buttonAddText }, btnText)));
|
|
4696
|
-
}
|
|
4697
|
-
}
|
|
4698
|
-
ReactElementFactory.Instance.registerElement("sv-paneldynamic-add-btn", (props) => {
|
|
4699
|
-
return _$1(SurveyQuestionPanelDynamicAddButton, props);
|
|
4700
|
-
});
|
|
4701
|
-
|
|
4702
|
-
class SurveyQuestionPanelDynamicNextButton extends SurveyQuestionPanelDynamicAction {
|
|
4703
|
-
constructor() {
|
|
4704
|
-
super(...arguments);
|
|
4705
|
-
this.handleClick = (event) => {
|
|
4706
|
-
this.question.goToNextPanel();
|
|
4707
|
-
};
|
|
4708
|
-
}
|
|
4709
|
-
renderElement() {
|
|
4710
|
-
return (_$1("div", { title: this.question.panelNextText, onClick: this.handleClick, className: this.question.getNextButtonCss() },
|
|
4711
|
-
_$1(SvgIcon, { iconName: this.question.cssClasses.progressBtnIcon, size: "auto" })));
|
|
4712
|
-
}
|
|
4713
|
-
}
|
|
4714
|
-
ReactElementFactory.Instance.registerElement("sv-paneldynamic-next-btn", (props) => {
|
|
4715
|
-
return _$1(SurveyQuestionPanelDynamicNextButton, props);
|
|
4716
|
-
});
|
|
4717
|
-
|
|
4718
|
-
class SurveyQuestionPanelDynamicPrevButton extends SurveyQuestionPanelDynamicAction {
|
|
4719
|
-
constructor() {
|
|
4720
|
-
super(...arguments);
|
|
4721
|
-
this.handleClick = (event) => {
|
|
4722
|
-
this.question.goToPrevPanel();
|
|
4723
|
-
};
|
|
4724
|
-
}
|
|
4725
|
-
renderElement() {
|
|
4726
|
-
return (_$1("div", { title: this.question.panelPrevText, onClick: this.handleClick, className: this.question.getPrevButtonCss() },
|
|
4727
|
-
_$1(SvgIcon, { iconName: this.question.cssClasses.progressBtnIcon, size: "auto" })));
|
|
4728
|
-
}
|
|
4729
|
-
}
|
|
4730
|
-
ReactElementFactory.Instance.registerElement("sv-paneldynamic-prev-btn", (props) => {
|
|
4731
|
-
return _$1(SurveyQuestionPanelDynamicPrevButton, props);
|
|
4732
|
-
});
|
|
4733
|
-
|
|
4734
|
-
class SurveyQuestionPanelDynamicProgressText extends SurveyQuestionPanelDynamicAction {
|
|
4735
|
-
renderElement() {
|
|
4736
|
-
return (_$1("div", { className: this.question.cssClasses.progressText }, this.question.progressText));
|
|
4737
|
-
}
|
|
4738
|
-
}
|
|
4739
|
-
ReactElementFactory.Instance.registerElement("sv-paneldynamic-progress-text", (props) => {
|
|
4740
|
-
return _$1(SurveyQuestionPanelDynamicProgressText, props);
|
|
4741
|
-
});
|
|
4742
|
-
|
|
4743
4644
|
class SurveyQuestionPanelDynamic extends SurveyQuestionElementBase {
|
|
4744
4645
|
constructor(props) {
|
|
4745
4646
|
super(props);
|
|
@@ -4777,14 +4678,8 @@ class SurveyQuestionPanelDynamic extends SurveyQuestionElementBase {
|
|
|
4777
4678
|
this.question.renderedPanels.forEach((panel, index) => {
|
|
4778
4679
|
panels.push(_$1(SurveyQuestionPanelDynamicItem, { key: panel.id, element: panel, question: this.question, index: index, cssClasses: this.question.cssClasses, isDisplayMode: this.isDisplayMode, creator: this.creator }));
|
|
4779
4680
|
});
|
|
4780
|
-
const
|
|
4781
|
-
? this.
|
|
4782
|
-
: null;
|
|
4783
|
-
const navTop = this.question.isProgressTopShowing
|
|
4784
|
-
? this.renderNavigator()
|
|
4785
|
-
: null;
|
|
4786
|
-
const navBottom = this.question.isProgressBottomShowing
|
|
4787
|
-
? this.renderNavigator()
|
|
4681
|
+
const rangeTop = this.question.isRangeShowing && this.question.isProgressTopShowing
|
|
4682
|
+
? this.renderRange()
|
|
4788
4683
|
: null;
|
|
4789
4684
|
const navV2 = this.renderNavigatorV2();
|
|
4790
4685
|
const noEntriesPlaceholder = this.renderPlaceholder();
|
|
@@ -4792,46 +4687,10 @@ class SurveyQuestionPanelDynamic extends SurveyQuestionElementBase {
|
|
|
4792
4687
|
this.question.hasTabbedMenu ? _$1("div", { className: this.question.getTabsContainerCss() },
|
|
4793
4688
|
_$1(SurveyActionBar, { model: this.question.tabbedMenu })) : null,
|
|
4794
4689
|
noEntriesPlaceholder,
|
|
4795
|
-
|
|
4690
|
+
rangeTop,
|
|
4796
4691
|
_$1("div", { className: this.question.cssClasses.panelsContainer }, panels),
|
|
4797
|
-
navBottom,
|
|
4798
|
-
btnAdd,
|
|
4799
4692
|
navV2));
|
|
4800
4693
|
}
|
|
4801
|
-
renderNavigator() {
|
|
4802
|
-
if (!this.question["showLegacyNavigation"]) {
|
|
4803
|
-
if (this.question.isRangeShowing && this.question.isProgressTopShowing) {
|
|
4804
|
-
return this.renderRange();
|
|
4805
|
-
}
|
|
4806
|
-
else {
|
|
4807
|
-
return null;
|
|
4808
|
-
}
|
|
4809
|
-
}
|
|
4810
|
-
const range = this.question.isRangeShowing ? this.renderRange() : null;
|
|
4811
|
-
const btnPrev = this.rendrerPrevButton();
|
|
4812
|
-
const btnNext = this.rendrerNextButton();
|
|
4813
|
-
const btnAdd = this.renderAddRowButton();
|
|
4814
|
-
const progressClass = this.question.isProgressTopShowing
|
|
4815
|
-
? this.question.cssClasses.progressTop
|
|
4816
|
-
: this.question.cssClasses.progressBottom;
|
|
4817
|
-
return (_$1("div", { className: progressClass },
|
|
4818
|
-
_$1("div", { style: { clear: "both" } },
|
|
4819
|
-
_$1("div", { className: this.question.cssClasses.progressContainer },
|
|
4820
|
-
btnPrev,
|
|
4821
|
-
range,
|
|
4822
|
-
btnNext),
|
|
4823
|
-
btnAdd,
|
|
4824
|
-
this.renderProgressText())));
|
|
4825
|
-
}
|
|
4826
|
-
renderProgressText() {
|
|
4827
|
-
return (_$1(SurveyQuestionPanelDynamicProgressText, { data: { question: this.question } }));
|
|
4828
|
-
}
|
|
4829
|
-
rendrerPrevButton() {
|
|
4830
|
-
return (_$1(SurveyQuestionPanelDynamicPrevButton, { data: { question: this.question } }));
|
|
4831
|
-
}
|
|
4832
|
-
rendrerNextButton() {
|
|
4833
|
-
return (_$1(SurveyQuestionPanelDynamicNextButton, { data: { question: this.question } }));
|
|
4834
|
-
}
|
|
4835
4694
|
renderRange() {
|
|
4836
4695
|
return (_$1("div", { className: this.question.cssClasses.progress },
|
|
4837
4696
|
_$1("div", { className: this.question.cssClasses.progressBar, style: { width: this.question.progress }, role: "progressbar" })));
|
|
@@ -5821,6 +5680,36 @@ ReactElementFactory.Instance.registerElement("sv-matrix-detail-button", props =>
|
|
|
5821
5680
|
return _$1(SurveyQuestionMatrixDetailButton, props);
|
|
5822
5681
|
});
|
|
5823
5682
|
|
|
5683
|
+
class SurveyQuestionPanelDynamicAction extends ReactSurveyElement {
|
|
5684
|
+
constructor(props) {
|
|
5685
|
+
super(props);
|
|
5686
|
+
}
|
|
5687
|
+
get data() {
|
|
5688
|
+
return (this.props.item && this.props.item.data) || this.props.data;
|
|
5689
|
+
}
|
|
5690
|
+
get question() {
|
|
5691
|
+
return (this.props.item && this.props.item.data.question) || this.props.data.question;
|
|
5692
|
+
}
|
|
5693
|
+
}
|
|
5694
|
+
class SurveyQuestionPanelDynamicAddButton extends SurveyQuestionPanelDynamicAction {
|
|
5695
|
+
constructor() {
|
|
5696
|
+
super(...arguments);
|
|
5697
|
+
this.handleClick = (event) => {
|
|
5698
|
+
this.question.addPanelUI();
|
|
5699
|
+
};
|
|
5700
|
+
}
|
|
5701
|
+
renderElement() {
|
|
5702
|
+
if (!this.question.canAddPanel)
|
|
5703
|
+
return null;
|
|
5704
|
+
const btnText = this.renderLocString(this.question.locAddPanelText);
|
|
5705
|
+
return (_$1("button", { type: "button", id: this.question.addButtonId, className: this.question.getAddButtonCss(), onClick: this.handleClick },
|
|
5706
|
+
_$1("span", { className: this.question.cssClasses.buttonAddText }, btnText)));
|
|
5707
|
+
}
|
|
5708
|
+
}
|
|
5709
|
+
ReactElementFactory.Instance.registerElement("sv-paneldynamic-add-btn", (props) => {
|
|
5710
|
+
return _$1(SurveyQuestionPanelDynamicAddButton, props);
|
|
5711
|
+
});
|
|
5712
|
+
|
|
5824
5713
|
class SurveyQuestionPanelDynamicRemoveButton extends SurveyQuestionPanelDynamicAction {
|
|
5825
5714
|
constructor() {
|
|
5826
5715
|
super(...arguments);
|
|
@@ -5840,6 +5729,47 @@ ReactElementFactory.Instance.registerElement("sv-paneldynamic-remove-btn", (prop
|
|
|
5840
5729
|
return _$1(SurveyQuestionPanelDynamicRemoveButton, props);
|
|
5841
5730
|
});
|
|
5842
5731
|
|
|
5732
|
+
class SurveyQuestionPanelDynamicPrevButton extends SurveyQuestionPanelDynamicAction {
|
|
5733
|
+
constructor() {
|
|
5734
|
+
super(...arguments);
|
|
5735
|
+
this.handleClick = (event) => {
|
|
5736
|
+
this.question.goToPrevPanel();
|
|
5737
|
+
};
|
|
5738
|
+
}
|
|
5739
|
+
renderElement() {
|
|
5740
|
+
return (_$1("div", { title: this.question.panelPrevText, onClick: this.handleClick, className: this.question.getPrevButtonCss() },
|
|
5741
|
+
_$1(SvgIcon, { iconName: this.question.cssClasses.progressBtnIcon, size: "auto" })));
|
|
5742
|
+
}
|
|
5743
|
+
}
|
|
5744
|
+
ReactElementFactory.Instance.registerElement("sv-paneldynamic-prev-btn", (props) => {
|
|
5745
|
+
return _$1(SurveyQuestionPanelDynamicPrevButton, props);
|
|
5746
|
+
});
|
|
5747
|
+
|
|
5748
|
+
class SurveyQuestionPanelDynamicNextButton extends SurveyQuestionPanelDynamicAction {
|
|
5749
|
+
constructor() {
|
|
5750
|
+
super(...arguments);
|
|
5751
|
+
this.handleClick = (event) => {
|
|
5752
|
+
this.question.goToNextPanel();
|
|
5753
|
+
};
|
|
5754
|
+
}
|
|
5755
|
+
renderElement() {
|
|
5756
|
+
return (_$1("div", { title: this.question.panelNextText, onClick: this.handleClick, className: this.question.getNextButtonCss() },
|
|
5757
|
+
_$1(SvgIcon, { iconName: this.question.cssClasses.progressBtnIcon, size: "auto" })));
|
|
5758
|
+
}
|
|
5759
|
+
}
|
|
5760
|
+
ReactElementFactory.Instance.registerElement("sv-paneldynamic-next-btn", (props) => {
|
|
5761
|
+
return _$1(SurveyQuestionPanelDynamicNextButton, props);
|
|
5762
|
+
});
|
|
5763
|
+
|
|
5764
|
+
class SurveyQuestionPanelDynamicProgressText extends SurveyQuestionPanelDynamicAction {
|
|
5765
|
+
renderElement() {
|
|
5766
|
+
return (_$1("div", { className: this.question.cssClasses.progressText }, this.question.progressText));
|
|
5767
|
+
}
|
|
5768
|
+
}
|
|
5769
|
+
ReactElementFactory.Instance.registerElement("sv-paneldynamic-progress-text", (props) => {
|
|
5770
|
+
return _$1(SurveyQuestionPanelDynamicProgressText, props);
|
|
5771
|
+
});
|
|
5772
|
+
|
|
5843
5773
|
class SurveyNavigationButton extends ReactSurveyElement {
|
|
5844
5774
|
get item() {
|
|
5845
5775
|
return this.props.item;
|
|
@@ -6105,7 +6035,7 @@ SurveyModel.prototype["render"] = function (element = null) {
|
|
|
6105
6035
|
}
|
|
6106
6036
|
};
|
|
6107
6037
|
const preact = React;
|
|
6108
|
-
checkLibraryVersion(`${"2.0.
|
|
6038
|
+
checkLibraryVersion(`${"2.0.5"}`, "survey-js-ui");
|
|
6109
6039
|
|
|
6110
6040
|
export { CharacterCounterComponent, O as Children, x$2 as Component, ComponentsContainer, k$2 as Fragment, Header, HeaderCell, HeaderMobile, List, ListItemContent, ListItemGroup, LoadingIndicatorComponent, LogoImage, MatrixRow, NotifierComponent, Popup, PopupModal, PopupSurvey, N as PureComponent, QuestionErrorComponent, RatingDropdownItem, RatingItem, RatingItemSmiley, RatingItemStar, ReactElementFactory, ReactQuestionFactory, ReactSurveyElement, ReactSurveyElementsWrapper, Scroll, Skeleton, Cn as StrictMode, Survey, SurveyActionBar, SurveyElementBase, SurveyElementErrors, SurveyFileChooseButton, SurveyFilePreview, SurveyFlowPanel, SurveyHeader, SurveyLocStringEditor, SurveyLocStringViewer, SurveyNavigationBase, SurveyNavigationButton, SurveyPage, SurveyPanel, SurveyProgress, SurveyProgressButtons, SurveyProgressToc, SurveyQuestion, SurveyQuestionAndErrorsCell, SurveyQuestionBoolean, SurveyQuestionBooleanCheckbox, SurveyQuestionBooleanRadio, SurveyQuestionButtonGroup, SurveyQuestionCheckbox, SurveyQuestionCheckboxItem, SurveyQuestionComment, SurveyQuestionCommentItem, SurveyQuestionComposite, SurveyQuestionCustom, SurveyQuestionDropdown, SurveyQuestionDropdownBase, SurveyQuestionDropdownSelect, SurveyQuestionElementBase, SurveyQuestionEmpty, SurveyQuestionExpression, SurveyQuestionFile, SurveyQuestionHtml, SurveyQuestionImage, SurveyQuestionImagePicker, SurveyQuestionMatrix, SurveyQuestionMatrixCell, SurveyQuestionMatrixDetailButton, SurveyQuestionMatrixDropdown, SurveyQuestionMatrixDropdownBase, SurveyQuestionMatrixDropdownCell, SurveyQuestionMatrixDynamic, SurveyQuestionMatrixDynamicAddButton, SurveyQuestionMatrixDynamicDragDropIcon, SurveyQuestionMatrixDynamicRemoveButton, SurveyQuestionMatrixRow, SurveyQuestionMultipleText, SurveyQuestionOptionItem, SurveyQuestionPanelDynamic, SurveyQuestionPanelDynamicAddButton, SurveyQuestionPanelDynamicNextButton, SurveyQuestionPanelDynamicPrevButton, SurveyQuestionPanelDynamicProgressText, SurveyQuestionPanelDynamicRemoveButton, SurveyQuestionRadioItem, SurveyQuestionRadiogroup, SurveyQuestionRanking, SurveyQuestionRankingItem, SurveyQuestionRankingItemContent, SurveyQuestionRating, SurveyQuestionRatingDropdown, SurveyQuestionSignaturePad, SurveyQuestionTagbox, SurveyQuestionTagboxItem, SurveyQuestionText, SurveyRow, SurveyTimerPanel, SurveyWindow, P as Suspense, B as SuspenseList, SvgBundleComponent, SvgIcon, TagboxFilterString, TitleActions, TitleElement, attachKey2click, _n as cloneElement, K$1 as createContext, _$1 as createElement, dn as createFactory, $ as createPortal, b$1 as createRef, Sn as findDOMNode, En as flushSync, D as forwardRef, tn as hydrate, mn as isFragment, yn as isMemo, pn as isValidElement, z as lazy, M as memo, preact, nn as render, renderPopupSurvey, renderSurvey, R as startTransition, bn as unmountComponentAtNode, gn as unstable_batchedUpdates, q$1 as useCallback, x$1 as useContext, P$1 as useDebugValue, w as useDeferredValue, y as useEffect, g$1 as useId, F$1 as useImperativeHandle, I as useInsertionEffect, _ as useLayoutEffect, T$1 as useMemo, h as useReducer, A$1 as useRef, d as useState, C as useSyncExternalStore, k as useTransition, vn as version };
|
|
6111
6041
|
//# sourceMappingURL=survey-js-ui.mjs.map
|