survey-core 1.12.6 → 1.12.8

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 (322) hide show
  1. package/defaultV2.css +22 -3
  2. package/defaultV2.css.map +1 -1
  3. package/defaultV2.fontless.css +22 -3
  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 +5 -2
  8. package/i18n/arabic.js.map +1 -1
  9. package/i18n/arabic.min.js +2 -2
  10. package/i18n/basque.js +5 -2
  11. package/i18n/basque.js.map +1 -1
  12. package/i18n/basque.min.js +2 -2
  13. package/i18n/bulgarian.js +5 -2
  14. package/i18n/bulgarian.js.map +1 -1
  15. package/i18n/bulgarian.min.js +2 -2
  16. package/i18n/catalan.js +5 -2
  17. package/i18n/catalan.js.map +1 -1
  18. package/i18n/catalan.min.js +2 -2
  19. package/i18n/croatian.js +5 -2
  20. package/i18n/croatian.js.map +1 -1
  21. package/i18n/croatian.min.js +2 -2
  22. package/i18n/czech.js +5 -2
  23. package/i18n/czech.js.map +1 -1
  24. package/i18n/czech.min.js +2 -2
  25. package/i18n/danish.js +5 -2
  26. package/i18n/danish.js.map +1 -1
  27. package/i18n/danish.min.js +2 -2
  28. package/i18n/dutch.js +5 -2
  29. package/i18n/dutch.js.map +1 -1
  30. package/i18n/dutch.min.js +2 -2
  31. package/i18n/english.js +2 -1
  32. package/i18n/english.js.map +1 -1
  33. package/i18n/english.min.js +2 -2
  34. package/i18n/estonian.js +5 -2
  35. package/i18n/estonian.js.map +1 -1
  36. package/i18n/estonian.min.js +2 -2
  37. package/i18n/finnish.js +5 -2
  38. package/i18n/finnish.js.map +1 -1
  39. package/i18n/finnish.min.js +2 -2
  40. package/i18n/french.js +5 -2
  41. package/i18n/french.js.map +1 -1
  42. package/i18n/french.min.js +2 -2
  43. package/i18n/georgian.js +5 -2
  44. package/i18n/georgian.js.map +1 -1
  45. package/i18n/georgian.min.js +2 -2
  46. package/i18n/german.js +5 -2
  47. package/i18n/german.js.map +1 -1
  48. package/i18n/german.min.js +2 -2
  49. package/i18n/greek.js +5 -2
  50. package/i18n/greek.js.map +1 -1
  51. package/i18n/greek.min.js +2 -2
  52. package/i18n/hebrew.js +5 -2
  53. package/i18n/hebrew.js.map +1 -1
  54. package/i18n/hebrew.min.js +2 -2
  55. package/i18n/hindi.js +5 -2
  56. package/i18n/hindi.js.map +1 -1
  57. package/i18n/hindi.min.js +2 -2
  58. package/i18n/hungarian.js +5 -2
  59. package/i18n/hungarian.js.map +1 -1
  60. package/i18n/hungarian.min.js +2 -2
  61. package/i18n/icelandic.js +5 -2
  62. package/i18n/icelandic.js.map +1 -1
  63. package/i18n/icelandic.min.js +2 -2
  64. package/i18n/index.js +193 -48
  65. package/i18n/index.js.map +1 -1
  66. package/i18n/index.min.js +2 -2
  67. package/i18n/indonesian.js +5 -2
  68. package/i18n/indonesian.js.map +1 -1
  69. package/i18n/indonesian.min.js +2 -2
  70. package/i18n/italian.js +5 -2
  71. package/i18n/italian.js.map +1 -1
  72. package/i18n/italian.min.js +2 -2
  73. package/i18n/japanese.js +5 -1
  74. package/i18n/japanese.js.map +1 -1
  75. package/i18n/japanese.min.js +2 -2
  76. package/i18n/kazakh.js +5 -2
  77. package/i18n/kazakh.js.map +1 -1
  78. package/i18n/kazakh.min.js +2 -2
  79. package/i18n/korean.js +5 -2
  80. package/i18n/korean.js.map +1 -1
  81. package/i18n/korean.min.js +2 -2
  82. package/i18n/latvian.js +5 -2
  83. package/i18n/latvian.js.map +1 -1
  84. package/i18n/latvian.min.js +2 -2
  85. package/i18n/lithuanian.js +5 -2
  86. package/i18n/lithuanian.js.map +1 -1
  87. package/i18n/lithuanian.min.js +2 -2
  88. package/i18n/macedonian.js +5 -2
  89. package/i18n/macedonian.js.map +1 -1
  90. package/i18n/macedonian.min.js +2 -2
  91. package/i18n/malay.js +5 -2
  92. package/i18n/malay.js.map +1 -1
  93. package/i18n/malay.min.js +2 -2
  94. package/i18n/nl-BE.js +5 -2
  95. package/i18n/nl-BE.js.map +1 -1
  96. package/i18n/nl-BE.min.js +2 -2
  97. package/i18n/norwegian.js +5 -2
  98. package/i18n/norwegian.js.map +1 -1
  99. package/i18n/norwegian.min.js +2 -2
  100. package/i18n/persian.js +5 -2
  101. package/i18n/persian.js.map +1 -1
  102. package/i18n/persian.min.js +2 -2
  103. package/i18n/philippines.js +5 -2
  104. package/i18n/philippines.js.map +1 -1
  105. package/i18n/philippines.min.js +2 -2
  106. package/i18n/polish.js +5 -2
  107. package/i18n/polish.js.map +1 -1
  108. package/i18n/polish.min.js +2 -2
  109. package/i18n/portuguese-br.js +5 -2
  110. package/i18n/portuguese-br.js.map +1 -1
  111. package/i18n/portuguese-br.min.js +2 -2
  112. package/i18n/portuguese.js +5 -2
  113. package/i18n/portuguese.js.map +1 -1
  114. package/i18n/portuguese.min.js +2 -2
  115. package/i18n/romanian.js +5 -2
  116. package/i18n/romanian.js.map +1 -1
  117. package/i18n/romanian.min.js +2 -2
  118. package/i18n/russian.js +5 -2
  119. package/i18n/russian.js.map +1 -1
  120. package/i18n/russian.min.js +2 -2
  121. package/i18n/serbian.js +5 -2
  122. package/i18n/serbian.js.map +1 -1
  123. package/i18n/serbian.min.js +2 -2
  124. package/i18n/simplified-chinese.js +5 -2
  125. package/i18n/simplified-chinese.js.map +1 -1
  126. package/i18n/simplified-chinese.min.js +2 -2
  127. package/i18n/slovak.js +5 -2
  128. package/i18n/slovak.js.map +1 -1
  129. package/i18n/slovak.min.js +2 -2
  130. package/i18n/spanish.js +5 -2
  131. package/i18n/spanish.js.map +1 -1
  132. package/i18n/spanish.min.js +2 -2
  133. package/i18n/swahili.js +5 -2
  134. package/i18n/swahili.js.map +1 -1
  135. package/i18n/swahili.min.js +2 -2
  136. package/i18n/swedish.js +5 -2
  137. package/i18n/swedish.js.map +1 -1
  138. package/i18n/swedish.min.js +2 -2
  139. package/i18n/tajik.js +1 -1
  140. package/i18n/tajik.min.js +1 -1
  141. package/i18n/telugu.js +5 -2
  142. package/i18n/telugu.js.map +1 -1
  143. package/i18n/telugu.min.js +2 -2
  144. package/i18n/thai.js +5 -2
  145. package/i18n/thai.js.map +1 -1
  146. package/i18n/thai.min.js +2 -2
  147. package/i18n/traditional-chinese.js +5 -2
  148. package/i18n/traditional-chinese.js.map +1 -1
  149. package/i18n/traditional-chinese.min.js +2 -2
  150. package/i18n/turkish.js +5 -2
  151. package/i18n/turkish.js.map +1 -1
  152. package/i18n/turkish.min.js +2 -2
  153. package/i18n/ukrainian.js +5 -2
  154. package/i18n/ukrainian.js.map +1 -1
  155. package/i18n/ukrainian.min.js +2 -2
  156. package/i18n/urdu.js +5 -2
  157. package/i18n/urdu.js.map +1 -1
  158. package/i18n/urdu.min.js +2 -2
  159. package/i18n/vietnamese.js +5 -2
  160. package/i18n/vietnamese.js.map +1 -1
  161. package/i18n/vietnamese.min.js +2 -2
  162. package/i18n/welsh.js +5 -2
  163. package/i18n/welsh.js.map +1 -1
  164. package/i18n/welsh.min.js +2 -2
  165. package/modern.css +17 -1
  166. package/modern.css.map +1 -1
  167. package/modern.fontless.css +17 -1
  168. package/modern.fontless.css.map +1 -1
  169. package/modern.fontless.min.css +2 -2
  170. package/modern.min.css +2 -2
  171. package/package.json +1 -1
  172. package/plugins/bootstrap-integration/cssbootstrap.d.ts +1 -0
  173. package/plugins/bootstrap-integration/index.js +3 -2
  174. package/plugins/bootstrap-integration/index.js.map +1 -1
  175. package/plugins/bootstrap-integration/index.min.js +2 -2
  176. package/plugins/bootstrap-material-integration/cssbootstrapmaterial.d.ts +1 -0
  177. package/plugins/bootstrap-material-integration/index.js +3 -2
  178. package/plugins/bootstrap-material-integration/index.js.map +1 -1
  179. package/plugins/bootstrap-material-integration/index.min.js +2 -2
  180. package/survey.core.js +507 -266
  181. package/survey.core.js.map +1 -1
  182. package/survey.core.min.js +3 -3
  183. package/survey.css +17 -1
  184. package/survey.css.map +1 -1
  185. package/survey.i18n.js +193 -48
  186. package/survey.i18n.js.map +1 -1
  187. package/survey.i18n.min.js +2 -2
  188. package/survey.min.css +2 -2
  189. package/themes/borderless-dark-panelless.js +1 -1
  190. package/themes/borderless-dark-panelless.min.js +1 -1
  191. package/themes/borderless-dark.js +1 -1
  192. package/themes/borderless-dark.min.js +1 -1
  193. package/themes/borderless-light-panelless..js +1 -1
  194. package/themes/borderless-light-panelless..min.js +1 -1
  195. package/themes/borderless-light.js +1 -1
  196. package/themes/borderless-light.min.js +1 -1
  197. package/themes/contrast-dark-panelless.js +1 -1
  198. package/themes/contrast-dark-panelless.min.js +1 -1
  199. package/themes/contrast-dark.js +1 -1
  200. package/themes/contrast-dark.min.js +1 -1
  201. package/themes/contrast-light-panelless.js +1 -1
  202. package/themes/contrast-light-panelless.min.js +1 -1
  203. package/themes/contrast-light.js +1 -1
  204. package/themes/contrast-light.min.js +1 -1
  205. package/themes/default-dark-panelless.js +1 -1
  206. package/themes/default-dark-panelless.min.js +1 -1
  207. package/themes/default-dark.js +1 -1
  208. package/themes/default-dark.min.js +1 -1
  209. package/themes/default-light-panelless.js +1 -1
  210. package/themes/default-light-panelless.min.js +1 -1
  211. package/themes/default-light.js +1 -1
  212. package/themes/default-light.min.js +1 -1
  213. package/themes/doubleborder-dark-panelless.js +1 -1
  214. package/themes/doubleborder-dark-panelless.min.js +1 -1
  215. package/themes/doubleborder-dark.js +1 -1
  216. package/themes/doubleborder-dark.min.js +1 -1
  217. package/themes/doubleborder-light-panelles.js +1 -1
  218. package/themes/doubleborder-light-panelles.min.js +1 -1
  219. package/themes/doubleborder-light.js +1 -1
  220. package/themes/doubleborder-light.min.js +1 -1
  221. package/themes/flat-dark-panelless.js +1 -1
  222. package/themes/flat-dark-panelless.min.js +1 -1
  223. package/themes/flat-dark.js +1 -1
  224. package/themes/flat-dark.min.js +1 -1
  225. package/themes/flat-light-panelless.js +1 -1
  226. package/themes/flat-light-panelless.min.js +1 -1
  227. package/themes/flat-light.js +1 -1
  228. package/themes/flat-light.min.js +1 -1
  229. package/themes/index.js +1 -1
  230. package/themes/index.min.js +1 -1
  231. package/themes/layered-dark-panelless.js +1 -1
  232. package/themes/layered-dark-panelless.min.js +1 -1
  233. package/themes/layered-dark.js +1 -1
  234. package/themes/layered-dark.min.js +1 -1
  235. package/themes/layered-light-panelless.js +1 -1
  236. package/themes/layered-light-panelless.min.js +1 -1
  237. package/themes/layered-light.js +1 -1
  238. package/themes/layered-light.min.js +1 -1
  239. package/themes/plain-dark-panelless.js +1 -1
  240. package/themes/plain-dark-panelless.min.js +1 -1
  241. package/themes/plain-dark.js +1 -1
  242. package/themes/plain-dark.min.js +1 -1
  243. package/themes/plain-light-panelless.js +1 -1
  244. package/themes/plain-light-panelless.min.js +1 -1
  245. package/themes/plain-light.js +1 -1
  246. package/themes/plain-light.min.js +1 -1
  247. package/themes/sharp-dark-panelless.js +1 -1
  248. package/themes/sharp-dark-panelless.min.js +1 -1
  249. package/themes/sharp-dark.js +1 -1
  250. package/themes/sharp-dark.min.js +1 -1
  251. package/themes/sharp-light-panelless.js +1 -1
  252. package/themes/sharp-light-panelless.min.js +1 -1
  253. package/themes/sharp-light.js +1 -1
  254. package/themes/sharp-light.min.js +1 -1
  255. package/themes/solid-dark-panelless.js +1 -1
  256. package/themes/solid-dark-panelless.min.js +1 -1
  257. package/themes/solid-dark.js +1 -1
  258. package/themes/solid-dark.min.js +1 -1
  259. package/themes/solid-light-panelless.js +1 -1
  260. package/themes/solid-light-panelless.min.js +1 -1
  261. package/themes/solid-light.js +1 -1
  262. package/themes/solid-light.min.js +1 -1
  263. package/themes/three-dimensional-dark-panelless.js +1 -1
  264. package/themes/three-dimensional-dark-panelless.min.js +1 -1
  265. package/themes/three-dimensional-dark.js +1 -1
  266. package/themes/three-dimensional-dark.min.js +1 -1
  267. package/themes/three-dimensional-light-panelless.js +1 -1
  268. package/themes/three-dimensional-light-panelless.min.js +1 -1
  269. package/themes/three-dimensional-light.js +1 -1
  270. package/themes/three-dimensional-light.min.js +1 -1
  271. package/ts3.4/typings/packages/survey-core/src/base-interfaces.d.ts +1 -0
  272. package/ts3.4/typings/packages/survey-core/src/base.d.ts +1 -1
  273. package/ts3.4/typings/packages/survey-core/src/conditionProcessValue.d.ts +2 -0
  274. package/ts3.4/typings/packages/survey-core/src/conditions.d.ts +25 -18
  275. package/ts3.4/typings/packages/survey-core/src/defaultCss/defaultV2Css.d.ts +1 -0
  276. package/ts3.4/typings/packages/survey-core/src/dragdrop/matrix-rows.d.ts +1 -0
  277. package/ts3.4/typings/packages/survey-core/src/expressions/expressions.d.ts +5 -5
  278. package/ts3.4/typings/packages/survey-core/src/itemvalue.d.ts +2 -1
  279. package/ts3.4/typings/packages/survey-core/src/jsonobject.d.ts +1 -1
  280. package/ts3.4/typings/packages/survey-core/src/localizablestring.d.ts +2 -2
  281. package/ts3.4/typings/packages/survey-core/src/localization/english.d.ts +1 -0
  282. package/ts3.4/typings/packages/survey-core/src/question_baseselect.d.ts +1 -1
  283. package/ts3.4/typings/packages/survey-core/src/question_checkbox.d.ts +1 -0
  284. package/ts3.4/typings/packages/survey-core/src/question_file.d.ts +4 -3
  285. package/ts3.4/typings/packages/survey-core/src/question_matrix.d.ts +1 -1
  286. package/ts3.4/typings/packages/survey-core/src/question_matrixdropdownbase.d.ts +5 -0
  287. package/ts3.4/typings/packages/survey-core/src/question_matrixdropdownrendered.d.ts +3 -1
  288. package/ts3.4/typings/packages/survey-core/src/question_matrixdynamic.d.ts +3 -1
  289. package/ts3.4/typings/packages/survey-core/src/question_paneldynamic.d.ts +1 -0
  290. package/ts3.4/typings/packages/survey-core/src/question_signaturepad.d.ts +5 -3
  291. package/ts3.4/typings/packages/survey-core/src/survey-element.d.ts +1 -1
  292. package/ts3.4/typings/packages/survey-core/src/survey-events-api.d.ts +13 -1
  293. package/ts3.4/typings/packages/survey-core/src/survey.d.ts +22 -5
  294. package/ts3.4/typings/packages/survey-core/src/surveyStrings.d.ts +1 -0
  295. package/ts3.4/typings/src/defaultCss/cssmodern.d.ts +1 -0
  296. package/ts3.4/typings/src/defaultCss/cssstandard.d.ts +1 -0
  297. package/typings/packages/survey-core/src/base-interfaces.d.ts +1 -0
  298. package/typings/packages/survey-core/src/base.d.ts +1 -1
  299. package/typings/packages/survey-core/src/conditionProcessValue.d.ts +2 -0
  300. package/typings/packages/survey-core/src/conditions.d.ts +25 -18
  301. package/typings/packages/survey-core/src/defaultCss/defaultV2Css.d.ts +1 -0
  302. package/typings/packages/survey-core/src/dragdrop/matrix-rows.d.ts +1 -0
  303. package/typings/packages/survey-core/src/expressions/expressions.d.ts +5 -5
  304. package/typings/packages/survey-core/src/itemvalue.d.ts +2 -1
  305. package/typings/packages/survey-core/src/jsonobject.d.ts +1 -1
  306. package/typings/packages/survey-core/src/localizablestring.d.ts +2 -2
  307. package/typings/packages/survey-core/src/localization/english.d.ts +1 -0
  308. package/typings/packages/survey-core/src/question_baseselect.d.ts +1 -1
  309. package/typings/packages/survey-core/src/question_checkbox.d.ts +1 -0
  310. package/typings/packages/survey-core/src/question_file.d.ts +5 -4
  311. package/typings/packages/survey-core/src/question_matrix.d.ts +1 -1
  312. package/typings/packages/survey-core/src/question_matrixdropdownbase.d.ts +5 -0
  313. package/typings/packages/survey-core/src/question_matrixdropdownrendered.d.ts +3 -1
  314. package/typings/packages/survey-core/src/question_matrixdynamic.d.ts +3 -1
  315. package/typings/packages/survey-core/src/question_paneldynamic.d.ts +1 -0
  316. package/typings/packages/survey-core/src/question_signaturepad.d.ts +5 -3
  317. package/typings/packages/survey-core/src/survey-element.d.ts +1 -1
  318. package/typings/packages/survey-core/src/survey-events-api.d.ts +13 -1
  319. package/typings/packages/survey-core/src/survey.d.ts +22 -5
  320. package/typings/packages/survey-core/src/surveyStrings.d.ts +1 -0
  321. package/typings/src/defaultCss/cssmodern.d.ts +1 -0
  322. package/typings/src/defaultCss/cssstandard.d.ts +1 -0
