survey-core 1.10.4 → 1.10.6

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.
Files changed (245) hide show
  1. package/defaultV2.css +25 -2
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +25 -2
  4. package/defaultV2.fontless.css.map +1 -1
  5. package/defaultV2.fontless.min.css +2 -2
  6. package/defaultV2.min.css +2 -2
  7. package/i18n/arabic.js +1 -1
  8. package/i18n/arabic.min.js +1 -1
  9. package/i18n/basque.js +1 -1
  10. package/i18n/basque.min.js +1 -1
  11. package/i18n/bulgarian.js +1 -1
  12. package/i18n/bulgarian.min.js +1 -1
  13. package/i18n/catalan.js +1 -1
  14. package/i18n/catalan.min.js +1 -1
  15. package/i18n/croatian.js +1 -1
  16. package/i18n/croatian.min.js +1 -1
  17. package/i18n/czech.js +1 -1
  18. package/i18n/czech.min.js +1 -1
  19. package/i18n/danish.js +1 -1
  20. package/i18n/danish.min.js +1 -1
  21. package/i18n/dutch.js +1 -1
  22. package/i18n/dutch.min.js +1 -1
  23. package/i18n/english.js +1 -1
  24. package/i18n/english.min.js +2 -2
  25. package/i18n/estonian.js +1 -1
  26. package/i18n/estonian.min.js +1 -1
  27. package/i18n/finnish.js +1 -1
  28. package/i18n/finnish.min.js +1 -1
  29. package/i18n/french.js +1 -1
  30. package/i18n/french.min.js +1 -1
  31. package/i18n/georgian.js +1 -1
  32. package/i18n/georgian.min.js +1 -1
  33. package/i18n/german.js +1 -1
  34. package/i18n/german.min.js +1 -1
  35. package/i18n/greek.js +1 -1
  36. package/i18n/greek.min.js +1 -1
  37. package/i18n/hebrew.js +1 -1
  38. package/i18n/hebrew.min.js +1 -1
  39. package/i18n/hindi.js +1 -1
  40. package/i18n/hindi.min.js +1 -1
  41. package/i18n/hungarian.js +1 -1
  42. package/i18n/hungarian.min.js +1 -1
  43. package/i18n/icelandic.js +1 -1
  44. package/i18n/icelandic.min.js +1 -1
  45. package/i18n/index.js +132 -1
  46. package/i18n/index.js.map +1 -1
  47. package/i18n/index.min.js +2 -2
  48. package/i18n/indonesian.js +1 -1
  49. package/i18n/indonesian.min.js +1 -1
  50. package/i18n/italian.js +1 -1
  51. package/i18n/italian.min.js +1 -1
  52. package/i18n/japanese.js +1 -1
  53. package/i18n/japanese.min.js +1 -1
  54. package/i18n/kazakh.js +1 -1
  55. package/i18n/kazakh.min.js +1 -1
  56. package/i18n/korean.js +1 -1
  57. package/i18n/korean.min.js +1 -1
  58. package/i18n/latvian.js +1 -1
  59. package/i18n/latvian.min.js +1 -1
  60. package/i18n/lithuanian.js +1 -1
  61. package/i18n/lithuanian.min.js +1 -1
  62. package/i18n/macedonian.js +1 -1
  63. package/i18n/macedonian.min.js +1 -1
  64. package/i18n/malay.js +1 -1
  65. package/i18n/malay.min.js +1 -1
  66. package/i18n/nl-BE.js +1 -1
  67. package/i18n/nl-BE.min.js +1 -1
  68. package/i18n/norwegian.js +1 -1
  69. package/i18n/norwegian.min.js +1 -1
  70. package/i18n/persian.js +1 -1
  71. package/i18n/persian.min.js +1 -1
  72. package/i18n/philippines.js +246 -0
  73. package/i18n/philippines.js.map +1 -0
  74. package/i18n/philippines.min.js +6 -0
  75. package/i18n/polish.js +1 -1
  76. package/i18n/polish.min.js +1 -1
  77. package/i18n/portuguese-br.js +1 -1
  78. package/i18n/portuguese-br.min.js +1 -1
  79. package/i18n/portuguese.js +1 -1
  80. package/i18n/portuguese.min.js +1 -1
  81. package/i18n/romanian.js +1 -1
  82. package/i18n/romanian.min.js +1 -1
  83. package/i18n/russian.js +1 -1
  84. package/i18n/russian.min.js +1 -1
  85. package/i18n/serbian.js +1 -1
  86. package/i18n/serbian.min.js +1 -1
  87. package/i18n/simplified-chinese.js +1 -1
  88. package/i18n/simplified-chinese.min.js +1 -1
  89. package/i18n/slovak.js +1 -1
  90. package/i18n/slovak.min.js +1 -1
  91. package/i18n/spanish.js +1 -1
  92. package/i18n/spanish.min.js +1 -1
  93. package/i18n/swahili.js +1 -1
  94. package/i18n/swahili.min.js +1 -1
  95. package/i18n/swedish.js +1 -1
  96. package/i18n/swedish.min.js +1 -1
  97. package/i18n/tajik.js +1 -1
  98. package/i18n/tajik.min.js +1 -1
  99. package/i18n/telugu.js +1 -1
  100. package/i18n/telugu.min.js +1 -1
  101. package/i18n/thai.js +1 -1
  102. package/i18n/thai.min.js +1 -1
  103. package/i18n/traditional-chinese.js +1 -1
  104. package/i18n/traditional-chinese.min.js +1 -1
  105. package/i18n/turkish.js +1 -1
  106. package/i18n/turkish.min.js +1 -1
  107. package/i18n/ukrainian.js +1 -1
  108. package/i18n/ukrainian.min.js +1 -1
  109. package/i18n/urdu.js +1 -1
  110. package/i18n/urdu.min.js +2 -2
  111. package/i18n/vietnamese.js +1 -1
  112. package/i18n/vietnamese.min.js +1 -1
  113. package/i18n/welsh.js +1 -1
  114. package/i18n/welsh.min.js +1 -1
  115. package/modern.css +1 -1
  116. package/modern.fontless.css +1 -1
  117. package/modern.fontless.min.css +1 -1
  118. package/modern.min.css +1 -1
  119. package/package.json +1 -1
  120. package/plugins/bootstrap-integration.js +1 -1
  121. package/plugins/bootstrap-integration.min.js +1 -1
  122. package/plugins/bootstrap-material-integration.js +1 -1
  123. package/plugins/bootstrap-material-integration.min.js +1 -1
  124. package/survey.core.js +362 -169
  125. package/survey.core.js.map +1 -1
  126. package/survey.core.min.js +3 -3
  127. package/survey.css +1 -1
  128. package/survey.i18n.js +132 -1
  129. package/survey.i18n.js.map +1 -1
  130. package/survey.i18n.min.js +2 -2
  131. package/survey.min.css +1 -1
  132. package/themes/borderless-dark-panelless.js +1 -1
  133. package/themes/borderless-dark-panelless.min.js +1 -1
  134. package/themes/borderless-dark.js +1 -1
  135. package/themes/borderless-dark.min.js +1 -1
  136. package/themes/borderless-light-panelless..js +1 -1
  137. package/themes/borderless-light-panelless..min.js +1 -1
  138. package/themes/borderless-light.js +1 -1
  139. package/themes/borderless-light.min.js +1 -1
  140. package/themes/contrast-dark-panelless.js +1 -1
  141. package/themes/contrast-dark-panelless.min.js +1 -1
  142. package/themes/contrast-dark.js +1 -1
  143. package/themes/contrast-dark.min.js +1 -1
  144. package/themes/contrast-light-panelless.js +1 -1
  145. package/themes/contrast-light-panelless.min.js +1 -1
  146. package/themes/contrast-light.js +1 -1
  147. package/themes/contrast-light.min.js +1 -1
  148. package/themes/default-dark-panelless.js +1 -1
  149. package/themes/default-dark-panelless.min.js +1 -1
  150. package/themes/default-dark.js +1 -1
  151. package/themes/default-dark.min.js +1 -1
  152. package/themes/default-light-panelless.js +1 -1
  153. package/themes/default-light-panelless.min.js +1 -1
  154. package/themes/default-light.js +1 -1
  155. package/themes/default-light.min.js +1 -1
  156. package/themes/doubleborder-dark-panelless.js +1 -1
  157. package/themes/doubleborder-dark-panelless.min.js +1 -1
  158. package/themes/doubleborder-dark.js +1 -1
  159. package/themes/doubleborder-dark.min.js +1 -1
  160. package/themes/doubleborder-light-panelles.js +1 -1
  161. package/themes/doubleborder-light-panelles.min.js +1 -1
  162. package/themes/doubleborder-light.js +1 -1
  163. package/themes/doubleborder-light.min.js +1 -1
  164. package/themes/flat-dark-panelless.js +1 -1
  165. package/themes/flat-dark-panelless.min.js +1 -1
  166. package/themes/flat-dark.js +1 -1
  167. package/themes/flat-dark.min.js +1 -1
  168. package/themes/flat-light-panelless.js +1 -1
  169. package/themes/flat-light-panelless.min.js +1 -1
  170. package/themes/flat-light.js +1 -1
  171. package/themes/flat-light.min.js +1 -1
  172. package/themes/index.js +1 -1
  173. package/themes/index.min.js +1 -1
  174. package/themes/layered-dark-panelless.js +1 -1
  175. package/themes/layered-dark-panelless.min.js +1 -1
  176. package/themes/layered-dark.js +1 -1
  177. package/themes/layered-dark.min.js +1 -1
  178. package/themes/layered-light-panelless.js +1 -1
  179. package/themes/layered-light-panelless.min.js +1 -1
  180. package/themes/layered-light.js +1 -1
  181. package/themes/layered-light.min.js +1 -1
  182. package/themes/plain-dark-panelless.js +1 -1
  183. package/themes/plain-dark-panelless.min.js +1 -1
  184. package/themes/plain-dark.js +1 -1
  185. package/themes/plain-dark.min.js +1 -1
  186. package/themes/plain-light-panelless.js +1 -1
  187. package/themes/plain-light-panelless.min.js +1 -1
  188. package/themes/plain-light.js +1 -1
  189. package/themes/plain-light.min.js +1 -1
  190. package/themes/sharp-dark-panelless.js +1 -1
  191. package/themes/sharp-dark-panelless.min.js +1 -1
  192. package/themes/sharp-dark.js +1 -1
  193. package/themes/sharp-dark.min.js +1 -1
  194. package/themes/sharp-light-panelless.js +1 -1
  195. package/themes/sharp-light-panelless.min.js +1 -1
  196. package/themes/sharp-light.js +1 -1
  197. package/themes/sharp-light.min.js +1 -1
  198. package/themes/solid-dark-panelless.js +1 -1
  199. package/themes/solid-dark-panelless.min.js +1 -1
  200. package/themes/solid-dark.js +1 -1
  201. package/themes/solid-dark.min.js +1 -1
  202. package/themes/solid-light-panelless.js +1 -1
  203. package/themes/solid-light-panelless.min.js +1 -1
  204. package/themes/solid-light.js +1 -1
  205. package/themes/solid-light.min.js +1 -1
  206. package/themes/three-dimensional-dark-panelless.js +1 -1
  207. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  208. package/themes/three-dimensional-dark.js +1 -1
  209. package/themes/three-dimensional-dark.min.js +1 -1
  210. package/themes/three-dimensional-light-panelless.js +1 -1
  211. package/themes/three-dimensional-light-panelless.min.js +1 -1
  212. package/themes/three-dimensional-light.js +1 -1
  213. package/themes/three-dimensional-light.min.js +1 -1
  214. package/ts3.4/typings/actions/action.d.ts +3 -2
  215. package/ts3.4/typings/defaultCss/defaultV2Css.d.ts +2 -0
  216. package/ts3.4/typings/list.d.ts +11 -7
  217. package/ts3.4/typings/multiSelectListModel.d.ts +5 -2
  218. package/ts3.4/typings/popup-view-model.d.ts +2 -0
  219. package/ts3.4/typings/popup.d.ts +3 -0
  220. package/ts3.4/typings/question.d.ts +4 -1
  221. package/ts3.4/typings/question_baseselect.d.ts +1 -1
  222. package/ts3.4/typings/question_dropdown.d.ts +1 -1
  223. package/ts3.4/typings/question_file.d.ts +1 -1
  224. package/ts3.4/typings/question_matrixdropdownbase.d.ts +7 -3
  225. package/ts3.4/typings/question_matrixdynamic.d.ts +1 -2
  226. package/ts3.4/typings/question_rating.d.ts +1 -0
  227. package/ts3.4/typings/question_signaturepad.d.ts +1 -1
  228. package/ts3.4/typings/question_tagbox.d.ts +1 -1
  229. package/ts3.4/typings/survey.d.ts +3 -2
  230. package/typings/actions/action.d.ts +3 -2
  231. package/typings/defaultCss/defaultV2Css.d.ts +2 -0
  232. package/typings/list.d.ts +11 -7
  233. package/typings/multiSelectListModel.d.ts +5 -2
  234. package/typings/popup-view-model.d.ts +3 -1
  235. package/typings/popup.d.ts +3 -0
  236. package/typings/question.d.ts +4 -1
  237. package/typings/question_baseselect.d.ts +1 -1
  238. package/typings/question_dropdown.d.ts +1 -1
  239. package/typings/question_file.d.ts +1 -1
  240. package/typings/question_matrixdropdownbase.d.ts +7 -3
  241. package/typings/question_matrixdynamic.d.ts +1 -2
  242. package/typings/question_rating.d.ts +1 -0
  243. package/typings/question_signaturepad.d.ts +1 -1
  244. package/typings/question_tagbox.d.ts +1 -1
  245. package/typings/survey.d.ts +3 -2
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.10.4
2
+ * surveyjs - Survey JavaScript library v1.10.6
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.10.4
2
+ * surveyjs - Survey JavaScript library v1.10.6
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.10.4
2
+ * surveyjs - Survey JavaScript library v1.10.6
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.10.4
2
+ * surveyjs - Survey JavaScript library v1.10.6
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.10.4
2
+ * surveyjs - Survey JavaScript library v1.10.6
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.10.4
2
+ * surveyjs - Survey JavaScript library v1.10.6
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.10.4
2
+ * surveyjs - Survey JavaScript library v1.10.6
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.10.4
2
+ * surveyjs - Survey JavaScript library v1.10.6
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -1,7 +1,7 @@
1
1
  import { ILocalizableOwner, LocalizableString } from "../localizablestring";
