x4js 1.5.0 → 1.5.2

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 (309) hide show
  1. package/lib/README.md +19 -0
  2. package/lib/changelog.txt +5 -0
  3. package/lib/cjs/application.js +6 -6
  4. package/lib/cjs/icon.js +5 -0
  5. package/lib/cjs/md5.js +7 -7
  6. package/lib/cjs/tools.js +8 -5
  7. package/lib/cjs/version.js +1 -1
  8. package/lib/esm/icon.js +5 -0
  9. package/lib/esm/tools.js +8 -5
  10. package/lib/esm/version.js +1 -1
  11. package/lib/license.md +21 -0
  12. package/lib/{ts_src → src}/MIT-license.md +0 -0
  13. package/lib/{ts_src → src}/action.ts +0 -0
  14. package/lib/{ts_src → src}/alpha.jpg +0 -0
  15. package/lib/{ts_src → src}/application.ts +0 -0
  16. package/lib/{ts_src → src}/autocomplete.ts +0 -0
  17. package/lib/{ts_src → src}/base64.ts +0 -0
  18. package/lib/{ts_src → src}/base_component.ts +0 -0
  19. package/lib/{ts_src → src}/button.ts +0 -0
  20. package/lib/{ts_src → src}/calendar.ts +0 -0
  21. package/lib/{ts_src → src}/canvas.ts +0 -0
  22. package/lib/{ts_src → src}/cardview.ts +0 -0
  23. package/lib/{ts_src → src}/checkbox.ts +0 -0
  24. package/lib/{ts_src → src}/color.ts +0 -0
  25. package/lib/{ts_src → src}/colorpicker.ts +0 -0
  26. package/lib/{ts_src → src}/combobox.ts +0 -0
  27. package/lib/{ts_src → src}/component.ts +0 -0
  28. package/lib/{ts_src → src}/datastore.ts +0 -0
  29. package/lib/{ts_src → src}/dialog.ts +0 -0
  30. package/lib/{ts_src → src}/dom_events.ts +0 -0
  31. package/lib/{ts_src → src}/drag_manager.ts +0 -0
  32. package/lib/{ts_src → src}/drawtext.ts +0 -0
  33. package/lib/{ts_src → src}/fileupload.ts +0 -0
  34. package/lib/{ts_src → src}/form.ts +0 -0
  35. package/lib/{ts_src → src}/formatters.ts +0 -0
  36. package/lib/{ts_src → src}/gridview.ts +0 -0
  37. package/lib/{ts_src → src}/i18n.ts +0 -0
  38. package/lib/{ts_src → src}/icon.ts +6 -0
  39. package/lib/{ts_src → src}/image.ts +0 -0
  40. package/lib/{ts_src → src}/index.ts +0 -0
  41. package/lib/{ts_src → src}/input.ts +0 -0
  42. package/lib/{ts_src → src}/label.ts +0 -0
  43. package/lib/{ts_src → src}/layout.ts +0 -0
  44. package/lib/{ts_src → src}/link.ts +0 -0
  45. package/lib/{ts_src → src}/listview.ts +0 -0
  46. package/lib/{ts_src → src}/md5.ts +0 -0
  47. package/lib/{ts_src → src}/menu.ts +0 -0
  48. package/lib/{ts_src → src}/messagebox.ts +0 -0
  49. package/lib/{ts_src → src}/panel.ts +0 -0
  50. package/lib/{ts_src → src}/popup.ts +0 -0
  51. package/lib/{ts_src → src}/property_editor.ts +0 -0
  52. package/lib/{ts_src → src}/radiobtn.ts +0 -0
  53. package/lib/{ts_src → src}/rating.ts +0 -0
  54. package/lib/{ts_src → src}/request.ts +0 -0
  55. package/lib/{ts_src → src}/router.ts +0 -0
  56. package/lib/{ts_src → src}/settings.ts +0 -0
  57. package/lib/{ts_src → src}/sidebarview.ts +0 -0
  58. package/lib/{ts_src → src}/spreadsheet.ts +0 -0
  59. package/lib/{ts_src → src}/styles.ts +0 -0
  60. package/lib/{ts_src → src}/svgcomponent.ts +0 -0
  61. package/lib/{ts_src → src}/tabbar.ts +0 -0
  62. package/lib/{ts_src → src}/tabview.ts +0 -0
  63. package/lib/{ts_src → src}/textarea.ts +0 -0
  64. package/lib/{ts_src → src}/textedit.ts +0 -0
  65. package/lib/{ts_src → src}/toaster.ts +0 -0
  66. package/lib/{ts_src → src}/tools.ts +12 -7
  67. package/lib/{ts_src → src}/tooltips.ts +0 -0
  68. package/lib/{ts_src → src}/treeview.ts +0 -0
  69. package/lib/{ts_src → src}/version.ts +1 -1
  70. package/lib/{ts_src → src}/x4.less +5 -3
  71. package/lib/{ts_src → src}/x4dom.ts +0 -0
  72. package/lib/{ts_src → src}/x4events.ts +0 -0
  73. package/lib/{ts_src → src}/x4react.ts +0 -0
  74. package/lib/styles/x4.css +5 -3
  75. package/lib/styles/x4.less +5 -3
  76. package/lib/{cjs → types}/action.d.ts +0 -0
  77. package/lib/{cjs → types}/application.d.ts +0 -0
  78. package/lib/{cjs → types}/autocomplete.d.ts +0 -0
  79. package/lib/{cjs → types}/base_component.d.ts +0 -0
  80. package/lib/{cjs/types → types}/button.d.ts +1 -1
  81. package/lib/{cjs → types}/calendar.d.ts +0 -0
  82. package/lib/{cjs → types}/canvas.d.ts +1 -1
  83. package/lib/{cjs/types → types}/cardview.d.ts +1 -1
  84. package/lib/{cjs → types}/checkbox.d.ts +0 -0
  85. package/lib/{cjs → types}/color.d.ts +0 -0
  86. package/lib/{cjs → types}/colorpicker.d.ts +0 -0
  87. package/lib/{cjs → types}/combobox.d.ts +0 -0
  88. package/lib/{cjs → types}/component.d.ts +6 -6
  89. package/lib/{cjs/types → types}/datastore.d.ts +5 -5
  90. package/lib/{cjs/types → types}/dialog.d.ts +1 -1
  91. package/lib/{cjs → types}/dom_events.d.ts +0 -0
  92. package/lib/{esm → types}/drag_manager.d.ts +2 -2
  93. package/lib/{cjs → types}/drawtext.d.ts +0 -0
  94. package/lib/{cjs → types}/fileupload.d.ts +0 -0
  95. package/lib/{cjs → types}/form.d.ts +2 -2
  96. package/lib/{cjs → types}/formatters.d.ts +1 -1
  97. package/lib/{cjs → types}/gridview.d.ts +4 -4
  98. package/lib/{cjs → types}/i18n.d.ts +0 -0
  99. package/lib/{cjs → types}/icon.d.ts +1 -1
  100. package/lib/{cjs → types}/image.d.ts +0 -0
  101. package/lib/{cjs → types}/index.d.ts +0 -0
  102. package/lib/{cjs/types → types}/input.d.ts +1 -1
  103. package/lib/{cjs → types}/label.d.ts +0 -0
  104. package/lib/{cjs → types}/layout.d.ts +0 -0
  105. package/lib/{cjs → types}/link.d.ts +0 -0
  106. package/lib/{cjs → types}/listview.d.ts +0 -0
  107. package/lib/{cjs → types}/md5.d.ts +0 -0
  108. package/lib/{esm → types}/menu.d.ts +1 -1
  109. package/lib/{cjs → types}/messagebox.d.ts +0 -0
  110. package/lib/{cjs → types}/panel.d.ts +0 -0
  111. package/lib/{cjs → types}/popup.d.ts +0 -0
  112. package/lib/{esm → types}/property_editor.d.ts +1 -1
  113. package/lib/{cjs → types}/radiobtn.d.ts +0 -0
  114. package/lib/{cjs → types}/rating.d.ts +0 -0
  115. package/lib/{cjs → types}/request.d.ts +0 -0
  116. package/lib/{cjs/types → types}/router.d.ts +1 -1
  117. package/lib/{cjs → types}/settings.d.ts +0 -0
  118. package/lib/{cjs → types}/sidebarview.d.ts +0 -0
  119. package/lib/{cjs → types}/spreadsheet.d.ts +0 -0
  120. package/lib/{cjs → types}/styles.d.ts +0 -0
  121. package/lib/{cjs → types}/svgcomponent.d.ts +0 -0
  122. package/lib/{cjs → types}/tabbar.d.ts +0 -0
  123. package/lib/{cjs → types}/tabview.d.ts +0 -0
  124. package/lib/{cjs → types}/textarea.d.ts +0 -0
  125. package/lib/{esm → types}/textedit.d.ts +1 -1
  126. package/lib/{cjs → types}/toaster.d.ts +0 -0
  127. package/lib/{cjs → types}/tools.d.ts +1 -1
  128. package/lib/{esm → types}/tooltips.d.ts +1 -1
  129. package/lib/{cjs → types}/treeview.d.ts +0 -0
  130. package/lib/{esm/types → types}/version.d.ts +1 -1
  131. package/lib/{cjs/types → types}/x4dom.d.ts +0 -0
  132. package/lib/{cjs/types → types}/x4events.d.ts +2 -2
  133. package/lib/{cjs/types → types}/x4react.d.ts +0 -0
  134. package/lib/x4.css +1780 -0
  135. package/package.json +11 -12
  136. package/lib/cjs/button.d.ts +0 -151
  137. package/lib/cjs/cardview.d.ts +0 -87
  138. package/lib/cjs/datastore.d.ts +0 -396
  139. package/lib/cjs/dialog.d.ts +0 -175
  140. package/lib/cjs/drag_manager.d.ts +0 -54
  141. package/lib/cjs/input.d.ts +0 -91
  142. package/lib/cjs/menu.d.ts +0 -130
  143. package/lib/cjs/property_editor.d.ts +0 -71
  144. package/lib/cjs/router.d.ts +0 -42
  145. package/lib/cjs/textedit.d.ts +0 -123
  146. package/lib/cjs/tooltips.d.ts +0 -46
  147. package/lib/cjs/types/action.d.ts +0 -57
  148. package/lib/cjs/types/application.d.ts +0 -104
  149. package/lib/cjs/types/autocomplete.d.ts +0 -58
  150. package/lib/cjs/types/base_component.d.ts +0 -88
  151. package/lib/cjs/types/calendar.d.ts +0 -81
  152. package/lib/cjs/types/canvas.d.ts +0 -92
  153. package/lib/cjs/types/checkbox.d.ts +0 -77
  154. package/lib/cjs/types/color.d.ts +0 -148
  155. package/lib/cjs/types/colorpicker.d.ts +0 -107
  156. package/lib/cjs/types/combobox.d.ts +0 -101
  157. package/lib/cjs/types/component.d.ts +0 -601
  158. package/lib/cjs/types/dom_events.d.ts +0 -302
  159. package/lib/cjs/types/drag_manager.d.ts +0 -54
  160. package/lib/cjs/types/drawtext.d.ts +0 -48
  161. package/lib/cjs/types/fileupload.d.ts +0 -64
  162. package/lib/cjs/types/form.d.ts +0 -126
  163. package/lib/cjs/types/formatters.d.ts +0 -35
  164. package/lib/cjs/types/gridview.d.ts +0 -175
  165. package/lib/cjs/types/i18n.d.ts +0 -73
  166. package/lib/cjs/types/icon.d.ts +0 -64
  167. package/lib/cjs/types/image.d.ts +0 -55
  168. package/lib/cjs/types/index.d.ts +0 -83
  169. package/lib/cjs/types/label.d.ts +0 -58
  170. package/lib/cjs/types/layout.d.ts +0 -87
  171. package/lib/cjs/types/link.d.ts +0 -50
  172. package/lib/cjs/types/listview.d.ts +0 -178
  173. package/lib/cjs/types/md5.d.ts +0 -61
  174. package/lib/cjs/types/menu.d.ts +0 -130
  175. package/lib/cjs/types/messagebox.d.ts +0 -68
  176. package/lib/cjs/types/panel.d.ts +0 -47
  177. package/lib/cjs/types/popup.d.ts +0 -75
  178. package/lib/cjs/types/property_editor.d.ts +0 -71
  179. package/lib/cjs/types/radiobtn.d.ts +0 -72
  180. package/lib/cjs/types/rating.d.ts +0 -53
  181. package/lib/cjs/types/request.d.ts +0 -52
  182. package/lib/cjs/types/settings.d.ts +0 -37
  183. package/lib/cjs/types/sidebarview.d.ts +0 -49
  184. package/lib/cjs/types/spreadsheet.d.ts +0 -218
  185. package/lib/cjs/types/styles.d.ts +0 -85
  186. package/lib/cjs/types/svgcomponent.d.ts +0 -191
  187. package/lib/cjs/types/tabbar.d.ts +0 -58
  188. package/lib/cjs/types/tabview.d.ts +0 -49
  189. package/lib/cjs/types/textarea.d.ts +0 -63
  190. package/lib/cjs/types/textedit.d.ts +0 -123
  191. package/lib/cjs/types/toaster.d.ts +0 -42
  192. package/lib/cjs/types/tools.d.ts +0 -394
  193. package/lib/cjs/types/tooltips.d.ts +0 -46
  194. package/lib/cjs/types/treeview.d.ts +0 -132
  195. package/lib/cjs/types/version.d.ts +0 -29
  196. package/lib/cjs/version.d.ts +0 -29
  197. package/lib/cjs/x4dom.d.ts +0 -49
  198. package/lib/cjs/x4events.d.ts +0 -269
  199. package/lib/cjs/x4react.d.ts +0 -41
  200. package/lib/esm/action.d.ts +0 -57
  201. package/lib/esm/application.d.ts +0 -104
  202. package/lib/esm/autocomplete.d.ts +0 -58
  203. package/lib/esm/base_component.d.ts +0 -88
  204. package/lib/esm/button.d.ts +0 -151
  205. package/lib/esm/calendar.d.ts +0 -81
  206. package/lib/esm/canvas.d.ts +0 -92
  207. package/lib/esm/cardview.d.ts +0 -87
  208. package/lib/esm/checkbox.d.ts +0 -77
  209. package/lib/esm/color.d.ts +0 -148
  210. package/lib/esm/colorpicker.d.ts +0 -107
  211. package/lib/esm/combobox.d.ts +0 -101
  212. package/lib/esm/component.d.ts +0 -601
  213. package/lib/esm/datastore.d.ts +0 -396
  214. package/lib/esm/dialog.d.ts +0 -175
  215. package/lib/esm/dom_events.d.ts +0 -302
  216. package/lib/esm/drawtext.d.ts +0 -48
  217. package/lib/esm/fileupload.d.ts +0 -64
  218. package/lib/esm/form.d.ts +0 -126
  219. package/lib/esm/formatters.d.ts +0 -35
  220. package/lib/esm/gridview.d.ts +0 -175
  221. package/lib/esm/i18n.d.ts +0 -73
  222. package/lib/esm/icon.d.ts +0 -64
  223. package/lib/esm/image.d.ts +0 -55
  224. package/lib/esm/index.d.ts +0 -83
  225. package/lib/esm/input.d.ts +0 -91
  226. package/lib/esm/label.d.ts +0 -58
  227. package/lib/esm/layout.d.ts +0 -87
  228. package/lib/esm/link.d.ts +0 -50
  229. package/lib/esm/listview.d.ts +0 -178
  230. package/lib/esm/md5.d.ts +0 -61
  231. package/lib/esm/messagebox.d.ts +0 -68
  232. package/lib/esm/panel.d.ts +0 -47
  233. package/lib/esm/popup.d.ts +0 -75
  234. package/lib/esm/radiobtn.d.ts +0 -72
  235. package/lib/esm/rating.d.ts +0 -53
  236. package/lib/esm/request.d.ts +0 -52
  237. package/lib/esm/router.d.ts +0 -42
  238. package/lib/esm/settings.d.ts +0 -37
  239. package/lib/esm/sidebarview.d.ts +0 -49
  240. package/lib/esm/spreadsheet.d.ts +0 -218
  241. package/lib/esm/styles.d.ts +0 -85
  242. package/lib/esm/svgcomponent.d.ts +0 -191
  243. package/lib/esm/tabbar.d.ts +0 -58
  244. package/lib/esm/tabview.d.ts +0 -49
  245. package/lib/esm/textarea.d.ts +0 -63
  246. package/lib/esm/toaster.d.ts +0 -42
  247. package/lib/esm/tools.d.ts +0 -394
  248. package/lib/esm/treeview.d.ts +0 -132
  249. package/lib/esm/types/action.d.ts +0 -57
  250. package/lib/esm/types/application.d.ts +0 -104
  251. package/lib/esm/types/autocomplete.d.ts +0 -58
  252. package/lib/esm/types/base_component.d.ts +0 -88
  253. package/lib/esm/types/button.d.ts +0 -151
  254. package/lib/esm/types/calendar.d.ts +0 -81
  255. package/lib/esm/types/canvas.d.ts +0 -92
  256. package/lib/esm/types/cardview.d.ts +0 -87
  257. package/lib/esm/types/checkbox.d.ts +0 -77
  258. package/lib/esm/types/color.d.ts +0 -148
  259. package/lib/esm/types/colorpicker.d.ts +0 -107
  260. package/lib/esm/types/combobox.d.ts +0 -101
  261. package/lib/esm/types/component.d.ts +0 -601
  262. package/lib/esm/types/datastore.d.ts +0 -396
  263. package/lib/esm/types/dialog.d.ts +0 -175
  264. package/lib/esm/types/dom_events.d.ts +0 -302
  265. package/lib/esm/types/drag_manager.d.ts +0 -54
  266. package/lib/esm/types/drawtext.d.ts +0 -48
  267. package/lib/esm/types/fileupload.d.ts +0 -64
  268. package/lib/esm/types/form.d.ts +0 -126
  269. package/lib/esm/types/formatters.d.ts +0 -35
  270. package/lib/esm/types/gridview.d.ts +0 -175
  271. package/lib/esm/types/i18n.d.ts +0 -73
  272. package/lib/esm/types/icon.d.ts +0 -64
  273. package/lib/esm/types/image.d.ts +0 -55
  274. package/lib/esm/types/index.d.ts +0 -83
  275. package/lib/esm/types/input.d.ts +0 -91
  276. package/lib/esm/types/label.d.ts +0 -58
  277. package/lib/esm/types/layout.d.ts +0 -87
  278. package/lib/esm/types/link.d.ts +0 -50
  279. package/lib/esm/types/listview.d.ts +0 -178
  280. package/lib/esm/types/md5.d.ts +0 -61
  281. package/lib/esm/types/menu.d.ts +0 -130
  282. package/lib/esm/types/messagebox.d.ts +0 -68
  283. package/lib/esm/types/panel.d.ts +0 -47
  284. package/lib/esm/types/popup.d.ts +0 -75
  285. package/lib/esm/types/property_editor.d.ts +0 -71
  286. package/lib/esm/types/radiobtn.d.ts +0 -72
  287. package/lib/esm/types/rating.d.ts +0 -53
  288. package/lib/esm/types/request.d.ts +0 -52
  289. package/lib/esm/types/router.d.ts +0 -42
  290. package/lib/esm/types/settings.d.ts +0 -37
  291. package/lib/esm/types/sidebarview.d.ts +0 -49
  292. package/lib/esm/types/spreadsheet.d.ts +0 -218
  293. package/lib/esm/types/styles.d.ts +0 -85
  294. package/lib/esm/types/svgcomponent.d.ts +0 -191
  295. package/lib/esm/types/tabbar.d.ts +0 -58
  296. package/lib/esm/types/tabview.d.ts +0 -49
  297. package/lib/esm/types/textarea.d.ts +0 -63
  298. package/lib/esm/types/textedit.d.ts +0 -123
  299. package/lib/esm/types/toaster.d.ts +0 -42
  300. package/lib/esm/types/tools.d.ts +0 -394
  301. package/lib/esm/types/tooltips.d.ts +0 -46
  302. package/lib/esm/types/treeview.d.ts +0 -132
  303. package/lib/esm/types/x4dom.d.ts +0 -49
  304. package/lib/esm/types/x4events.d.ts +0 -269
  305. package/lib/esm/types/x4react.d.ts +0 -41
  306. package/lib/esm/version.d.ts +0 -29
  307. package/lib/esm/x4dom.d.ts +0 -49
  308. package/lib/esm/x4events.d.ts +0 -269
  309. package/lib/esm/x4react.d.ts +0 -41
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "x4js",
3
- "version": "1.5.0",
3
+ "version": "1.5.2",
4
4
  "description": "X4js core files",
