ps-toolkit-ui 0.0.211 → 0.0.212

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 (311) hide show
  1. package/bundles/ps-toolkit-ui.umd.js +7812 -0
  2. package/bundles/ps-toolkit-ui.umd.js.map +1 -0
  3. package/bundles/ps-toolkit-ui.umd.min.js +2 -0
  4. package/bundles/ps-toolkit-ui.umd.min.js.map +1 -0
  5. package/esm2015/lib/classes/chart.class.js +140 -0
  6. package/esm2015/lib/classes/enum.class.js +187 -0
  7. package/esm2015/lib/classes/form.class.js +481 -0
  8. package/esm2015/lib/classes/helper.class.js +284 -0
  9. package/esm2015/lib/classes/lang.class.js +32 -0
  10. package/esm2015/lib/classes/login.class.js +22 -0
  11. package/esm2015/lib/classes/modal.class.js +52 -0
  12. package/esm2015/lib/classes/permission.class.js +61 -0
  13. package/esm2015/lib/classes/request.class.js +256 -0
  14. package/esm2015/lib/classes/safestyle.class.js +15 -0
  15. package/esm2015/lib/classes/sidebar.class.js +14 -0
  16. package/esm2015/lib/classes/steps.class.js +20 -0
  17. package/esm2015/lib/classes/string.class.js +220 -0
  18. package/esm2015/lib/classes/table.class.js +215 -0
  19. package/esm2015/lib/components/accordion/accordion.component.js +45 -0
  20. package/esm2015/lib/components/alert/alert.component.js +39 -0
  21. package/esm2015/lib/components/base.component.js +45 -0
  22. package/esm2015/lib/components/calendar/calendar.component.js +97 -0
  23. package/esm2015/lib/components/chart/chart.component.js +17 -0
  24. package/esm2015/lib/components/clock/clock.component.js +33 -0
  25. package/esm2015/lib/components/confirm/confirm.component.js +50 -0
  26. package/esm2015/lib/components/footer/footer.component.js +23 -0
  27. package/esm2015/lib/components/form/bank-card/form.bank-card.component.js +148 -0
  28. package/esm2015/lib/components/form/button/form.button.component.js +68 -0
  29. package/esm2015/lib/components/form/car/form.car.component.js +84 -0
  30. package/esm2015/lib/components/form/car/search/form.car.search.component.js +172 -0
  31. package/esm2015/lib/components/form/checkbox/form.checkbox.component.js +66 -0
  32. package/esm2015/lib/components/form/date/form.date.component.js +254 -0
  33. package/esm2015/lib/components/form/datetime/form.datetime.component.js +104 -0
  34. package/esm2015/lib/components/form/file/form.file.component.js +133 -0
  35. package/esm2015/lib/components/form/finger/form.finger.component.js +138 -0
  36. package/esm2015/lib/components/form/hidden/form.hidden.component.js +31 -0
  37. package/esm2015/lib/components/form/icon/form.icon.component.js +76 -0
  38. package/esm2015/lib/components/form/index/form.component.js +48 -0
  39. package/esm2015/lib/components/form/label/form.label.component.js +32 -0
  40. package/esm2015/lib/components/form/plaque/form.plaque.component.js +176 -0
  41. package/esm2015/lib/components/form/plaque/select/form.plaque.select.component.js +390 -0
  42. package/esm2015/lib/components/form/radio/form.radio.component.js +79 -0
  43. package/esm2015/lib/components/form/select/form.select.component.js +374 -0
  44. package/esm2015/lib/components/form/select/item/form.select.item.component.js +43 -0
  45. package/esm2015/lib/components/form/table/form.table.component.js +98 -0
  46. package/esm2015/lib/components/form/textarea/form.textarea.component.js +78 -0
  47. package/esm2015/lib/components/form/textbox/form.textbox.component.js +186 -0
  48. package/esm2015/lib/components/form/time/form.time.component.js +145 -0
  49. package/esm2015/lib/components/form/tree/form.tree.component.js +99 -0
  50. package/esm2015/lib/components/form/tree/item/form.tree.item.component.js +48 -0
  51. package/esm2015/lib/components/header/header.component.js +33 -0
  52. package/esm2015/lib/components/header/sub/sub.header.component.js +14 -0
  53. package/esm2015/lib/components/layout/layout.component.js +25 -0
  54. package/esm2015/lib/components/loading/loading.component.js +22 -0
  55. package/esm2015/lib/components/login/login.component.js +148 -0
  56. package/esm2015/lib/components/modal/modal.component.js +25 -0
  57. package/esm2015/lib/components/notfound/notfound.component.js +29 -0
  58. package/esm2015/lib/components/notification/notification.component.js +14 -0
  59. package/esm2015/lib/components/sidebar/item/sidebar.item.component.js +53 -0
  60. package/esm2015/lib/components/sidebar/sidebar.component.js +67 -0
  61. package/esm2015/lib/components/steps/steps.component.js +51 -0
  62. package/esm2015/lib/components/table/loading/table.loading.component.js +17 -0
  63. package/esm2015/lib/components/table/pagination/table.pagination.component.js +84 -0
  64. package/esm2015/lib/components/table/report/table.report.component.js +246 -0
  65. package/esm2015/lib/components/table/row/table.row.component.js +379 -0
  66. package/esm2015/lib/components/table/table.component.js +179 -0
  67. package/esm2015/lib/components/tooltip/tooltip.component.js +19 -0
  68. package/esm2015/lib/ps-toolkit-ui.module.js +95 -0
  69. package/esm2015/lib/services/config.service.js +14 -0
  70. package/esm2015/ps-toolkit-ui.js +20 -0
  71. package/esm2015/public-api.js +53 -0
  72. package/fesm2015/ps-toolkit-ui.js +6706 -0
  73. package/fesm2015/ps-toolkit-ui.js.map +1 -0
  74. package/lib/classes/chart.class.d.ts +11 -0
  75. package/lib/classes/enum.class.d.ts +158 -0
  76. package/lib/classes/form.class.d.ts +173 -0
  77. package/lib/classes/helper.class.d.ts +28 -0
  78. package/lib/classes/lang.class.d.ts +5 -0
  79. package/lib/classes/login.class.d.ts +17 -0
  80. package/lib/classes/modal.class.d.ts +19 -0
  81. package/lib/classes/permission.class.d.ts +31 -0
  82. package/lib/classes/request.class.d.ts +12 -0
  83. package/lib/classes/safestyle.class.d.ts +7 -0
  84. package/lib/classes/sidebar.class.d.ts +11 -0
  85. package/lib/classes/steps.class.d.ts +17 -0
  86. package/lib/classes/string.class.d.ts +218 -0
  87. package/lib/classes/table.class.d.ts +69 -0
  88. package/lib/components/accordion/accordion.component.d.ts +7 -0
  89. package/lib/components/alert/alert.component.d.ts +10 -0
  90. package/lib/components/base.component.d.ts +14 -0
  91. package/lib/components/calendar/calendar.component.d.ts +26 -0
  92. package/lib/components/chart/chart.component.d.ts +5 -0
  93. package/lib/components/clock/clock.component.d.ts +11 -0
  94. package/lib/components/confirm/confirm.component.d.ts +14 -0
  95. package/lib/components/footer/footer.component.d.ts +6 -0
  96. package/lib/components/form/bank-card/form.bank-card.component.d.ts +22 -0
  97. package/lib/components/form/button/form.button.component.d.ts +15 -0
  98. package/lib/components/form/car/form.car.component.d.ts +16 -0
  99. package/lib/components/form/car/search/form.car.search.component.d.ts +17 -0
  100. package/lib/components/form/checkbox/form.checkbox.component.d.ts +14 -0
  101. package/lib/components/form/date/form.date.component.d.ts +42 -0
  102. package/lib/components/form/datetime/form.datetime.component.d.ts +13 -0
  103. package/lib/components/form/file/form.file.component.d.ts +17 -0
  104. package/lib/components/form/finger/form.finger.component.d.ts +15 -0
  105. package/lib/components/form/hidden/form.hidden.component.d.ts +7 -0
  106. package/lib/components/form/icon/form.icon.component.d.ts +15 -0
  107. package/lib/components/form/index/form.component.d.ts +10 -0
  108. package/lib/components/form/label/form.label.component.d.ts +8 -0
  109. package/lib/components/form/plaque/form.plaque.component.d.ts +22 -0
  110. package/lib/components/form/plaque/select/form.plaque.select.component.d.ts +36 -0
  111. package/lib/components/form/radio/form.radio.component.d.ts +13 -0
  112. package/lib/components/form/select/form.select.component.d.ts +39 -0
  113. package/lib/components/form/select/item/form.select.item.component.d.ts +12 -0
  114. package/lib/components/form/table/form.table.component.d.ts +9 -0
  115. package/lib/components/form/textarea/form.textarea.component.d.ts +13 -0
  116. package/lib/components/form/textbox/form.textbox.component.d.ts +20 -0
  117. package/lib/components/form/time/form.time.component.d.ts +25 -0
  118. package/lib/components/form/tree/form.tree.component.d.ts +16 -0
  119. package/lib/components/form/tree/item/form.tree.item.component.d.ts +17 -0
  120. package/lib/components/header/header.component.d.ts +9 -0
  121. package/lib/components/header/sub/sub.header.component.d.ts +3 -0
  122. package/lib/components/layout/layout.component.d.ts +8 -0
  123. package/lib/components/loading/loading.component.d.ts +5 -0
  124. package/lib/components/login/login.component.d.ts +13 -0
  125. package/lib/components/modal/modal.component.d.ts +9 -0
  126. package/lib/components/notfound/notfound.component.d.ts +8 -0
  127. package/lib/components/notification/notification.component.d.ts +3 -0
  128. package/lib/components/sidebar/item/sidebar.item.component.d.ts +14 -0
  129. package/lib/components/sidebar/sidebar.component.d.ts +19 -0
  130. package/lib/components/steps/steps.component.d.ts +10 -0
  131. package/lib/components/table/loading/table.loading.component.d.ts +5 -0
  132. package/lib/components/table/pagination/table.pagination.component.d.ts +15 -0
  133. package/lib/components/table/report/table.report.component.d.ts +34 -0
  134. package/lib/components/table/row/table.row.component.d.ts +34 -0
  135. package/lib/components/table/table.component.d.ts +40 -0
  136. package/lib/components/tooltip/tooltip.component.d.ts +5 -0
  137. package/lib/ps-toolkit-ui.module.d.ts +4 -0
  138. package/lib/services/config.service.d.ts +6 -0
  139. package/package.json +23 -19
  140. package/ps-toolkit-ui.d.ts +19 -0
  141. package/ps-toolkit-ui.metadata.json +1 -0
  142. package/{src/public-api.ts → public-api.d.ts} +49 -53
  143. package/karma.conf.js +0 -32
  144. package/ng-package.json +0 -16
  145. package/src/lib/classes/chart.class.ts +0 -140
  146. package/src/lib/classes/enum.class.ts +0 -193
  147. package/src/lib/classes/excel.class.ts +0 -46
  148. package/src/lib/classes/form.class.ts +0 -528
  149. package/src/lib/classes/helper.class.ts +0 -283
  150. package/src/lib/classes/lang.class.ts +0 -32
  151. package/src/lib/classes/login.class.ts +0 -27
  152. package/src/lib/classes/modal.class.ts +0 -59
  153. package/src/lib/classes/permission.class.ts +0 -55
  154. package/src/lib/classes/request.class.ts +0 -255
  155. package/src/lib/classes/safestyle.class.ts +0 -4
  156. package/src/lib/classes/sidebar.class.ts +0 -20
  157. package/src/lib/classes/steps.class.ts +0 -19
  158. package/src/lib/classes/string.class.ts +0 -219
  159. package/src/lib/classes/table.class.ts +0 -228
  160. package/src/lib/components/accordion/accordion.component.css +0 -116
  161. package/src/lib/components/accordion/accordion.component.html +0 -19
  162. package/src/lib/components/accordion/accordion.component.ts +0 -41
  163. package/src/lib/components/alert/alert.component.css +0 -112
  164. package/src/lib/components/alert/alert.component.html +0 -1
  165. package/src/lib/components/alert/alert.component.ts +0 -35
  166. package/src/lib/components/base.component.ts +0 -38
  167. package/src/lib/components/calendar/calendar.component.css +0 -206
  168. package/src/lib/components/calendar/calendar.component.html +0 -36
  169. package/src/lib/components/calendar/calendar.component.ts +0 -99
  170. package/src/lib/components/chart/chart.component.css +0 -24
  171. package/src/lib/components/chart/chart.component.html +0 -6
  172. package/src/lib/components/chart/chart.component.ts +0 -14
  173. package/src/lib/components/clock/clock.component.css +0 -141
  174. package/src/lib/components/clock/clock.component.html +0 -10
  175. package/src/lib/components/clock/clock.component.ts +0 -37
  176. package/src/lib/components/confirm/confirm.component.css +0 -112
  177. package/src/lib/components/confirm/confirm.component.html +0 -1
  178. package/src/lib/components/confirm/confirm.component.ts +0 -47
  179. package/src/lib/components/footer/footer.component.css +0 -46
  180. package/src/lib/components/footer/footer.component.html +0 -9
  181. package/src/lib/components/footer/footer.component.ts +0 -18
  182. package/src/lib/components/form/bank-card/form.bank-card.component.css +0 -115
  183. package/src/lib/components/form/bank-card/form.bank-card.component.html +0 -13
  184. package/src/lib/components/form/bank-card/form.bank-card.component.ts +0 -144
  185. package/src/lib/components/form/button/form.button.component.css +0 -222
  186. package/src/lib/components/form/button/form.button.component.html +0 -16
  187. package/src/lib/components/form/button/form.button.component.ts +0 -65
  188. package/src/lib/components/form/car/form.car.component.css +0 -287
  189. package/src/lib/components/form/car/form.car.component.html +0 -11
  190. package/src/lib/components/form/car/form.car.component.ts +0 -82
  191. package/src/lib/components/form/car/search/form.car.search.component.css +0 -287
  192. package/src/lib/components/form/car/search/form.car.search.component.html +0 -15
  193. package/src/lib/components/form/car/search/form.car.search.component.ts +0 -170
  194. package/src/lib/components/form/checkbox/form.checkbox.component.css +0 -128
  195. package/src/lib/components/form/checkbox/form.checkbox.component.html +0 -8
  196. package/src/lib/components/form/checkbox/form.checkbox.component.ts +0 -64
  197. package/src/lib/components/form/date/form.date.component.css +0 -310
  198. package/src/lib/components/form/date/form.date.component.html +0 -46
  199. package/src/lib/components/form/date/form.date.component.ts +0 -247
  200. package/src/lib/components/form/datetime/form.datetime.component.css +0 -157
  201. package/src/lib/components/form/datetime/form.datetime.component.html +0 -11
  202. package/src/lib/components/form/datetime/form.datetime.component.ts +0 -98
  203. package/src/lib/components/form/file/form.file.component.css +0 -151
  204. package/src/lib/components/form/file/form.file.component.html +0 -12
  205. package/src/lib/components/form/file/form.file.component.ts +0 -130
  206. package/src/lib/components/form/finger/form.finger.component.css +0 -215
  207. package/src/lib/components/form/finger/form.finger.component.html +0 -59
  208. package/src/lib/components/form/finger/form.finger.component.ts +0 -131
  209. package/src/lib/components/form/hidden/form.hidden.component.css +0 -0
  210. package/src/lib/components/form/hidden/form.hidden.component.html +0 -0
  211. package/src/lib/components/form/hidden/form.hidden.component.ts +0 -29
  212. package/src/lib/components/form/icon/form.icon.component.css +0 -108
  213. package/src/lib/components/form/icon/form.icon.component.html +0 -14
  214. package/src/lib/components/form/icon/form.icon.component.ts +0 -73
  215. package/src/lib/components/form/index/form.component.css +0 -89
  216. package/src/lib/components/form/index/form.component.html +0 -35
  217. package/src/lib/components/form/index/form.component.ts +0 -45
  218. package/src/lib/components/form/label/form.label.component.css +0 -45
  219. package/src/lib/components/form/label/form.label.component.html +0 -2
  220. package/src/lib/components/form/label/form.label.component.ts +0 -30
  221. package/src/lib/components/form/plaque/form.plaque.component.css +0 -76
  222. package/src/lib/components/form/plaque/form.plaque.component.html +0 -10
  223. package/src/lib/components/form/plaque/form.plaque.component.ts +0 -178
  224. package/src/lib/components/form/plaque/select/form.plaque.select.component.css +0 -167
  225. package/src/lib/components/form/plaque/select/form.plaque.select.component.html +0 -19
  226. package/src/lib/components/form/plaque/select/form.plaque.select.component.ts +0 -385
  227. package/src/lib/components/form/radio/form.radio.component.css +0 -158
  228. package/src/lib/components/form/radio/form.radio.component.html +0 -16
  229. package/src/lib/components/form/radio/form.radio.component.ts +0 -78
  230. package/src/lib/components/form/select/form.select.component.css +0 -326
  231. package/src/lib/components/form/select/form.select.component.html +0 -16
  232. package/src/lib/components/form/select/form.select.component.ts +0 -358
  233. package/src/lib/components/form/select/item/form.select.item.component.css +0 -59
  234. package/src/lib/components/form/select/item/form.select.item.component.html +0 -10
  235. package/src/lib/components/form/select/item/form.select.item.component.ts +0 -40
  236. package/src/lib/components/form/table/form.table.component.css +0 -50
  237. package/src/lib/components/form/table/form.table.component.html +0 -8
  238. package/src/lib/components/form/table/form.table.component.ts +0 -94
  239. package/src/lib/components/form/textarea/form.textarea.component.css +0 -109
  240. package/src/lib/components/form/textarea/form.textarea.component.html +0 -10
  241. package/src/lib/components/form/textarea/form.textarea.component.ts +0 -76
  242. package/src/lib/components/form/textbox/form.textbox.component.css +0 -296
  243. package/src/lib/components/form/textbox/form.textbox.component.html +0 -13
  244. package/src/lib/components/form/textbox/form.textbox.component.ts +0 -185
  245. package/src/lib/components/form/time/form.time.component.css +0 -205
  246. package/src/lib/components/form/time/form.time.component.html +0 -22
  247. package/src/lib/components/form/time/form.time.component.ts +0 -139
  248. package/src/lib/components/form/tree/form.tree.component.css +0 -109
  249. package/src/lib/components/form/tree/form.tree.component.html +0 -11
  250. package/src/lib/components/form/tree/form.tree.component.ts +0 -98
  251. package/src/lib/components/form/tree/item/form.tree.item.component.css +0 -142
  252. package/src/lib/components/form/tree/item/form.tree.item.component.html +0 -9
  253. package/src/lib/components/form/tree/item/form.tree.item.component.ts +0 -49
  254. package/src/lib/components/header/header.component.css +0 -57
  255. package/src/lib/components/header/header.component.html +0 -5
  256. package/src/lib/components/header/header.component.ts +0 -28
  257. package/src/lib/components/header/sub/sub.header.component.css +0 -62
  258. package/src/lib/components/header/sub/sub.header.component.html +0 -8
  259. package/src/lib/components/header/sub/sub.header.component.ts +0 -11
  260. package/src/lib/components/layout/layout.component.css +0 -300
  261. package/src/lib/components/layout/layout.component.html +0 -20
  262. package/src/lib/components/layout/layout.component.ts +0 -21
  263. package/src/lib/components/loading/loading.component.css +0 -39
  264. package/src/lib/components/loading/loading.component.html +0 -8
  265. package/src/lib/components/loading/loading.component.ts +0 -18
  266. package/src/lib/components/login/login.component.css +0 -389
  267. package/src/lib/components/login/login.component.html +0 -27
  268. package/src/lib/components/login/login.component.ts +0 -145
  269. package/src/lib/components/modal/modal.component.css +0 -60
  270. package/src/lib/components/modal/modal.component.html +0 -12
  271. package/src/lib/components/modal/modal.component.ts +0 -23
  272. package/src/lib/components/notfound/notfound.component.css +0 -134
  273. package/src/lib/components/notfound/notfound.component.html +0 -10
  274. package/src/lib/components/notfound/notfound.component.ts +0 -25
  275. package/src/lib/components/notification/notification.component.css +0 -45
  276. package/src/lib/components/notification/notification.component.html +0 -2
  277. package/src/lib/components/notification/notification.component.ts +0 -11
  278. package/src/lib/components/sidebar/item/sidebar.item.component.css +0 -236
  279. package/src/lib/components/sidebar/item/sidebar.item.component.html +0 -16
  280. package/src/lib/components/sidebar/item/sidebar.item.component.ts +0 -54
  281. package/src/lib/components/sidebar/sidebar.component.css +0 -42
  282. package/src/lib/components/sidebar/sidebar.component.html +0 -10
  283. package/src/lib/components/sidebar/sidebar.component.ts +0 -60
  284. package/src/lib/components/steps/steps.component.css +0 -320
  285. package/src/lib/components/steps/steps.component.html +0 -18
  286. package/src/lib/components/steps/steps.component.ts +0 -44
  287. package/src/lib/components/table/loading/table.loading.component.css +0 -29
  288. package/src/lib/components/table/loading/table.loading.component.html +0 -9
  289. package/src/lib/components/table/loading/table.loading.component.ts +0 -14
  290. package/src/lib/components/table/pagination/table.pagination.component.css +0 -138
  291. package/src/lib/components/table/pagination/table.pagination.component.html +0 -9
  292. package/src/lib/components/table/pagination/table.pagination.component.ts +0 -89
  293. package/src/lib/components/table/report/table.report.component.css +0 -125
  294. package/src/lib/components/table/report/table.report.component.html +0 -19
  295. package/src/lib/components/table/report/table.report.component.ts +0 -238
  296. package/src/lib/components/table/row/table.row.component.css +0 -170
  297. package/src/lib/components/table/row/table.row.component.html +0 -21
  298. package/src/lib/components/table/row/table.row.component.ts +0 -373
  299. package/src/lib/components/table/table.component.css +0 -116
  300. package/src/lib/components/table/table.component.html +0 -62
  301. package/src/lib/components/table/table.component.ts +0 -180
  302. package/src/lib/components/tooltip/tooltip.component.css +0 -159
  303. package/src/lib/components/tooltip/tooltip.component.html +0 -1
  304. package/src/lib/components/tooltip/tooltip.component.ts +0 -15
  305. package/src/lib/ps-toolkit-ui.module.ts +0 -94
  306. package/src/lib/services/config.service.ts +0 -8
  307. package/src/test.ts +0 -26
  308. package/tsconfig.lib.json +0 -25
  309. package/tsconfig.lib.prod.json +0 -10
  310. package/tsconfig.spec.json +0 -17
  311. package/tslint.json +0 -17