2
2
  import { Base, ComputedUpdater } from "../base";
3
3
  import { IListModel } from "../list";
4
- import { IPopupOptionsBase } from "../popup";
4
+ import { IPopupOptionsBase, PopupModel } from "../popup";
5
5
  export declare type actionModeType = "large" | "small" | "popup" | "removed";
6
6
  /**
7
7
  * An action item.
@@ -150,7 +150,8 @@ export interface IAction {
150
150
  export interface IActionDropdownPopupOptions extends IListModel, IPopupOptionsBase {
151
151
  }
152
152
  export declare function createDropdownActionModel(actionOptions: IAction, dropdownOptions: IActionDropdownPopupOptions, locOwner?: ILocalizableOwner): Action;
153
- export declare function createDropdownActionModelAdvanced(actionOptions: IAction, listOptions: IListModel, popupOptions?: IPopupOptionsBase, locOwner?: ILocalizableOwner): Action;
153
+ export declare function createDropdownActionModelAdvanced(actionOptions: IAction, listOptions: IListModel, popupOptions?: IPopupOptionsBase): Action;
154
+ export declare function createPopupModelWithListModel(listOptions: IListModel, popupOptions: IPopupOptionsBase): PopupModel;
154
155
  export declare function getActionDropdownButtonTarget(container: HTMLElement): HTMLElement;
155
156
  export declare abstract class BaseAction extends Base implements IAction {
156
157
  private static renderedId;
@@ -8,6 +8,7 @@ export declare var defaultV2Css: {
8
8
  rootFitToContainer: string;
9
9
  rootWrapper: string;
10
10
  rootWrapperFixed: string;
11
+ rootWrapperHasImage: string;
11
12
  rootBackgroundImage: string;
12
13
  container: string;
13
14
  header: string;
@@ -564,6 +565,7 @@ export declare var defaultV2Css: {
564
565
  dragElementDecorator: string;
565
566
  iconDragElement: string;
566
567
  footer: string;
568
+ footerTotalCell: string;
567
569
  emptyRowsSection: string;
568
570
  iconDrag: string;
569
571
  ghostRow: string;
@@ -1,5 +1,6 @@
1
1
  import { ActionContainer } from "./actions/container";
2
2
  import { Action, BaseAction, IAction } from "./actions/action";
3
+ import { ILocalizableOwner } from "./localizablestring";
3
4
  export declare let defaultListCss: {
4
5
  root: string;
5
6
  item: string;
@@ -23,19 +24,23 @@ export declare let defaultListCss: {
23
24
  };
24
25
  export interface IListModel {
25
26
  items: Array<IAction>;
26
- onSelectionChanged: (item: Action, ...params: any[]) => void;
27
+ onSelectionChanged: (item: IAction, ...params: any[]) => void;
27
28
  allowSelection?: boolean;
29
+ searchEnabled?: boolean;
28
30
  selectedItem?: IAction;
31
+ elementId?: string;
32
+ locOwner?: ILocalizableOwner;
29
33
  onFilterStringChangedCallback?: (text: string) => void;
30
- onTextSearchCallback?: (text: string, textToSearch: string) => boolean;
34
+ onTextSearchCallback?: (item: IAction, textToSearch: string) => boolean;
31
35
  }
32
36
  export declare class ListModel<T extends BaseAction = Action> extends ActionContainer<T> {
33
- onSelectionChanged: (item: T, ...params: any[]) => void;
34
- allowSelection: boolean;
37
+ onSelectionChanged?: (item: T, ...params: any[]) => void;
38
+ allowSelection?: boolean;
35
39
  elementId?: string;
36
40
  private listContainerHtmlElement;
37
41
  private loadingIndicatorValue;
38
- private onFilterStringChangedCallback?;
42
+ private onFilterStringChangedCallback;
43
+ private onTextSearchCallback;
39
44
  searchEnabled: boolean;
40
45
  showFilter: boolean;
41
46
  forceShowFilter: boolean;
@@ -58,8 +63,7 @@ export declare class ListModel<T extends BaseAction = Action> extends ActionCont
58
63
  private readonly shouldProcessFilter: any;
59
64
  private onFilterStringChanged;
60
65
  private scrollToItem;
61
- constructor(items: Array<IAction>, onSelectionChanged: (item: T, ...params: any[]) => void, allowSelection: boolean, selectedItem?: IAction, elementId?: string);
62
- private onTextSearchCallback;
66
+ constructor(items: Array<IAction> | IListModel, onSelectionChanged?: (item: T, ...params: any[]) => void, allowSelection?: boolean, selectedItem?: IAction, elementId?: string);
63
67
  setOnFilterStringChangedCallback(callback: (text: string) => void): void;
64
68
  setOnTextSearchCallback(callback: (item: T, textToSearch: string) => boolean): void;
65
69
  setItems(items: Array<IAction>, sortByVisibleIndex?: boolean): void;
@@ -1,10 +1,13 @@
1
1
  import { Action, BaseAction, IAction } from "./actions/action";
2
- import { ListModel } from "./list";
2
+ import { IListModel, ListModel } from "./list";
3
+ export interface IMultiSelectListModel extends IListModel {
4
+ selectedItems?: Array<IAction>;
5
+ }
3
6
  export declare class MultiSelectListModel<T extends BaseAction = Action> extends ListModel<T> {
4
7
  selectedItems: Array<IAction>;
5
8
  hideSelectedItems: boolean;
6
9
  private updateItemState;
7
- constructor(items: Array<IAction>, onSelectionChanged: (item: T, status: string) => void, allowSelection: boolean, selectedItems?: Array<IAction>, elementId?: string);
10
+ constructor(options: IMultiSelectListModel);
8
11
  onItemClick: (item: T) => void;
9
12
  isItemDisabled: (itemValue: T) => boolean;
10
13
  isItemSelected: (itemValue: T) => boolean;
@@ -19,6 +19,8 @@ export declare class PopupBaseViewModel extends Base implements IAnimationConsum
19
19
  _isVisible: boolean;
20
20
  locale: string;
21
21
  private updateIsVisible;
22
+ private updateBeforeShowing;
23
+ private updateAfterHiding;
22
24
  private visibilityAnimation;
23
25
  getLeaveOptions(): AnimationOptions;
24
26
  getEnterOptions(): AnimationOptions;
@@ -49,8 +49,11 @@ export declare class PopupModel<T = any> extends Base implements IPopupOptionsBa
49
49
  constructor(contentComponentName: string, contentComponentData: T, option1?: IPopupOptionsBase | any, option2?: any);
50
50
  isVisible: boolean;
51
51
  toggleVisibility(): void;
52
+ show(): void;
53
+ hide(): void;
52
54
  recalculatePosition(isResetHeight: boolean): void;
53
55
  updateFooterActions(footerActions: Array<IAction>): Array<IAction>;
56
+ onHiding(): void;
54
57
  dispose(): void;
55
58
  }
56
59
  export declare function createDialogOptions(componentName: string, data: any, onApply: () => boolean, onCancel?: () => void, onHide?: () => void, onShow?: () => void, cssClass?: string, title?: string, displayMode?: "popup" | "overlay"): IDialogOptions;
@@ -545,7 +545,8 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
545
545
  * @see value
546
546
  * @see comment
547
547
  */
