survey-core 1.12.7 → 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 (316) 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 +466 -247
  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_checkbox.d.ts +1 -0
  283. package/ts3.4/typings/packages/survey-core/src/question_file.d.ts +4 -3
  284. package/ts3.4/typings/packages/survey-core/src/question_matrix.d.ts +1 -1
  285. package/ts3.4/typings/packages/survey-core/src/question_matrixdropdownbase.d.ts +5 -0
  286. package/ts3.4/typings/packages/survey-core/src/question_matrixdropdownrendered.d.ts +3 -1
  287. package/ts3.4/typings/packages/survey-core/src/question_matrixdynamic.d.ts +3 -1
  288. package/ts3.4/typings/packages/survey-core/src/question_signaturepad.d.ts +5 -3
  289. package/ts3.4/typings/packages/survey-core/src/survey-events-api.d.ts +13 -1
  290. package/ts3.4/typings/packages/survey-core/src/survey.d.ts +21 -4
  291. package/ts3.4/typings/packages/survey-core/src/surveyStrings.d.ts +1 -0
  292. package/ts3.4/typings/src/defaultCss/cssmodern.d.ts +1 -0
  293. package/ts3.4/typings/src/defaultCss/cssstandard.d.ts +1 -0
  294. package/typings/packages/survey-core/src/base-interfaces.d.ts +1 -0
  295. package/typings/packages/survey-core/src/base.d.ts +1 -1
  296. package/typings/packages/survey-core/src/conditionProcessValue.d.ts +2 -0
  297. package/typings/packages/survey-core/src/conditions.d.ts +25 -18
  298. package/typings/packages/survey-core/src/defaultCss/defaultV2Css.d.ts +1 -0
  299. package/typings/packages/survey-core/src/dragdrop/matrix-rows.d.ts +1 -0
  300. package/typings/packages/survey-core/src/expressions/expressions.d.ts +5 -5
  301. package/typings/packages/survey-core/src/itemvalue.d.ts +2 -1
  302. package/typings/packages/survey-core/src/jsonobject.d.ts +1 -1
  303. package/typings/packages/survey-core/src/localizablestring.d.ts +2 -2
  304. package/typings/packages/survey-core/src/localization/english.d.ts +1 -0
  305. package/typings/packages/survey-core/src/question_checkbox.d.ts +1 -0
  306. package/typings/packages/survey-core/src/question_file.d.ts +5 -4
  307. package/typings/packages/survey-core/src/question_matrix.d.ts +1 -1
  308. package/typings/packages/survey-core/src/question_matrixdropdownbase.d.ts +5 -0
  309. package/typings/packages/survey-core/src/question_matrixdropdownrendered.d.ts +3 -1
  310. package/typings/packages/survey-core/src/question_matrixdynamic.d.ts +3 -1
  311. package/typings/packages/survey-core/src/question_signaturepad.d.ts +5 -3
  312. package/typings/packages/survey-core/src/survey-events-api.d.ts +13 -1
  313. package/typings/packages/survey-core/src/survey.d.ts +21 -4
  314. package/typings/packages/survey-core/src/surveyStrings.d.ts +1 -0
  315. package/typings/src/defaultCss/cssmodern.d.ts +1 -0
  316. 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;
@@ -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
  /*
@@ -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
  /*
@@ -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
@@ -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;
@@ -5,6 +5,7 @@ export declare class DragDropMatrixRows extends DragDropCore<QuestionMatrixDynam
5
5
  protected get draggedElementType(): string;
6
6
  protected restoreUserSelectValue: string;
7
7
  protected onStartDrag(): void;
8
+ private get shortcutClass();
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
+ get id(): number;
9
12
  toString(func?: (op: Operand) => string): string;
10
13
  abstract getType(): string;
11
14
  abstract evaluate(processValue?: ProcessValue): any;
@@ -102,17 +105,14 @@ export declare class Variable extends Const {
102
105
  export declare class FunctionOperand extends Operand {
103
106
  private originalValue;
104
107
  private parameters;
105
- private isReadyValue;
106
- private asynResult;
107
- onAsyncReady: () => void;
108
108
  constructor(originalValue: string, parameters: ArrayOperand);
109
109
  getType(): string;
110
- evaluateAsync(processValue: ProcessValue): void;
111
110
  evaluate(processValue?: ProcessValue): any;
112
111
  private evaluateCore;
113
112
  toString(func?: (op: Operand) => string): string;
114
113
  setVariables(variables: Array<string>): void;
115
- get isReady(): boolean;
114
+ isReady(proccessValue: ProcessValue): boolean;
115
+ private getAsynValue;
116
116
  hasFunction(): boolean;
117
117
  hasAsyncFunction(): boolean;
118
118
  private isAsyncFunction;