5
5
  "main": "lib/cjs/index.js",
6
- "types": "lib/cjs/index.d.ts",
6
+ "types": "lib/types/index.d.ts",
7
7
  "style": "lib/x4.css",
8
8
  "files": [
9
9
  "lib/**/*"
10
- ],
10
+ ],
11
11
  "repository": {
12
12
  "type": "git",
13
13
  "url": "git+https://github.com/rlibre/x4js.git"
@@ -21,13 +21,9 @@
21
21
  "application"
22
22
  ],
23
23
  "scripts": {
24
- "build": "npm run build:cjs && npm run build:esm && npm run build:rsc && npm run build:src",
25
- "build:esm": "tsc -p tsconfig.esm.json && mv lib/esm/index.js lib/esm/index.mjs",
26
- "build:cjs": "tsc -p tsconfig.cjs.json",
27
- "build:rsc": "mkdirp lib/styles && lessc src/x4.less >lib/styles/x4.css && cp src/x4.less lib/styles/x4.less",
28
- "build:src": "mkdirp lib/ts_src && cp src/* lib/ts_src",
24
+ "build": "bash ./build.sh",
29
25
  "mkdoc": "typedoc --tsconfig tsconfig.json --readme none",
30
- "prepack": "npm run build"
26
+ "prepack": "bash ./build.sh"
31
27
  },