@@ -1,4 +1,5 @@
1
1
  import { HashTable } from "./helpers";
2
+ import { Operand } from "./expressions/expressions";
2
3
  /**
3
4
  * Base interface for expression execution
4
5
  */
@@ -6,7 +7,7 @@ export interface IExpresionExecutor {
6
7
  /**
7
8
  * This call back runs on executing expression if there is at least one async function
8
9
  */
9
- onComplete: (res: any) => void;
10
+ onComplete: (res: any, id: number) => void;
10
11
  /**
11
12
  * The expression as string, property with get
12
13
  */
@@ -21,7 +22,7 @@ export interface IExpresionExecutor {
21
22
  * @param values has with values names and their results. Normally it is question names and their values
22
23
  * @param properties the list of properties that are available in functions. Commonly it is survey and question, if expression execuited in a question context
23
24
  */
24
- run(values: HashTable<any>, properties: HashTable<any>): any;
25
+ run(values: HashTable<any>, properties: HashTable<any>, id: number): any;
25
26
  /**
26
27
  * Returns the list of variables that used in the expression. They defined as: {variableName} in default parser.
27
28
  */
@@ -35,16 +36,30 @@ export interface IExpresionExecutor {
35
36
  */
36
37
  isAsync: boolean;
37
38
  }
39
+ export declare class ExpressionExecutorRunner {
40
+ private operand;
41
+ private id;
42
+ private onComplete;
43
+ private processValue;
44
+ private asyncFuncList;
45
+ constructor(operand: Operand, id: number, onComplete: (res: any, id: number) => void, values: HashTable<any>, properties: HashTable<any>);
46
+ run(isAsync: boolean): any;
47
+ private getAsyncItemByOperand;
48
+ private runAsyncItem;
49
+ private runAsyncItemCore;
50
+ private doAsyncFunctionReady;
51
+ private isAsyncFuncReady;
52
+ private isAsyncChildrenReady;
53
+ private runValues;
54
+ }
38
55
  export declare class ExpressionExecutor implements IExpresionExecutor {
39
56
  static createExpressionExecutor: (expression: string) => IExpresionExecutor;
40
- onComplete: (res: any) => void;
57
+ onComplete: (res: any, id: number) => void;
41
58
  private expressionValue;
42
59
  private operand;
43
- private processValue;
44
60
  private parser;
45
61
  private isAsyncValue;
46
62
  private hasFunctionValue;
47
- private asyncFuncList;
48
63
  constructor(expression: string);
49
64
  readonly expression: string;
50
65
  private setExpression;
@@ -52,39 +67,31 @@ export declare class ExpressionExecutor implements IExpresionExecutor {
52
67
  hasFunction(): boolean;
53
68
  readonly isAsync: boolean;
54
69
  canRun(): boolean;
55
- run(values: HashTable<any>, properties?: HashTable<any>): any;
56
- private runAsyncItem;
57
- private runAsyncItemCore;
58
- private doAsyncFunctionReady;
59
- private isAsyncFuncReady;
60
- private isAsyncChildrenReady;
61
- private runValues;
70
+ run(values: HashTable<any>, properties: HashTable<any>, id: number): any;
62
71
  }
63
72
  export declare class ExpressionRunnerBase {
64
73
  private expressionExecutor;
65
74
  private variables;
66
75
  private containsFunc;
67
- private static IdCounter;
68
- private _id;
76
+ private static IdRunnerCounter;
69
77
  onBeforeAsyncRun: (id: number) => void;
70
78
  onAfterAsyncRun: (id: number) => void;
71
79
  constructor(expression: string);
72
- readonly id: number;
73
80
  expression: string;
74
81
  getVariables(): Array<string>;
75
82
  hasFunction(): boolean;
76
83
  readonly isAsync: boolean;
77
84
  canRun(): boolean;
78
85
  protected runCore(values: HashTable<any>, properties?: HashTable<any>): any;
79
- protected doOnComplete(res: any): void;
86
+ protected doOnComplete(res: any, id: number): void;
80
87
  }
81
88
  export declare class ConditionRunner extends ExpressionRunnerBase {
82
89
  onRunComplete: (result: boolean) => void;
83
90
  run(values: HashTable<any>, properties?: HashTable<any>): boolean;
84
- protected doOnComplete(res: any): void;
91
+ protected doOnComplete(res: any, id: number): void;
85
92
  }
86
93
  export declare class ExpressionRunner extends ExpressionRunnerBase {
87
94
  onRunComplete: (result: any) => void;
88
95
  run(values: HashTable<any>, properties?: HashTable<any>): any;
89
- protected doOnComplete(res: any): void;
96
+ protected doOnComplete(res: any, id: number): void;
90
97
  }
@@ -585,6 +585,7 @@ export declare var defaultV2Css: {
585
585
  emptyRowsSection: string;
586
586
  iconDrag: string;
587
587
  ghostRow: string;
588
+ draggedRow: string;
588
589
  emptyCell: string;
589
590
  verticalCell: string;
590
591
  cellQuestionWrapper: string;
@@ -5,6 +5,7 @@ export declare class DragDropMatrixRows extends DragDropCore<QuestionMatrixDynam
5
5
  protected readonly draggedElementType: string;
6
6
  protected restoreUserSelectValue: string;
7
7
  protected onStartDrag(): void;
8
+ private readonly shortcutClass: any;
8
9
  protected createDraggedElementShortcut(text: string, draggedElementNode: HTMLElement, event: PointerEvent): HTMLElement;
9
10
  private fromIndex;
10
11
  private toIndex;
@@ -6,6 +6,9 @@ export interface AsyncFunctionItem {
6
6
  children?: Array<AsyncFunctionItem>;
7
7
  }
8
8
  export declare abstract class Operand {
9
+ private static counter;
10
+ private _id;
11
+ readonly id: number;
9
12
  toString(func?: (op: Operand) => string): string;
10
13
  abstract getType(): string;
11
14
  abstract evaluate(processValue?: ProcessValue): any;
@@ -101,17 +104,14 @@ export declare class Variable extends Const {
101
104
  export declare class FunctionOperand extends Operand {
102
105
  private originalValue;
103
106
  private parameters;
104
- private isReadyValue;
105
- private asynResult;
106
- onAsyncReady: () => void;
107
107
  constructor(originalValue: string, parameters: ArrayOperand);
108
108
  getType(): string;
109
- evaluateAsync(processValue: ProcessValue): void;
110
109
  evaluate(processValue?: ProcessValue): any;
111
110
  private evaluateCore;
112
111
  toString(func?: (op: Operand) => string): string;
113
112
  setVariables(variables: Array<string>): void;
114
- readonly isReady: boolean;
113
+ isReady(proccessValue: ProcessValue): boolean;
114
+ private getAsynValue;
115
115
  hasFunction(): boolean;
116
116
  hasAsyncFunction(): boolean;
117
117
  private isAsyncFunction;
@@ -43,6 +43,7 @@ export declare class ItemValue extends BaseAction implements ILocalizableOwner,
43
43
  private _locOwner;
44
44
  locOwner: ILocalizableOwner;
45
45
  value: any;
46
+ private setValue;
46
47
  readonly hasText: boolean;
47
48
  pureText: string;
48
49
  text: string;
@@ -51,7 +52,7 @@ export declare class ItemValue extends BaseAction implements ILocalizableOwner,
51
52
  private canSerializeValue;
52
53
  getData(): any;
53
54
  toJSON(): any;
54
- setData(value: any): void;
55
+ setData(value: any, isNewItem?: boolean): void;
55
56
  visibleIf: string;
56
57
  enableIf: string;
57
58
  readonly isVisible: boolean;
@@ -146,7 +146,7 @@ export declare class JsonObjectProperty implements IObject, IJsonPropertyInfo {
146
146
  defaultValue: any;
147
147
  isDefaultValue(value: any): boolean;
148
148
  isDefaultValueByObj(obj: Base, value: any): boolean;
149
- getSerializableValue(obj: any): any;
149
+ getSerializableValue(obj: any, storeDefaults?: boolean): any;
150
150
  getValue(obj: any): any;
151
151
  getPropertyValue(obj: any): any;
152
152
  readonly hasToUseSetValue: string | ((obj: any, value: any, jsonConv: JsonObject) => any);
@@ -43,7 +43,7 @@ export declare class LocalizableString implements ILocalizableString {
43
43
  searchIndex: number;
44
44
  disableLocalization: boolean;
45
45
  defaultValue: string;
46
- constructor(owner: ILocalizableOwner, useMarkdown?: boolean, name?: string);
46
+ constructor(owner: ILocalizableOwner, useMarkdown?: boolean, name?: string, locName?: string);
47
47
  getIsMultiple(): boolean;
48
48
  readonly locale: string;
49
49
  strChanged(): void;
@@ -72,7 +72,7 @@ export declare class LocalizableString implements ILocalizableString {
72
72
  hasNonDefaultText(): boolean;
73
73
  getLocales(): Array<string>;
74
74
  getJson(): any;
75
- setJson(value: any): void;
75
+ setJson(value: any, isLoading?: boolean): void;
76
76
  readonly renderAs: string;
77
77
  readonly renderAsData: any;
78
78
  equals(obj: any): boolean;
@@ -30,6 +30,7 @@ export declare var englishStrings: {
30
30
  numericError: string;
31
31
  minError: string;
32
32
  maxError: string;
33
+ textNoDigitsAllow: string;
33
34
  textMinLength: string;
34
35
  textMaxLength: string;
35
36
  textMinMaxLength: string;
@@ -492,7 +492,7 @@ export declare class QuestionSelectBase extends Question {
492
492
  *
493
493
  * [View Dropdown Demo](https://surveyjs.io/form-library/examples/dropdown-box-with-custom-items/ (linkStyle))
494
494
  *
495
- * [View Ranking Demo](https://surveyjs.io/form-library/examples/dropdown-box-with-custom-items/ (linkStyle))
495
+ * [View Ranking Demo](https://surveyjs.io/form-library/examples/ranking-with-custom-items/ (linkStyle))
496
496
  */
497
497
  itemComponent: string;
498
498
  protected updateCssClasses(res: any, css: any): void;
@@ -60,6 +60,7 @@ export declare class QuestionCheckboxModel extends QuestionCheckboxBase {
60
60
  selectAll(): void;
61
61
  clickItemHandler(item: ItemValue, checked?: boolean): void;
62
62
  protected isItemSelectedCore(item: ItemValue): boolean;
63
+ protected convertFuncValuetoQuestionValue(val: any): any;
63
64
  private getRealValue;
64
65
  readonly isValueArray: boolean;
65
66
  /*
@@ -45,6 +45,9 @@ export declare class QuestionFileModelBase extends Question {
45
45
  protected uploadFiles(files: File[]): void;
46
46
  protected loadPreview(newValue: any): void;
47
47
  protected onChangeQuestionValue(newValue: any): void;
48
+ protected getIsQuestionReady(): boolean;
49
+ private isFileLoadingValue;
50
+ protected isFileLoading: boolean;
48
51
  }
49
52
  export declare class QuestionFilePage extends Base {
50
53
  private question;
@@ -95,8 +98,6 @@ export declare class QuestionFileModel extends QuestionFileModelBase {
95
98
  cleanAction: Action;
96
99
  actionsContainer: ActionContainer;
97
100
  readonly supportFileNavigator: boolean;
98
- private isFileLoadingValue;
99
- protected isFileLoading: boolean;
100
101
  readonly fileNavigatorVisible: boolean;
101
102
  private readonly pagesCount: any;
102
103
  readonly actionsContainerVisible: boolean;
@@ -123,6 +124,7 @@ export declare class QuestionFileModel extends QuestionFileModelBase {
123
124
  private prevPreviewLength;
124
125
  private previewValueChanged;
125
126
  getType(): string;
127
+ protected onChangeQuestionValue(newValue: any): void;
126
128
  /*
127
129
  * Disable this property only to implement a custom preview.
128
130
  *
@@ -231,7 +233,6 @@ export declare class QuestionFileModel extends QuestionFileModelBase {
231
233
  protected readonly camera: Camera;
232
234
  canPreviewImage(fileItem: any): boolean;
233
235
  protected loadPreview(newValue: any): void;
234
- protected getIsQuestionReady(): boolean;
235
236
  private allFilesOk;
236
237
  private isFileImage;
237
238
  getPlainData(options?: IPlainDataOptions): IQuestionPlainData;
@@ -65,7 +65,7 @@ export declare class MatrixCells extends Base {
65
65
  readonly columns: Array<any>;
66
66
  private getCellRowColumnValue;
67
67
  getJson(): any;
68
- setJson(value: any): void;
68
+ setJson(value: any, isLoading?: boolean): void;
69
69
  locStrsChanged(): void;
70
70
  private runFuncOnLocs;
71
71
  protected createString(): LocalizableString;
@@ -538,4 +538,9 @@ export declare class QuestionMatrixDropdownModelBase extends QuestionMatrixBaseM
538
538
  readonly showHorizontalScroll: boolean;
539
539
  protected onMobileChanged(): void;
540
540
  getRootCss(): string;
541
+ afterRenderQuestionElement(el: HTMLElement): void;
542
+ beforeDestroyQuestionElement(el: HTMLElement): void;
543
+ private rootElement;
544
+ setRootElement(val: HTMLElement): void;
545
+ getRootElement(): HTMLElement;
541
546
  }
@@ -78,6 +78,7 @@ export declare class QuestionMatrixDropdownRenderedRow extends Base {
78
78
  private rootElement;
79
79
  setRootElement(val: HTMLTableRowElement): void;
80
80
  getRootElement(): HTMLTableRowElement;
81
+ focusCell(cellIndex: number): void;
81
82
  }
82
83
  export declare class QuestionMatrixDropdownRenderedErrorRow extends QuestionMatrixDropdownRenderedRow {
83
84
  isErrorsRow: boolean;
@@ -122,6 +123,7 @@ export declare class QuestionMatrixDropdownRenderedTable extends Base {
122
123
  private getRenderedDataRowCount;
123
124
  onRemovedRow(row: MatrixDropdownRowModelBase): void;
124
125
  onDetailPanelChangeVisibility(row: MatrixDropdownRowModelBase, isShowing: boolean): void;
126
+ focusActionCell(row: MatrixDropdownRowModelBase, actionCellIndex: number): void;
125
127
  private getRenderedRowIndex;
126
128
  protected buildRowsActions(): void;
127
129
  protected createRenderedRow(cssClasses: any, isDetailRow?: boolean): QuestionMatrixDropdownRenderedRow;
@@ -160,7 +162,7 @@ export declare class QuestionMatrixDropdownRenderedTable extends Base {
160
162
  private setHeaderCellCssClasses;
161
163
  private createHeaderCell;
162
164
  private setHeaderCell;
163
- private setHeaderCellWidth;
165
+ private setCellWidth;
164
166
  private createTextCell;
165
167
  private createEmptyCell;
166
168
  }
@@ -174,6 +174,8 @@ export declare class QuestionMatrixDynamicModel extends QuestionMatrixDropdownMo
174
174
  protected isValueSurveyElement(val: any): boolean;
175
175
  private addRowCore;
176
176
  private getDefaultRowValue;
177
+ focusAddBUtton(): void;
178
+ getActionCellIndex(row: MatrixDropdownRowModelBase): number;
177
179
  removeRowUI(value: any): void;
178
180
  isRequireConfirmOnRowDelete(index: number): boolean;
179
181
  /**
@@ -181,7 +183,7 @@ export declare class QuestionMatrixDynamicModel extends QuestionMatrixDropdownMo
181
183
  * @param index A zero-based row index.
182
184
  * @param confirmDelete *(Optional)* A Boolean value that specifies whether to display a confirmation dialog. If you do not specify this parameter, the [`confirmDelete`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-matrix-table-question-model#confirmDelete) property value is used.
183
185
  */
184
- removeRow(index: number, confirmDelete?: boolean): void;
186
+ removeRow(index: number, confirmDelete?: boolean, onRowRemoved?: () => void): void;
185
187
  private removeRowAsync;
186
188
  private removeRowCore;
187
189
  /*
@@ -527,6 +527,7 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
527
527
  * @see addPanelUI
528
528
  */
529
529
  removePanelUI(value: any): void;
530
+ getPanelRemoveButtonId(panel: PanelModel): string;
530
531
  isRequireConfirmOnDelete(val: any): boolean;
531
532
  /**
532
533
  * Switches Dynamic Panel to the next panel. Returns `true` in case of success, or `false` if `displayMode` is `"list"` or the current panel contains validation errors.
@@ -25,12 +25,14 @@ export declare class QuestionSignaturePadModel extends QuestionFileModelBase {
25
25
  valueWasChangedFromLastUpload: boolean;
26
26
  private resizeCanvas;
27
27
  private scaleCanvas;
28
- private fromDataUrl;
29
28
  private fromUrl;
30
- private refreshCanvas;
31
- private updateValueHandler;
29
+ private fromDataUrl;
30
+ private _loadedData;
31
+ readonly loadedData: string;
32
32
  protected loadPreview(newValue: any): void;
33
+ protected onChangeQuestionValue(newValue: any): void;
33
34
  onSurveyLoad(): void;
35
+ private updateValueHandler;
34
36
  initSignaturePad(el: HTMLElement): void;
35
37
  destroySignaturePad(el: HTMLElement): void;
36
38
  /*
@@ -108,7 +108,7 @@ export declare class SurveyElement<E = any> extends SurveyElementCore implements
108
108
  static ScrollElementToTop(elementId: string, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions, doneCallback?: () => void): boolean;
109
109
  static ScrollElementToViewCore(el: HTMLElement, checkLeft: boolean, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions, doneCallback?: () => void): boolean;
110
110
  static GetFirstNonTextElement(elements: any, removeSpaces?: boolean): any;
111
- static FocusElement(elementId: string): boolean;
111
+ static FocusElement(elementId: string, isTimeOut?: boolean, containerEl?: HTMLElement): boolean;
112
112
  private static focusElementCore;
113
113
  static CreateDisabledDesignElements: boolean;
114
114
  disableDesignActions: boolean;
@@ -397,10 +397,22 @@ export interface GetTitleTagNameEvent {
397
397
  }
398
398
  export interface GetQuestionNoEvent extends QuestionEventMixin {
399
399
  /**
400
- * A question number that is calculated based upon the question's [`visibleIndex`](https://surveyjs.io/form-library/documentation/api-reference/question#visibleIndex) and survey's [`questionStartIndex`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#questionStartIndex) properties. You can change this parameter's value.
400
+ * Obsolete. Use `options.number` instead.
401
401
  */
402
402
  no: string;
403
403
  }
404
+ export interface GetQuestionNumberEvent extends GetQuestionNoEvent {
405
+ /**
406
+ * A question number that is calculated based upon the question's [`visibleIndex`](https://surveyjs.io/form-library/documentation/api-reference/question#visibleIndex) and survey's [`questionStartIndex`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#questionStartIndex) properties. You can change this parameter's value.
407
+ */
408
+ number: string;
409
+ }
410
+ export interface GetPageNumberEvent extends PageEventMixin {
411
+ /**
412
+ * A page number. Note that this is a string value that contains not only the number itself but also the characters that separate the number from the page title: `"1. "`, `"2. "`, etc. You can change this parameter's value.
413
+ */
414
+ number: string;
415
+ }
404
416
  export interface ProgressTextEvent {
405
417
  /**
406
418
  * The number of questions with input fields. [Image](https://surveyjs.io/form-library/examples/add-image-and-video-to-survey/), [HTML](https://surveyjs.io/form-library/examples/questiontype-html/), and [Expression](https://surveyjs.io/form-library/examples/questiontype-expression/) questions are not counted.
@@ -18,7 +18,7 @@ import { IAction, Action } from "./actions/action";
18
18
  import { ActionContainer } from "./actions/container";
19
19
  import { QuestionPanelDynamicModel } from "./question_paneldynamic";
20
20
  import { Notifier } from "./notifier";
21
- import { TriggerExecutedEvent, CompletingEvent, CompleteEvent, ShowingPreviewEvent, NavigateToUrlEvent, CurrentPageChangingEvent, CurrentPageChangedEvent, ValueChangingEvent, ValueChangedEvent, VariableChangedEvent, QuestionVisibleChangedEvent, PageVisibleChangedEvent, PanelVisibleChangedEvent, QuestionCreatedEvent, QuestionAddedEvent, QuestionRemovedEvent, PanelAddedEvent, PanelRemovedEvent, PageAddedEvent, ValidateQuestionEvent, SettingQuestionErrorsEvent, ValidatePanelEvent, ErrorCustomTextEvent, ValidatedErrorsOnCurrentPageEvent, ProcessHtmlEvent, GetQuestionTitleEvent, GetTitleTagNameEvent, GetQuestionNoEvent, ProgressTextEvent, TextMarkdownEvent, SendResultEvent, GetResultEvent, UploadFilesEvent, DownloadFileEvent, ClearFilesEvent, LoadChoicesFromServerEvent, ProcessTextValueEvent, UpdateQuestionCssClassesEvent, UpdatePanelCssClassesEvent, UpdatePageCssClassesEvent, UpdateChoiceItemCssEvent, AfterRenderSurveyEvent, AfterRenderPageEvent, AfterRenderQuestionEvent, AfterRenderQuestionInputEvent, AfterRenderPanelEvent, FocusInQuestionEvent, FocusInPanelEvent, ShowingChoiceItemEvent, ChoicesLazyLoadEvent, GetChoiceDisplayValueEvent, MatrixRowAddedEvent, MatrixBeforeRowAddedEvent, MatrixRowRemovingEvent, MatrixRowRemovedEvent, MatrixAllowRemoveRowEvent, MatrixDetailPanelVisibleChangedEvent, MatrixCellCreatingEvent, MatrixCellCreatedEvent, MatrixAfterCellRenderEvent, MatrixCellValueChangedEvent, MatrixCellValueChangingEvent, MatrixCellValidateEvent, DynamicPanelModifiedEvent, DynamicPanelRemovingEvent, DynamicPanelItemValueChangedEvent, DynamicPanelGetTabTitleEvent, DynamicPanelCurrentIndexChangedEvent, IsAnswerCorrectEvent, DragDropAllowEvent, ScrollingElementToTopEvent, GetQuestionTitleActionsEvent, GetPanelTitleActionsEvent, GetPageTitleActionsEvent, GetPanelFooterActionsEvent, GetMatrixRowActionsEvent, ElementContentVisibilityChangedEvent, GetExpressionDisplayValueEvent, ServerValidateQuestionsEvent, MultipleTextItemAddedEvent, MatrixColumnAddedEvent, GetQuestionDisplayValueEvent, PopupVisibleChangedEvent, ChoicesSearchEvent, OpenFileChooserEvent, OpenDropdownMenuEvent, ResizeEvent } from "./survey-events-api";
21
+ import { TriggerExecutedEvent, CompletingEvent, CompleteEvent, ShowingPreviewEvent, NavigateToUrlEvent, CurrentPageChangingEvent, CurrentPageChangedEvent, ValueChangingEvent, ValueChangedEvent, VariableChangedEvent, QuestionVisibleChangedEvent, PageVisibleChangedEvent, PanelVisibleChangedEvent, QuestionCreatedEvent, QuestionAddedEvent, QuestionRemovedEvent, PanelAddedEvent, PanelRemovedEvent, PageAddedEvent, ValidateQuestionEvent, SettingQuestionErrorsEvent, ValidatePanelEvent, ErrorCustomTextEvent, ValidatedErrorsOnCurrentPageEvent, ProcessHtmlEvent, GetQuestionTitleEvent, GetTitleTagNameEvent, GetQuestionNumberEvent, GetPageNumberEvent, ProgressTextEvent, TextMarkdownEvent, SendResultEvent, GetResultEvent, UploadFilesEvent, DownloadFileEvent, ClearFilesEvent, LoadChoicesFromServerEvent, ProcessTextValueEvent, UpdateQuestionCssClassesEvent, UpdatePanelCssClassesEvent, UpdatePageCssClassesEvent, UpdateChoiceItemCssEvent, AfterRenderSurveyEvent, AfterRenderPageEvent, AfterRenderQuestionEvent, AfterRenderQuestionInputEvent, AfterRenderPanelEvent, FocusInQuestionEvent, FocusInPanelEvent, ShowingChoiceItemEvent, ChoicesLazyLoadEvent, GetChoiceDisplayValueEvent, MatrixRowAddedEvent, MatrixBeforeRowAddedEvent, MatrixRowRemovingEvent, MatrixRowRemovedEvent, MatrixAllowRemoveRowEvent, MatrixDetailPanelVisibleChangedEvent, MatrixCellCreatingEvent, MatrixCellCreatedEvent, MatrixAfterCellRenderEvent, MatrixCellValueChangedEvent, MatrixCellValueChangingEvent, MatrixCellValidateEvent, DynamicPanelModifiedEvent, DynamicPanelRemovingEvent, DynamicPanelItemValueChangedEvent, DynamicPanelGetTabTitleEvent, DynamicPanelCurrentIndexChangedEvent, IsAnswerCorrectEvent, DragDropAllowEvent, ScrollingElementToTopEvent, GetQuestionTitleActionsEvent, GetPanelTitleActionsEvent, GetPageTitleActionsEvent, GetPanelFooterActionsEvent, GetMatrixRowActionsEvent, ElementContentVisibilityChangedEvent, GetExpressionDisplayValueEvent, ServerValidateQuestionsEvent, MultipleTextItemAddedEvent, MatrixColumnAddedEvent, GetQuestionDisplayValueEvent, PopupVisibleChangedEvent, ChoicesSearchEvent, OpenFileChooserEvent, OpenDropdownMenuEvent, ResizeEvent } from "./survey-events-api";
22
22
  import { QuestionMatrixDropdownModelBase } from "./question_matrixdropdownbase";
23
23
  import { QuestionMatrixDynamicModel } from "./question_matrixdynamic";
24
24
  import { QuestionFileModel } from "./question_file";
@@ -306,7 +306,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
306
306
  *
307
307
  * For information on event handler parameters, refer to descriptions within the interface.
308
308
  *
309
- * If you want to modify question numbers, handle the [`onGetQuestionNo`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onGetQuestionNo) event.
309
+ * If you want to modify question numbers, handle the [`onGetQuestionNumber`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onGetQuestionNumber) event.
310
310
  * @see requiredText
311
311
  */
312
312
  onGetQuestionTitle: EventBase<SurveyModel, GetQuestionTitleEvent>;
@@ -319,7 +319,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
319
319
  *
320
320
  * [View Demo](https://surveyjs.io/form-library/examples/survey-titletagnames/ (linkStyle))
321
321
  * @see onGetQuestionTitle
322
- * @see onGetQuestionNo
322
+ * @see onGetQuestionNumber
323
323
  */
324
324
  onGetTitleTagName: EventBase<SurveyModel, GetTitleTagNameEvent>;
325
325
  /**
@@ -331,7 +331,21 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
331
331
  * @see onGetQuestionTitle
332
332
  * @see questionStartIndex
333
333
  */
334
- onGetQuestionNo: EventBase<SurveyModel, GetQuestionNoEvent>;
334
+ onGetQuestionNumber: EventBase<SurveyModel, GetQuestionNumberEvent>;
335
+ /**
336
+ * This event is obsolete. Use the [`onGetQuestionNumber`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onGetQuestionNumber) event instead.
337
+ */
338
+ onGetQuestionNo: EventBase<SurveyModel, GetQuestionNumberEvent>;
339
+ /**
340
+ * An event that is raised before the survey calculates a page number. Handle this event to modify page numbers.
341
+ *
342
+ * This event is raised only if the [`showPageNumbers`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showPageNumbers) property is enabled.
343
+ *
344
+ * For information on event handler parameters, refer to descriptions within the interface.
345
+ * @see onGetQuestionTitle
346
+ * @see questionStartIndex
347
+ */
348
+ onGetPageNumber: EventBase<SurveyModel, GetPageNumberEvent>;
335
349
  /**
336
350
  * An event that is raised before the survey displays progress text. Handle this event to change the progress text in code.
337
351
  * @see showProgressBar
@@ -1045,7 +1059,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1045
1059
  * - `"onValueChanged"` - Triggers validation each time a question value is changed.
1046
1060
  * - `"onComplete"` - Triggers validation when a user clicks the Complete button. If previous pages contain errors, the survey switches to the page with the first error.
1047
1061
  *
1048
- * > The `"onValueChanged"` doesn't work with date input fields because of the way browsers process date values. In most browsers, the value is considered changed as soon as a user starts entering the date in a text input field. This means that a user may only enter the day without having the chance to enter the month and year before validation is triggered. For this reason, date input fields are validated before the survey is switched to the next page or completed.
1062
+ * > In SurveyJS Form Library v1.12.5 and earlier, the `"onValueChanged"` mode doesn't work with date input fields because of the way browsers process date values. In most browsers, the value is considered changed as soon as a user starts entering the date in a text input field. This means that a user may only enter the day without having the chance to enter the month and year before validation is triggered. For this reason, date input fields are validated before the survey is switched to the next page or completed. Starting with v1.12.6, `"onValueChanged"` works for date input fields as well as for input fields of other types.
1049
1063
  *
1050
1064
  * Refer to the following help topic for more information: [Data Validation](https://surveyjs.io/form-library/documentation/data-validation).
1051
1065
  * @see validationEnabled
@@ -1407,10 +1421,12 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1407
1421
  readonly locQuestionTitleTemplate: LocalizableString;
1408
1422
  getUpdatedQuestionTitle(question: Question, title: string): string;
1409
1423
  getUpdatedQuestionNo(question: Question, no: string): string;
1424
+ getUpdatedPageNo(page: PageModel, no: string): string;
1410
1425
  /*
1411
1426
  * Specifies whether page titles contain page numbers.
1412
1427
  *
1413
1428
  * [View Demo](https://surveyjs.io/form-library/examples/how-to-number-pages-and-questions/ (linkStyle))
1429
+ * @see onGetPageNumber
1414
1430
  */
1415
1431
  showPageNumbers: boolean;
1416
1432
  /*
@@ -1425,6 +1441,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
1425
1441
  * [View Demo](https://surveyjs.io/form-library/examples/how-to-number-pages-and-questions/ (linkStyle))
1426
1442
  *
1427
1443
  * If you want to hide the number of an individual question, enable its [`hideNumber`](https://surveyjs.io/form-library/documentation/api-reference/question#hideNumber) property.
1444
+ * @see onGetQuestionNumber
1428
1445
  */
1429
1446
  showQuestionNumbers: string | boolean;
1430
1447
  private progressBarValue;
@@ -57,6 +57,7 @@ export declare var surveyStrings: {
57
57
  numericError: string;
58
58
  minError: string;
59
59
  maxError: string;
60
+ textNoDigitsAllow: string;
60
61
  textMinLength: string;
61
62
  textMaxLength: string;
62
63
  textMinMaxLength: string;
@@ -364,6 +364,7 @@ export declare var modernCss: {
364
364
  emptyRowsText: string;
365
365
  emptyRowsButton: string;
366
366
  ghostRow: string;
367
+ draggedRow: string;
367
368
  };
368
369
  rating: {
369
370
  root: string;
@@ -242,6 +242,7 @@ export declare var defaultStandardCss: {
242
242
  emptyRowsText: string;
243
243
  emptyRowsButton: string;
244
244
  ghostRow: string;
245
+ draggedRow: string;
245
246
  };
246
247
  paneldynamic: {
247
248
  root: string;
@@ -102,6 +102,7 @@ export interface ISurvey extends ITextProcessor, ISurveyErrorOwner {
102
102
  questionTitlePattern: string;
103
103
  getUpdatedQuestionTitle(question: IQuestion, title: string): string;
104
104
  getUpdatedQuestionNo(question: IQuestion, no: string): string;
105
+ getUpdatedPageNo(question: IPage, no: string): string;
105
106
  getUpdatedElementTitleActions(element: ISurveyElement, titleActions: Array<IAction>): Array<IAction>;
106
107
  getUpdatedMatrixRowActions(question: QuestionMatrixDropdownModelBase, row: MatrixDropdownRowModelBase, actions: Array<IAction>): Array<IAction>;
107
108
  getUpdatedPanelFooterActions(panel: PanelModel, actions: Array<IAction>, question?: QuestionPanelDynamicModel): Array<IAction>;
@@ -18,7 +18,7 @@ export declare class Bindings {
18
18
  getValueNameByPropertyName(propertyName: string): string;
19
19
  getPropertiesByValueName(valueName: string): Array<string>;
20
20
  getJson(): any;
21
- setJson(value: any): void;
21
+ setJson(value: any, isLoading?: boolean): void;
22
22
  private fillProperties;
23
23
  private onChangedJSON;
24
24
  }
@@ -2,6 +2,8 @@ import { HashTable } from "./helpers";
2
2
  export declare class ProcessValue {
3
3
  values: HashTable<any>;
4
4
  properties: HashTable<any>;
5
+ asyncValues: HashTable<any>;
6
+ onCompleteAsyncFunc: (op: any) => void;
5
7
  constructor();
6
8
  getFirstName(text: string, obj?: any): string;
7
9
  hasValue(text: string, values?: HashTable<any>): boolean;
@@ -1,4 +1,5 @@
1
1
  import { HashTable } from "./helpers";
2
+ import { Operand } from "./expressions/expressions";
2
3
  /**
3
4
  * Base interface for expression execution
4
5
  */
@@ -6,7 +7,7 @@ export interface IExpresionExecutor {
6
7
  /**
7
8
  * This call back runs on executing expression if there is at least one async function
8
9
  */
9
- onComplete: (res: any) => void;
10
+ onComplete: (res: any, id: number) => void;
10
11
  /**
11
12
  * The expression as string, property with get
12
13
  */
@@ -21,7 +22,7 @@ export interface IExpresionExecutor {
21
22
  * @param values has with values names and their results. Normally it is question names and their values
22
23
  * @param properties the list of properties that are available in functions. Commonly it is survey and question, if expression execuited in a question context
23
24
  */
24
- run(values: HashTable<any>, properties: HashTable<any>): any;
25
+ run(values: HashTable<any>, properties: HashTable<any>, id: number): any;
25
26
  /**
26
27
  * Returns the list of variables that used in the expression. They defined as: {variableName} in default parser.
27
28
  */
@@ -35,16 +36,30 @@ export interface IExpresionExecutor {
35
36
  */
36
37
  isAsync: boolean;
37
38
  }
39
+ export declare class ExpressionExecutorRunner {
40
+ private operand;
41
+ private id;
42
+ private onComplete;
43
+ private processValue;
44
+ private asyncFuncList;
45
+ constructor(operand: Operand, id: number, onComplete: (res: any, id: number) => void, values: HashTable<any>, properties: HashTable<any>);
46
+ run(isAsync: boolean): any;
47
+ private getAsyncItemByOperand;
48
+ private runAsyncItem;
49
+ private runAsyncItemCore;
50
+ private doAsyncFunctionReady;
51
+ private isAsyncFuncReady;
52
+ private isAsyncChildrenReady;
53
+ private runValues;
54
+ }
38
55
  export declare class ExpressionExecutor implements IExpresionExecutor {
39
56
  static createExpressionExecutor: (expression: string) => IExpresionExecutor;
40
- onComplete: (res: any) => void;
57
+ onComplete: (res: any, id: number) => void;
41
58
  private expressionValue;
42
59
  private operand;
43
- private processValue;
44
60
  private parser;
45
61
  private isAsyncValue;
46
62
  private hasFunctionValue;
47
- private asyncFuncList;
48
63
  constructor(expression: string);
49
64
  get expression(): string;
50
65
  private setExpression;
@@ -52,24 +67,16 @@ export declare class ExpressionExecutor implements IExpresionExecutor {
52
67
  hasFunction(): boolean;
53
68
  get isAsync(): boolean;
54
69
  canRun(): boolean;
55
- run(values: HashTable<any>, properties?: HashTable<any>): any;
56
- private runAsyncItem;
57
- private runAsyncItemCore;
58
- private doAsyncFunctionReady;
59
- private isAsyncFuncReady;
60
- private isAsyncChildrenReady;
61
- private runValues;
70
+ run(values: HashTable<any>, properties: HashTable<any>, id: number): any;
62
71
  }
63
72
  export declare class ExpressionRunnerBase {
64
73
  private expressionExecutor;
65
74
  private variables;
66
75
  private containsFunc;
67
- private static IdCounter;
68
- private _id;
76
+ private static IdRunnerCounter;
69
77
  onBeforeAsyncRun: (id: number) => void;
70
78
  onAfterAsyncRun: (id: number) => void;
71
79
  constructor(expression: string);
72
- get id(): number;
73
80
  get expression(): string;
74
81
  set expression(value: string);
75
82
  getVariables(): Array<string>;
@@ -77,15 +84,15 @@ export declare class ExpressionRunnerBase {
77
84
  get isAsync(): boolean;
78
85
  canRun(): boolean;
79
86
  protected runCore(values: HashTable<any>, properties?: HashTable<any>): any;
80
- protected doOnComplete(res: any): void;
87
+ protected doOnComplete(res: any, id: number): void;
81
88
  }
82
89
  export declare class ConditionRunner extends ExpressionRunnerBase {
83
90
  onRunComplete: (result: boolean) => void;
84
91
  run(values: HashTable<any>, properties?: HashTable<any>): boolean;
85
- protected doOnComplete(res: any): void;
92
+ protected doOnComplete(res: any, id: number): void;
86
93
  }
87
94
  export declare class ExpressionRunner extends ExpressionRunnerBase {
88
95
  onRunComplete: (result: any) => void;
89
96
  run(values: HashTable<any>, properties?: HashTable<any>): any;
90
- protected doOnComplete(res: any): void;
97
+ protected doOnComplete(res: any, id: number): void;
91
98
  }
@@ -585,6 +585,7 @@ export declare var defaultV2Css: {
585
585
  emptyRowsSection: string;
586
586
  iconDrag: string;
587
587
  ghostRow: string;
588
+ draggedRow: string;
588
589
  emptyCell: string;
589
590
  verticalCell: string;
590
591
  cellQuestionWrapper: string;