@@ -0,0 +1,215 @@
1
+ import { ModalClass } from './modal.class';
2
+ import { InputClass } from './form.class';
3
+ import { InputType, Method, PermissionAccessTypeEnum, PermissionInputActionEnum, PermissionInputTypeEnum, PermissionTypeEnum, TableCollType, TableOptionType } from './enum.class';
4
+ import { RequestClass } from './request.class';
5
+ import { PermissionClass } from './permission.class';
6
+ import { HelperClass } from './helper.class';
7
+ import * as $ from 'jquery';
8
+ export class TableClass {
9
+ constructor(environment, l, permissions, name = '', cls = '', perPage = 10, height = 50) {
10
+ this.environment = null;
11
+ this.permission = true;
12
+ this.style = {};
13
+ this.url = null;
14
+ this.method = Method.Post;
15
+ this.height = 40;
16
+ this.perPage = 10;
17
+ this.cols = [];
18
+ this.buttons = [];
19
+ this.optionsActions = [];
20
+ this.rows = [];
21
+ this.count = 0;
22
+ this.page = 1;
23
+ this.sort = null;
24
+ this.queryParams = {};
25
+ this.title = null;
26
+ this.description = null;
27
+ this.sortType = null;
28
+ this.displayLabel = true;
29
+ this.sortable = false;
30
+ this.optionType = TableOptionType.Hidden;
31
+ this.loading = true;
32
+ this.hasStatus = false;
33
+ this.hasChildren = false;
34
+ this.childrenAutoLoad = false;
35
+ this.withSelect = false;
36
+ this.showExtraButtons = true;
37
+ this.extraButtons = [];
38
+ this.form = null;
39
+ this.searchForm = null;
40
+ this.modal = null;
41
+ this.level = null;
42
+ this.onLoad = null;
43
+ this.onSort = null;
44
+ this.showConfirm = null;
45
+ this.environment = environment;
46
+ this.l = l;
47
+ this.name = name;
48
+ this.id = this.name;
49
+ this.permissions = permissions;
50
+ this.class = cls;
51
+ this.perPage = perPage;
52
+ this.height = height;
53
+ }
54
+ load(btn = null) {
55
+ if (this.url) {
56
+ new RequestClass(this.environment, this.l).table(this, btn);
57
+ }
58
+ else {
59
+ this.loading = false;
60
+ }
61
+ }
62
+ searchData(report = false) {
63
+ const d = {};
64
+ if (!report) {
65
+ d.Page = this.page;
66
+ d.PerPage = this.perPage;
67
+ }
68
+ if (this.sortable) {
69
+ d.Sort = 'Priority';
70
+ d.SortType = 'ASC';
71
+ }
72
+ else if (this.sort) {
73
+ d.Sort = this.sort;
74
+ d.SortType = this.sortType;
75
+ }
76
+ for (const c of this.cols.filter(x => x.withSearch && x.search != null && x.search.data() != null && x.search.data() !== '')) {
77
+ d[c.name] = c.search.data();
78
+ }
79
+ return this.searchForm ? this.searchForm.json(d) : d;
80
+ }
81
+ getUrl() {
82
+ return this.url + 'List';
83
+ }
84
+ showInsertModal(cId = null) {
85
+ const insertAccess = this.permissions.getAccess(PermissionAccessTypeEnum.Insert);
86
+ this.form.url = this.form.baseUrl = this.url + 'Insert' + (cId ? '/' + cId : '');
87
+ this.form.name = insertAccess.Name;
88
+ this.form.method = Method.Post;
89
+ this.form.inputs.filter(x => x.inEditDisabled).forEach(x => x.disabled = false);
90
+ this.form.inputs.filter(x => !x.inEditVisible).forEach(x => x.visible = true);
91
+ this.modal.show();
92
+ }
93
+ set(changeRows = null) {
94
+ this.permission = true;
95
+ if (this.permissions) {
96
+ const listAccess = this.permissions.getAccess(PermissionAccessTypeEnum.List);
97
+ if (listAccess !== null) {
98
+ this.title = listAccess.Name;
99
+ this.url = this.permissions.getUrl();
100
+ if (this.permissions.Type !== PermissionTypeEnum.Form) {
101
+ this.load();
102
+ }
103
+ else {
104
+ this.loading = false;
105
+ }
106
+ }
107
+ }
108
+ else {
109
+ this.permission = false;
110
+ return;
111
+ }
112
+ for (const access of this.permissions.getAccesses().filter(x => x.InputAction !== PermissionInputActionEnum.None)) {
113
+ if (this.buttons.filter(x => x.name === access.Name).length > 0) {
114
+ continue;
115
+ }
116
+ const accessInp = new InputClass(this.environment, this.l, access.Name, access.Icon, access.InputType === PermissionInputTypeEnum.Button ? InputType.Button : InputType.Icon, 'blue w-u h-30');
117
+ if (access.AccessType === PermissionAccessTypeEnum.Insert) {
118
+ accessInp.class = accessInp.class.replace('blue', 'green');
119
+ if (this.form) {
120
+ this.form.url = this.form.baseUrl = this.url + 'Insert';
121
+ if (!this.form.onTop) {
122
+ accessInp.onClick = () => {
123
+ this.form.onSuccessBase = () => {
124
+ this.modal.hide();
125
+ this.load();
126
+ };
127
+ this.showInsertModal();
128
+ };
129
+ }
130
+ else {
131
+ this.form.displayLabel = false;
132
+ continue;
133
+ }
134
+ }
135
+ else {
136
+ if (this.modal) {
137
+ accessInp.onClick = () => {
138
+ this.modal.show();
139
+ };
140
+ }
141
+ else {
142
+ accessInp.url = this.url + 'Insert';
143
+ }
144
+ }
145
+ }
146
+ else if (access.AccessType === PermissionAccessTypeEnum.Print) {
147
+ accessInp.onClick = () => {
148
+ const p = new PermissionClass();
149
+ p.RelatedId = 'Index';
150
+ p.Area = this.permissions.Area;
151
+ p.Controller = 'Print';
152
+ p.Action = this.permissions.Controller + (this.permissions.Action ? this.permissions.Action : '');
153
+ const params = $.param(this.searchData(true));
154
+ window.open('/Report' + p.getUrl() + (this.permissions.RelatedId ? '/' + this.permissions.RelatedId : '') +
155
+ (params ? '?' + params : ''), '_blank');
156
+ };
157
+ }
158
+ else if (access.InputAction === PermissionInputActionEnum.OnClick) {
159
+ accessInp.onClick = (btn) => {
160
+ this.optionsActions.find(x => x.name === access.Action).onClick(btn);
161
+ };
162
+ }
163
+ this.buttons.push(accessInp);
164
+ }
165
+ if (this.form) {
166
+ this.form.addButtons('Save', 'green', true, this.permissions.Type === PermissionTypeEnum.Form ? (data) => {
167
+ if (data.Id) {
168
+ const i = this.rows.findIndex(x => x.Id === data.Id);
169
+ this.rows[i] = data;
170
+ }
171
+ else {
172
+ data.Id = parseInt(HelperClass.random(5, false, false), 10);
173
+ this.rows.unshift(data);
174
+ }
175
+ if (changeRows) {
176
+ changeRows.emit(data);
177
+ }
178
+ this.form.clear();
179
+ } : null);
180
+ if (this.form.onTop) {
181
+ this.form.onSuccessBase = () => {
182
+ this.form.clear();
183
+ this.load();
184
+ };
185
+ }
186
+ else {
187
+ if (!this.modal) {
188
+ this.modal = new ModalClass(this.environment, this.l, this.form.name);
189
+ }
190
+ this.modal.form = this.form;
191
+ }
192
+ }
193
+ }
194
+ }
195
+ export class TableCollClass {
196
+ constructor(name, percent, cls = '', type = TableCollType.Text, withSearch = true, sort = true) {
197
+ this.enum = null;
198
+ this.sort = true;
199
+ this.search = null;
200
+ this.fun = null;
201
+ this.name = name;
202
+ this.percent = percent;
203
+ this.class = cls;
204
+ this.type = type;
205
+ this.withSearch = withSearch;
206
+ this.sort = sort;
207
+ }
208
+ }
209
+ export class TableRowClass {
210
+ constructor(data, children) {
211
+ this.data = data;
212
+ this.children = children;
213
+ }
214
+ }
215
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiRDovUHJvamVjdHMvUHNUb29sa2l0L1VJL3Byb2plY3RzL3BzLXRvb2xraXQtdWkvc3JjLyIsInNvdXJjZXMiOlsibGliL2NsYXNzZXMvdGFibGUuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQVksVUFBVSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ25ELE9BQU8sRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDekIsdUJBQXVCLEVBQ3ZCLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IsZUFBZSxFQUNoQixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUU1QixNQUFNLE9BQU8sVUFBVTtJQUNyQixZQUFZLFdBQWdCLEVBQUUsQ0FBb0IsRUFBRSxXQUE0QixFQUFFLE9BQWUsRUFBRSxFQUFFLE1BQWMsRUFBRSxFQUN6RyxVQUFrQixFQUFFLEVBQUUsU0FBaUIsRUFBRTtRQVVyRCxnQkFBVyxHQUFRLElBQUksQ0FBQztRQUd4QixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBSWxCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxRQUFHLEdBQUcsSUFBSSxDQUFDO1FBQ1gsV0FBTSxHQUFXLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDN0IsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUNaLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFDYixTQUFJLEdBQXFCLEVBQUUsQ0FBQztRQUM1QixZQUFPLEdBQWlCLEVBQUUs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LElBQUksQ0FBQztRQWZ4QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0NBVUY7QUFFRCxNQUFNLE9BQU8sYUFBYTtJQUN4QixZQUFtQixJQUFJLEVBQVMsUUFBUTtRQUFyQixTQUFJLEdBQUosSUFBSSxDQUFBO1FBQVMsYUFBUSxHQUFSLFFBQVEsQ0FBQTtJQUN4QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01vZGFsQ2xhc3N9IGZyb20gJy4vbW9kYWwuY2xhc3MnO1xyXG5pbXBvcnQge0Zvcm1DbGFzcywgSW5wdXRDbGFzc30gZnJvbSAnLi9mb3JtLmNsYXNzJztcclxuaW1wb3J0IHtcclxuICBJbnB1dFR5cGUsXHJcbiAgTWV0aG9kLFxyXG4gIFBlcm1pc3Npb25BY2Nlc3NUeXBlRW51bSxcclxuICBQZXJtaXNzaW9uSW5wdXRBY3Rpb25FbnVtLFxyXG4gIFBlcm1pc3Npb25JbnB1dFR5cGVFbnVtLFxyXG4gIFBlcm1pc3Npb25UeXBlRW51bSxcclxuICBUYWJsZUNvbGxUeXBlLFxyXG4gIFRhYmxlT3B0aW9uVHlwZVxyXG59IGZyb20gJy4vZW51bS5jbGFzcyc7XHJcbmltcG9ydCB7UmVxdWVzdENsYXNzfSBmcm9tICcuL3JlcXVlc3QuY2xhc3MnO1xyXG5pbXBvcnQge1Blcm1pc3Npb25DbGFzc30gZnJvbSAnLi9wZXJtaXNzaW9uLmNsYXNzJztcclxuaW1wb3J0IHtIZWxwZXJDbGFzc30gZnJvbSAnLi9oZWxwZXIuY2xhc3MnO1xyXG5pbXBvcnQgKiBhcyAkIGZyb20gJ2pxdWVyeSc7XHJcblxyXG5leHBvcnQgY2xhc3MgVGFibGVDbGFzcyB7XHJcbiAgY29uc3RydWN0b3IoZW52aXJvbm1lbnQ6IGFueSwgbDogKGssIHY/KSA9PiBzdHJpbmcsIHBlcm1pc3Npb25zOiBQZXJtaXNzaW9uQ2xhc3MsIG5hbWU6IHN0cmluZyA9ICcnLCBjbHM6IHN0cmluZyA9ICcnLFxyXG4gICAgICAgICAgICAgIHBlclBhZ2U6IG51bWJlciA9IDEwLCBoZWlnaHQ6IG51bWJlciA9IDUwKSB7XHJcbiAgICB0aGlzLmVudmlyb25tZW50ID0gZW52aXJvbm1lbnQ7XHJcbiAgICB0aGlzLmwgPSBsO1xyXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcclxuICAgIHRoaXMuaWQgPSB0aGlzLm5hbWU7XHJcbiAgICB0aGlzLnBlcm1pc3Npb25zID0gcGVybWlzc2lvbnM7XHJcbiAgICB0aGlzLmNsYXNzID0gY2xzO1xyXG4gICAgdGhpcy5wZXJQYWdlID0gcGVyUGFnZTtcclxuICAgIHRoaXMuaGVpZ2h0ID0gaGVpZ2h0O1xyXG4gIH1cclxuICBlbnZpcm9ubWVudDogYW55ID0gbnVsbDtcclxuICBsOiAoaywgdj8pID0+IHN0cmluZztcclxuICBwZXJtaXNzaW9uczogUGVybWlzc2lvbkNsYXNzO1xyXG4gIHBlcm1pc3Npb24gPSB0cnVlO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBpZDogc3RyaW5nO1xyXG4gIGNsYXNzOiBzdHJpbmc7XHJcbiAgc3R5bGUgPSB7fTtcclxuICB1cmwgPSBudWxsO1xyXG4gIG1ldGhvZDogTWV0aG9kID0gTWV0aG9kLlBvc3Q7XHJcbiAgaGVpZ2h0ID0gNDA7XHJcbiAgcGVyUGFnZSA9IDEwO1xyXG4gIGNvbHM6IFRhYmxlQ29sbENsYXNzW10gPSBbXTtcclxuICBidXR0b25zOiBJbnB1dENsYXNzW10gPSBbXTtcclxuICBvcHRpb25zQWN0aW9uczogYW55W10gPSBbXTtcclxuICByb3dzID0gW107XHJcbiAgY291bnQgPSAwO1xyXG4gIHBhZ2UgPSAxO1xyXG4gIHNvcnQgPSBudWxsO1xyXG4gIHF1ZXJ5UGFyYW1zID0ge307XHJcbiAgdGl0bGUgPSBudWxsO1xyXG4gIGRlc2NyaXB0aW9uID0gbnVsbDtcclxuICBzb3J0VHlwZSA9IG51bGw7XHJcbiAgZGlzcGxheUxhYmVsID0gdHJ1ZTtcclxuICBzb3J0YWJsZSA9IGZhbHNlO1xyXG4gIG9wdGlvblR5cGUgPSBUYWJsZU9wdGlvblR5cGUuSGlkZGVuO1xyXG4gIGxvYWRpbmcgPSB0cnVlO1xyXG4gIGhhc1N0YXR1cyA9IGZhbHNlO1xyXG4gIGhhc0NoaWxkcmVuID0gZmFsc2U7XHJcbiAgY2hpbGRyZW5BdXRvTG9hZCA9IGZhbHNlO1xyXG4gIHdpdGhTZWxlY3QgPSBmYWxzZTtcclxuICBzaG93RXh0cmFCdXR0b25zID0gdHJ1ZTtcclxuICBleHRyYUJ1dHRvbnM6IElucHV0Q2xhc3NbXSA9IFtdO1xyXG4gIGZvcm06IEZvcm1DbGFzcyA9IG51bGw7XHJcbiAgc2VhcmNoRm9ybTogRm9ybUNsYXNzID0gbnVsbDtcclxuICBtb2RhbDogTW9kYWxDbGFzcyA9IG51bGw7XHJcbiAgbGV2ZWwgPSBudWxsO1xyXG4gIG9uTG9hZDogKCkgPT4gdm9pZCA9IG51bGw7XHJcbiAgb25Tb3J0OiAoKSA9PiB2b2lkID0gbnVsbDtcclxuICBzaG93Q29uZmlybTogKGw6IHN0cmluZywgdXJsOiBzdHJpbmcsIGRhdGEsIGFjY2VwdDogKGJ0bjogSW5wdXRDbGFzcykgPT4gdm9pZCkgPT4gdm9pZCA9IG51bGw7XHJcbiAgbG9hZChidG4gPSBudWxsKTogdm9pZHtcclxuICAgIGlmICh0aGlzLnVybCl7XHJcbiAgICAgIG5ldyBSZXF1ZXN0Q2xhc3ModGhpcy5lbnZpcm9ubWVudCwgdGhpcy5sKS50YWJsZSh0aGlzLCBidG4pO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VhcmNoRGF0YShyZXBvcnQgPSBmYWxzZSk6IHt9IHtcclxuICAgIGNvbnN0IGQ6IGFueSA9IHt9O1xyXG4gICAgaWYgKCFyZXBvcnQpe1xyXG4gICAgICBkLlBhZ2UgPSB0aGlzLnBhZ2U7XHJcbiAgICAgIGQuUGVyUGFnZSA9IHRoaXMucGVyUGFnZTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNvcnRhYmxlKXtcclxuICAgICAgZC5Tb3J0ID0gJ1ByaW9yaXR5JztcclxuICAgICAgZC5Tb3J0VHlwZSA9ICdBU0MnO1xyXG4gICAgfWVsc2UgaWYgKHRoaXMuc29ydCl7XHJcbiAgICAgIGQuU29ydCA9IHRoaXMuc29ydDtcclxuICAgICAgZC5Tb3J0VHlwZSA9IHRoaXMuc29ydFR5cGU7XHJcbiAgICB9XHJcbiAgICBmb3IgKGNvbnN0IGMgb2YgdGhpcy5jb2xzLmZpbHRlcih4ID0+IHgud2l0aFNlYXJjaCAmJiB4LnNlYXJjaCAhPSBudWxsICYmIHguc2VhcmNoLmRhdGEoKSAhPSBudWxsICYmIHguc2VhcmNoLmRhdGEoKSAhPT0gJycpKXtcclxuICAgICAgZFtjLm5hbWVdID0gYy5zZWFyY2guZGF0YSgpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoRm9ybSA/IHRoaXMuc2VhcmNoRm9ybS5qc29uKGQpIDogZDtcclxuICB9XHJcbiAgZ2V0VXJsKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy51cmwgKyAnTGlzdCc7XHJcbiAgfVxyXG4gIHNob3dJbnNlcnRNb2RhbChjSWQgPSBudWxsKTogdm9pZCB7XHJcbiAgICBjb25zdCBpbnNlcnRBY2Nlc3MgPSB0aGlzLnBlcm1pc3Npb25zLmdldEFjY2VzcyhQZXJtaXNzaW9uQWNjZXNzVHlwZUVudW0uSW5zZXJ0KTtcclxuICAgIHRoaXMuZm9ybS51cmwgPSB0aGlzLmZvcm0uYmFzZVVybCA9IHRoaXMudXJsICsgJ0luc2VydCcgKyAoY0lkID8gJy8nICsgY0lkIDogJycpO1xyXG4gICAgdGhpcy5mb3JtLm5hbWUgPSBpbnNlcnRBY2Nlc3MuTmFtZTtcclxuICAgIHRoaXMuZm9ybS5tZXRob2QgPSBNZXRob2QuUG9zdDtcclxuICAgIHRoaXMuZm9ybS5pbnB1dHMuZmlsdGVyKHggPT4geC5pbkVkaXREaXNhYmxlZCkuZm9yRWFjaCh4ID0+IHguZGlzYWJsZWQgPSBmYWxzZSk7XHJcbiAgICB0aGlzLmZvcm0uaW5wdXRzLmZpbHRlcih4ID0+ICF4LmluRWRpdFZpc2libGUpLmZvckVhY2goeCA9PiB4LnZpc2libGUgPSB0cnVlKTtcclxuICAgIHRoaXMubW9kYWwuc2hvdygpO1xyXG4gIH1cclxuICBzZXQoY2hhbmdlUm93cyA9IG51bGwpOiB2b2lke1xyXG4gICAgdGhpcy5wZXJtaXNzaW9uID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLnBlcm1pc3Npb25zKVxyXG4gICAge1xyXG4gICAgICBjb25zdCBsaXN0QWNjZXNzID0gdGhpcy5wZXJtaXNzaW9ucy5nZXRBY2Nlc3MoUGVybWlzc2lvbkFjY2Vzc1R5cGVFbnVtLkxpc3QpO1xyXG4gICAgICBpZiAobGlzdEFjY2VzcyAhPT0gbnVsbCl7XHJcbiAgICAgICAgdGhpcy50aXRsZSA9IGxpc3RBY2Nlc3MuTmFtZTtcclxuICAgICAgICB0aGlzLnVybCA9IHRoaXMucGVybWlzc2lvbnMuZ2V0VXJsKCk7XHJcbiAgICAgICAgaWYgKHRoaXMucGVybWlzc2lvbnMuVHlwZSAhPT0gUGVybWlzc2lvblR5cGVFbnVtLkZvcm0pe1xyXG4gICAgICAgICAgdGhpcy5sb2FkKCk7XHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLnBlcm1pc3Npb24gPSBmYWxzZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgZm9yIChjb25zdCBhY2Nlc3Mgb2YgdGhpcy5wZXJtaXNzaW9ucy5nZXRBY2Nlc3NlcygpLmZpbHRlcih4ID0+IHguSW5wdXRBY3Rpb24gIT09IFBlcm1pc3Npb25JbnB1dEFjdGlvbkVudW0uTm9uZSkpe1xyXG4gICAgICBpZiAodGhpcy5idXR0b25zLmZpbHRlcih4ID0+IHgubmFtZSA9PT0gYWNjZXNzLk5hbWUpLmxlbmd0aCA+IDApe1xyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IGFjY2Vzc0lucCA9IG5ldyBJbnB1dENsYXNzKHRoaXMuZW52aXJvbm1lbnQsIHRoaXMubCwgYWNjZXNzLk5hbWUsIGFjY2Vzcy5JY29uLFxyXG4gICAgICAgIGFjY2Vzcy5JbnB1dFR5cGUgPT09IFBlcm1pc3Npb25JbnB1dFR5cGVFbnVtLkJ1dHRvbiA/IElucHV0VHlwZS5CdXR0b24gOiBJbnB1dFR5cGUuSWNvbiwgJ2JsdWUgdy11IGgtMzAnKTtcclxuICAgICAgaWYgKGFjY2Vzcy5BY2Nlc3NUeXBlID09PSBQZXJtaXNzaW9uQWNjZXNzVHlwZUVudW0uSW5zZXJ0KXtcclxuICAgICAgICBhY2Nlc3NJbnAuY2xhc3MgPSBhY2Nlc3NJbnAuY2xhc3MucmVwbGFjZSgnYmx1ZScsICdncmVlbicpO1xyXG4gICAgICAgIGlmICh0aGlzLmZvcm0pe1xyXG4gICAgICAgICAgdGhpcy5mb3JtLnVybCA9IHRoaXMuZm9ybS5iYXNlVXJsID0gdGhpcy51cmwgKyAnSW5zZXJ0JztcclxuICAgICAgICAgIGlmICghdGhpcy5mb3JtLm9uVG9wKXtcclxuICAgICAgICAgICAgYWNjZXNzSW5wLm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5mb3JtLm9uU3VjY2Vzc0Jhc2UgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1vZGFsLmhpZGUoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9hZCgpO1xyXG4gICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgdGhpcy5zaG93SW5zZXJ0TW9kYWwoKTtcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICB0aGlzLmZvcm0uZGlzcGxheUxhYmVsID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgaWYgKHRoaXMubW9kYWwpe1xyXG4gICAgICAgICAgICBhY2Nlc3NJbnAub25DbGljayA9ICgpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLm1vZGFsLnNob3coKTtcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICBhY2Nlc3NJbnAudXJsID0gdGhpcy51cmwgKyAnSW5zZXJ0JztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAoYWNjZXNzLkFjY2Vzc1R5cGUgPT09IFBlcm1pc3Npb25BY2Nlc3NUeXBlRW51bS5QcmludCl7XHJcbiAgICAgICAgYWNjZXNzSW5wLm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBwID0gbmV3IFBlcm1pc3Npb25DbGFzcygpO1xyXG4gICAgICAgICAgcC5SZWxhdGVkSWQgPSAnSW5kZXgnO1xyXG4gICAgICAgICAgcC5BcmVhID0gdGhpcy5wZXJtaXNzaW9ucy5BcmVhO1xyXG4gICAgICAgICAgcC5Db250cm9sbGVyID0gJ1ByaW50JztcclxuICAgICAgICAgIHAuQWN0aW9uID0gdGhpcy5wZXJtaXNzaW9ucy5Db250cm9sbGVyICsgKHRoaXMucGVybWlzc2lvbnMuQWN0aW9uID8gdGhpcy5wZXJtaXNzaW9ucy5BY3Rpb24gOiAnJyk7XHJcbiAgICAgICAgICBjb25zdCBwYXJhbXMgPSAkLnBhcmFtKHRoaXMuc2VhcmNoRGF0YSh0cnVlKSk7XHJcbiAgICAgICAgICB3aW5kb3cub3BlbignL1JlcG9ydCcgKyBwLmdldFVybCgpICsgKHRoaXMucGVybWlzc2lvbnMuUmVsYXRlZElkID8gJy8nICsgdGhpcy5wZXJtaXNzaW9ucy5SZWxhdGVkSWQgOiAnJykgK1xyXG4gICAgICAgICAgICAocGFyYW1zID8gJz8nICsgcGFyYW1zIDogJycpLCAnX2JsYW5rJyk7XHJcbiAgICAgICAgfTtcclxuICAgICAgfSBlbHNlIGlmIChhY2Nlc3MuSW5wdXRBY3Rpb24gPT09IFBlcm1pc3Npb25JbnB1dEFjdGlvbkVudW0uT25DbGljayl7XHJcbiAgICAgICAgYWNjZXNzSW5wLm9uQ2xpY2sgPSAoYnRuKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLm9wdGlvbnNBY3Rpb25zLmZpbmQoeCA9PiB4Lm5hbWUgPT09IGFjY2Vzcy5BY3Rpb24pLm9uQ2xpY2soYnRuKTtcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuYnV0dG9ucy5wdXNoKGFjY2Vzc0lucCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5mb3JtKXtcclxuICAgICAgdGhpcy5mb3JtLmFkZEJ1dHRvbnMoJ1NhdmUnLCAnZ3JlZW4nLCB0cnVlLCB0aGlzLnBlcm1pc3Npb25zLlR5cGUgPT09IFBlcm1pc3Npb25UeXBlRW51bS5Gb3JtID8gKGRhdGEpID0+IHtcclxuICAgICAgICBpZiAoZGF0YS5JZCl7XHJcbiAgICAgICAgICBjb25zdCBpID0gdGhpcy5yb3dzLmZpbmRJbmRleCh4ID0+IHguSWQgPT09IGRhdGEuSWQpO1xyXG4gICAgICAgICAgdGhpcy5yb3dzW2ldID0gZGF0YTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIGRhdGEuSWQgPSBwYXJzZUludChIZWxwZXJDbGFzcy5yYW5kb20oNSwgZmFsc2UsIGZhbHNlKSwgMTApO1xyXG4gICAgICAgICAgdGhpcy5yb3dzLnVuc2hpZnQoZGF0YSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChjaGFuZ2VSb3dzKXtcclxuICAgICAgICAgIGNoYW5nZVJvd3MuZW1pdChkYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5mb3JtLmNsZWFyKCk7XHJcbiAgICAgIH0gOiBudWxsKTtcclxuICAgICAgaWYgKHRoaXMuZm9ybS5vblRvcCl7XHJcbiAgICAgICAgdGhpcy5mb3JtLm9uU3VjY2Vzc0Jhc2UgPSAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmZvcm0uY2xlYXIoKTtcclxuICAgICAgICAgIHRoaXMubG9hZCgpO1xyXG4gICAgICAgIH07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLm1vZGFsKXtcclxuICAgICAgICAgIHRoaXMubW9kYWwgPSBuZXcgTW9kYWxDbGFzcyh0aGlzLmVudmlyb25tZW50LCB0aGlzLmwsIHRoaXMuZm9ybS5uYW1lKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5tb2RhbC5mb3JtID0gdGhpcy5mb3JtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVGFibGVDb2xsQ2xhc3Mge1xyXG4gIGNvbnN0cnVjdG9yKG5hbWU6IHN0cmluZywgcGVyY2VudDogbnVtYmVyLCBjbHMgPSAnJywgdHlwZTogVGFibGVDb2xsVHlwZSA9IFRhYmxlQ29sbFR5cGUuVGV4dCxcclxuICAgICAgICAgICAgICB3aXRoU2VhcmNoOiBib29sZWFuID0gdHJ1ZSwgc29ydDogYm9vbGVhbiA9IHRydWUpIHtcclxuICAgIHRoaXMubmFtZSA9IG5hbWU7XHJcbiAgICB0aGlzLnBlcmNlbnQgPSBwZXJjZW50O1xyXG4gICAgdGhpcy5jbGFzcyA9IGNscztcclxuICAgIHRoaXMudHlwZSA9IHR5cGU7XHJcbiAgICB0aGlzLndpdGhTZWFyY2ggPSB3aXRoU2VhcmNoO1xyXG4gICAgdGhpcy5zb3J0ID0gc29ydDtcclxuICB9XHJcbiAgZW51bSA9IG51bGw7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHBlcmNlbnQ6IG51bWJlcjtcclxuICBjbGFzczogc3RyaW5nO1xyXG4gIHNvcnQgPSB0cnVlO1xyXG4gIHdpdGhTZWFyY2g6IGJvb2xlYW47XHJcbiAgc2VhcmNoOiBJbnB1dENsYXNzID0gbnVsbDtcclxuICB0eXBlOiBUYWJsZUNvbGxUeXBlO1xyXG4gIGZ1bjogKHJvdykgPT4gdm9pZCA9IG51bGw7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBUYWJsZVJvd0NsYXNzIHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGF0YSwgcHVibGljIGNoaWxkcmVuKSB7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,45 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as $ from 'jquery';
3
+ export class AccordionComponent {
4
+ constructor() {
5
+ }
6
+ toggle(e) {
7
+ const chOpen = $(e.target).closest('.accordion').find('.content.open');
8
+ const ocOpen = chOpen.closest('.accordion-item').find('.header > .icon');
9
+ const ch = $(e.target).closest('.accordion-item').find(' > .content');
10
+ const oc = ch.closest('.accordion-item').find(' > .header > .icon');
11
+ if (ch.hasClass('open')) {
12
+ ch.removeClass('open');
13
+ ch.stop().slideUp();
14
+ oc.removeClass('fa-caret-down').addClass('fa-caret-left');
15
+ }
16
+ else {
17
+ if (chOpen) {
18
+ chOpen.removeClass('open');
19
+ chOpen.stop().slideUp();
20
+ ocOpen.removeClass('fa-caret-down').addClass('fa-caret-left');
21
+ }
22
+ ch.addClass('open');
23
+ ch.stop().slideDown();
24
+ oc.addClass('fa-caret-down').removeClass('fa-caret-left');
25
+ }
26
+ }
27
+ deleteRow(acc) {
28
+ this.accordion.rows = this.accordion.rows.filter(x => x.name !== acc.name);
29
+ if (this.accordion.onDelete) {
30
+ this.accordion.onDelete(acc);
31
+ }
32
+ }
33
+ }
34
+ AccordionComponent.decorators = [
35
+ { type: Component, args: [{
36
+ selector: 'lib-accordion',
37
+ template: "<div [id]=\"'Accordion' + accordion.name\" [className]=\"'accordion ' + accordion.class\">\r\n <div *ngIf=\"accordion.loading\" class=\"loading\">\r\n <div class=\"text\" [innerHTML]=\"accordion.l('LoadingTable', 'Processing')\"></div>\r\n </div>\r\n <div *ngIf=\"accordion.displayLabel\" class=\"title underline\">{{this.accordion.l(this.accordion.name)}}</div>\r\n <div class=\"accordion-item-con w-100\" *ngFor=\"let acc of this.accordion.rows; let i = index\">\r\n <div class=\"accordion-item\" [id]=\"'AccordionRow' + acc.id\" *ngIf=\"acc.show\">\r\n <div class=\"header\" (click)=\"toggle($event)\">\r\n <div class=\"title\">{{accordion.l(acc.name)}}</div>\r\n <i [className]=\"(i == 0 ? 'fa-caret-down ' : 'fa-caret-left ') + 'fa-duotone icon'\"></i>\r\n <i *ngIf=\"accordion.hasDelete\" (click)=\"deleteRow(acc)\" class=\"fas fa-times delete-icon\"></i>\r\n </div>\r\n <div [className]=\"(i == 0 ? 'open ' : '') + 'content'\">\r\n <lib-table *ngIf=\"acc.table != null\" [table]=\"acc.table\"></lib-table>\r\n <lib-form *ngIf=\"acc.form != null\" [form]=\"acc.form\"></lib-form>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n",
38
+ styles: [".accordion{float:right;min-height:300px!important;padding:20px;position:relative}.accordion,.accordion>.loading{background-color:#fff;border-radius:5px;width:100%}.accordion>.loading{height:100%;position:absolute;right:0;text-align:center;top:0;z-index:4}.accordion>.loading .text{font-family:VazirBold;height:35px;line-height:35px;position:absolute;text-align:center;top:calc(50% - 20px);width:100%}::ng-deep .accordion>.loading .icon{font-size:20px!important;line-height:30px;margin-left:5px;position:relative;top:5px}.accordion>.title{font-family:VazirBold;font-size:16px;height:30px;line-height:30px;text-align:center}.accordion .accordion-item,.accordion>.title{float:right;margin-bottom:10px;position:relative;width:100%}.accordion .accordion-item .header{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;float:right;position:relative;width:100%}.accordion .accordion-item .title{background-color:var(--base);border-radius:5px;color:#fff;cursor:pointer;float:right;font-size:12px;height:30px;line-height:30px;text-align:center;width:100%}.accordion .accordion-item .title:hover{background-color:var(--base-dark)}.accordion .accordion-item .header .icon{right:0}.accordion .accordion-item .header .delete-icon,.accordion .accordion-item .header .icon{color:#fff;cursor:pointer;font-size:18px;height:30px;line-height:29px;position:absolute;text-align:center;top:0;width:30px}.accordion .accordion-item .header .delete-icon{left:0}.accordion .accordion-item .content{display:none;float:right;padding:10px;width:100%}.accordion .accordion-item-con:first-of-type .content{display:block}::ng-deep .accordion .accordion-item .content .table-con{box-shadow:unset!important}"]
39
+ },] }
40
+ ];
41
+ AccordionComponent.ctorParameters = () => [];
42
+ AccordionComponent.propDecorators = {
43
+ accordion: [{ type: Input }]
44
+ };
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJEOi9Qcm9qZWN0cy9Qc1Rvb2xraXQvVUkvcHJvamVjdHMvcHMtdG9vbGtpdC11aS9zcmMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9hY2NvcmRpb24vYWNjb3JkaW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUE0QixLQUFLLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBUTVCLE1BQU0sT0FBTyxrQkFBa0I7SUFHN0I7SUFDQSxDQUFDO0lBQ0QsTUFBTSxDQUFDLENBQUM7UUFDTixNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdkUsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNwRSxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdkIsRUFBRSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN2QixFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDcEIsRUFBRSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDM0Q7YUFBTTtZQUNMLElBQUksTUFBTSxFQUFDO2dCQUNULE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzNCLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDeEIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7YUFDL0Q7WUFDRCxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3BCLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN0QixFQUFFLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUMzRDtJQUNILENBQUM7SUFDRCxTQUFTLENBQUMsR0FBc0I7UUFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0UsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBQztZQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM5QjtJQUNILENBQUM7OztZQW5DRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLDZyQ0FBeUM7O2FBRTFDOzs7O3dCQUVFLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyAkIGZyb20gJ2pxdWVyeSc7XHJcbmltcG9ydCB7QWNjb3JkaW9uQ2xhc3MsIEFjY29yZGlvblJvd0NsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Zvcm0uY2xhc3MnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYWNjb3JkaW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWNjb3JkaW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hY2NvcmRpb24uY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY2NvcmRpb25Db21wb25lbnR7XHJcbiAgQElucHV0KClcclxuICBhY2NvcmRpb246IEFjY29yZGlvbkNsYXNzO1xyXG4gIGNvbnN0cnVjdG9yKCl7XHJcbiAgfVxyXG4gIHRvZ2dsZShlKTogdm9pZHtcclxuICAgIGNvbnN0IGNoT3BlbiA9ICQoZS50YXJnZXQpLmNsb3Nlc3QoJy5hY2NvcmRpb24nKS5maW5kKCcuY29udGVudC5vcGVuJyk7XHJcbiAgICBjb25zdCBvY09wZW4gPSBjaE9wZW4uY2xvc2VzdCgnLmFjY29yZGlvbi1pdGVtJykuZmluZCgnLmhlYWRlciA+IC5pY29uJyk7XHJcbiAgICBjb25zdCBjaCA9ICQoZS50YXJnZXQpLmNsb3Nlc3QoJy5hY2NvcmRpb24taXRlbScpLmZpbmQoJyA+IC5jb250ZW50Jyk7XHJcbiAgICBjb25zdCBvYyA9IGNoLmNsb3Nlc3QoJy5hY2NvcmRpb24taXRlbScpLmZpbmQoJyA+IC5oZWFkZXIgPiAuaWNvbicpO1xyXG4gICAgaWYgKGNoLmhhc0NsYXNzKCdvcGVuJykpIHtcclxuICAgICAgY2gucmVtb3ZlQ2xhc3MoJ29wZW4nKTtcclxuICAgICAgY2guc3RvcCgpLnNsaWRlVXAoKTtcclxuICAgICAgb2MucmVtb3ZlQ2xhc3MoJ2ZhLWNhcmV0LWRvd24nKS5hZGRDbGFzcygnZmEtY2FyZXQtbGVmdCcpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKGNoT3Blbil7XHJcbiAgICAgICAgY2hPcGVuLnJlbW92ZUNsYXNzKCdvcGVuJyk7XHJcbiAgICAgICAgY2hPcGVuLnN0b3AoKS5zbGlkZVVwKCk7XHJcbiAgICAgICAgb2NPcGVuLnJlbW92ZUNsYXNzKCdmYS1jYXJldC1kb3duJykuYWRkQ2xhc3MoJ2ZhLWNhcmV0LWxlZnQnKTtcclxuICAgICAgfVxyXG4gICAgICBjaC5hZGRDbGFzcygnb3BlbicpO1xyXG4gICAgICBjaC5zdG9wKCkuc2xpZGVEb3duKCk7XHJcbiAgICAgIG9jLmFkZENsYXNzKCdmYS1jYXJldC1kb3duJykucmVtb3ZlQ2xhc3MoJ2ZhLWNhcmV0LWxlZnQnKTtcclxuICAgIH1cclxuICB9XHJcbiAgZGVsZXRlUm93KGFjYzogQWNjb3JkaW9uUm93Q2xhc3MpOiB2b2lke1xyXG4gICAgdGhpcy5hY2NvcmRpb24ucm93cyA9IHRoaXMuYWNjb3JkaW9uLnJvd3MuZmlsdGVyKHggPT4geC5uYW1lICE9PSBhY2MubmFtZSk7XHJcbiAgICBpZiAodGhpcy5hY2NvcmRpb24ub25EZWxldGUpe1xyXG4gICAgICB0aGlzLmFjY29yZGlvbi5vbkRlbGV0ZShhY2MpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,39 @@
1
+ import { Component } from '@angular/core';
2
+ import { FormClass, InputClass } from '../../classes/form.class';
3
+ import { ModalClass } from '../../classes/modal.class';
4
+ import { InputType } from '../../classes/enum.class';
5
+ import { LangClass } from '../../classes/lang.class';
6
+ import { PsToolkitUiConfigService } from '../../services/config.service';
7
+ export class AlertComponent {
8
+ constructor(config) {
9
+ this.config = config;
10
+ const lang = new LangClass(config.currentLang, config.strings);
11
+ const l = (key, v = null) => {
12
+ return lang.get('Public', 'Alert', key, v);
13
+ };
14
+ this.alert = new ModalClass(config.environment, l, 'Alert');
15
+ this.alert.form = new FormClass(config.environment, l, 'Alert');
16
+ this.alertLabel = new InputClass(config.environment, l, 'Alert', null, InputType.Label, 'f-s-16 p-h-20 p-t-10 l-h-30');
17
+ this.alert.form.inputs = [
18
+ this.alertLabel
19
+ ];
20
+ }
21
+ show(l, accept) {
22
+ this.alertLabel.value = l;
23
+ this.alert.onHide = () => {
24
+ accept();
25
+ };
26
+ this.alert.show();
27
+ }
28
+ }
29
+ AlertComponent.decorators = [
30
+ { type: Component, args: [{
31
+ selector: 'lib-alert',
32
+ template: "<lib-modal *ngIf=\"alert\" [modal]=\"alert\"></lib-modal>\r\n",
33
+ styles: [".accordion{float:right;min-height:300px!important;padding:20px;position:relative}.accordion,.accordion>.loading{background-color:#fff;border-radius:5px;width:100%}.accordion>.loading{height:100%;position:absolute;right:0;text-align:center;top:0;z-index:4}.accordion>.loading .text{font-family:VazirBold;height:35px;line-height:35px;position:absolute;text-align:center;top:calc(50% - 20px);width:100%}::ng-deep .accordion>.loading .icon{font-size:20px!important;line-height:30px;margin-left:5px;position:relative;top:5px}.accordion>.title{font-family:VazirBold;font-size:16px;height:30px;line-height:30px;text-align:center}.accordion .accordion-item,.accordion>.title{float:right;margin-bottom:10px;position:relative;width:100%}.accordion .accordion-item .header{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;float:right;position:relative;width:100%}.accordion .accordion-item .title{background-color:var(--base);border-radius:5px;color:#fff;cursor:pointer;float:right;font-size:12px;height:30px;line-height:30px;text-align:center;width:100%}.accordion .accordion-item .title:hover{background-color:var(--base-dark)}.accordion .accordion-item .header .icon{right:0}.accordion .accordion-item .header .delete-icon,.accordion .accordion-item .header .icon{color:#fff;cursor:pointer;font-size:18px;height:30px;line-height:29px;position:absolute;text-align:center;top:0;width:30px}.accordion .accordion-item .header .delete-icon{left:0}.accordion .accordion-item .content{display:none;float:right;padding:10px;width:100%}.accordion .accordion-item-con:first-of-type .content{display:block}"]
34
+ },] }
35
+ ];
36
+ AlertComponent.ctorParameters = () => [
37
+ { type: PsToolkitUiConfigService }
38
+ ];
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2plY3RzL1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDbkQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFPdkUsTUFBTSxPQUFPLGNBQWM7SUFHekIsWUFBbUIsTUFBZ0M7UUFBaEMsV0FBTSxHQUFOLE1BQU0sQ0FBMEI7UUFDakQsTUFBTSxJQUFJLEdBQUcsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFXLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBVSxFQUFFO1lBQzFDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUM7UUFDRixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxFQUFFLDZCQUE2QixDQUFDLENBQUM7UUFDdkgsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ3ZCLElBQUksQ0FBQyxVQUFVO1NBQ2hCLENBQUM7SUFDSixDQUFDO0lBQ0QsSUFBSSxDQUFDLENBQVMsRUFBRSxNQUFrQjtRQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFO1lBQ3ZCLE1BQU0sRUFBRSxDQUFDO1FBQ1gsQ0FBQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDOzs7WUExQkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUNyQix5RUFBcUM7O2FBRXRDOzs7WUFOTyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Rm9ybUNsYXNzLCBJbnB1dENsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Zvcm0uY2xhc3MnO1xyXG5pbXBvcnQge01vZGFsQ2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvbW9kYWwuY2xhc3MnO1xyXG5pbXBvcnQge0lucHV0VHlwZX0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9lbnVtLmNsYXNzJztcclxuaW1wb3J0IHtMYW5nQ2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvbGFuZy5jbGFzcyc7XHJcbmltcG9ydCB7UHNUb29sa2l0VWlDb25maWdTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25maWcuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1hbGVydCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FsZXJ0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hbGVydC5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFsZXJ0Q29tcG9uZW50IHtcclxuICBhbGVydDogTW9kYWxDbGFzcztcclxuICBhbGVydExhYmVsOiBJbnB1dENsYXNzO1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjb25maWc6IFBzVG9vbGtpdFVpQ29uZmlnU2VydmljZSl7XHJcbiAgICBjb25zdCBsYW5nID0gbmV3IExhbmdDbGFzcyhjb25maWcuY3VycmVudExhbmcsIGNvbmZpZy5zdHJpbmdzKTtcclxuICAgIGNvbnN0IGwgPSAoa2V5OiBzdHJpbmcsIHYgPSBudWxsKTogc3RyaW5nID0+IHtcclxuICAgICAgcmV0dXJuIGxhbmcuZ2V0KCdQdWJsaWMnLCAnQWxlcnQnLCBrZXksIHYpO1xyXG4gICAgfTtcclxuICAgIHRoaXMuYWxlcnQgPSBuZXcgTW9kYWxDbGFzcyhjb25maWcuZW52aXJvbm1lbnQsIGwsICdBbGVydCcpO1xyXG4gICAgdGhpcy5hbGVydC5mb3JtID0gbmV3IEZvcm1DbGFzcyhjb25maWcuZW52aXJvbm1lbnQsIGwsICdBbGVydCcpO1xyXG4gICAgdGhpcy5hbGVydExhYmVsID0gbmV3IElucHV0Q2xhc3MoY29uZmlnLmVudmlyb25tZW50LCBsLCAnQWxlcnQnLCBudWxsLCBJbnB1dFR5cGUuTGFiZWwsICdmLXMtMTYgcC1oLTIwIHAtdC0xMCBsLWgtMzAnKTtcclxuICAgIHRoaXMuYWxlcnQuZm9ybS5pbnB1dHMgPSBbXHJcbiAgICAgIHRoaXMuYWxlcnRMYWJlbFxyXG4gICAgXTtcclxuICB9XHJcbiAgc2hvdyhsOiBzdHJpbmcsIGFjY2VwdDogKCkgPT4gdm9pZCk6IHZvaWR7XHJcbiAgICB0aGlzLmFsZXJ0TGFiZWwudmFsdWUgPSBsO1xyXG4gICAgdGhpcy5hbGVydC5vbkhpZGUgPSAoKSA9PiB7XHJcbiAgICAgIGFjY2VwdCgpO1xyXG4gICAgfTtcclxuICAgIHRoaXMuYWxlcnQuc2hvdygpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,45 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { PermissionClass } from '../classes/permission.class';
3
+ import { PermissionTypeEnum } from '../classes/enum.class';
4
+ export class BaseComponent {
5
+ constructor(app, c, a = null) {
6
+ this.app = app;
7
+ this.c = c;
8
+ this.a = a;
9
+ this.l = (key, v = null) => {
10
+ return app.getL(`${c}${(a ? `.${a}` : '')}`, key, v);
11
+ };
12
+ if (app.currentUser !== null) {
13
+ this.permissions = this.getPermission(this.c, this.a);
14
+ if (this.permissions) {
15
+ this.permissions.Area = app.area;
16
+ }
17
+ }
18
+ }
19
+ getPermission(c, a = null) {
20
+ const p = this.app.currentUser.Permissions.filter(per => per.Controller === c && (a == null || per.Action === a) &&
21
+ per.Type === PermissionTypeEnum.Item);
22
+ return p.length > 0 ? this.getPermissionClass(p[0]) : null;
23
+ }
24
+ getPermissionClass(p) {
25
+ return new PermissionClass(p.Name, p.Icon, p.Type, p.InputType, p.AccessType, p.InputAction, this.app.area, p.Controller, p.Action, p.Condition, this.getPermissionAccessesClass(p.Id));
26
+ }
27
+ getPermissionAccessesClass(parentId) {
28
+ return this.app.currentUser.Permissions.filter(x => x.ParentId === parentId).map(x => this.getPermissionClass(x));
29
+ }
30
+ hasAccess(a) {
31
+ return this.permissions ? this.permissions.hasAccessByName(a) : false;
32
+ }
33
+ hasOption(a) {
34
+ return this.permissions ? this.permissions.hasAccessByName(a) : false;
35
+ }
36
+ }
37
+ BaseComponent.decorators = [
38
+ { type: Injectable }
39
+ ];
40
+ BaseComponent.ctorParameters = () => [
41
+ { type: undefined },
42
+ null,
43
+ null
44
+ ];
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiRDovUHJvamVjdHMvUHNUb29sa2l0L1VJL3Byb2plY3RzL3BzLXRvb2xraXQtdWkvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFHekQsTUFBTSxPQUFnQixhQUFhO0lBR2pDLFlBQTZCLEdBQVEsRUFBUyxDQUFDLEVBQVMsSUFBSSxJQUFJO1FBQW5DLFFBQUcsR0FBSCxHQUFHLENBQUs7UUFBUyxNQUFDLEdBQUQsQ0FBQyxDQUFBO1FBQVMsTUFBQyxHQUFELENBQUMsQ0FBTztRQUM5RCxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBVyxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQVUsRUFBRTtZQUN6QyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQztRQUNGLElBQUksR0FBRyxDQUFDLFdBQVcsS0FBSyxJQUFJLEVBQUM7WUFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBQztnQkFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQzthQUNsQztTQUNGO0lBQ0gsQ0FBQztJQUNELGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUk7UUFDdkIsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztZQUM5RyxHQUFHLENBQUMsSUFBSSxLQUFLLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzdELENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxDQUFNO1FBQ3ZCLE9BQU8sSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUNoSSxDQUFDLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBQ0QsMEJBQTBCLENBQUMsUUFBZ0I7UUFDekMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwSCxDQUFDO0lBQ0QsU0FBUyxDQUFDLENBQVM7UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3hFLENBQUM7SUFDRCxTQUFTLENBQUMsQ0FBUztRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDeEUsQ0FBQzs7O1lBaENGLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1Blcm1pc3Npb25DbGFzc30gZnJvbSAnLi4vY2xhc3Nlcy9wZXJtaXNzaW9uLmNsYXNzJztcclxuaW1wb3J0IHtQZXJtaXNzaW9uVHlwZUVudW19IGZyb20gJy4uL2NsYXNzZXMvZW51bS5jbGFzcyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlQ29tcG9uZW50IHtcclxuICBsOiAoaywgdj8pID0+IHN0cmluZztcclxuICBwZXJtaXNzaW9uczogUGVybWlzc2lvbkNsYXNzO1xyXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihwdWJsaWMgYXBwOiBhbnksIHB1YmxpYyBjLCBwdWJsaWMgYSA9IG51bGwpe1xyXG4gICAgdGhpcy5sID0gKGtleTogc3RyaW5nLCB2ID0gbnVsbCk6IHN0cmluZyA9PiB7XHJcbiAgICAgIHJldHVybiBhcHAuZ2V0TChgJHtjfSR7KGEgPyBgLiR7YX1gIDogJycpfWAsIGtleSwgdik7XHJcbiAgICB9O1xyXG4gICAgaWYgKGFwcC5jdXJyZW50VXNlciAhPT0gbnVsbCl7XHJcbiAgICAgIHRoaXMucGVybWlzc2lvbnMgPSB0aGlzLmdldFBlcm1pc3Npb24odGhpcy5jLCB0aGlzLmEpO1xyXG4gICAgICBpZiAodGhpcy5wZXJtaXNzaW9ucyl7XHJcbiAgICAgICAgdGhpcy5wZXJtaXNzaW9ucy5BcmVhID0gYXBwLmFyZWE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgZ2V0UGVybWlzc2lvbihjLCBhID0gbnVsbCk6IGFueXtcclxuICAgIGNvbnN0IHAgPSB0aGlzLmFwcC5jdXJyZW50VXNlci5QZXJtaXNzaW9ucy5maWx0ZXIocGVyID0+IHBlci5Db250cm9sbGVyID09PSBjICYmIChhID09IG51bGwgfHwgcGVyLkFjdGlvbiA9PT0gYSkgJiZcclxuICAgICAgcGVyLlR5cGUgPT09IFBlcm1pc3Npb25UeXBlRW51bS5JdGVtKTtcclxuICAgIHJldHVybiBwLmxlbmd0aCA+IDAgPyB0aGlzLmdldFBlcm1pc3Npb25DbGFzcyhwWzBdKSA6IG51bGw7XHJcbiAgfVxyXG4gIGdldFBlcm1pc3Npb25DbGFzcyhwOiBhbnkpOiBQZXJtaXNzaW9uQ2xhc3N7XHJcbiAgICByZXR1cm4gbmV3IFBlcm1pc3Npb25DbGFzcyhwLk5hbWUsIHAuSWNvbiwgcC5UeXBlLCBwLklucHV0VHlwZSwgcC5BY2Nlc3NUeXBlLCBwLklucHV0QWN0aW9uLCB0aGlzLmFwcC5hcmVhLCBwLkNvbnRyb2xsZXIsIHAuQWN0aW9uLFxyXG4gICAgICBwLkNvbmRpdGlvbiwgdGhpcy5nZXRQZXJtaXNzaW9uQWNjZXNzZXNDbGFzcyhwLklkKSk7XHJcbiAgfVxyXG4gIGdldFBlcm1pc3Npb25BY2Nlc3Nlc0NsYXNzKHBhcmVudElkOiBzdHJpbmcpOiBQZXJtaXNzaW9uQ2xhc3NbXXtcclxuICAgIHJldHVybiB0aGlzLmFwcC5jdXJyZW50VXNlci5QZXJtaXNzaW9ucy5maWx0ZXIoeCA9PiB4LlBhcmVudElkID09PSBwYXJlbnRJZCkubWFwKHggPT4gdGhpcy5nZXRQZXJtaXNzaW9uQ2xhc3MoeCkpO1xyXG4gIH1cclxuICBoYXNBY2Nlc3MoYTogc3RyaW5nKTogYm9vbGVhbntcclxuICAgIHJldHVybiB0aGlzLnBlcm1pc3Npb25zID8gdGhpcy5wZXJtaXNzaW9ucy5oYXNBY2Nlc3NCeU5hbWUoYSkgOiBmYWxzZTtcclxuICB9XHJcbiAgaGFzT3B0aW9uKGE6IHN0cmluZyk6IGJvb2xlYW57XHJcbiAgICByZXR1cm4gdGhpcy5wZXJtaXNzaW9ucyA/IHRoaXMucGVybWlzc2lvbnMuaGFzQWNjZXNzQnlOYW1lKGEpIDogZmFsc2U7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,97 @@
1
+ import { Component } from '@angular/core';
2
+ import { DayClass } from '../../classes/form.class';
3
+ import * as moment from 'jalali-moment';
4
+ import { PsToolkitUiConfigService } from '../../services/config.service';
5
+ import { LangClass } from '../../classes/lang.class';
6
+ export class CalendarComponent {
7
+ constructor(config) {
8
+ this.config = config;
9
+ this.state = 'day';
10
+ this.months = [];
11
+ this.previousDays = [];
12
+ this.nextDays = [];
13
+ this.days = [];
14
+ const lang = new LangClass(config.currentLang, config.strings);
15
+ this.l = (key, v = null) => {
16
+ return lang.get('Public', null, key, v);
17
+ };
18
+ this.months = [this.l('Month1'), this.l('Month2'), this.l('Month3'), this.l('Month4'), this.l('Month5'), this.l('Month6'), this.l('Month7'), this.l('Month8'), this.l('Month9'), this.l('Month10'), this.l('Month11'), this.l('Month12')];
19
+ this.setActive(moment());
20
+ }
21
+ changeState(s) {
22
+ this.state = s;
23
+ }
24
+ getYears() {
25
+ const y = parseInt(this.active.format('jYYYY'), 10);
26
+ const sy = y - (y % 20);
27
+ return Array.from({ length: 20 }, (x, i) => sy + i);
28
+ }
29
+ getActiveMonth() {
30
+ return this.months[parseInt(this.active.format('jM'), 10) - 1];
31
+ }
32
+ add(c) {
33
+ this.active.add(c, this.state === 'day' ? 'month' : 'year');
34
+ this.setDate();
35
+ }
36
+ changeMonth(c) {
37
+ this.active = moment(this.active.format('jYYYY') + '/' + ('0' + c).slice(-2) + '/' + this.active.format('jDD HH:mm:ss'), 'jYYYY/jMM/jDD HH:mm:ss');
38
+ this.setDate();
39
+ this.changeState('day');
40
+ }
41
+ changeYear(c) {
42
+ this.active = moment(('000' + c).slice(-4) + '/' + this.active.format('jMM/jDD HH:mm:ss'), 'jYYYY/jMM/jDD HH:mm:ss');
43
+ this.setDate();
44
+ this.changeState('month');
45
+ }
46
+ setDate() {
47
+ const n = this.active.clone();
48
+ const countDayInMonth = n.daysInMonth();
49
+ const startWeek = parseInt(n.startOf('month').format('d'), 10);
50
+ const previousMonth = n.subtract(1, 'month');
51
+ const countDayInPreviousMonth = previousMonth.daysInMonth();
52
+ const nextMonth = n.add(2, 'month');
53
+ const previousDays = [];
54
+ const nextDays = [];
55
+ const days = [];
56
+ if (startWeek !== 6) {
57
+ for (let i = countDayInPreviousMonth - startWeek; i <= countDayInPreviousMonth; i++) {
58
+ previousDays.push(new DayClass(i, this.isToday(previousMonth, i), false));
59
+ }
60
+ }
61
+ for (let i = 1; i <= countDayInMonth; i++) {
62
+ days.push(new DayClass(i, this.isToday(this.active, i), false));
63
+ }
64
+ const end = (days.length + previousDays.length) % 7;
65
+ if (end !== 0) {
66
+ for (let i = 1; i <= 7 - end; i++) {
67
+ nextDays.push(new DayClass(i, this.isToday(nextMonth, i), false));
68
+ }
69
+ }
70
+ this.previousDays = previousDays;
71
+ this.nextDays = nextDays;
72
+ this.days = days;
73
+ }
74
+ isToday(m, d) {
75
+ const month = parseInt(m.format('jMM'), 10);
76
+ const year = parseInt(m.format('jYYYY'), 10);
77
+ return year === this.todayYear && month === this.todayMonth && d === this.todayDay;
78
+ }
79
+ setActive(m) {
80
+ this.active = m;
81
+ this.todayDay = parseInt(this.active.format('jDD'), 10);
82
+ this.todayMonth = parseInt(this.active.format('jMM'), 10);
83
+ this.todayYear = parseInt(this.active.format('jYYYY'), 10);
84
+ this.setDate();
85
+ }
86
+ }
87
+ CalendarComponent.decorators = [
88
+ { type: Component, args: [{
89
+ selector: 'lib-calendar',
90
+ template: "<div id=\"Calendar\">\r\n <div class=\"header\">\r\n <i (click)=\"add(state === 'day' || state === 'month' ? -1 : -20)\" class=\"fas fa-angle-right previous-month\"></i>\r\n <div class=\"title\">\r\n <div (click)=\"state === 'day' && changeState('month')\" class=\"month header-item\">\r\n {{getActiveMonth()}}\r\n </div>\r\n <div (click)=\"(state === 'day' || state === 'month') && changeState('year')\" class=\"year header-item\">\r\n {{active.format('jYYYY')}}\r\n </div>\r\n </div>\r\n <i (click)=\"add(state === 'day' || state === 'month' ? 1 : 20)\" class=\"fas fa-angle-left next-month\"></i>\r\n </div>\r\n <div [style]=\"state === 'day' ? {} : {display: 'none'}\" class=\"days-con\">\r\n <div class=\"day-names underline\">\r\n <div class=\"item-con\"><div class=\"item\">\u0634</div></div>\r\n <div class=\"item-con\"><div class=\"item\">\u06CC</div></div>\r\n <div class=\"item-con\"><div class=\"item\">\u062F</div></div>\r\n <div class=\"item-con\"><div class=\"item\">\u0633</div></div>\r\n <div class=\"item-con\"><div class=\"item\">\u0686</div></div>\r\n <div class=\"item-con\"><div class=\"item\">\u067E</div></div>\r\n <div class=\"item-con\"><div class=\"item\">\u062C</div></div>\r\n </div>\r\n <div class=\"days\">\r\n <div [className]=\"'item-con not-in-month' + (d.today ? ' today' : '')\" *ngFor=\"let d of previousDays\"><div class=\"item\">{{d.day}}</div></div>\r\n <div [className]=\"'item-con' + (d.today ? ' today' : '') + (d.selected ? ' selected' : '')\" *ngFor=\"let d of days\"><div class=\"item\">{{d.day}}</div></div>\r\n <div [className]=\"'item-con not-in-month' + (d.today ? ' today' : '')\" *ngFor=\"let d of nextDays\"><div class=\"item\">{{d.day}}</div></div>\r\n </div>\r\n </div>\r\n <div [style]=\"state === 'month' ? {} : {display: 'none'}\" class=\"months-con\">\r\n <div [className]=\"(i + 1 == active.format('jM') ? 'selected ' : '') + 'month'\" (click)=\"changeMonth(i + 1)\" *ngFor=\"let m of months; let i = index\">{{m}}</div>\r\n </div>\r\n <div [style]=\"state === 'year' ? {} : {display: 'none'}\" class=\"years-con\">\r\n <div [className]=\"(y == active.format('jYYYY') ? 'selected ' : '') + 'year'\" (click)=\"changeYear(y)\" *ngFor=\"let y of getYears()\">{{y}}</div>\r\n </div>\r\n</div>\r\n",
91
+ styles: ["#Calendar{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background-color:#fff;border-radius:5px;box-shadow:0 1px 3px 0 rgba(0,0,0,.4);float:right;position:relative;width:100%;z-index:4}#Calendar>.title{font-family:VazirBold;line-height:30px;text-align:center}#Calendar .days-con,#Calendar .header,#Calendar>.title{float:right;width:100%}#Calendar .header{background:var(--black-33)}#Calendar .header .next-month,#Calendar .header .previous-month{cursor:pointer;float:right;font-size:15px;height:30px;line-height:30px;text-align:center;width:30px}#Calendar .header .next-month:hover,#Calendar .header .previous-month:hover{background:var(--black-33)}#Calendar .header .title{float:right;font-family:VazirBold;font-size:12px;height:30px;text-align:center;width:calc(100% - 60px)}#Calendar .header .header-item{background-color:#fff;border-radius:5px;box-shadow:var(--box-shadow);cursor:pointer;float:right;height:20px;line-height:20px;margin-right:5px;margin-top:5px;text-align:center}#Calendar .header .header-item:hover{background-color:var(--base-11)}#Calendar .header .header-item.year{width:calc(40% - 10px)}#Calendar .header .header-item.month{width:calc(60% - 10px)}#Calendar .days-con .day-names{float:right;font-family:VazirLight;font-size:12px;position:relative;text-align:center;width:100%}#Calendar .days-con .day-names .item-con{float:right;padding-top:14.28571%;position:relative;width:14.28571%}#Calendar .days-con .day-names .item-con .item{align-items:center;display:flex;font-size:11px;height:100%;justify-content:center;position:absolute;right:0;top:0;width:100%}#Calendar .days-con .days{border-radius:5px;float:right;font-size:12px;overflow:hidden;text-align:center;width:100%}#Calendar .days-con .days .item-con{cursor:pointer;float:right;padding-top:14.28571%;position:relative;width:14.28571%}#Calendar .days-con .days .item-con.not-in-month{cursor:default;opacity:.5}#Calendar .days-con .days .item-con:hover{background-color:var(--black-33)}#Calendar .days-con .days .item-con.not-in-month:hover{background-color:unset}#Calendar .days-con .days .item-con.today{background-color:var(--comp);color:#fff}#Calendar .days-con .days .item-con.today.not-in-month:hover{background-color:var(--black-33)}#Calendar .days-con .days .item-con .item{align-items:center;display:flex;font-size:11px;height:100%;justify-content:center;position:absolute;right:0;top:0;width:100%}#Calendar .months-con{float:right;height:325px;width:100%}#Calendar .months-con .month{cursor:pointer;float:right;font-size:13px;height:81.25px;line-height:81.25px;text-align:center;width:33.33333%}#Calendar .months-con .month.selected,#Calendar .months-con .month:hover{background-color:var(--black-33)}#Calendar .years-con{float:right;width:100%}#Calendar .years-con .year{cursor:pointer;float:right;font-size:13px;height:65px;line-height:65px;text-align:center;width:25%}#Calendar .years-con .year.selected,#Calendar .years-con .year:hover{background-color:var(--black-33)}"]
92
+ },] }
93
+ ];
94
+ CalendarComponent.ctorParameters = () => [
95
+ { type: PsToolkitUiConfigService }
96
+ ];
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2plY3RzL1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRCxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN2RSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFPbkQsTUFBTSxPQUFPLGlCQUFpQjtJQVc1QixZQUFtQixNQUFnQztRQUFoQyxXQUFNLEdBQU4sTUFBTSxDQUEwQjtRQVZuRCxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2QsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUVaLGlCQUFZLEdBQWUsRUFBRSxDQUFDO1FBQzlCLGFBQVEsR0FBZSxFQUFFLENBQUM7UUFDMUIsU0FBSSxHQUFlLEVBQUUsQ0FBQztRQU1wQixNQUFNLElBQUksR0FBRyxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBVyxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQVUsRUFBRTtZQUN6QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVB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TUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQzs7O1lBM0ZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsY0FBYztnQkFDeEIsazFFQUF3Qzs7YUFFekM7OztZQVBPLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtEYXlDbGFzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9mb3JtLmNsYXNzJztcclxuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ2phbGFsaS1tb21lbnQnO1xyXG5pbXBvcnQge1BzVG9vbGtpdFVpQ29uZmlnU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQge0xhbmdDbGFzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9sYW5nLmNsYXNzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWNhbGVuZGFyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NhbGVuZGFyLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJDb21wb25lbnQge1xyXG4gIHN0YXRlID0gJ2RheSc7XHJcbiAgbW9udGhzID0gW107XHJcbiAgYWN0aXZlOiBtb21lbnQuTW9tZW50O1xyXG4gIHByZXZpb3VzRGF5czogRGF5Q2xhc3NbXSA9IFtdO1xyXG4gIG5leHREYXlzOiBEYXlDbGFzc1tdID0gW107XHJcbiAgZGF5czogRGF5Q2xhc3NbXSA9IFtdO1xyXG4gIHRvZGF5RGF5OiBudW1iZXI7XHJcbiAgdG9kYXlNb250aDogbnVtYmVyO1xyXG4gIHRvZGF5WWVhcjogbnVtYmVyO1xyXG4gIGw6IChrLCB2PykgPT4gc3RyaW5nO1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjb25maWc6IFBzVG9vbGtpdFVpQ29uZmlnU2VydmljZSl7XHJcbiAgICBjb25zdCBsYW5nID0gbmV3IExhbmdDbGFzcyhjb25maWcuY3VycmVudExhbmcsIGNvbmZpZy5zdHJpbmdzKTtcclxuICAgIHRoaXMubCA9IChrZXk6IHN0cmluZywgdiA9IG51bGwpOiBzdHJpbmcgPT4ge1xyXG4gICAgICByZXR1cm4gbGFuZy5nZXQoJ1B1YmxpYycsIG51bGwsIGtleSwgdik7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5tb250aHMgPSBbdGhpcy5sKCdNb250aDEnKSwgdGhpcy5sKCdNb250aDInKSwgdGhpcy5sKCdNb250aDMnKSwgdGhpcy5sKCdNb250aDQnKSwgdGhpcy5sKCdNb250aDUnKSwgdGhpcy5sKCdNb250aDYnKSwgdGhpcy5sKCdNb250aDcnKSwgdGhpcy5sKCdNb250aDgnKSwgdGhpcy5sKCdNb250aDknKSwgdGhpcy5sKCdNb250aDEwJyksIHRoaXMubCgnTW9udGgxMScpLCB0aGlzLmwoJ01vbnRoMTInKV07XHJcbiAgICB0aGlzLnNldEFjdGl2ZShtb21lbnQoKSk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VTdGF0ZShzOiBzdHJpbmcpOiB2b2lke1xyXG4gICAgdGhpcy5zdGF0ZSA9IHM7XHJcbiAgfVxyXG4gIGdldFllYXJzKCk6IG51bWJlcltde1xyXG4gICAgY29uc3QgeSA9IHBhcnNlSW50KHRoaXMuYWN0aXZlLmZvcm1hdCgnallZWVknKSwgMTApO1xyXG4gICAgY29uc3Qgc3kgPSB5IC0gKHkgJSAyMCk7XHJcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh7bGVuZ3RoOiAyMH0sICh4LCBpKSA9PiBzeSArIGkpO1xyXG4gIH1cclxuICBnZXRBY3RpdmVNb250aCgpOiBzdHJpbmd7XHJcbiAgICByZXR1cm4gdGhpcy5tb250aHNbcGFyc2VJbnQodGhpcy5hY3RpdmUuZm9ybWF0KCdqTScpLCAxMCkgLSAxXTtcclxuICB9XHJcbiAgYWRkKGM6IG51bWJlcik6IHZvaWR7XHJcbiAgICB0aGlzLmFjdGl2ZS5hZGQoYywgdGhpcy5zdGF0ZSA9PT0gJ2RheScgPyAnbW9udGgnIDogJ3llYXInKTtcclxuICAgIHRoaXMuc2V0RGF0ZSgpO1xyXG4gIH1cclxuICBjaGFuZ2VNb250aChjOiBudW1iZXIpOiB2b2lke1xyXG4gICAgdGhpcy5hY3RpdmUgPSBtb21lbnQodGhpcy5hY3RpdmUuZm9ybWF0KCdqWVlZWScpICsgJy8nICsgKCcwJyArIGMpLnNsaWNlKC0yKSArICcvJyArIHRoaXMuYWN0aXZlLmZvcm1hdCgnakREIEhIOm1tOnNzJyksICdqWVlZWS9qTU0vakREIEhIOm1tOnNzJyk7XHJcbiAgICB0aGlzLnNldERhdGUoKTtcclxuICAgIHRoaXMuY2hhbmdlU3RhdGUoJ2RheScpO1xyXG4gIH1cclxuICBjaGFuZ2VZZWFyKGM6IG51bWJlcik6IHZvaWR7XHJcbiAgICB0aGlzLmFjdGl2ZSA9IG1vbWVudCgoJzAwMCcgKyBjKS5zbGljZSgtNCkgKyAnLycgKyB0aGlzLmFjdGl2ZS5mb3JtYXQoJ2pNTS9qREQgSEg6bW06c3MnKSwgJ2pZWVlZL2pNTS9qREQgSEg6bW06c3MnKTtcclxuICAgIHRoaXMuc2V0RGF0ZSgpO1xyXG4gICAgdGhpcy5jaGFuZ2VTdGF0ZSgnbW9udGgnKTtcclxuICB9XHJcblxyXG4gIHNldERhdGUoKTogdm9pZHtcclxuICAgIGNvbnN0IG4gPSB0aGlzLmFjdGl2ZS5jbG9uZSgpO1xyXG4gICAgY29uc3QgY291bnREYXlJbk1vbnRoID0gbi5kYXlzSW5Nb250aCgpO1xyXG4gICAgY29uc3Qgc3RhcnRXZWVrID0gcGFyc2VJbnQobi5zdGFydE9mKCdtb250aCcpLmZvcm1hdCgnZCcpLCAxMCk7XHJcbiAgICBjb25zdCBwcmV2aW91c01vbnRoID0gbi5zdWJ0cmFjdCgxLCAnbW9udGgnKTtcclxuICAgIGNvbnN0IGNvdW50RGF5SW5QcmV2aW91c01vbnRoID0gcHJldmlvdXNNb250aC5kYXlzSW5Nb250aCgpO1xyXG4gICAgY29uc3QgbmV4dE1vbnRoID0gbi5hZGQoMiwgJ21vbnRoJyk7XHJcbiAgICBjb25zdCBwcmV2aW91c0RheXM6IERheUNsYXNzW10gPSBbXTtcclxuICAgIGNvbnN0IG5leHREYXlzID0gW107XHJcbiAgICBjb25zdCBkYXlzID0gW107XHJcbiAgICBpZiAoc3RhcnRXZWVrICE9PSA2KXtcclxuICAgICAgZm9yIChsZXQgaSA9IGNvdW50RGF5SW5QcmV2aW91c01vbnRoIC0gc3RhcnRXZWVrOyBpIDw9IGNvdW50RGF5SW5QcmV2aW91c01vbnRoOyBpKyspe1xyXG4gICAgICAgIHByZXZpb3VzRGF5cy5wdXNoKG5ldyBEYXlDbGFzcyhpLCB0aGlzLmlzVG9kYXkocHJldmlvdXNNb250aCwgaSksIGZhbHNlKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGZvciAobGV0IGkgPSAxOyBpIDw9IGNvdW50RGF5SW5Nb250aDsgaSsrKXtcclxuICAgICAgZGF5cy5wdXNoKG5ldyBEYXlDbGFzcyhpLCB0aGlzLmlzVG9kYXkodGhpcy5hY3RpdmUsIGkpLCBmYWxzZSkpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZW5kID0gKGRheXMubGVuZ3RoICsgcHJldmlvdXNEYXlzLmxlbmd0aCkgJSA3O1xyXG4gICAgaWYgKGVuZCAhPT0gMCl7XHJcbiAgICAgIGZvciAobGV0IGkgPSAxOyBpIDw9IDcgLSBlbmQ7IGkrKyl7XHJcbiAgICAgICAgbmV4dERheXMucHVzaChuZXcgRGF5Q2xhc3MoaSwgdGhpcy5pc1RvZGF5KG5leHRNb250aCwgaSksIGZhbHNlKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMucHJldmlvdXNEYXlzID0gcHJldmlvdXNEYXlzO1xyXG4gICAgdGhpcy5uZXh0RGF5cyA9IG5leHREYXlzO1xyXG4gICAgdGhpcy5kYXlzID0gZGF5cztcclxuICB9XHJcblxyXG4gIGlzVG9kYXkobTogbW9tZW50Lk1vbWVudCwgZDogbnVtYmVyKTogYm9vbGVhbntcclxuICAgIGNvbnN0IG1vbnRoID0gcGFyc2VJbnQobS5mb3JtYXQoJ2pNTScpLCAxMCk7XHJcbiAgICBjb25zdCB5ZWFyID0gcGFyc2VJbnQobS5mb3JtYXQoJ2pZWVlZJyksIDEwKTtcclxuICAgIHJldHVybiB5ZWFyID09PSB0aGlzLnRvZGF5WWVhciAmJiBtb250aCA9PT0gdGhpcy50b2RheU1vbnRoICYmIGQgPT09IHRoaXMudG9kYXlEYXk7XHJcbiAgfVxyXG4gIHNldEFjdGl2ZShtKTogdm9pZHtcclxuICAgIHRoaXMuYWN0aXZlID0gbTtcclxuICAgIHRoaXMudG9kYXlEYXkgPSBwYXJzZUludCh0aGlzLmFjdGl2ZS5mb3JtYXQoJ2pERCcpLCAxMCk7XHJcbiAgICB0aGlzLnRvZGF5TW9udGggPSBwYXJzZUludCh0aGlzLmFjdGl2ZS5mb3JtYXQoJ2pNTScpLCAxMCk7XHJcbiAgICB0aGlzLnRvZGF5WWVhciA9IHBhcnNlSW50KHRoaXMuYWN0aXZlLmZvcm1hdCgnallZWVknKSwgMTApO1xyXG4gICAgdGhpcy5zZXREYXRlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,17 @@
1
+ import { Component, Input } from '@angular/core';
2
+ export class ChartComponent {
3
+ constructor() {
4
+ }
5
+ }
6
+ ChartComponent.decorators = [
7
+ { type: Component, args: [{
8
+ selector: 'lib-chart',
9
+ template: "<div class=\"chart-con\" [style]=\"chart.style\">\r\n <div *ngIf=\"chart.loading\" class=\"loading\">\r\n <div class=\"text\" [innerHTML]=\"chart.l('LoadingTable', 'Processing')\"></div>\r\n </div>\r\n <div style=\"height: 100%\" [id]=\"this.chart.name + 'Chart'\"></div>\r\n</div>\r\n",
10
+ styles: [".chart-con{direction:ltr;float:right;position:relative;width:100%}.chart-con .loading{background-color:#fff;height:100%;position:absolute;right:0;top:0;width:100%;z-index:9}.chart-con .loading .text{font-family:VazirBold;height:40px;line-height:40px;position:absolute;text-align:center;top:calc(50% - 20px);width:100%}"]
11
+ },] }
12
+ ];
13
+ ChartComponent.ctorParameters = () => [];
14
+ ChartComponent.propDecorators = {
15
+ chart: [{ type: Input }]
16
+ };
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2plY3RzL1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2NoYXJ0L2NoYXJ0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQVEvQyxNQUFNLE9BQU8sY0FBYztJQUd6QjtJQUNBLENBQUM7OztZQVRGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsV0FBVztnQkFDckIsK1NBQXFDOzthQUV0Qzs7OztvQkFFRSxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDaGFydENsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL2NoYXJ0LmNsYXNzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWNoYXJ0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hhcnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NoYXJ0LmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hhcnRDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpXHJcbiAgY2hhcnQ6IENoYXJ0Q2xhc3M7XHJcbiAgY29uc3RydWN0b3IoKXtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,33 @@
1
+ import { Component, ViewChild } from '@angular/core';
2
+ import * as moment from 'jalali-moment';
3
+ export class ClockComponent {
4
+ constructor() {
5
+ this.active = moment();
6
+ }
7
+ ngOnInit() {
8
+ this.clockInterval = setInterval(() => {
9
+ this.clockUpdate();
10
+ }, 1000);
11
+ }
12
+ ngOnDestroy() {
13
+ clearInterval(this.clockInterval);
14
+ }
15
+ clockUpdate() {
16
+ this.active = this.active.add(1, 'second');
17
+ document.getElementById('hour').style.transform = 'rotate(' + (this.active.get('hour') * 30 + (Math.floor(this.active.get('minute') / 12) * 6)) + 'deg)';
18
+ document.getElementById('minute').style.transform = 'rotate(' + (this.active.get('minute') * 6) + 'deg)';
19
+ document.getElementById('second').style.transform = 'rotate(' + (this.active.get('second') * 6) + 'deg)';
20
+ }
21
+ }
22
+ ClockComponent.decorators = [
23
+ { type: Component, args: [{
24
+ selector: 'lib-clock',
25
+ template: "<div id=\"ClockCon\">\r\n <div id=\"clock\">\r\n <b></b>\r\n <span></span>\r\n <span></span>\r\n <i id=\"hour\"></i>\r\n <i id=\"minute\"></i>\r\n <i id=\"second\"></i>\r\n </div>\r\n</div>\r\n",
26
+ styles: ["#ClockCon{float:right}#ClockCon,#ClockCon #clock{height:10em;position:relative;width:10em}#ClockCon #clock{background-color:#fff;border:.0625em solid var(--black-33);border-radius:50%;box-shadow:inset .125em .25em .5em var(--black-33),-.25em -.5em .5em var(--black-33),0 0 .0625em .5em var(--black-33),0 0 .0625em .5625em var(--black-33),.125em .25em .5em .5em var(--black-33);line-height:1.5em;transform:scale(.9)}#ClockCon #clock *,#ClockCon #clock :after,#ClockCon #clock :before{background-clip:padding-box;box-sizing:border-box}#ClockCon #clock:after,#ClockCon #clock:before,#ClockCon #clock b:after,#ClockCon #clock b:before{position:absolute;text-align:center;width:1.5em}#ClockCon #clock b{position:absolute;top:4.25em;width:100%}#ClockCon #clock:after,#ClockCon #clock:before{left:4.25em}#ClockCon #clock:before{content:\"12\";top:0}#ClockCon #clock:after{bottom:0;content:\"6\"}#ClockCon #clock b:before{content:\"9\";left:0}#ClockCon #clock b:after{content:\"3\";right:0}#ClockCon #clock span{height:100%;left:4.9375em;position:absolute;top:0;width:.125em}#ClockCon #clock span+span{transform:rotate(90deg)}#ClockCon #clock i,#ClockCon #clock span:after,#ClockCon #clock span:before{height:9em;left:0;position:absolute;top:.5em;width:100%}#ClockCon #clock span:after,#ClockCon #clock span:before{border-color:#000;border-style:solid;border-width:.5em 0;content:\"\";transform:rotate(30deg)}#ClockCon #clock span:after{transform:rotate(60deg)}#ClockCon #clock i{background-color:#000;border:solid transparent;border-radius:40%;border-width:0 0 3em;left:4.85em;width:.3em;z-index:2}#ClockCon #clock i:first-of-type{border-width:1.5em 0 3em}#ClockCon #clock i:last-of-type{background-color:var(--comp)}#ClockCon #clock i:last-of-type:after,#ClockCon #clock i:last-of-type:before{border-radius:50%;content:\"\";position:absolute}#ClockCon #clock i:last-of-type:before{background:#000;height:1em;left:-.375em;top:4em;width:1em}#ClockCon #clock i:last-of-type:after{background:#abc;height:.5em;left:-.125em;top:4.25em;width:.5em}"]
27
+ },] }
28
+ ];
29
+ ClockComponent.ctorParameters = () => [];
30
+ ClockComponent.propDecorators = {
31
+ clock: [{ type: ViewChild, args: ['clock',] }]
32
+ };
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2plY3RzL1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2Nsb2NrL2Nsb2NrLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUF3QyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxLQUFLLE1BQU0sTUFBTSxlQUFlLENBQUM7QUFPeEMsTUFBTSxPQUFPLGNBQWM7SUFJekI7UUFDRSxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDWCxDQUFDO0lBQ0QsV0FBVztRQUNULGFBQWEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMzQyxRQUFRLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsU0FBUyxHQUFHLENBQzVELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ2hGLEdBQUcsTUFBTSxDQUFDO1FBQ1gsUUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLFNBQVMsR0FBRyxDQUM5RCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQzlCLEdBQUcsTUFBTSxDQUFDO1FBQ1gsUUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLFNBQVMsR0FBRyxDQUM5RCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQzlCLEdBQUcsTUFBTSxDQUFDO0lBQ2IsQ0FBQzs7O1lBaENGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsV0FBVztnQkFDckIsaU9BQXFDOzthQUV0Qzs7OztvQkFHRSxTQUFTLFNBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIG1vbWVudCBmcm9tICdqYWxhbGktbW9tZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWNsb2NrJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2xvY2suY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Nsb2NrLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2xvY2tDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveXtcclxuICBjbG9ja0ludGVydmFsO1xyXG4gIEBWaWV3Q2hpbGQoJ2Nsb2NrJykgY2xvY2s6IEVsZW1lbnRSZWY7XHJcbiAgYWN0aXZlOiBtb21lbnQuTW9tZW50O1xyXG4gIGNvbnN0cnVjdG9yKCl7XHJcbiAgICB0aGlzLmFjdGl2ZSA9IG1vbWVudCgpO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lke1xyXG4gICAgdGhpcy5jbG9ja0ludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICB0aGlzLmNsb2NrVXBkYXRlKCk7XHJcbiAgICB9LCAxMDAwKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZHtcclxuICAgIGNsZWFySW50ZXJ2YWwodGhpcy5jbG9ja0ludGVydmFsKTtcclxuICB9XHJcblxyXG4gIGNsb2NrVXBkYXRlKCk6IHZvaWR7XHJcbiAgICB0aGlzLmFjdGl2ZSA9IHRoaXMuYWN0aXZlLmFkZCgxLCAnc2Vjb25kJyk7XHJcbiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaG91cicpLnN0eWxlLnRyYW5zZm9ybSA9ICdyb3RhdGUoJyArIChcclxuICAgICAgdGhpcy5hY3RpdmUuZ2V0KCdob3VyJykgKiAzMCArIChNYXRoLmZsb29yKHRoaXMuYWN0aXZlLmdldCgnbWludXRlJykgLyAxMikgKiA2KVxyXG4gICAgKSArICdkZWcpJztcclxuICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtaW51dGUnKS5zdHlsZS50cmFuc2Zvcm0gPSAncm90YXRlKCcgKyAoXHJcbiAgICAgIHRoaXMuYWN0aXZlLmdldCgnbWludXRlJykgKiA2XHJcbiAgICApICsgJ2RlZyknO1xyXG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NlY29uZCcpLnN0eWxlLnRyYW5zZm9ybSA9ICdyb3RhdGUoJyArIChcclxuICAgICAgdGhpcy5hY3RpdmUuZ2V0KCdzZWNvbmQnKSAqIDZcclxuICAgICkgKyAnZGVnKSc7XHJcbiAgfVxyXG59XHJcbiJdfQ==