32
28
  "author": "etienne cochard",
33
29
  "license": "MIT",
@@ -38,13 +34,16 @@
38
34
  "exports": {
39
35
  ".": {
40
36
  "import": {
41
- "types": "./lib/esm/types/index.d.ts",
37
+ "types": "./lib/types/index.d.ts",
42
38
  "default": "./lib/esm/index.mjs"
43
39
  },
44
40
  "require": {
45
- "types": "./lib/cjs/types/index.d.ts",
41
+ "types": "./lib/types/index.d.ts",
46
42
  "default": "./lib/cjs/index.js"
47
43
  }
48
44
  }
45
+ },
46
+ "dependencies": {
47
+ "typescript": "^4.9.3"
49
48
  }
50
- }
49
+ }
@@ -1,151 +0,0 @@
1
- /**
2
- * ___ ___ __
3
- * \ \/ / / _
4
- * \ / /_| |_
5
- * / \____ _|
6
- * /__/\__\ |_|
7
- *
8
- * @file button.ts
9
- * @author Etienne Cochard
10
- *
11
- * Copyright (c) 2019-2022 R-libre ingenierie
12
- *
13
- * Permission is hereby granted, free of charge, to any person obtaining a copy
14
- * of this software and associated documentation files (the "Software"), to deal
15
- * in the Software without restriction, including without limitation the rights
16
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
17
- * of the Software, and to permit persons to whom the Software is furnished to do so,
18
- * subject to the following conditions:
19
- * The above copyright notice and this permission notice shall be included in all copies
20
- * or substantial portions of the Software.
21
- *
22
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
23
- * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
24
- * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
25
- * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
26
- * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
27
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28
- **/
29
- import { Component, CProps, CEventMap, HtmlString } from './component';
30
- import { EventCallback, EvClick, EvChange } from './x4events';
31
- import { Action } from './action';
32
- import { IconID } from './icon';
33
- import { MenuItem, MenuOrSep } from './menu';
34
- /**
35
- * Button events
36
- */
37
- interface ButtonEventMap extends CEventMap {
38
- click: EvClick;
39
- }
40
- declare type MenuCallBack = () => MenuOrSep[];
41
- /**
42
- * Button properties
43
- */
44
- interface ButtonProps<E extends ButtonEventMap = ButtonEventMap> extends CProps<E> {
45
- text?: string | HtmlString;
46
- icon?: IconID;
47
- rightIcon?: IconID;
48
- align?: 'center' | 'left' | 'right';
49
- autoRepeat?: number;
50
- menu?: MenuOrSep[] | MenuCallBack;
51
- click?: EventCallback<EvClick>;
52
- action?: Action;
53
- }
54
- /**
55
- * Base button
56
- */
57
- export declare class BaseButton<P extends ButtonProps = ButtonProps, E extends ButtonEventMap = ButtonEventMap> extends Component<P, E> {
58
- constructor(props: P);
59
- render(props: ButtonProps): void;
60
- /**
61
- * starts/stops the autorepeat
62
- */
63
- private _startAutoRep;
64
- /**
65
- *
66
- */
67
- protected _handleKeyDown(ev: KeyboardEvent): void;
68
- /**
69
- * called by the system on click event
70
- */
71
- protected _handleClick(ev: MouseEvent): void;
72
- /**
73
- * sends a click to the observers
74
- */
75
- protected _sendClick(): void;
76
- /**
77
- * change the button text
78
- * @example
79
- * ```ts
80
- * let btn = new Button( {
81
- * text: 'hello'
82
- * });
83
- *
84
- * btn.text = 'world';
85
- * ```
86
- */
87
- set text(text: string | HtmlString);
88
- get text(): string | HtmlString;
89
- /**
90
- * change the button icon
91
- * todo: do nothing if no icon defined at startup
92
- *
93
- * @example
94
- * ```ts
95
- * let btn = new Button( {
96
- * text: 'hello',
97
- * icon: 'close'
98
- * });
99
- * btn.setIcon( 'open' );
100
- * ```
101
- */
102
- set icon(icon: IconID);
103
- get icon(): IconID;
104
- /**
105
- * change the button right icon
106
- * todo: do nothing if no icon defined at startup
107
- *
108
- * @example
109
- * ```ts
110
- * let btn = new Button( {
111
- * text: 'hello',
112
- * icon: 'close'
113
- * });
114
- * btn.setIcon( 'open' );
115
- * ```
116
- */
117
- set rightIcon(icon: IconID);
118
- get rightIcon(): IconID;
119
- /**
120
- *
121
- */
122
- set menu(items: MenuItem[]);
123
- }
124
- /**
125
- *
126
- */
127
- export declare class Button extends BaseButton<ButtonProps> {
128
- }
129
- interface ToggleButtonEventMap extends ButtonEventMap {
130
- change: EvChange;
131
- }
132
- interface ToggleButtonProps extends ButtonProps<ToggleButtonEventMap> {
133
- checked: boolean;
134
- checkedIcon?: IconID;
135
- }
136
- /**
137
- *
138
- */
139
- export declare class ToggleButton extends BaseButton<ToggleButtonProps, ToggleButtonEventMap> {
140
- constructor(props: ToggleButtonProps);
141
- /**
142
- *
143
- */
144
- render(props: ToggleButtonProps): void;
145
- /**
146
- *
147
- */
148
- protected _sendClick(): void;
149
- private _updateIcon;
150
- }
151
- export {};
@@ -1,87 +0,0 @@
1
- /**
2
- * ___ ___ __
3
- * \ \/ / / _
4
- * \ / /_| |_
5
- * / \____ _|
6
- * /__/\__\ |_|
7
- *
8
- * @file cardview.ts
9
- * @author Etienne Cochard
10
- *
11
- * Copyright (c) 2019-2022 R-libre ingenierie
12
- *
13
- * Permission is hereby granted, free of charge, to any person obtaining a copy
14
- * of this software and associated documentation files (the "Software"), to deal
15
- * in the Software without restriction, including without limitation the rights
16
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
17
- * of the Software, and to permit persons to whom the Software is furnished to do so,
18
- * subject to the following conditions:
19
- * The above copyright notice and this permission notice shall be included in all copies
20
- * or substantial portions of the Software.
21
- *
22
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
23
- * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
24
- * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
25
- * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
26
- * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
27
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28
- **/
29
- import { Component, CProps, CEventMap } from './component';
30
- import { EvChange } from './x4events';
31
- import { IconID } from './icon';
32
- export declare type PageOrCallback = Component | (() => Component);
33
- export interface ICardViewItem {
34
- icon?: IconID;
35
- name: string;
36
- title: string;
37
- page: PageOrCallback;
38
- }
39
- interface CardViewEventMap extends CEventMap {
40
- change?: EvChange;
41
- }
42
- export interface CardViewProps extends CProps<CardViewEventMap> {
43
- pages: ICardViewItem[];
44
- active?: string;
45
- }
46
- interface ICardItemEx extends ICardViewItem {
47
- selector: Component;
48
- active: boolean;
49
- }
50
- /**
51
- * Standard CardView class
52
- * a card view is composed of multiples pages with only one visible at a time.
53
- * pages can be selected by a component (like tabs ou sidebar).
54
- * or by code.
55
- */
56
- export declare class CardView<P extends CardViewProps = CardViewProps, E extends CardViewEventMap = CardViewEventMap> extends Component<P, E> {
57
- protected m_cards: ICardItemEx[];
58
- protected m_ipage: string;
59
- protected m_cpage: ICardItemEx;
60
- constructor(props: P);
61
- /** @ignore */
62
- render(): void;
63
- /**
64
- * switch to a specific card
65
- * @param name - card name as define in constructor
66
- */
67
- switchTo(name?: string): void;
68
- /**
69
- *
70
- */
71
- setPages(pages: ICardViewItem[]): void;
72
- /**
73
- *
74
- */
75
- private _initTabs;
76
- protected _updateSelector(): void;
77
- /**
78
- * prepare the cardinfo
79
- * can be used by derivations to create & set selectors
80
- */
81
- protected _prepareSelector(card: ICardViewItem): Component;
82
- /**
83
- *
84
- */
85
- protected _preparePage(page: Component): void;
86
- }
87
- export {};
@@ -1,396 +0,0 @@
1
- /**
2
- * ___ ___ __
3
- * \ \/ / / _
4
- * \ / /_| |_
5
- * / \____ _|
6
- * /__/\__\ |_|
7
- *
8
- * @file datastore.ts
9
- * @author Etienne Cochard
10
- *
11
- * Copyright (c) 2019-2022 R-libre ingenierie
12
- *
13
- * Permission is hereby granted, free of charge, to any person obtaining a copy
14
- * of this software and associated documentation files (the "Software"), to deal
15
- * in the Software without restriction, including without limitation the rights
16
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
17
- * of the Software, and to permit persons to whom the Software is furnished to do so,
18
- * subject to the following conditions:
19
- * The above copyright notice and this permission notice shall be included in all copies
20
- * or substantial portions of the Software.
21
- *
22
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
23
- * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
24
- * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
25
- * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
26
- * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
27
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28
- **/
29
- import { BasicEvent, EvChange, EventSource, EventMap } from './x4events';
30
- import { BaseComponent, BaseComponentEventMap, BaseComponentProps } from './base_component';
31
- export declare type ChangeCallback = (type: string, id?: any) => void;
32
- export declare type CalcCallback = () => string;
33
- export declare type FieldType = 'string' | 'int' | 'float' | 'date' | 'bool' | 'array' | 'object' | 'any' | 'calc';
34
- export declare type DataIndex = Uint32Array;
35
- interface EvDataChange extends BasicEvent {
36
- type: string;
37
- id: any;
38
- }
39
- declare function EvDataChange(type: 'create' | 'update' | 'delete' | 'data' | 'change', id?: any): EvDataChange;
40
- /**
41
- * fields definition
42
- * field with index=0 is record id
43
- */
44
- export interface MetaData {
45
- type?: FieldType;
46
- prec?: number;
47
- required?: boolean;
48
- calc?: (rec: Record) => any;
49
- model?: Record;
50
- }
51
- export interface FieldInfo extends MetaData {
52
- name: string;
53
- }
54
- export declare namespace data {
55
- /**
56
- * define a record id
57
- * @example
58
- * \@data_id()
59
- * id: string; // this field is the record id
60
- **/
61
- export function id(): (ownerCls: any, fldName: any) => void;
62
- /**
63
- * @ignore
64
- */
65
- export function field(data: MetaData): (ownerCls: any, fldName: any) => void;
66
- /**
67
- * following member is a string field
68
- * @example
69
- * \@data_string()
70
- * my_field: string; // this field will be seen as a string
71
- */
72
- export function string(props?: MetaData): (ownerCls: any, fldName: any) => void;
73
- /**
74
- * following member is an integer field
75
- * @example
76
- * \@data_string()
77
- * my_field: number; // this field will be seen as an integer
78
- */
79
- export function int(props?: MetaData): (ownerCls: any, fldName: any) => void;
80
- /**
81
- * following member is a float field
82
- * @example
83
- * \@data_float()
84
- * my_field: number; // this field will be seen as a float
85
- */
86
- export function float(props?: MetaData): (ownerCls: any, fldName: any) => void;
87
- /**
88
- * following member is a boolean field
89
- * @example
90
- * \@data_bool()
91
- * my_field: boolean; // this field will be seen as a boolean
92
- */
93
- export function bool(props?: MetaData): (ownerCls: any, fldName: any) => void;
94
- /**
95
- * following member is a date field
96
- * @example
97
- * \@data_date()
98
- * my_field: date; // this field will be seen as a date
99
- */
100
- export function date(props?: MetaData): (ownerCls: any, fldName: any) => void;
101
- /**
102
- * following member is a calculated field
103
- * @example
104
- * \@data_calc( )
105
- * get my_field(): string => {
106
- * return 'hello';
107
- * };
108
- */
109
- export function calc(props?: MetaData): (ownerCls: any, fldName: any) => void;
110
- /**
111
- *
112
- */
113
- interface RecordConstructor {
114
- new (data?: any, id?: any): Record;
115
- }
116
- /**
117
- * following member is a record array
118
- * @example
119
- * \@data_array( )
120
- * my_field(): TypedRecord[];
121
- */
122
- export function array(ctor: RecordConstructor, props?: MetaData): (ownerCls: any, fldName: any) => void;
123
- export {};
124
- }
125
- /**
126
- * record model
127
- */
128
- export declare class Record {
129
- constructor(data?: any, id?: any);
130
- clone(source?: any): any;
131
- /**
132
- * get the record unique identifier
133
- * by default the return value is the first field
134
- * @return unique identifier
135
- */
136
- getID(): any;
137
- /**
138
- * MUST IMPLEMENT
139
- * @returns fields descriptors
140
- */
141
- getFields(): FieldInfo[];
142
- /**
143
- *
144
- */
145
- validate(): Error[];
146
- getFieldIndex(name: string): number;
147
- /**
148
- * default serializer
149
- * @returns an object with known record values
150
- */
151
- serialize(): any;
152
- /**
153
- * default unserializer
154
- * @param data - input data
155
- * @returns a new Record
156
- */
157
- unSerialize(data: any, id?: any): Record;
158
- /**
159
- * field conversion
160
- * @param field - field descriptor
161
- * @param input - value to convert
162
- * @returns the field value in it's original form
163
- */
164
- protected _convertField(field: FieldInfo, input: any): any;
165
- /**
166
- * get raw value of a field
167
- * @param name - field name or field index
168
- */
169
- getRaw(name: string | number): any;
170
- /**
171
- *
172
- * @param name
173
- * @param data
174
- */
175
- setRaw(name: string, data: string): void;
176
- /**
177
- * get field value (as string)
178
- * @param name - field name
179
- * @example
180
- * let value = record.get('field1');
181
- */
182
- getField(name: string): string;
183
- /**
184
- * set field value
185
- * @param name - field name
186
- * @param value - value to set
187
- * @example
188
- * record.set( 'field1', 7 );
189
- */
190
- setField(name: string, value: any): void;
191
- }
192
- /**
193
- * by default, the field id is rhe first member or the record
194
- */
195
- export declare class AutoRecord extends Record {
196
- private m_data;
197
- private m_fid;
198
- constructor(data: any);
199
- getID(): any;
200
- getFields(): FieldInfo[];
201
- getRaw(name: string): string;
202
- setRaw(name: string, data: string): void;
203
- clone(data: any): AutoRecord;
204
- }
205
- /**
206
- *
207
- */
208
- interface DataEventMap extends BaseComponentEventMap {
209
- change?: EvChange;
210
- }
211
- export interface DataProxyProps extends BaseComponentProps<DataEventMap> {
212
- type: 'local' | 'immediate' | 'ajax';
213
- path?: string;
214
- params?: any;
215
- }
216
- export declare class DataProxy extends BaseComponent<DataProxyProps, DataEventMap> {
217
- constructor(props: DataProxyProps);
218
- load(): void;
219
- save(data: any): void;
220
- private _refresh;
221
- }
222
- /**
223
- *
224
- */
225
- interface DataStoreProps extends BaseComponentProps<DataStoreEventMap> {
226
- model: Record;
227
- data?: Record[];
228
- url?: string;
229
- }
230
- interface DataStoreEventMap extends EventMap {
231
- data_change: EvDataChange;
232
- }
233
- /**
234
- *
235
- */
236
- export declare class DataStore extends EventSource<DataStoreEventMap> {
237
- protected m_model: Record;
238
- protected m_fields: FieldInfo[];
239
- protected m_records: Record[];
240
- protected m_proxy: DataProxy;
241
- protected m_rec_index: DataIndex;
242
- constructor(props: DataStoreProps);
243
- /**
244
- *
245
- * @param records
246
- */
247
- load(url: string): void;
248
- reload(): void;
249
- /**
250
- * convert raw objects to real records from model
251
- * @param records
252
- */
253
- setData(records: any[]): void;
254
- /**
255
- * just set the records
256
- * @param records - must be of the same type as model
257
- */
258
- setRawData(records: any[]): void;
259
- private _rebuildIndex;
260
- /**
261
- *
262
- */
263
- update(rec: Record): boolean;
264
- /**
265
- *
266
- * @param data
267
- */
268
- append(rec: Record | any): void;
269
- /**
270
- *
271
- */
272
- getMaxId(): any;
273
- /**
274
- *
275
- * @param id
276
- */
277
- delete(id: any): boolean;
278
- /**
279
- * return the number of records
280
- */
281
- get count(): number;
282
- /**
283
- * return the fields
284
- */
285
- get fields(): FieldInfo[];
286
- /**
287
- * find the index of the element with the given id
288
- */
289
- indexOfId(id: any): number;
290
- /**
291
- * return the record by it's id
292
- * @returns record or null
293
- */
294
- getById(id: any): Record;
295
- /**
296
- * return a record by it's index
297
- * @returns record or null
298
- */
299
- getByIndex(index: number): Record;
300
- private _getRecord;
301
- moveTo(other: DataStore): void;
302
- /**
303
- * create a new view on the DataStore
304
- * @param opts
305
- */
306
- createView(opts?: DataViewProps): DataView;
307
- /**
308
- *
309
- */
310
- createIndex(filter: FilterInfo): DataIndex;
311
- sortIndex(index: DataIndex, sort: SortProp[]): Uint32Array;
312
- /**
313
- *
314
- */
315
- forEach(cb: (rec: Record, index: number) => any): void;
316
- export(): Record[];
317
- changed(): void;
318
- }
319
- export interface EvViewChange extends BasicEvent {
320
- action: string;
321
- }
322
- export declare function EvViewChange(action: 'filter' | 'sort' | 'change'): EvViewChange;
323
- interface DataViewEventMap extends BaseComponentEventMap {
324
- view_change: EvViewChange;
325
- }
326
- interface DataViewProps extends BaseComponentProps<DataViewEventMap> {
327
- store?: DataStore;
328
- filter?: FilterInfo;
329
- order?: string | SortProp[] | SortProp;
330
- }
331
- export declare type FilterFunc = (rec: Record) => boolean;
332
- export interface FilterInfo {
333
- op: '<' | '<=' | '=' | '>=' | '>' | '<>' | 'empty-result' | FilterFunc;
334
- field?: string;
335
- value?: string | RegExp;
336
- caseSensitive?: boolean;
337
- }
338
- export interface SortProp {
339
- field: string;
340
- ascending: boolean;
341
- }
342
- /**
343
- * Dataview allow different views of the DataStore.
344
- * You can sort the columns & filter data
345
- * You can have multiple views for a single DataStore
346
- */
347
- export declare class DataView extends BaseComponent<DataViewProps, DataViewEventMap> {
348
- protected m_index: DataIndex;
349
- protected m_store: DataStore;
350
- protected m_sort: SortProp[];
351
- protected m_filter: FilterInfo;
352
- constructor(props: DataViewProps);
353
- private _storeChange;
354
- /**
355
- *
356
- * @param filter
357
- */
358
- filter(filter?: FilterInfo): number;
359
- private _filter;
360
- /**
361
- *
362
- * @param columns
363
- * @param ascending
364
- */
365
- sort(props: SortProp[]): void;
366
- private _sort;
367
- /**
368
- *
369
- */
370
- get store(): DataStore;
371
- /**
372
- *
373
- */
374
- get count(): number;
375
- /**
376
- *
377
- * @param id
378
- */
379
- indexOfId(id: any): number;
380
- /**
381
- *
382
- * @param index
383
- */
384
- getByIndex(index: number): Record;
385
- /**
386
- *
387
- * @param id
388
- */
389
- getById(id: any): Record;
390
- changed(): void;
391
- /**
392
- *
393
- */
394
- forEach(cb: (rec: Record, index: number) => any): void;
395
- }
396
- export {};