548
- clearValue(): void;
548
+ clearValue(keepComment?: boolean): void;
549
+ clearValueOnly(): void;
549
550
  unbindValue(): void;
550
551
  createValueCopy(): any;
551
552
  initDataUI(): void;
@@ -839,6 +840,8 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
839
840
  private initResponsiveness;
840
841
  protected getCompactRenderAs(): string;
841
842
  protected getDesktopRenderAs(): string;
843
+ protected onBeforeSetCompactRenderer(): void;
844
+ protected onBeforeSetDesktopRenderer(): void;
842
845
  protected processResponsiveness(requiredWidth: number, availableWidth: number): any;
843
846
  destroyResizeObserver(): void;
844
847
  dispose(): void;
@@ -181,7 +181,7 @@ export declare class QuestionSelectBase extends Question {
181
181
  protected setQuestionComment(newValue: string): void;
182
182
  private onUpdateCommentOnAutoOtherMode;
183
183
  private setOtherValueInternally;
184
- clearValue(): void;
184
+ clearValue(keepComment?: boolean): void;
185
185
  updateCommentFromSurvey(newValue: any): any;
186
186
  renderedValue: any;
187
187
  private makeCommentEmpty;
@@ -134,7 +134,7 @@ export declare class QuestionDropdownModel extends QuestionSelectBase {
134
134
  protected onVisibleChoicesChanged(): void;
135
135
  protected getFirstInputElementId(): string;
136
136
  getInputId(): string;
137
- clearValue(): void;
137
+ clearValue(keepComment?: boolean): void;
138
138
  onClick(e: any): void;
139
139
  onKeyUp(event: any): void;
140
140
  dispose(): void;
@@ -39,7 +39,7 @@ export declare class QuestionFileModelBase extends Question {
39
39
  * Default value: `false`
40
40
  */
41
41
  waitForUpload: boolean;
42
- clearValue(): void;
42
+ clearValue(keepComment?: boolean): void;
43
43
  clearOnDeletingContainer(): void;
44
44
  protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
45
45
  protected uploadFiles(files: File[]): void;
@@ -97,7 +97,7 @@ export declare class MatrixDropdownRowModelBase implements ISurveyData, ISurveyI
97
97
  getFilteredValues(): any;
98
98
  getFilteredProperties(): any;
99
99
  runCondition(values: HashTable<any>, properties: HashTable<any>): void;
100
- clearValue(): void;
100
+ clearValue(keepComment?: boolean): void;
101
101
  onAnyValueChanged(name: string, questionName: string): void;
102
102
  getDataValueCore(valuesHash: any, key: string): any;
103
103
  getValue(name: string): any;
@@ -451,10 +451,14 @@ export declare class QuestionMatrixDropdownModelBase extends QuestionMatrixBaseM
451
451
  getAllErrors(): Array<SurveyError>;
452
452
  private hasErrorInRows;
453
453
  private isValueDuplicated;
454
+ protected getUniqueColumnsNames(): Array<string>;
454
455
  private isValueInColumnDuplicated;
455
- protected getUniqueColumns(): Array<MatrixDropdownColumn>;
456
- private isValueDuplicatedInRow;
456
+ private getDuplicatedRows;
457
+ private showDuplicatedErrorsInRows;
458
+ private removeDuplicatedErrorsInRows;
459
+ private getDuplicationError;
457
460
  private addDuplicationError;
461
+ private removeDuplicationError;
458
462
  getFirstQuestionToFocus(withError: boolean): Question;
459
463
  protected getFirstInputElementId(): string;
460
464
  protected getFirstErrorInputElementId(): string;
@@ -4,7 +4,6 @@ import { SurveyError } from "./survey-error";
4
4
  import { DragDropMatrixRows } from "./dragdrop/matrix-rows";
5
5
  import { IShortcutText, ISurveyImpl, IProgressInfo } from "./base-interfaces";
6
6
  import { QuestionMatrixDropdownRenderedTable } from "./question_matrixdropdownrendered";
7
- import { MatrixDropdownColumn } from "./question_matrixdropdowncolumn";
8
7
  export declare class MatrixDynamicRowModel extends MatrixDropdownRowModelBase implements IShortcutText {
9
8
  index: number;
10
9
  private dragOrClickHelper;
@@ -235,7 +234,7 @@ export declare class QuestionMatrixDynamicModel extends QuestionMatrixDropdownMo
235
234
  readonly hasRowText: boolean;
236
235
  protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
237
236
  private hasErrorInMinRows;
238
- protected getUniqueColumns(): Array<MatrixDropdownColumn>;
237
+ protected getUniqueColumnsNames(): Array<string>;
239
238
  protected generateRows(): Array<MatrixDynamicRowModel>;
240
239
  protected createMatrixRow(value: any): MatrixDynamicRowModel;
241
240
  private lastDeletedRow;
@@ -260,6 +260,7 @@ export declare class QuestionRatingModel extends Question {
260
260
  readonly readOnlyText: any;
261
261
  needResponsiveWidth(): boolean;
262
262
  protected supportResponsiveness(): boolean;
263
+ protected onBeforeSetCompactRenderer(): void;
263
264
  protected getCompactRenderAs(): string;
264
265
  protected getDesktopRenderAs(): string;
265
266
  readonly ariaExpanded: string;
@@ -132,6 +132,6 @@ export declare class QuestionSignaturePadModel extends QuestionFileModelBase {
132
132
  onBlur: (event: any) => void;
133
133
  protected uploadResultItemToValue(r: any): any;
134
134
  protected setValueFromResult(arg: any): void;
135
- clearValue(): void;
135
+ clearValue(keepComment?: boolean): void;
136
136
  endLoadingFromJson(): void;
137
137
  }
@@ -83,7 +83,7 @@ export declare class QuestionTagboxModel extends QuestionCheckboxModel {
83
83
  protected getFirstInputElementId(): string;
84
84
  getInputId(): string;
85
85
  dispose(): void;
86
- clearValue(): void;
86
+ clearValue(keepComment?: boolean): void;
87
87
  readonly showClearButton: boolean;
88
88
  readonly isNewA11yStructure: boolean;
89
89
  }
@@ -1827,7 +1827,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1827
1827
  * @see validateCurrentPage
1828
1828
  * @see validatePage
1829
1829
  */
1830
- validate(fireCallback?: boolean, focusOnFirstError?: boolean, onAsyncValidation?: (hasErrors: boolean) => void): boolean;
1830
+ validate(fireCallback?: boolean, focusOnFirstError?: boolean, onAsyncValidation?: (hasErrors: boolean) => void, changeCurrentPage?: boolean): boolean;
1831
1831
  ensureUniqueNames(element?: ISurveyElement): void;
1832
1832
  private ensureUniqueName;
1833
1833
  private ensureUniquePageName;
@@ -2302,7 +2302,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2302
2302
  * @see addNewPage
2303
2303
  */
2304
2304
  createNewPage(name: string): PageModel;
2305
- protected questionOnValueChanging(valueName: string, newValue: any): any;
2305
+ protected questionOnValueChanging(valueName: string, newValue: any, questionValueName?: string): any;
2306
2306
  protected updateQuestionValue(valueName: string, newValue: any): void;
2307
2307
  private checkQuestionErrorOnValueChanged;
2308
2308
  private checkQuestionErrorOnValueChangedCore;
@@ -2320,6 +2320,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2320
2320
  private triggerValues;
2321
2321
  private triggerKeys;
2322
2322
  private checkTriggers;
2323
+ private checkTriggersAndRunConditions;
2323
2324
  private readonly hasRequiredValidQuestionTrigger: any;
2324
2325
  private doElementsOnLoad;
2325
2326
  private conditionValues;
@@ -1,7 +1,7 @@
1
1
  import { ILocalizableOwner, LocalizableString } from "../localizablestring";
2
2
  import { Base, ComputedUpdater } from "../base";
3
3
  import { IListModel } from "../list";
4
- import { IPopupOptionsBase } from "../popup";
4
+ import { IPopupOptionsBase, PopupModel } from "../popup";
5
5
  export declare type actionModeType = "large" | "small" | "popup" | "removed";
6
6
  /**
7
7
  * An action item.
@@ -150,7 +150,8 @@ export interface IAction {
150
150
  export interface IActionDropdownPopupOptions extends IListModel, IPopupOptionsBase {
151
151
  }
152
152
  export declare function createDropdownActionModel(actionOptions: IAction, dropdownOptions: IActionDropdownPopupOptions, locOwner?: ILocalizableOwner): Action;
153
- export declare function createDropdownActionModelAdvanced(actionOptions: IAction, listOptions: IListModel, popupOptions?: IPopupOptionsBase, locOwner?: ILocalizableOwner): Action;
153
+ export declare function createDropdownActionModelAdvanced(actionOptions: IAction, listOptions: IListModel, popupOptions?: IPopupOptionsBase): Action;
154
+ export declare function createPopupModelWithListModel(listOptions: IListModel, popupOptions: IPopupOptionsBase): PopupModel;
154
155
  export declare function getActionDropdownButtonTarget(container: HTMLElement): HTMLElement;
155
156
  export declare abstract class BaseAction extends Base implements IAction {
156
157
  private static renderedId;
@@ -8,6 +8,7 @@ export declare var defaultV2Css: {
8
8
  rootFitToContainer: string;
9
9
  rootWrapper: string;
10
10
  rootWrapperFixed: string;
11
+ rootWrapperHasImage: string;
11
12
  rootBackgroundImage: string;
12
13
  container: string;
13
14
  header: string;
@@ -564,6 +565,7 @@ export declare var defaultV2Css: {
564
565
  dragElementDecorator: string;
565
566
  iconDragElement: string;
566
567
  footer: string;
568
+ footerTotalCell: string;
567
569
  emptyRowsSection: string;
568
570
  iconDrag: string;
569
571
  ghostRow: string;
package/typings/list.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { ActionContainer } from "./actions/container";
2
2
  import { Action, BaseAction, IAction } from "./actions/action";
3
+ import { ILocalizableOwner } from "./localizablestring";
3
4
  export declare let defaultListCss: {
4
5
  root: string;
5
6
  item: string;
@@ -23,19 +24,23 @@ export declare let defaultListCss: {
23
24
  };
24
25
  export interface IListModel {
25
26
  items: Array<IAction>;
26
- onSelectionChanged: (item: Action, ...params: any[]) => void;
27
+ onSelectionChanged: (item: IAction, ...params: any[]) => void;
27
28
  allowSelection?: boolean;
29
+ searchEnabled?: boolean;
28
30
  selectedItem?: IAction;
31
+ elementId?: string;
32
+ locOwner?: ILocalizableOwner;
29
33
  onFilterStringChangedCallback?: (text: string) => void;
30
- onTextSearchCallback?: (text: string, textToSearch: string) => boolean;
34
+ onTextSearchCallback?: (item: IAction, textToSearch: string) => boolean;
31
35
  }
32
36
  export declare class ListModel<T extends BaseAction = Action> extends ActionContainer<T> {
33
- onSelectionChanged: (item: T, ...params: any[]) => void;
34
- allowSelection: boolean;
37
+ onSelectionChanged?: (item: T, ...params: any[]) => void;
38
+ allowSelection?: boolean;
35
39
  elementId?: string;
36
40
  private listContainerHtmlElement;
37
41
  private loadingIndicatorValue;
38
- private onFilterStringChangedCallback?;
42
+ private onFilterStringChangedCallback;
43
+ private onTextSearchCallback;
39
44
  searchEnabled: boolean;
40
45
  showFilter: boolean;
41
46
  forceShowFilter: boolean;
@@ -58,8 +63,7 @@ export declare class ListModel<T extends BaseAction = Action> extends ActionCont
58
63
  private get shouldProcessFilter();
59
64
  private onFilterStringChanged;
60
65
  private scrollToItem;
61
- constructor(items: Array<IAction>, onSelectionChanged: (item: T, ...params: any[]) => void, allowSelection: boolean, selectedItem?: IAction, elementId?: string);
62
- private onTextSearchCallback;
66
+ constructor(items: Array<IAction> | IListModel, onSelectionChanged?: (item: T, ...params: any[]) => void, allowSelection?: boolean, selectedItem?: IAction, elementId?: string);
63
67
  setOnFilterStringChangedCallback(callback: (text: string) => void): void;
64
68
  setOnTextSearchCallback(callback: (item: T, textToSearch: string) => boolean): void;
65
69
  setItems(items: Array<IAction>, sortByVisibleIndex?: boolean): void;
@@ -1,10 +1,13 @@
1
1
  import { Action, BaseAction, IAction } from "./actions/action";
2
- import { ListModel } from "./list";
2
+ import { IListModel, ListModel } from "./list";
3
+ export interface IMultiSelectListModel extends IListModel {
4
+ selectedItems?: Array<IAction>;
5
+ }
3
6
  export declare class MultiSelectListModel<T extends BaseAction = Action> extends ListModel<T> {
4
7
  selectedItems: Array<IAction>;
5
8
  hideSelectedItems: boolean;
6
9
  private updateItemState;
7
- constructor(items: Array<IAction>, onSelectionChanged: (item: T, status: string) => void, allowSelection: boolean, selectedItems?: Array<IAction>, elementId?: string);
10
+ constructor(options: IMultiSelectListModel);
8
11
  onItemClick: (item: T) => void;
9
12
  isItemDisabled: (itemValue: T) => boolean;
10
13
  isItemSelected: (itemValue: T) => boolean;
@@ -19,14 +19,16 @@ export declare class PopupBaseViewModel extends Base implements IAnimationConsum
19
19
  _isVisible: boolean;
20
20
  locale: string;
21
21
  private updateIsVisible;
22
+ private updateBeforeShowing;
23
+ private updateAfterHiding;
22
24
  private visibilityAnimation;
23
25
  getLeaveOptions(): AnimationOptions;
24
26
  getEnterOptions(): AnimationOptions;
25
27
  getAnimatedElement(): HTMLElement;
26
28
  isAnimationEnabled(): boolean;
27
29
  private getAnimationContainer;
28
- set isVisible(val: boolean);
29
30
  get isVisible(): boolean;
31
+ set isVisible(val: boolean);
30
32
  onVisibilityChanged: EventBase<PopupBaseViewModel, any>;
31
33
  get container(): HTMLElement;
32
34
  private containerElement;
@@ -50,8 +50,11 @@ export declare class PopupModel<T = any> extends Base implements IPopupOptionsBa
50
50
  get isVisible(): boolean;
51
51
  set isVisible(value: boolean);
52
52
  toggleVisibility(): void;
53
+ show(): void;
54
+ hide(): void;
53
55
  recalculatePosition(isResetHeight: boolean): void;
54
56
  updateFooterActions(footerActions: Array<IAction>): Array<IAction>;
57
+ onHiding(): void;
55
58
  dispose(): void;
56
59
  }
57
60
  export declare function createDialogOptions(componentName: string, data: any, onApply: () => boolean, onCancel?: () => void, onHide?: () => void, onShow?: () => void, cssClass?: string, title?: string, displayMode?: "popup" | "overlay"): IDialogOptions;
@@ -570,7 +570,8 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
570
570
  * @see value
571
571
  * @see comment
572
572
  */
573
- clearValue(): void;
573
+ clearValue(keepComment?: boolean): void;
574
+ clearValueOnly(): void;
574
575
  unbindValue(): void;
575
576
  createValueCopy(): any;
576
577
  initDataUI(): void;
@@ -875,6 +876,8 @@ export declare class Question extends SurveyElement<Question> implements IQuesti
875
876
  private initResponsiveness;
876
877
  protected getCompactRenderAs(): string;
877
878
  protected getDesktopRenderAs(): string;
879
+ protected onBeforeSetCompactRenderer(): void;
880
+ protected onBeforeSetDesktopRenderer(): void;
878
881
  protected processResponsiveness(requiredWidth: number, availableWidth: number): any;
879
882
  destroyResizeObserver(): void;
880
883
  dispose(): void;
@@ -193,7 +193,7 @@ export declare class QuestionSelectBase extends Question {
193
193
  protected setQuestionComment(newValue: string): void;
194
194
  private onUpdateCommentOnAutoOtherMode;
195
195
  private setOtherValueInternally;
196
- clearValue(): void;
196
+ clearValue(keepComment?: boolean): void;
197
197
  updateCommentFromSurvey(newValue: any): any;
198
198
  get renderedValue(): any;
199
199
  set renderedValue(val: any);
@@ -143,7 +143,7 @@ export declare class QuestionDropdownModel extends QuestionSelectBase {
143
143
  protected onVisibleChoicesChanged(): void;
144
144
  protected getFirstInputElementId(): string;
145
145
  getInputId(): string;
146
- clearValue(): void;
146
+ clearValue(keepComment?: boolean): void;
147
147
  onClick(e: any): void;
148
148
  onKeyUp(event: any): void;
149
149
  dispose(): void;
@@ -41,7 +41,7 @@ export declare class QuestionFileModelBase extends Question {
41
41
  */
42
42
  get waitForUpload(): boolean;
43
43
  set waitForUpload(val: boolean);
44
- clearValue(): void;
44
+ clearValue(keepComment?: boolean): void;
45
45
  clearOnDeletingContainer(): void;
46
46
  protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
47
47
  protected uploadFiles(files: File[]): void;
@@ -99,7 +99,7 @@ export declare class MatrixDropdownRowModelBase implements ISurveyData, ISurveyI
99
99
  getFilteredValues(): any;
100
100
  getFilteredProperties(): any;
101
101
  runCondition(values: HashTable<any>, properties: HashTable<any>): void;
102
- clearValue(): void;
102
+ clearValue(keepComment?: boolean): void;
103
103
  onAnyValueChanged(name: string, questionName: string): void;
104
104
  getDataValueCore(valuesHash: any, key: string): any;
105
105
  getValue(name: string): any;
@@ -470,10 +470,14 @@ export declare class QuestionMatrixDropdownModelBase extends QuestionMatrixBaseM
470
470
  getAllErrors(): Array<SurveyError>;
471
471
  private hasErrorInRows;
472
472
  private isValueDuplicated;
473
+ protected getUniqueColumnsNames(): Array<string>;
473
474
  private isValueInColumnDuplicated;
474
- protected getUniqueColumns(): Array<MatrixDropdownColumn>;
475
- private isValueDuplicatedInRow;
475
+ private getDuplicatedRows;
476
+ private showDuplicatedErrorsInRows;
477
+ private removeDuplicatedErrorsInRows;
478
+ private getDuplicationError;
476
479
  private addDuplicationError;
480
+ private removeDuplicationError;
477
481
  getFirstQuestionToFocus(withError: boolean): Question;
478
482
  protected getFirstInputElementId(): string;
479
483
  protected getFirstErrorInputElementId(): string;
@@ -4,7 +4,6 @@ import { SurveyError } from "./survey-error";
4
4
  import { DragDropMatrixRows } from "./dragdrop/matrix-rows";
5
5
  import { IShortcutText, ISurveyImpl, IProgressInfo } from "./base-interfaces";
6
6
  import { QuestionMatrixDropdownRenderedTable } from "./question_matrixdropdownrendered";
7
- import { MatrixDropdownColumn } from "./question_matrixdropdowncolumn";
8
7
  export declare class MatrixDynamicRowModel extends MatrixDropdownRowModelBase implements IShortcutText {
9
8
  index: number;
10
9
  private dragOrClickHelper;
@@ -254,7 +253,7 @@ export declare class QuestionMatrixDynamicModel extends QuestionMatrixDropdownMo
254
253
  get hasRowText(): boolean;
255
254
  protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
256
255
  private hasErrorInMinRows;
257
- protected getUniqueColumns(): Array<MatrixDropdownColumn>;
256
+ protected getUniqueColumnsNames(): Array<string>;
258
257
  protected generateRows(): Array<MatrixDynamicRowModel>;
259
258
  protected createMatrixRow(value: any): MatrixDynamicRowModel;
260
259
  private lastDeletedRow;
@@ -270,6 +270,7 @@ export declare class QuestionRatingModel extends Question {
270
270
  get readOnlyText(): any;
271
271
  needResponsiveWidth(): boolean;
272
272
  protected supportResponsiveness(): boolean;
273
+ protected onBeforeSetCompactRenderer(): void;
273
274
  protected getCompactRenderAs(): string;
274
275
  protected getDesktopRenderAs(): string;
275
276
  get ariaExpanded(): string;
@@ -140,6 +140,6 @@ export declare class QuestionSignaturePadModel extends QuestionFileModelBase {
140
140
  onBlur: (event: any) => void;
141
141
  protected uploadResultItemToValue(r: any): any;
142
142
  protected setValueFromResult(arg: any): void;
143
- clearValue(): void;
143
+ clearValue(keepComment?: boolean): void;
144
144
  endLoadingFromJson(): void;
145
145
  }
@@ -86,7 +86,7 @@ export declare class QuestionTagboxModel extends QuestionCheckboxModel {
86
86
  protected getFirstInputElementId(): string;
87
87
  getInputId(): string;
88
88
  dispose(): void;
89
- clearValue(): void;
89
+ clearValue(keepComment?: boolean): void;
90
90
  get showClearButton(): boolean;
91
91
  get isNewA11yStructure(): boolean;
92
92
  }
@@ -1908,7 +1908,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1908
1908
  * @see validateCurrentPage
1909
1909
  * @see validatePage
1910
1910
  */
1911
- validate(fireCallback?: boolean, focusOnFirstError?: boolean, onAsyncValidation?: (hasErrors: boolean) => void): boolean;
1911
+ validate(fireCallback?: boolean, focusOnFirstError?: boolean, onAsyncValidation?: (hasErrors: boolean) => void, changeCurrentPage?: boolean): boolean;
1912
1912
  ensureUniqueNames(element?: ISurveyElement): void;
1913
1913
  private ensureUniqueName;
1914
1914
  private ensureUniquePageName;
@@ -2387,7 +2387,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2387
2387
  * @see addNewPage
2388
2388
  */
2389
2389
  createNewPage(name: string): PageModel;
2390
- protected questionOnValueChanging(valueName: string, newValue: any): any;
2390
+ protected questionOnValueChanging(valueName: string, newValue: any, questionValueName?: string): any;
2391
2391
  protected updateQuestionValue(valueName: string, newValue: any): void;
2392
2392
  private checkQuestionErrorOnValueChanged;
2393
2393
  private checkQuestionErrorOnValueChangedCore;
@@ -2405,6 +2405,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
2405
2405
  private triggerValues;
2406
2406
  private triggerKeys;
2407
2407
  private checkTriggers;
2408
+ private checkTriggersAndRunConditions;
2408
2409
  private get hasRequiredValidQuestionTrigger();
2409
2410
  private doElementsOnLoad;
2410
2411
  private conditionValues;