@dflat-core/web 1.7.2077 → 1.7.2079

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 (694) hide show
  1. package/README.md +211 -211
  2. package/assets/components/modals.scss +216 -216
  3. package/assets/images/icons/fa/500px.svg +6 -6
  4. package/assets/images/icons/fa/address-book-o.svg +4 -4
  5. package/assets/images/icons/fa/address-book.svg +3 -3
  6. package/assets/images/icons/fa/adjust.svg +1 -1
  7. package/assets/images/icons/fa/adn.svg +1 -1
  8. package/assets/images/icons/fa/align-center.svg +2 -2
  9. package/assets/images/icons/fa/align-justify.svg +2 -2
  10. package/assets/images/icons/fa/align-left.svg +2 -2
  11. package/assets/images/icons/fa/align-right.svg +2 -2
  12. package/assets/images/icons/fa/amazon.svg +5 -5
  13. package/assets/images/icons/fa/ambulance.svg +3 -3
  14. package/assets/images/icons/fa/anchor.svg +3 -3
  15. package/assets/images/icons/fa/android.svg +3 -3
  16. package/assets/images/icons/fa/angellist.svg +6 -6
  17. package/assets/images/icons/fa/angle-double-down.svg +2 -2
  18. package/assets/images/icons/fa/angle-double-left.svg +2 -2
  19. package/assets/images/icons/fa/angle-double-right.svg +2 -2
  20. package/assets/images/icons/fa/angle-double-up.svg +2 -2
  21. package/assets/images/icons/fa/angle-down.svg +1 -1
  22. package/assets/images/icons/fa/angle-left.svg +1 -1
  23. package/assets/images/icons/fa/angle-right.svg +1 -1
  24. package/assets/images/icons/fa/angle-up.svg +1 -1
  25. package/assets/images/icons/fa/apple.svg +2 -2
  26. package/assets/images/icons/fa/archive.svg +2 -2
  27. package/assets/images/icons/fa/area-chart.svg +1 -1
  28. package/assets/images/icons/fa/arrow-circle-down.svg +2 -2
  29. package/assets/images/icons/fa/arrow-circle-left.svg +2 -2
  30. package/assets/images/icons/fa/arrow-circle-o-down.svg +2 -2
  31. package/assets/images/icons/fa/arrow-circle-o-left.svg +2 -2
  32. package/assets/images/icons/fa/arrow-circle-o-right.svg +2 -2
  33. package/assets/images/icons/fa/arrow-circle-o-up.svg +2 -2
  34. package/assets/images/icons/fa/arrow-circle-right.svg +2 -2
  35. package/assets/images/icons/fa/arrow-circle-up.svg +2 -2
  36. package/assets/images/icons/fa/arrow-down.svg +1 -1
  37. package/assets/images/icons/fa/arrow-left.svg +2 -2
  38. package/assets/images/icons/fa/arrow-right.svg +1 -1
  39. package/assets/images/icons/fa/arrow-up.svg +2 -2
  40. package/assets/images/icons/fa/arrows-alt.svg +3 -3
  41. package/assets/images/icons/fa/arrows-h.svg +1 -1
  42. package/assets/images/icons/fa/arrows-v.svg +1 -1
  43. package/assets/images/icons/fa/arrows.svg +2 -2
  44. package/assets/images/icons/fa/asl-interpreting.svg +6 -6
  45. package/assets/images/icons/fa/assistive-listening-systems.svg +5 -5
  46. package/assets/images/icons/fa/asterisk.svg +2 -2
  47. package/assets/images/icons/fa/at.svg +4 -4
  48. package/assets/images/icons/fa/audio-description.svg +5 -5
  49. package/assets/images/icons/fa/automobile.svg +3 -3
  50. package/assets/images/icons/fa/backward.svg +1 -1
  51. package/assets/images/icons/fa/balance-scale.svg +4 -4
  52. package/assets/images/icons/fa/ban.svg +2 -2
  53. package/assets/images/icons/fa/bandcamp.svg +1 -1
  54. package/assets/images/icons/fa/bar-chart-o.svg +1 -1
  55. package/assets/images/icons/fa/barcode.svg +2 -2
  56. package/assets/images/icons/fa/bathtub.svg +6 -6
  57. package/assets/images/icons/fa/battery-0.svg +2 -2
  58. package/assets/images/icons/fa/battery-1.svg +2 -2
  59. package/assets/images/icons/fa/battery-2.svg +2 -2
  60. package/assets/images/icons/fa/battery-3.svg +2 -2
  61. package/assets/images/icons/fa/battery-4.svg +2 -2
  62. package/assets/images/icons/fa/beer.svg +1 -1
  63. package/assets/images/icons/fa/behance-square.svg +3 -3
  64. package/assets/images/icons/fa/behance.svg +3 -3
  65. package/assets/images/icons/fa/bell-o.svg +3 -3
  66. package/assets/images/icons/fa/bell-slash-o.svg +3 -3
  67. package/assets/images/icons/fa/bell-slash.svg +3 -3
  68. package/assets/images/icons/fa/bell.svg +2 -2
  69. package/assets/images/icons/fa/bicycle.svg +4 -4
  70. package/assets/images/icons/fa/binoculars.svg +2 -2
  71. package/assets/images/icons/fa/birthday-cake.svg +5 -5
  72. package/assets/images/icons/fa/bitbucket-square.svg +4 -4
  73. package/assets/images/icons/fa/bitbucket.svg +4 -4
  74. package/assets/images/icons/fa/bitcoin.svg +3 -3
  75. package/assets/images/icons/fa/black-tie.svg +1 -1
  76. package/assets/images/icons/fa/blind.svg +4 -4
  77. package/assets/images/icons/fa/bluetooth-b.svg +1 -1
  78. package/assets/images/icons/fa/bluetooth.svg +2 -2
  79. package/assets/images/icons/fa/bold.svg +4 -4
  80. package/assets/images/icons/fa/bomb.svg +4 -4
  81. package/assets/images/icons/fa/book.svg +4 -4
  82. package/assets/images/icons/fa/bookmark-o.svg +2 -2
  83. package/assets/images/icons/fa/bookmark.svg +1 -1
  84. package/assets/images/icons/fa/braille.svg +7 -7
  85. package/assets/images/icons/fa/briefcase.svg +2 -2
  86. package/assets/images/icons/fa/bug.svg +3 -3
  87. package/assets/images/icons/fa/building-o.svg +10 -10
  88. package/assets/images/icons/fa/building.svg +8 -8
  89. package/assets/images/icons/fa/bullhorn.svg +2 -2
  90. package/assets/images/icons/fa/bullseye.svg +3 -3
  91. package/assets/images/icons/fa/bus.svg +3 -3
  92. package/assets/images/icons/fa/buysellads.svg +1 -1
  93. package/assets/images/icons/fa/cab.svg +3 -3
  94. package/assets/images/icons/fa/calculator.svg +6 -6
  95. package/assets/images/icons/fa/calendar-check-o.svg +3 -3
  96. package/assets/images/icons/fa/calendar-minus-o.svg +3 -3
  97. package/assets/images/icons/fa/calendar-o.svg +2 -2
  98. package/assets/images/icons/fa/calendar-plus-o.svg +3 -3
  99. package/assets/images/icons/fa/calendar-times-o.svg +3 -3
  100. package/assets/images/icons/fa/calendar.svg +4 -4
  101. package/assets/images/icons/fa/camera-retro.svg +3 -3
  102. package/assets/images/icons/fa/camera.svg +2 -2
  103. package/assets/images/icons/fa/caret-down.svg +1 -1
  104. package/assets/images/icons/fa/caret-left.svg +1 -1
  105. package/assets/images/icons/fa/caret-right.svg +1 -1
  106. package/assets/images/icons/fa/caret-up.svg +1 -1
  107. package/assets/images/icons/fa/cart-arrow-down.svg +3 -3
  108. package/assets/images/icons/fa/cart-plus.svg +3 -3
  109. package/assets/images/icons/fa/cc-amex.svg +9 -9
  110. package/assets/images/icons/fa/cc-diners-club.svg +3 -3
  111. package/assets/images/icons/fa/cc-discover.svg +5 -5
  112. package/assets/images/icons/fa/cc-jcb.svg +4 -4
  113. package/assets/images/icons/fa/cc-mastercard.svg +11 -11
  114. package/assets/images/icons/fa/cc-paypal.svg +6 -6
  115. package/assets/images/icons/fa/cc-stripe.svg +5 -5
  116. package/assets/images/icons/fa/cc-visa.svg +3 -3
  117. package/assets/images/icons/fa/cc.svg +4 -4
  118. package/assets/images/icons/fa/certificate.svg +3 -3
  119. package/assets/images/icons/fa/chain.svg +4 -4
  120. package/assets/images/icons/fa/check-circle-o.svg +2 -2
  121. package/assets/images/icons/fa/check-circle.svg +2 -2
  122. package/assets/images/icons/fa/check-square-o.svg +3 -3
  123. package/assets/images/icons/fa/check-square.svg +2 -2
  124. package/assets/images/icons/fa/check.svg +1 -1
  125. package/assets/images/icons/fa/chevron-circle-down.svg +2 -2
  126. package/assets/images/icons/fa/chevron-circle-left.svg +2 -2
  127. package/assets/images/icons/fa/chevron-circle-right.svg +2 -2
  128. package/assets/images/icons/fa/chevron-circle-up.svg +2 -2
  129. package/assets/images/icons/fa/chevron-down.svg +1 -1
  130. package/assets/images/icons/fa/chevron-left.svg +1 -1
  131. package/assets/images/icons/fa/chevron-right.svg +1 -1
  132. package/assets/images/icons/fa/chevron-up.svg +1 -1
  133. package/assets/images/icons/fa/child.svg +2 -2
  134. package/assets/images/icons/fa/chrome.svg +2 -2
  135. package/assets/images/icons/fa/circle-o-notch.svg +2 -2
  136. package/assets/images/icons/fa/circle-o.svg +2 -2
  137. package/assets/images/icons/fa/circle-thin.svg +2 -2
  138. package/assets/images/icons/fa/circle.svg +1 -1
  139. package/assets/images/icons/fa/clock-o.svg +2 -2
  140. package/assets/images/icons/fa/clone.svg +2 -2
  141. package/assets/images/icons/fa/cloud-download.svg +2 -2
  142. package/assets/images/icons/fa/cloud-upload.svg +2 -2
  143. package/assets/images/icons/fa/cloud.svg +2 -2
  144. package/assets/images/icons/fa/cny.svg +2 -2
  145. package/assets/images/icons/fa/code-fork.svg +3 -3
  146. package/assets/images/icons/fa/code.svg +2 -2
  147. package/assets/images/icons/fa/codepen.svg +2 -2
  148. package/assets/images/icons/fa/codiepie.svg +3 -3
  149. package/assets/images/icons/fa/coffee.svg +2 -2
  150. package/assets/images/icons/fa/columns.svg +1 -1
  151. package/assets/images/icons/fa/comment-o.svg +3 -3
  152. package/assets/images/icons/fa/comment.svg +2 -2
  153. package/assets/images/icons/fa/commenting-o.svg +4 -4
  154. package/assets/images/icons/fa/commenting.svg +3 -3
  155. package/assets/images/icons/fa/comments-o.svg +4 -4
  156. package/assets/images/icons/fa/comments.svg +3 -3
  157. package/assets/images/icons/fa/compass.svg +2 -2
  158. package/assets/images/icons/fa/compress.svg +2 -2
  159. package/assets/images/icons/fa/connectdevelop.svg +7 -7
  160. package/assets/images/icons/fa/contao.svg +3 -3
  161. package/assets/images/icons/fa/copy.svg +2 -2
  162. package/assets/images/icons/fa/copyright.svg +3 -3
  163. package/assets/images/icons/fa/creative-commons.svg +5 -5
  164. package/assets/images/icons/fa/credit-card-alt.svg +1 -1
  165. package/assets/images/icons/fa/credit-card.svg +2 -2
  166. package/assets/images/icons/fa/crop.svg +2 -2
  167. package/assets/images/icons/fa/crosshairs.svg +3 -3
  168. package/assets/images/icons/fa/css3.svg +1 -1
  169. package/assets/images/icons/fa/cube.svg +2 -2
  170. package/assets/images/icons/fa/cubes.svg +3 -3
  171. package/assets/images/icons/fa/cut.svg +5 -5
  172. package/assets/images/icons/fa/cutlery.svg +2 -2
  173. package/assets/images/icons/fa/dashboard.svg +4 -4
  174. package/assets/images/icons/fa/dashcube.svg +1 -1
  175. package/assets/images/icons/fa/database.svg +3 -3
  176. package/assets/images/icons/fa/deafness.svg +4 -4
  177. package/assets/images/icons/fa/dedent.svg +3 -3
  178. package/assets/images/icons/fa/delicious.svg +2 -2
  179. package/assets/images/icons/fa/desktop.svg +2 -2
  180. package/assets/images/icons/fa/deviantart.svg +1 -1
  181. package/assets/images/icons/fa/diamond.svg +2 -2
  182. package/assets/images/icons/fa/digg.svg +2 -2
  183. package/assets/images/icons/fa/dollar.svg +4 -4
  184. package/assets/images/icons/fa/dot-circle-o.svg +2 -2
  185. package/assets/images/icons/fa/download.svg +2 -2
  186. package/assets/images/icons/fa/dribbble.svg +4 -4
  187. package/assets/images/icons/fa/drivers-license-o.svg +4 -4
  188. package/assets/images/icons/fa/drivers-license.svg +4 -4
  189. package/assets/images/icons/fa/dropbox.svg +1 -1
  190. package/assets/images/icons/fa/drupal.svg +5 -5
  191. package/assets/images/icons/fa/edge.svg +2 -2
  192. package/assets/images/icons/fa/edit.svg +3 -3
  193. package/assets/images/icons/fa/eercast.svg +5 -5
  194. package/assets/images/icons/fa/eject.svg +1 -1
  195. package/assets/images/icons/fa/ellipsis-h.svg +2 -2
  196. package/assets/images/icons/fa/ellipsis-v.svg +2 -2
  197. package/assets/images/icons/fa/envelope-o.svg +3 -3
  198. package/assets/images/icons/fa/envelope-open-o.svg +4 -4
  199. package/assets/images/icons/fa/envelope-open.svg +3 -3
  200. package/assets/images/icons/fa/envelope-square.svg +3 -3
  201. package/assets/images/icons/fa/envelope.svg +2 -2
  202. package/assets/images/icons/fa/envira.svg +3 -3
  203. package/assets/images/icons/fa/eraser.svg +1 -1
  204. package/assets/images/icons/fa/etsy.svg +3 -3
  205. package/assets/images/icons/fa/euro.svg +3 -3
  206. package/assets/images/icons/fa/exchange.svg +2 -2
  207. package/assets/images/icons/fa/exclamation-circle.svg +2 -2
  208. package/assets/images/icons/fa/exclamation.svg +1 -1
  209. package/assets/images/icons/fa/expand.svg +2 -2
  210. package/assets/images/icons/fa/expeditedssl.svg +5 -5
  211. package/assets/images/icons/fa/external-link-square.svg +2 -2
  212. package/assets/images/icons/fa/external-link.svg +2 -2
  213. package/assets/images/icons/fa/eye-slash.svg +4 -4
  214. package/assets/images/icons/fa/eye.svg +2 -2
  215. package/assets/images/icons/fa/eyedropper.svg +2 -2
  216. package/assets/images/icons/fa/fa.svg +2 -2
  217. package/assets/images/icons/fa/facebook-f.svg +1 -1
  218. package/assets/images/icons/fa/facebook-official.svg +1 -1
  219. package/assets/images/icons/fa/facebook-square.svg +2 -2
  220. package/assets/images/icons/fa/fast-backward.svg +2 -2
  221. package/assets/images/icons/fa/fast-forward.svg +2 -2
  222. package/assets/images/icons/fa/fax.svg +5 -5
  223. package/assets/images/icons/fa/feed.svg +3 -3
  224. package/assets/images/icons/fa/female.svg +2 -2
  225. package/assets/images/icons/fa/fighter-jet.svg +2 -2
  226. package/assets/images/icons/fa/file-code-o.svg +3 -3
  227. package/assets/images/icons/fa/file-excel-o.svg +3 -3
  228. package/assets/images/icons/fa/file-movie-o.svg +2 -2
  229. package/assets/images/icons/fa/file-o.svg +2 -2
  230. package/assets/images/icons/fa/file-pdf-o.svg +4 -4
  231. package/assets/images/icons/fa/file-photo-o.svg +2 -2
  232. package/assets/images/icons/fa/file-powerpoint-o.svg +2 -2
  233. package/assets/images/icons/fa/file-sound-o.svg +3 -3
  234. package/assets/images/icons/fa/file-text-o.svg +3 -3
  235. package/assets/images/icons/fa/file-text.svg +2 -2
  236. package/assets/images/icons/fa/file-word-o.svg +3 -3
  237. package/assets/images/icons/fa/file-zip-o.svg +3 -3
  238. package/assets/images/icons/fa/file.svg +1 -1
  239. package/assets/images/icons/fa/film.svg +5 -5
  240. package/assets/images/icons/fa/filter.svg +1 -1
  241. package/assets/images/icons/fa/fire-extinguisher.svg +3 -3
  242. package/assets/images/icons/fa/fire.svg +2 -2
  243. package/assets/images/icons/fa/firefox.svg +3 -3
  244. package/assets/images/icons/fa/first-order.svg +4 -4
  245. package/assets/images/icons/fa/flag-checkered.svg +4 -4
  246. package/assets/images/icons/fa/flag-o.svg +3 -3
  247. package/assets/images/icons/fa/flag.svg +2 -2
  248. package/assets/images/icons/fa/flash.svg +1 -1
  249. package/assets/images/icons/fa/flask.svg +1 -1
  250. package/assets/images/icons/fa/flickr.svg +2 -2
  251. package/assets/images/icons/fa/folder-o.svg +2 -2
  252. package/assets/images/icons/fa/folder-open-o.svg +3 -3
  253. package/assets/images/icons/fa/folder-open.svg +2 -2
  254. package/assets/images/icons/fa/folder.svg +1 -1
  255. package/assets/images/icons/fa/font.svg +3 -3
  256. package/assets/images/icons/fa/fonticons.svg +3 -3
  257. package/assets/images/icons/fa/fort-awesome.svg +4 -4
  258. package/assets/images/icons/fa/forumbee.svg +2 -2
  259. package/assets/images/icons/fa/forward.svg +1 -1
  260. package/assets/images/icons/fa/foursquare.svg +3 -3
  261. package/assets/images/icons/fa/free-code-camp.svg +7 -7
  262. package/assets/images/icons/fa/frown-o.svg +3 -3
  263. package/assets/images/icons/fa/gamepad.svg +3 -3
  264. package/assets/images/icons/fa/gbp.svg +2 -2
  265. package/assets/images/icons/fa/ge.svg +6 -6
  266. package/assets/images/icons/fa/gear.svg +4 -4
  267. package/assets/images/icons/fa/gears.svg +8 -8
  268. package/assets/images/icons/fa/genderless.svg +2 -2
  269. package/assets/images/icons/fa/get-pocket.svg +2 -2
  270. package/assets/images/icons/fa/gg-circle.svg +2 -2
  271. package/assets/images/icons/fa/gg.svg +1 -1
  272. package/assets/images/icons/fa/gift.svg +3 -3
  273. package/assets/images/icons/fa/git-square.svg +4 -4
  274. package/assets/images/icons/fa/git.svg +4 -4
  275. package/assets/images/icons/fa/github-alt.svg +4 -4
  276. package/assets/images/icons/fa/github-square.svg +5 -5
  277. package/assets/images/icons/fa/github.svg +5 -5
  278. package/assets/images/icons/fa/gitlab.svg +1 -1
  279. package/assets/images/icons/fa/gittip.svg +2 -2
  280. package/assets/images/icons/fa/glass.svg +1 -1
  281. package/assets/images/icons/fa/glide-g.svg +4 -4
  282. package/assets/images/icons/fa/glide.svg +4 -4
  283. package/assets/images/icons/fa/globe.svg +15 -15
  284. package/assets/images/icons/fa/google-plus-circle.svg +2 -2
  285. package/assets/images/icons/fa/google-plus-square.svg +2 -2
  286. package/assets/images/icons/fa/google-plus.svg +2 -2
  287. package/assets/images/icons/fa/google-wallet.svg +2 -2
  288. package/assets/images/icons/fa/google.svg +2 -2
  289. package/assets/images/icons/fa/grav.svg +7 -7
  290. package/assets/images/icons/fa/group.svg +4 -4
  291. package/assets/images/icons/fa/h-square.svg +2 -2
  292. package/assets/images/icons/fa/hand-grab-o.svg +4 -4
  293. package/assets/images/icons/fa/hand-lizard-o.svg +3 -3
  294. package/assets/images/icons/fa/hand-o-down.svg +4 -4
  295. package/assets/images/icons/fa/hand-o-left.svg +4 -4
  296. package/assets/images/icons/fa/hand-o-right.svg +4 -4
  297. package/assets/images/icons/fa/hand-o-up.svg +4 -4
  298. package/assets/images/icons/fa/hand-peace-o.svg +5 -5
  299. package/assets/images/icons/fa/hand-pointer-o.svg +4 -4
  300. package/assets/images/icons/fa/hand-scissors-o.svg +5 -5
  301. package/assets/images/icons/fa/hand-spock-o.svg +4 -4
  302. package/assets/images/icons/fa/hand-stop-o.svg +3 -3
  303. package/assets/images/icons/fa/handshake-o.svg +5 -5
  304. package/assets/images/icons/fa/hashtag.svg +3 -3
  305. package/assets/images/icons/fa/hdd-o.svg +3 -3
  306. package/assets/images/icons/fa/header.svg +5 -5
  307. package/assets/images/icons/fa/headphones.svg +3 -3
  308. package/assets/images/icons/fa/heart-o.svg +3 -3
  309. package/assets/images/icons/fa/heart.svg +2 -2
  310. package/assets/images/icons/fa/heartbeat.svg +3 -3
  311. package/assets/images/icons/fa/history.svg +3 -3
  312. package/assets/images/icons/fa/home.svg +2 -2
  313. package/assets/images/icons/fa/hospital-o.svg +8 -8
  314. package/assets/images/icons/fa/hotel.svg +2 -2
  315. package/assets/images/icons/fa/hourglass-1.svg +2 -2
  316. package/assets/images/icons/fa/hourglass-2.svg +2 -2
  317. package/assets/images/icons/fa/hourglass-3.svg +3 -3
  318. package/assets/images/icons/fa/hourglass-o.svg +3 -3
  319. package/assets/images/icons/fa/hourglass.svg +3 -3
  320. package/assets/images/icons/fa/houzz.svg +1 -1
  321. package/assets/images/icons/fa/html5.svg +1 -1
  322. package/assets/images/icons/fa/i-cursor.svg +1 -1
  323. package/assets/images/icons/fa/id-badge.svg +3 -3
  324. package/assets/images/icons/fa/imdb.svg +4 -4
  325. package/assets/images/icons/fa/inbox.svg +2 -2
  326. package/assets/images/icons/fa/indent.svg +3 -3
  327. package/assets/images/icons/fa/industry.svg +1 -1
  328. package/assets/images/icons/fa/info-circle.svg +2 -2
  329. package/assets/images/icons/fa/info.svg +2 -2
  330. package/assets/images/icons/fa/instagram.svg +4 -4
  331. package/assets/images/icons/fa/institution.svg +2 -2
  332. package/assets/images/icons/fa/internet-explorer.svg +3 -3
  333. package/assets/images/icons/fa/intersex.svg +3 -3
  334. package/assets/images/icons/fa/ioxhost.svg +3 -3
  335. package/assets/images/icons/fa/italic.svg +2 -2
  336. package/assets/images/icons/fa/joomla.svg +5 -5
  337. package/assets/images/icons/fa/jsfiddle.svg +3 -3
  338. package/assets/images/icons/fa/key.svg +3 -3
  339. package/assets/images/icons/fa/keyboard-o.svg +5 -5
  340. package/assets/images/icons/fa/language.svg +6 -6
  341. package/assets/images/icons/fa/laptop.svg +2 -2
  342. package/assets/images/icons/fa/lastfm-square.svg +4 -4
  343. package/assets/images/icons/fa/lastfm.svg +4 -4
  344. package/assets/images/icons/fa/leaf.svg +3 -3
  345. package/assets/images/icons/fa/leanpub.svg +3 -3
  346. package/assets/images/icons/fa/legal.svg +4 -4
  347. package/assets/images/icons/fa/lemon-o.svg +4 -4
  348. package/assets/images/icons/fa/level-down.svg +1 -1
  349. package/assets/images/icons/fa/level-up.svg +1 -1
  350. package/assets/images/icons/fa/life-bouy.svg +3 -3
  351. package/assets/images/icons/fa/lightbulb-o.svg +4 -4
  352. package/assets/images/icons/fa/line-chart.svg +2 -2
  353. package/assets/images/icons/fa/linkedin-square.svg +2 -2
  354. package/assets/images/icons/fa/linkedin.svg +2 -2
  355. package/assets/images/icons/fa/linode.svg +4 -4
  356. package/assets/images/icons/fa/linux.svg +16 -16
  357. package/assets/images/icons/fa/list-alt.svg +5 -5
  358. package/assets/images/icons/fa/list-ol.svg +4 -4
  359. package/assets/images/icons/fa/list-ul.svg +3 -3
  360. package/assets/images/icons/fa/list.svg +5 -5
  361. package/assets/images/icons/fa/location-arrow.svg +1 -1
  362. package/assets/images/icons/fa/lock.svg +1 -1
  363. package/assets/images/icons/fa/long-arrow-down.svg +1 -1
  364. package/assets/images/icons/fa/long-arrow-left.svg +1 -1
  365. package/assets/images/icons/fa/long-arrow-right.svg +1 -1
  366. package/assets/images/icons/fa/long-arrow-up.svg +1 -1
  367. package/assets/images/icons/fa/low-vision.svg +4 -4
  368. package/assets/images/icons/fa/magic.svg +2 -2
  369. package/assets/images/icons/fa/magnet.svg +2 -2
  370. package/assets/images/icons/fa/mail-forward.svg +2 -2
  371. package/assets/images/icons/fa/mail-reply-all.svg +2 -2
  372. package/assets/images/icons/fa/mail-reply.svg +2 -2
  373. package/assets/images/icons/fa/male.svg +2 -2
  374. package/assets/images/icons/fa/map-marker.svg +1 -1
  375. package/assets/images/icons/fa/map-o.svg +2 -2
  376. package/assets/images/icons/fa/map-pin.svg +2 -2
  377. package/assets/images/icons/fa/map-signs.svg +2 -2
  378. package/assets/images/icons/fa/map.svg +2 -2
  379. package/assets/images/icons/fa/mars-double.svg +4 -4
  380. package/assets/images/icons/fa/mars-stroke-h.svg +3 -3
  381. package/assets/images/icons/fa/mars-stroke-v.svg +3 -3
  382. package/assets/images/icons/fa/mars-stroke.svg +3 -3
  383. package/assets/images/icons/fa/mars.svg +2 -2
  384. package/assets/images/icons/fa/maxcdn.svg +1 -1
  385. package/assets/images/icons/fa/meanpath.svg +3 -3
  386. package/assets/images/icons/fa/medium.svg +2 -2
  387. package/assets/images/icons/fa/medkit.svg +2 -2
  388. package/assets/images/icons/fa/meetup.svg +9 -9
  389. package/assets/images/icons/fa/meh-o.svg +3 -3
  390. package/assets/images/icons/fa/mercury.svg +3 -3
  391. package/assets/images/icons/fa/microchip.svg +5 -5
  392. package/assets/images/icons/fa/microphone-slash.svg +3 -3
  393. package/assets/images/icons/fa/microphone.svg +2 -2
  394. package/assets/images/icons/fa/minus-circle.svg +2 -2
  395. package/assets/images/icons/fa/minus-square-o.svg +2 -2
  396. package/assets/images/icons/fa/minus-square.svg +2 -2
  397. package/assets/images/icons/fa/minus.svg +1 -1
  398. package/assets/images/icons/fa/mixcloud.svg +4 -4
  399. package/assets/images/icons/fa/mobile-phone.svg +2 -2
  400. package/assets/images/icons/fa/modx.svg +1 -1
  401. package/assets/images/icons/fa/money.svg +2 -2
  402. package/assets/images/icons/fa/moon-o.svg +2 -2
  403. package/assets/images/icons/fa/mortar-board.svg +2 -2
  404. package/assets/images/icons/fa/motorcycle.svg +4 -4
  405. package/assets/images/icons/fa/mouse-pointer.svg +1 -1
  406. package/assets/images/icons/fa/music.svg +2 -2
  407. package/assets/images/icons/fa/navicon.svg +2 -2
  408. package/assets/images/icons/fa/neuter.svg +2 -2
  409. package/assets/images/icons/fa/newspaper-o.svg +2 -2
  410. package/assets/images/icons/fa/object-group.svg +2 -2
  411. package/assets/images/icons/fa/object-ungroup.svg +2 -2
  412. package/assets/images/icons/fa/odnoklassniki-square.svg +3 -3
  413. package/assets/images/icons/fa/odnoklassniki.svg +3 -3
  414. package/assets/images/icons/fa/opencart.svg +3 -3
  415. package/assets/images/icons/fa/openid.svg +1 -1
  416. package/assets/images/icons/fa/opera.svg +3 -3
  417. package/assets/images/icons/fa/optin-monster.svg +17 -17
  418. package/assets/images/icons/fa/pagelines.svg +4 -4
  419. package/assets/images/icons/fa/paint-brush.svg +2 -2
  420. package/assets/images/icons/fa/paperclip.svg +3 -3
  421. package/assets/images/icons/fa/paragraph.svg +2 -2
  422. package/assets/images/icons/fa/paste.svg +2 -2
  423. package/assets/images/icons/fa/pause-circle-o.svg +2 -2
  424. package/assets/images/icons/fa/pause-circle.svg +2 -2
  425. package/assets/images/icons/fa/pause.svg +1 -1
  426. package/assets/images/icons/fa/paw.svg +4 -4
  427. package/assets/images/icons/fa/paypal.svg +3 -3
  428. package/assets/images/icons/fa/pencil-square.svg +2 -2
  429. package/assets/images/icons/fa/pencil.svg +2 -2
  430. package/assets/images/icons/fa/percent.svg +3 -3
  431. package/assets/images/icons/fa/phone-square.svg +4 -4
  432. package/assets/images/icons/fa/phone.svg +3 -3
  433. package/assets/images/icons/fa/photo.svg +2 -2
  434. package/assets/images/icons/fa/pie-chart.svg +1 -1
  435. package/assets/images/icons/fa/pied-piper-alt.svg +8 -8
  436. package/assets/images/icons/fa/pied-piper-pp.svg +3 -3
  437. package/assets/images/icons/fa/pied-piper.svg +3 -3
  438. package/assets/images/icons/fa/pinterest-p.svg +3 -3
  439. package/assets/images/icons/fa/pinterest-square.svg +3 -3
  440. package/assets/images/icons/fa/pinterest.svg +3 -3
  441. package/assets/images/icons/fa/plane.svg +2 -2
  442. package/assets/images/icons/fa/play-circle-o.svg +2 -2
  443. package/assets/images/icons/fa/play-circle.svg +2 -2
  444. package/assets/images/icons/fa/play.svg +1 -1
  445. package/assets/images/icons/fa/plug.svg +2 -2
  446. package/assets/images/icons/fa/plus-circle.svg +2 -2
  447. package/assets/images/icons/fa/plus-square-o.svg +2 -2
  448. package/assets/images/icons/fa/plus-square.svg +2 -2
  449. package/assets/images/icons/fa/plus.svg +1 -1
  450. package/assets/images/icons/fa/podcast.svg +5 -5
  451. package/assets/images/icons/fa/power-off.svg +2 -2
  452. package/assets/images/icons/fa/print.svg +2 -2
  453. package/assets/images/icons/fa/product-hunt.svg +2 -2
  454. package/assets/images/icons/fa/puzzle-piece.svg +4 -4
  455. package/assets/images/icons/fa/qq.svg +4 -4
  456. package/assets/images/icons/fa/qrcode.svg +2 -2
  457. package/assets/images/icons/fa/question-circle-o.svg +4 -4
  458. package/assets/images/icons/fa/question-circle.svg +3 -3
  459. package/assets/images/icons/fa/question.svg +2 -2
  460. package/assets/images/icons/fa/quora.svg +3 -3
  461. package/assets/images/icons/fa/quote-left.svg +2 -2
  462. package/assets/images/icons/fa/quote-right.svg +2 -2
  463. package/assets/images/icons/fa/ra.svg +4 -4
  464. package/assets/images/icons/fa/random.svg +4 -4
  465. package/assets/images/icons/fa/ravelry.svg +6 -6
  466. package/assets/images/icons/fa/recycle.svg +4 -4
  467. package/assets/images/icons/fa/reddit-alien.svg +4 -4
  468. package/assets/images/icons/fa/reddit-square.svg +4 -4
  469. package/assets/images/icons/fa/reddit.svg +4 -4
  470. package/assets/images/icons/fa/refresh.svg +3 -3
  471. package/assets/images/icons/fa/registered.svg +3 -3
  472. package/assets/images/icons/fa/remove.svg +2 -2
  473. package/assets/images/icons/fa/renren.svg +2 -2
  474. package/assets/images/icons/fa/retweet.svg +3 -3
  475. package/assets/images/icons/fa/road.svg +2 -2
  476. package/assets/images/icons/fa/rocket.svg +2 -2
  477. package/assets/images/icons/fa/rotate-left.svg +2 -2
  478. package/assets/images/icons/fa/rotate-right.svg +2 -2
  479. package/assets/images/icons/fa/rss-square.svg +3 -3
  480. package/assets/images/icons/fa/ruble.svg +2 -2
  481. package/assets/images/icons/fa/rupee.svg +2 -2
  482. package/assets/images/icons/fa/safari.svg +6 -6
  483. package/assets/images/icons/fa/save.svg +2 -2
  484. package/assets/images/icons/fa/scribd.svg +4 -4
  485. package/assets/images/icons/fa/search-minus.svg +3 -3
  486. package/assets/images/icons/fa/search-plus.svg +3 -3
  487. package/assets/images/icons/fa/search.svg +2 -2
  488. package/assets/images/icons/fa/sellsy.svg +3 -3
  489. package/assets/images/icons/fa/send-o.svg +2 -2
  490. package/assets/images/icons/fa/send.svg +1 -1
  491. package/assets/images/icons/fa/server.svg +2 -2
  492. package/assets/images/icons/fa/share-alt-square.svg +2 -2
  493. package/assets/images/icons/fa/share-alt.svg +2 -2
  494. package/assets/images/icons/fa/share-square-o.svg +3 -3
  495. package/assets/images/icons/fa/share-square.svg +2 -2
  496. package/assets/images/icons/fa/shekel.svg +2 -2
  497. package/assets/images/icons/fa/shield.svg +2 -2
  498. package/assets/images/icons/fa/ship.svg +5 -5
  499. package/assets/images/icons/fa/shirtsinbulk.svg +7 -7
  500. package/assets/images/icons/fa/shopping-bag.svg +2 -2
  501. package/assets/images/icons/fa/shopping-basket.svg +4 -4
  502. package/assets/images/icons/fa/shopping-cart.svg +2 -2
  503. package/assets/images/icons/fa/shower.svg +6 -6
  504. package/assets/images/icons/fa/sign-in.svg +2 -2
  505. package/assets/images/icons/fa/sign-out.svg +2 -2
  506. package/assets/images/icons/fa/signal.svg +2 -2
  507. package/assets/images/icons/fa/signing.svg +5 -5
  508. package/assets/images/icons/fa/simplybuilt.svg +2 -2
  509. package/assets/images/icons/fa/sitemap.svg +3 -3
  510. package/assets/images/icons/fa/skyatlas.svg +4 -4
  511. package/assets/images/icons/fa/skype.svg +4 -4
  512. package/assets/images/icons/fa/slack.svg +3 -3
  513. package/assets/images/icons/fa/sliders.svg +2 -2
  514. package/assets/images/icons/fa/slideshare.svg +4 -4
  515. package/assets/images/icons/fa/smile-o.svg +3 -3
  516. package/assets/images/icons/fa/snapchat-ghost.svg +3 -3
  517. package/assets/images/icons/fa/snapchat-square.svg +4 -4
  518. package/assets/images/icons/fa/snapchat.svg +4 -4
  519. package/assets/images/icons/fa/snowflake-o.svg +5 -5
  520. package/assets/images/icons/fa/soccer-ball-o.svg +2 -2
  521. package/assets/images/icons/fa/sort-alpha-asc.svg +3 -3
  522. package/assets/images/icons/fa/sort-alpha-desc.svg +3 -3
  523. package/assets/images/icons/fa/sort-amount-asc.svg +3 -3
  524. package/assets/images/icons/fa/sort-amount-desc.svg +3 -3
  525. package/assets/images/icons/fa/sort-down.svg +1 -1
  526. package/assets/images/icons/fa/sort-numeric-asc.svg +3 -3
  527. package/assets/images/icons/fa/sort-numeric-desc.svg +3 -3
  528. package/assets/images/icons/fa/sort-up.svg +1 -1
  529. package/assets/images/icons/fa/soundcloud.svg +7 -7
  530. package/assets/images/icons/fa/space-shuttle.svg +3 -3
  531. package/assets/images/icons/fa/spinner.svg +4 -4
  532. package/assets/images/icons/fa/spoon.svg +1 -1
  533. package/assets/images/icons/fa/spotify.svg +3 -3
  534. package/assets/images/icons/fa/square-o.svg +2 -2
  535. package/assets/images/icons/fa/square.svg +1 -1
  536. package/assets/images/icons/fa/stack-exchange.svg +2 -2
  537. package/assets/images/icons/fa/stack-overflow.svg +1 -1
  538. package/assets/images/icons/fa/star-half-empty.svg +2 -2
  539. package/assets/images/icons/fa/star-half.svg +1 -1
  540. package/assets/images/icons/fa/star-o.svg +2 -2
  541. package/assets/images/icons/fa/star.svg +2 -2
  542. package/assets/images/icons/fa/steam-square.svg +4 -4
  543. package/assets/images/icons/fa/steam.svg +3 -3
  544. package/assets/images/icons/fa/step-backward.svg +1 -1
  545. package/assets/images/icons/fa/step-forward.svg +1 -1
  546. package/assets/images/icons/fa/stethoscope.svg +3 -3
  547. package/assets/images/icons/fa/sticky-note-o.svg +2 -2
  548. package/assets/images/icons/fa/sticky-note.svg +1 -1
  549. package/assets/images/icons/fa/stop-circle-o.svg +2 -2
  550. package/assets/images/icons/fa/stop-circle.svg +2 -2
  551. package/assets/images/icons/fa/stop.svg +1 -1
  552. package/assets/images/icons/fa/street-view.svg +4 -4
  553. package/assets/images/icons/fa/strikethrough.svg +3 -3
  554. package/assets/images/icons/fa/stumbleupon-circle.svg +3 -3
  555. package/assets/images/icons/fa/stumbleupon.svg +2 -2
  556. package/assets/images/icons/fa/subscript.svg +3 -3
  557. package/assets/images/icons/fa/subway.svg +2 -2
  558. package/assets/images/icons/fa/suitcase.svg +2 -2
  559. package/assets/images/icons/fa/sun-o.svg +3 -3
  560. package/assets/images/icons/fa/superpowers.svg +2 -2
  561. package/assets/images/icons/fa/superscript.svg +3 -3
  562. package/assets/images/icons/fa/table.svg +5 -5
  563. package/assets/images/icons/fa/tablet.svg +2 -2
  564. package/assets/images/icons/fa/tag.svg +2 -2
  565. package/assets/images/icons/fa/tags.svg +2 -2
  566. package/assets/images/icons/fa/tasks.svg +2 -2
  567. package/assets/images/icons/fa/telegram.svg +2 -2
  568. package/assets/images/icons/fa/tencent-weibo.svg +3 -3
  569. package/assets/images/icons/fa/terminal.svg +2 -2
  570. package/assets/images/icons/fa/text-height.svg +4 -4
  571. package/assets/images/icons/fa/text-width.svg +5 -5
  572. package/assets/images/icons/fa/th-large.svg +2 -2
  573. package/assets/images/icons/fa/th-list.svg +3 -3
  574. package/assets/images/icons/fa/th.svg +4 -4
  575. package/assets/images/icons/fa/themeisle.svg +8 -8
  576. package/assets/images/icons/fa/thermometer-0.svg +2 -2
  577. package/assets/images/icons/fa/thermometer-1.svg +3 -3
  578. package/assets/images/icons/fa/thermometer-2.svg +3 -3
  579. package/assets/images/icons/fa/thermometer-3.svg +3 -3
  580. package/assets/images/icons/fa/thermometer-4.svg +3 -3
  581. package/assets/images/icons/fa/thumb-tack.svg +2 -2
  582. package/assets/images/icons/fa/thumbs-down.svg +3 -3
  583. package/assets/images/icons/fa/thumbs-o-down.svg +4 -4
  584. package/assets/images/icons/fa/thumbs-o-up.svg +4 -4
  585. package/assets/images/icons/fa/thumbs-up.svg +3 -3
  586. package/assets/images/icons/fa/ticket.svg +2 -2
  587. package/assets/images/icons/fa/times-circle-o.svg +3 -3
  588. package/assets/images/icons/fa/times-circle.svg +2 -2
  589. package/assets/images/icons/fa/times-rectangle-o.svg +2 -2
  590. package/assets/images/icons/fa/times-rectangle.svg +2 -2
  591. package/assets/images/icons/fa/tint.svg +2 -2
  592. package/assets/images/icons/fa/toggle-down.svg +2 -2
  593. package/assets/images/icons/fa/toggle-left.svg +2 -2
  594. package/assets/images/icons/fa/toggle-off.svg +3 -3
  595. package/assets/images/icons/fa/toggle-on.svg +2 -2
  596. package/assets/images/icons/fa/toggle-right.svg +2 -2
  597. package/assets/images/icons/fa/toggle-up.svg +2 -2
  598. package/assets/images/icons/fa/trademark.svg +3 -3
  599. package/assets/images/icons/fa/train.svg +2 -2
  600. package/assets/images/icons/fa/transgender-alt.svg +4 -4
  601. package/assets/images/icons/fa/trash-o.svg +3 -3
  602. package/assets/images/icons/fa/trash.svg +3 -3
  603. package/assets/images/icons/fa/tree.svg +2 -2
  604. package/assets/images/icons/fa/trello.svg +2 -2
  605. package/assets/images/icons/fa/tripadvisor.svg +6 -6
  606. package/assets/images/icons/fa/trophy.svg +3 -3
  607. package/assets/images/icons/fa/truck.svg +3 -3
  608. package/assets/images/icons/fa/tty.svg +5 -5
  609. package/assets/images/icons/fa/tumblr-square.svg +2 -2
  610. package/assets/images/icons/fa/tumblr.svg +2 -2
  611. package/assets/images/icons/fa/turkish-lira.svg +2 -2
  612. package/assets/images/icons/fa/tv.svg +2 -2
  613. package/assets/images/icons/fa/twitch.svg +1 -1
  614. package/assets/images/icons/fa/twitter-square.svg +3 -3
  615. package/assets/images/icons/fa/twitter.svg +2 -2
  616. package/assets/images/icons/fa/umbrella.svg +3 -3
  617. package/assets/images/icons/fa/underline.svg +4 -4
  618. package/assets/images/icons/fa/universal-access.svg +4 -4
  619. package/assets/images/icons/fa/unlink.svg +4 -4
  620. package/assets/images/icons/fa/unlock-alt.svg +2 -2
  621. package/assets/images/icons/fa/unlock.svg +2 -2
  622. package/assets/images/icons/fa/unsorted.svg +1 -1
  623. package/assets/images/icons/fa/upload.svg +2 -2
  624. package/assets/images/icons/fa/usb.svg +3 -3
  625. package/assets/images/icons/fa/user-circle-o.svg +2 -2
  626. package/assets/images/icons/fa/user-circle.svg +2 -2
  627. package/assets/images/icons/fa/user-md.svg +4 -4
  628. package/assets/images/icons/fa/user-o.svg +3 -3
  629. package/assets/images/icons/fa/user-plus.svg +3 -3
  630. package/assets/images/icons/fa/user-secret.svg +4 -4
  631. package/assets/images/icons/fa/user-times.svg +3 -3
  632. package/assets/images/icons/fa/user.svg +2 -2
  633. package/assets/images/icons/fa/vcard-o.svg +5 -5
  634. package/assets/images/icons/fa/vcard.svg +4 -4
  635. package/assets/images/icons/fa/venus-double.svg +4 -4
  636. package/assets/images/icons/fa/venus-mars.svg +4 -4
  637. package/assets/images/icons/fa/venus.svg +2 -2
  638. package/assets/images/icons/fa/viacoin.svg +1 -1
  639. package/assets/images/icons/fa/viadeo-square.svg +4 -4
  640. package/assets/images/icons/fa/viadeo.svg +3 -3
  641. package/assets/images/icons/fa/video-camera.svg +2 -2
  642. package/assets/images/icons/fa/vimeo-square.svg +2 -2
  643. package/assets/images/icons/fa/vimeo.svg +2 -2
  644. package/assets/images/icons/fa/vine.svg +2 -2
  645. package/assets/images/icons/fa/vk.svg +5 -5
  646. package/assets/images/icons/fa/volume-control-phone.svg +5 -5
  647. package/assets/images/icons/fa/volume-down.svg +2 -2
  648. package/assets/images/icons/fa/volume-off.svg +1 -1
  649. package/assets/images/icons/fa/volume-up.svg +4 -4
  650. package/assets/images/icons/fa/warning.svg +2 -2
  651. package/assets/images/icons/fa/wechat.svg +4 -4
  652. package/assets/images/icons/fa/weibo.svg +5 -5
  653. package/assets/images/icons/fa/whatsapp.svg +3 -3
  654. package/assets/images/icons/fa/wheelchair-alt.svg +3 -3
  655. package/assets/images/icons/fa/wheelchair.svg +2 -2
  656. package/assets/images/icons/fa/wifi.svg +3 -3
  657. package/assets/images/icons/fa/wikipedia-w.svg +3 -3
  658. package/assets/images/icons/fa/window-maximize.svg +1 -1
  659. package/assets/images/icons/fa/window-minimize.svg +1 -1
  660. package/assets/images/icons/fa/window-restore.svg +2 -2
  661. package/assets/images/icons/fa/windows.svg +1 -1
  662. package/assets/images/icons/fa/won.svg +3 -3
  663. package/assets/images/icons/fa/wordpress.svg +5 -5
  664. package/assets/images/icons/fa/wpbeginner.svg +2 -2
  665. package/assets/images/icons/fa/wpexplorer.svg +3 -3
  666. package/assets/images/icons/fa/wpforms.svg +2 -2
  667. package/assets/images/icons/fa/wrench.svg +2 -2
  668. package/assets/images/icons/fa/xing-square.svg +2 -2
  669. package/assets/images/icons/fa/xing.svg +2 -2
  670. package/assets/images/icons/fa/y-combinator-square.svg +1 -1
  671. package/assets/images/icons/fa/yahoo.svg +2 -2
  672. package/assets/images/icons/fa/yc.svg +1 -1
  673. package/assets/images/icons/fa/yelp.svg +4 -4
  674. package/assets/images/icons/fa/yoast.svg +2 -2
  675. package/assets/images/icons/fa/youtube-play.svg +3 -3
  676. package/assets/images/icons/fa/youtube-square.svg +6 -6
  677. package/assets/images/icons/fa/youtube.svg +5 -5
  678. package/assets/site.scss +375 -375
  679. package/assets/text.scss +8 -0
  680. package/assets/theme-variables.scss +98 -98
  681. package/assets/variables.scss +93 -93
  682. package/fesm2022/dflat-core-web-core-data.mjs +5 -0
  683. package/fesm2022/dflat-core-web-core-data.mjs.map +1 -1
  684. package/fesm2022/dflat-core-web-core-model.mjs.map +1 -1
  685. package/fesm2022/dflat-core-web-core-ux.mjs +547 -68
  686. package/fesm2022/dflat-core-web-core-ux.mjs.map +1 -1
  687. package/fesm2022/dflat-core-web-system-data.mjs.map +1 -1
  688. package/fesm2022/dflat-core-web-system-ux.mjs.map +1 -1
  689. package/package.json +1 -1
  690. package/scss/dflat-app.scss +6 -0
  691. package/types/dflat-core-web-core-data.d.ts +8 -0
  692. package/types/dflat-core-web-core-model.d.ts +2 -0
  693. package/types/dflat-core-web-core-ux.d.ts +149 -3
  694. package/types/dflat-core-web-system-ux.d.ts +1 -1
package/assets/text.scss CHANGED
@@ -24,6 +24,10 @@ $filter-blue-7: brightness(0) saturate(100%) invert(36%) sepia(91%) saturate(628
24
24
  $blue-8:#3C5DC4;
25
25
  $filter-blue-8: invert(31%) sepia(51%) saturate(1323%) hue-rotate(199deg) brightness(99%) contrast(94%);
26
26
 
27
+ // Bleu foncé (icônes des actions) : bleu 7 assombri d'un quart.
28
+ $blue-9:#334C97;
29
+ $filter-blue-9: $filter-blue-7 brightness(75%);
30
+
27
31
  $blue-border : #C4D0F9;
28
32
 
29
33
  $dark-grey: #4D5A81;
@@ -42,6 +46,10 @@ $filter-red: brightness(0) saturate(100%) invert(70%) sepia(93%) saturate(1540%)
42
46
 
43
47
  $green: #84F0A6;
44
48
 
49
+ // Rouge des astérisques des champs obligatoires : icône du bouton Enregistrer activé.
50
+ $red-required: #D1353A;
51
+ $filter-red-required: brightness(0) saturate(100%) invert(25%) sepia(61%) saturate(2196%) hue-rotate(334deg) brightness(100%) contrast(94%);
52
+
45
53
  .home-page {
46
54
  font-family: 'Open sans', sans-serif;
47
55
  // font-size: 16px;
@@ -1,100 +1,100 @@
1
1
  // Variables du thème Pulse (Bootswatch 4.3.1, licence MIT), propres au package : couleurs, polices
2
2
  // et variables Bootstrap redéfinies (le package bootswatch n'est plus une dépendance).
3
-
4
- //
5
- // Color system
6
- //
7
-
8
- $white: #fff !default;
9
- $gray-100: #fafafa !default;
10
- $gray-200: #F9F8FC !default;
11
- $gray-300: #EDEDED !default;
12
- $gray-400: #cbc8d0 !default;
13
- $gray-500: #adb5bd !default;
14
- $gray-600: #868e96 !default;
15
- $gray-700: #444 !default;
16
- $gray-800: #343a40 !default;
17
- $gray-900: #17141F !default;
18
- $black: #000 !default;
19
-
20
- $blue: #007bff !default;
21
- $indigo: #4465C9 !default;
22
- $purple: #4465C9 !default;
23
- $pink: #e83e8c !default;
24
- $red: #FC3939 !default;
25
- $orange: #fd7e14 !default;
26
- $yellow: #EFA31D !default;
27
- $green: #13B955 !default;
28
- $teal: #20c997 !default;
29
- $cyan: #009CDC !default;
30
-
31
- $primary: $purple !default;
32
- $secondary: $gray-200 !default;
33
- $success: $green !default;
34
- $info: $cyan !default;
35
- $warning: $yellow !default;
36
- $danger: $red !default;
37
- $light: $gray-200 !default;
38
- $dark: $gray-900 !default;
39
-
40
- // Options
41
-
42
- $enable-rounded: false !default;
43
-
44
- // Body
45
-
46
- $body-color: $gray-700 !default;
47
-
48
- // Links
49
-
50
- $link-hover-color: $primary !default;
51
-
52
- // Fonts
53
-
54
- $font-size-base: 0.875rem !default;
55
-
56
- // Tables
57
-
58
- $table-border-color: rgba(0, 0, 0, 0.05) !default;
59
-
60
- // Forms
61
-
62
- $input-focus-border-color: $primary !default;
63
-
64
- // Dropdowns
65
-
66
- $dropdown-link-color: $gray-700 !default;
67
- $dropdown-link-hover-color: $white !default;
68
- $dropdown-link-hover-bg: $primary !default;
69
-
70
- // Navs
71
-
72
- $nav-tabs-border-color: $gray-300 !default;
73
- $nav-tabs-link-hover-border-color: $primary !default;
74
-
75
- // Navbar
76
-
77
- $navbar-padding-y: 1.2rem !default;
78
-
79
- $navbar-dark-hover-color: rgba($white,.9) !default;
80
- $navbar-dark-active-color: rgba($white,.9) !default;
81
-
82
- $navbar-light-color: rgba($black,.4) !default;
83
- $navbar-light-active-color: rgba($black,.7) !default;
84
- $navbar-light-disabled-color: rgba($black,.2) !default;
85
-
86
- // Progress bars
87
-
88
- $progress-bg: $gray-300 !default;
89
- $progress-bar-bg: $primary !default;
90
-
91
- // List group
92
-
93
- $list-group-bg: $gray-900 !default;
94
- $list-group-border-color: transparent !default;
95
-
96
- $list-group-hover-bg: lighten($list-group-bg, 10%) !default;
97
- $list-group-active-color: $white !default;
98
- $list-group-active-bg: $list-group-bg !default;
99
-
100
- $list-group-disabled-color: lighten($list-group-bg, 30%) !default;
3
+
4
+ //
5
+ // Color system
6
+ //
7
+
8
+ $white: #fff !default;
9
+ $gray-100: #fafafa !default;
10
+ $gray-200: #F9F8FC !default;
11
+ $gray-300: #EDEDED !default;
12
+ $gray-400: #cbc8d0 !default;
13
+ $gray-500: #adb5bd !default;
14
+ $gray-600: #868e96 !default;
15
+ $gray-700: #444 !default;
16
+ $gray-800: #343a40 !default;
17
+ $gray-900: #17141F !default;
18
+ $black: #000 !default;
19
+
20
+ $blue: #007bff !default;
21
+ $indigo: #4465C9 !default;
22
+ $purple: #4465C9 !default;
23
+ $pink: #e83e8c !default;
24
+ $red: #FC3939 !default;
25
+ $orange: #fd7e14 !default;
26
+ $yellow: #EFA31D !default;
27
+ $green: #13B955 !default;
28
+ $teal: #20c997 !default;
29
+ $cyan: #009CDC !default;
30
+
31
+ $primary: $purple !default;
32
+ $secondary: $gray-200 !default;
33
+ $success: $green !default;
34
+ $info: $cyan !default;
35
+ $warning: $yellow !default;
36
+ $danger: $red !default;
37
+ $light: $gray-200 !default;
38
+ $dark: $gray-900 !default;
39
+
40
+ // Options
41
+
42
+ $enable-rounded: false !default;
43
+
44
+ // Body
45
+
46
+ $body-color: $gray-700 !default;
47
+
48
+ // Links
49
+
50
+ $link-hover-color: $primary !default;
51
+
52
+ // Fonts
53
+
54
+ $font-size-base: 0.875rem !default;
55
+
56
+ // Tables
57
+
58
+ $table-border-color: rgba(0, 0, 0, 0.05) !default;
59
+
60
+ // Forms
61
+
62
+ $input-focus-border-color: $primary !default;
63
+
64
+ // Dropdowns
65
+
66
+ $dropdown-link-color: $gray-700 !default;
67
+ $dropdown-link-hover-color: $white !default;
68
+ $dropdown-link-hover-bg: $primary !default;
69
+
70
+ // Navs
71
+
72
+ $nav-tabs-border-color: $gray-300 !default;
73
+ $nav-tabs-link-hover-border-color: $primary !default;
74
+
75
+ // Navbar
76
+
77
+ $navbar-padding-y: 1.2rem !default;
78
+
79
+ $navbar-dark-hover-color: rgba($white,.9) !default;
80
+ $navbar-dark-active-color: rgba($white,.9) !default;
81
+
82
+ $navbar-light-color: rgba($black,.4) !default;
83
+ $navbar-light-active-color: rgba($black,.7) !default;
84
+ $navbar-light-disabled-color: rgba($black,.2) !default;
85
+
86
+ // Progress bars
87
+
88
+ $progress-bg: $gray-300 !default;
89
+ $progress-bar-bg: $primary !default;
90
+
91
+ // List group
92
+
93
+ $list-group-bg: $gray-900 !default;
94
+ $list-group-border-color: transparent !default;
95
+
96
+ $list-group-hover-bg: lighten($list-group-bg, 10%) !default;
97
+ $list-group-active-color: $white !default;
98
+ $list-group-active-bg: $list-group-bg !default;
99
+
100
+ $list-group-disabled-color: lighten($list-group-bg, 30%) !default;
@@ -1,93 +1,93 @@
1
- // Les variables du thème (theme-variables.scss) sont réexposées à qui charge ce fichier (@use ou @import).
2
- @forward "./theme-variables";
3
- @use "./theme-variables" as *;
4
-
5
- $header_height: 50px;
6
- $footer_height: 30px;
7
- $sidebar_width: 230px;
8
-
9
- $main_bg_color: #4465C9;
10
-
11
-
12
-
13
-
14
- // $header_height: 70px;
15
- $footer_height: 30px;
16
- // $sidebar_width: 480px;
17
-
18
- $mobile-screen: 480px;
19
- $small-screen: 768px;
20
- $large-screen: 980px;
21
- $wide-screen: 1200px;
22
-
23
- // Thème de couleurs Elnour
24
- $old-main: #FC9930;
25
- $main: #FC9324;
26
- $main-hover: #F97803; // à voir
27
- $main-opacity: #F3E0CB;
28
-
29
- // $primary: #24BE9f;
30
-
31
- $black_text: #272C5D;
32
- $black_text_light: #535353;
33
- $grey_text_light: #888888;
34
- $grey-border: #707070;
35
- $light-grey-border: #c3c3c3;
36
- $placeholder: #c3c3c3;
37
-
38
- $warning: #ffa500;
39
-
40
- // SVG Filters
41
- // See: https://codepen.io/sosuke/pen/Pjoqqp
42
- $main-svg-filter: invert(60%) sepia(99%) saturate(501%) hue-rotate(336deg) brightness(102%) contrast(98%);
43
- $primary-svg-filter: invert(67%) sepia(51%) saturate(566%) hue-rotate(117deg) brightness(82%) contrast(95%);
44
- $sidebar-back-active-filter: invert(11%) sepia(6%) saturate(2516%) hue-rotate(152deg) brightness(91%) contrast(88%);
45
- $white-filter: invert(100%) sepia(100%) saturate(18%) hue-rotate(251deg) brightness(104%) contrast(104%);
46
- $black-filter: invert(0%) sepia(76%) saturate(20%) hue-rotate(294deg) brightness(105%) contrast(104%);
47
- $black_text_filter: invert(17%) sepia(8%) saturate(6702%) hue-rotate(203deg) brightness(91%) contrast(93%);
48
- $black_text_light_filter: invert(33%) sepia(9%) saturate(15%) hue-rotate(336deg) brightness(90%) contrast(88%);
49
- $primary-hover-filter: invert(43%) sepia(97%) saturate(1264%) hue-rotate(133deg) brightness(101%) contrast(94%);
50
- $darkgrey-filter:invert(70%) sepia(0%) saturate(3789%) hue-rotate(32deg) brightness(91%) contrast(108%);
51
- $red-filter: invert(23%) sepia(96%) saturate(5276%) hue-rotate(354deg) brightness(104%) contrast(127%);
52
- $grey_text_light_filter: invert(62%) sepia(2%) saturate(0%) hue-rotate(356deg) brightness(87%) contrast(88%);
53
- $darkgrey: #a5a5a5;
54
- $darkgrey-2: #d5d5d5;
55
- $darkgrey-3: #d6d6d6;
56
-
57
- $form-grey: #fafafa;
58
- $grey: whitesmoke;
59
- $lightgrey: #f1f3f4;
60
- $disabled-grey-back: #E6E5E5;
61
- $disabled-grey-front: #bababa;
62
-
63
- $action-button-grey: #e6e6e6;
64
- $action-separator-grey: #e5e5e5;
65
-
66
- $action-button-grey-hover : #f6f6f6;
67
-
68
- $background-grey: #f5f5f5;
69
- $lightblue: #00C6F7;
70
- $white: #ffffff;
71
-
72
- $red-error: #da2128;
73
- $violet: #663999;
74
- // $algorima-blue: #2C52C9;
75
- $algorima-blue: #0A66C2;
76
- $job-offer-color: rgba(39,44,93,1);
77
-
78
-
79
-
80
-
81
- // $main-svg-filter: invert(24%) sepia(83%) saturate(1788%) hue-rotate(212deg) brightness(96%) contrast(90%);
82
- // $primary-svg-filter: invert(67%) sepia(51%) saturate(566%) hue-rotate(117deg) brightness(82%) contrast(95%);
83
- // $sidebar-back-active-filter: invert(11%) sepia(6%) saturate(2516%) hue-rotate(152deg) brightness(91%) contrast(88%);
84
- // $white-filter: invert(100%) sepia(100%) saturate(18%) hue-rotate(251deg) brightness(104%) contrast(104%);
85
- // $black-filter: invert(0%) sepia(76%) saturate(20%) hue-rotate(294deg) brightness(105%) contrast(104%);
86
- // $black_text_filter: invert(17%) sepia(8%) saturate(6702%) hue-rotate(203deg) brightness(91%) contrast(93%);
87
- // $black_text_light_filter: invert(33%) sepia(9%) saturate(15%) hue-rotate(336deg) brightness(90%) contrast(88%);
88
- // $primary-hover-filter: invert(43%) sepia(97%) saturate(1264%) hue-rotate(133deg) brightness(101%) contrast(94%);
89
-
90
-
91
-
92
-
93
-
1
+ // Les variables du thème (theme-variables.scss) sont réexposées à qui charge ce fichier (@use ou @import).
2
+ @forward "./theme-variables";
3
+ @use "./theme-variables" as *;
4
+
5
+ $header_height: 50px;
6
+ $footer_height: 30px;
7
+ $sidebar_width: 230px;
8
+
9
+ $main_bg_color: #4465C9;
10
+
11
+
12
+
13
+
14
+ // $header_height: 70px;
15
+ $footer_height: 30px;
16
+ // $sidebar_width: 480px;
17
+
18
+ $mobile-screen: 480px;
19
+ $small-screen: 768px;
20
+ $large-screen: 980px;
21
+ $wide-screen: 1200px;
22
+
23
+ // Thème de couleurs Elnour
24
+ $old-main: #FC9930;
25
+ $main: #FC9324;
26
+ $main-hover: #F97803; // à voir
27
+ $main-opacity: #F3E0CB;
28
+
29
+ // $primary: #24BE9f;
30
+
31
+ $black_text: #272C5D;
32
+ $black_text_light: #535353;
33
+ $grey_text_light: #888888;
34
+ $grey-border: #707070;
35
+ $light-grey-border: #c3c3c3;
36
+ $placeholder: #c3c3c3;
37
+
38
+ $warning: #ffa500;
39
+
40
+ // SVG Filters
41
+ // See: https://codepen.io/sosuke/pen/Pjoqqp
42
+ $main-svg-filter: invert(60%) sepia(99%) saturate(501%) hue-rotate(336deg) brightness(102%) contrast(98%);
43
+ $primary-svg-filter: invert(67%) sepia(51%) saturate(566%) hue-rotate(117deg) brightness(82%) contrast(95%);
44
+ $sidebar-back-active-filter: invert(11%) sepia(6%) saturate(2516%) hue-rotate(152deg) brightness(91%) contrast(88%);
45
+ $white-filter: invert(100%) sepia(100%) saturate(18%) hue-rotate(251deg) brightness(104%) contrast(104%);
46
+ $black-filter: invert(0%) sepia(76%) saturate(20%) hue-rotate(294deg) brightness(105%) contrast(104%);
47
+ $black_text_filter: invert(17%) sepia(8%) saturate(6702%) hue-rotate(203deg) brightness(91%) contrast(93%);
48
+ $black_text_light_filter: invert(33%) sepia(9%) saturate(15%) hue-rotate(336deg) brightness(90%) contrast(88%);
49
+ $primary-hover-filter: invert(43%) sepia(97%) saturate(1264%) hue-rotate(133deg) brightness(101%) contrast(94%);
50
+ $darkgrey-filter:invert(70%) sepia(0%) saturate(3789%) hue-rotate(32deg) brightness(91%) contrast(108%);
51
+ $red-filter: invert(23%) sepia(96%) saturate(5276%) hue-rotate(354deg) brightness(104%) contrast(127%);
52
+ $grey_text_light_filter: invert(62%) sepia(2%) saturate(0%) hue-rotate(356deg) brightness(87%) contrast(88%);
53
+ $darkgrey: #a5a5a5;
54
+ $darkgrey-2: #d5d5d5;
55
+ $darkgrey-3: #d6d6d6;
56
+
57
+ $form-grey: #fafafa;
58
+ $grey: whitesmoke;
59
+ $lightgrey: #f1f3f4;
60
+ $disabled-grey-back: #E6E5E5;
61
+ $disabled-grey-front: #bababa;
62
+
63
+ $action-button-grey: #e6e6e6;
64
+ $action-separator-grey: #e5e5e5;
65
+
66
+ $action-button-grey-hover : #f6f6f6;
67
+
68
+ $background-grey: #f5f5f5;
69
+ $lightblue: #00C6F7;
70
+ $white: #ffffff;
71
+
72
+ $red-error: #da2128;
73
+ $violet: #663999;
74
+ // $algorima-blue: #2C52C9;
75
+ $algorima-blue: #0A66C2;
76
+ $job-offer-color: rgba(39,44,93,1);
77
+
78
+
79
+
80
+
81
+ // $main-svg-filter: invert(24%) sepia(83%) saturate(1788%) hue-rotate(212deg) brightness(96%) contrast(90%);
82
+ // $primary-svg-filter: invert(67%) sepia(51%) saturate(566%) hue-rotate(117deg) brightness(82%) contrast(95%);
83
+ // $sidebar-back-active-filter: invert(11%) sepia(6%) saturate(2516%) hue-rotate(152deg) brightness(91%) contrast(88%);
84
+ // $white-filter: invert(100%) sepia(100%) saturate(18%) hue-rotate(251deg) brightness(104%) contrast(104%);
85
+ // $black-filter: invert(0%) sepia(76%) saturate(20%) hue-rotate(294deg) brightness(105%) contrast(104%);
86
+ // $black_text_filter: invert(17%) sepia(8%) saturate(6702%) hue-rotate(203deg) brightness(91%) contrast(93%);
87
+ // $black_text_light_filter: invert(33%) sepia(9%) saturate(15%) hue-rotate(336deg) brightness(90%) contrast(88%);
88
+ // $primary-hover-filter: invert(43%) sepia(97%) saturate(1264%) hue-rotate(133deg) brightness(101%) contrast(94%);
89
+
90
+
91
+
92
+
93
+
@@ -79,6 +79,11 @@ var DataService = class DataService {
79
79
  let requestParams = this.getUrlQueryParams(filter);
80
80
  return this.httpClient.get(_url, { params: requestParams });
81
81
  }
82
+ distinctValues(entityKey, filter, property, search, offset, take) {
83
+ let requestParams = this.getUrlQueryParams(filter).set("distinctProperty", property).set("distinctOffset", String(offset)).set("distinctTake", String(take));
84
+ if (search) requestParams = requestParams.set("distinctSearch", search);
85
+ return this.httpClient.get(this.baseUrl + `/${entityKey}/DistinctValues`, { params: requestParams });
86
+ }
82
87
  getDetails(entityKey, id) {
83
88
  let _url = this.baseUrl + `/${entityKey}/GetDetails?`;
84
89
  if (id === void 0 || id === null) throw new Error("The parameter 'id' must be defined and cannot be null.");
@@ -1 +1 @@
1
- {"version":3,"file":"dflat-core-web-core-data.mjs","names":["i1.DataService"],"sources":["../../core-data/src/lib/services/data-service.ts","../../core-data/src/lib/core-data.module.ts","../../core-data/src/lib/services/entity-data-service.ts"],"sourcesContent":["import { EnvironmentBase, Utilities } from '@dflat-core/web/core';\r\nimport { ActionDescriptor, ColumnDescriptor, EntityViewModelWithFields, EntityWithSpecifics, ExtendedProperty, FilterDescriptor, PagedList, SaveResult, SaveResults } from '@dflat-core/web/core-model';\r\nimport { HeadersService, InitCacheService } from '@dflat-core/web/core-services';\r\nimport { HttpClient, HttpParams, HttpResponse } from '@angular/common/http';\r\nimport { inject, Injectable, Type } from '@angular/core';\r\nimport { defer, Observable, of } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n\r\n@Injectable()\r\nexport class DataService {\r\n\r\n baseUrl = this.env.apiUrl;\r\n httpClient: HttpClient;\r\n data: any[];\r\n private initCache = inject(InitCacheService);\r\n constructor(\r\n private env: EnvironmentBase,\r\n httpClient: HttpClient,\r\n private headerService: HeadersService) {\r\n this.httpClient = httpClient\r\n }\r\n\r\n getFormattedParams(params: any): any {\r\n // Point d'entrée public : conserve le comportement historique\r\n // (stringify uniquement quand params racine est un tableau).\r\n if (Array.isArray(params)) {\r\n if (params.length > 0 && typeof (params[0]) === 'number') {\r\n return JSON.stringify(params);\r\n }\r\n const result = params.map(entity => this.formatValueRecursive(entity));\r\n return JSON.stringify(result);\r\n }\r\n\r\n return this.formatValueRecursive(params);\r\n }\r\n\r\n // Transforme récursivement un objet/tableau/valeur, sans jamais stringifier.\r\n // Utilisée pour descendre dans les propriétés imbriquées (ex: un tableau\r\n // d'objets contenu dans une propriété d'un objet racine), qui étaient\r\n // auparavant copiées telles quelles et donc jamais nettoyées de leurs Date.\r\n private formatValueRecursive(val: any): any {\r\n if (val === undefined || val === null) {\r\n return val;\r\n }\r\n\r\n if (val instanceof Date) {\r\n return `${Utilities.Format2Digits(val.getFullYear())}-${Utilities.Format2Digits(val.getMonth() + 1)}-${Utilities.Format2Digits(val.getDate())}T00:00:00.000Z`;\r\n }\r\n\r\n if (Array.isArray(val)) {\r\n // Tableau de nombres : on le laisse tel quel (comme au niveau racine)\r\n if (val.length > 0 && typeof (val[0]) === 'number') {\r\n return val;\r\n }\r\n return val.map(item => this.formatValueRecursive(item));\r\n }\r\n\r\n if (typeof val === 'object') {\r\n const result: any = {};\r\n for (let key in val) {\r\n if (val.hasOwnProperty(key)) {\r\n const propVal = val[key];\r\n if (propVal !== undefined && propVal !== null) {\r\n result[key] = this.formatValueRecursive(propVal);\r\n }\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n // primitive (string, number, boolean...) : inchangé\r\n return val;\r\n }\r\n\r\n\r\n getUrlQueryParams(filter: any): HttpParams {\r\n let requestParams = new HttpParams();\r\n let formattedFilter = this.getFormattedParams(filter);\r\n for (let key in formattedFilter) {\r\n if (formattedFilter.hasOwnProperty(key)) {\r\n let vals = formattedFilter[key];\r\n if (Array.isArray(vals) && vals.length > 0)\r\n {\r\n for (let key2 in vals) {\r\n requestParams = requestParams.append(key, vals[key2]);\r\n }\r\n }\r\n else if (typeof vals === 'object') {\r\n requestParams = requestParams.set(key, JSON.stringify(vals));\r\n }\r\n else\r\n {\r\n requestParams = requestParams.set(key, vals);\r\n }\r\n }\r\n }\r\n return requestParams;\r\n }\r\n\r\n /*getUrlQueryArrayParams(filter: any): HttpParams {\r\n let requestParams = new HttpParams();\r\n let formattedFilter = this.getFormattedParams(filter);\r\n for (let key in formattedFilter) {\r\n if (formattedFilter.hasOwnProperty(key)) {\r\n let vals = formattedFilter[key];\r\n for (let key2 in vals) {\r\n requestParams = requestParams.append(key, vals[key2]);\r\n }\r\n }\r\n }\r\n return requestParams;\r\n }*/\r\n\r\n /**\r\n * Appel GET sans paramètre gardé dans le cache d'initialisation (InitCacheService) : données\r\n * chargées avant la recherche, identiques d'une ouverture de l'écran à l'autre. Le cache est\r\n * vidé au redémarrage de l'API (horodatage du jeton d'accès) et au changement d'utilisateur.\r\n */\r\n getCached<T>(entityKey: string, action: string): Observable<T> {\r\n return this.initCache.get<T>(`${entityKey}/${action}`,\r\n () => this.httpClient.get<T>(this.baseUrl + `/${entityKey}/${action}`, {}));\r\n }\r\n\r\n /**\r\n * Valeur d'initialisation d'une entité calculée par le front (ex. définition de ses onglets,\r\n * voir EntitySections), gardée dans le même cache que les appels de getCached et sous la même\r\n * portée (clé de l'entité) : `factory` n'est appelée qu'une fois, jusqu'à ce que le cache soit\r\n * vidé (clearCached, redémarrage de l'API, changement d'utilisateur).\r\n */\r\n getCachedValue<T>(entityKey: string, name: string, factory: () => T): Observable<T> {\r\n return this.initCache.get<T>(`${entityKey}/${name}`, () => defer(() => of(factory())));\r\n }\r\n\r\n /** Vide le cache d'initialisation d'une entité, ou tout le cache. */\r\n clearCached(entityKey?: string): void {\r\n this.initCache.clear(Utilities.IsNil(entityKey) ? null : `${entityKey}/`);\r\n }\r\n\r\n getViewFilterDescriptors(entityKey: string): Observable<FilterDescriptor[]> {\r\n return this.getCached<FilterDescriptor[]>(entityKey, 'GetFilterDescriptors');\r\n }\r\n\r\n getViewColumns(entityKey: string): Observable<ColumnDescriptor[]> {\r\n return this.getCached<ColumnDescriptor[]>(entityKey, 'GetGridColumns');\r\n }\r\n\r\n /**\r\n * Colonnes de grille des propriétés données, dans leur ordre, décrites par le serveur comme celles du\r\n * profil de présentation (menu « Colonnes » des grilles).\r\n */\r\n /** Images des éléments donnés (vues Carte) : adresse de l'image par défaut de chaque élément qui en a une. */\r\n getEntityImages(entityKey: string, ids: number[]): Observable<{ EntityId?: number, Url?: string }[]> {\r\n return this.httpClient.post<{ EntityId?: number, Url?: string }[]>(this.baseUrl + `/${entityKey}/GetEntityImages`, ids ?? []);\r\n }\r\n\r\n getGridColumnsFor(entityKey: string, columnKeys: string[]): Observable<ColumnDescriptor[]> {\r\n return this.httpClient.post<ColumnDescriptor[]>(this.baseUrl + `/${entityKey}/GetGridColumnsFor`, columnKeys ?? []);\r\n }\r\n\r\n search<TData>(entityKey: string, filter: any): Observable<PagedList<TData>> {\r\n let _url = this.baseUrl + `/${entityKey}/Search`;\r\n let requestParams = this.getUrlQueryParams(filter);\r\n return this.httpClient.get<PagedList<TData>>(_url, { params: requestParams });\r\n }\r\n\r\n getDetails<TData>(entityKey: string, id: number): Observable<TData> {\r\n let _url = this.baseUrl + `/${entityKey}/GetDetails?`;\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined and cannot be null.\");\r\n else\r\n _url += \"id=\" + encodeURI(\"\" + id);\r\n\r\n _url = _url.replace(/[?&]$/, \"\");\r\n\r\n return this.httpClient.get<TData>(_url);\r\n }\r\n\r\n getEmptyFilter<T>(entityKey: string): Observable<T> {\r\n return this.getCached<T>(entityKey, 'GetEmptyFilter');\r\n }\r\n\r\n /**\r\n * fonction \"async\" liant le front(Angular) et le back(C#)\r\n * - Principalement appelée par \"src.app.core.layout.BaseEditorComponent.loadEntityViewModel()\" lorsque l'on cherche à afficher un Objet de type \"EntityViewModel\"\r\n * - C'est elle qui lance l'appel à la fonction \"back\" BaseFilterController.GetEntityViewModel<TData>(id).\r\n * - Puis elle crée un observable avec la réponse qu'elle obtient du \"back\"\r\n *\r\n * @async\r\n * @function\r\n * @name getEntityViewModel<TData>\r\n * @param {string} entityKey\r\n * @param {number} id\r\n * @returns {(Observable)EntityViewModelWithFields<TData>}\r\n * @memberof DataService\r\n * @summary Demande les données d'une entité au back(C#) à travers \"getEntityViewModel\".\r\n * @see {@link src.app.core.layout.BaseEditorComponent.loadEntityViewModel()} for more information\r\n * @throws new Error(\"The parameter 'id' must be defined and cannot be null.\") if (id === undefined ou id === null)\r\n */\r\n getEntityViewModel<TData>(entityKey: string, id: number): Observable<EntityViewModelWithFields<TData>> {\r\n let _url = this. baseUrl + `/${entityKey}/GetEntityViewModel?`;\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined and cannot be null.\");\r\n else if (id === 0)\r\n // Formulaire vide (id 0) : donnée d'initialisation, gardée en cache.\r\n return this.getCached<EntityViewModelWithFields<TData>>(entityKey, 'GetEntityViewModel?id=0');\r\n else\r\n _url += \"id=\" + encodeURI(\"\" + id);\r\n\r\n _url = _url.replace(/[?&]$/, \"\");\r\n\r\n return this.httpClient.get(_url).pipe(\r\n map((resp: Response) => <EntityViewModelWithFields<TData>>resp));\r\n }\r\n\r\n getExtendedProperties(entityKey: string, entityIds: number[]): Observable<ExtendedProperty[]> {\r\n let _url = this.baseUrl + `/${entityKey}/GetExtendedProperties`;\r\n\r\n let requestParams = this.getUrlQueryParams({ entityIds: entityIds });\r\n return this.httpClient.get<ExtendedProperty[]>(_url, { params: requestParams });\r\n }\r\n\r\n getExtendedActions (entityKey: string) : Observable<ActionDescriptor[]> {\r\n return this.getCached<ActionDescriptor[]>(entityKey, 'GetExtendedActions');\r\n }\r\n \r\n saveEntity<TData>(entityKey: string, entity: TData): Observable<SaveResult> {\r\n let _url = this.baseUrl + `/${entityKey}/SaveEntity`;\r\n return this.httpClient.post<SaveResult>(_url, this.getFormattedParams(entity));\r\n }\r\n\r\n deleteEntity<TData>(entityKey: string, entity: TData): Observable<SaveResult> {\r\n let _url = this.baseUrl + `/${entityKey}/DeleteEntity`;\r\n return this.httpClient.post<SaveResult>(_url, this.getFormattedParams(entity));\r\n }\r\n\r\n deleteEntities<TData>(entityKey: string, entities: TData[]): Observable<SaveResults<TData>> {\r\n let _url = this.baseUrl + `/${entityKey}/DeleteEntities`;\r\n return this.httpClient.post<SaveResults<TData>>(_url, this.getFormattedParams(entities));\r\n }\r\n\r\n saveEntities<TData>(entityKey: string, entities: TData[]): Observable<SaveResults<TData>> {\r\n let _url = this.baseUrl + `/${entityKey}/saveEntities`;\r\n let toSave = [];\r\n entities.forEach(entity => {\r\n toSave.push(this.getFormattedParams(entity));\r\n });\r\n return this.httpClient.post<SaveResults<TData>>(_url, JSON.stringify(toSave));\r\n }\r\n\r\n\r\n\r\n SaveEntityWithSpecifics<TData>(entityKey: string, DataToSave: EntityWithSpecifics<TData>): Observable<{ success: boolean, rowVersion?: Date }> {\r\n let _url = this.baseUrl + `/${entityKey}/SaveEntityWithSpecifics`;\r\n return this.httpClient.post<{ success: boolean, rowVersion?: Date }>(_url, this.getFormattedParams(DataToSave));\r\n }\r\n\r\n exportAll<TData>(entityKey: string, filter: any) {\r\n let _url = this.baseUrl + `/${entityKey}/ExportAll`;\r\n let requestParams = this.getUrlQueryParams(filter);\r\n\r\n return this.httpClient.get(_url, { observe: 'response', params: requestParams, withCredentials: true, responseType: 'blob' })\r\n .pipe(map((r: HttpResponse<Blob>) => this.getFileInfo(r)))\r\n }\r\n\r\n exportResults<TData>(entityKey: string, exportModel: any) {\r\n let _url = this.baseUrl + `/${entityKey}/ExportResults`;\r\n const _body = JSON.stringify(exportModel);\r\n\r\n return this.httpClient.post(_url, _body, { observe: 'response', responseType: 'blob' })\r\n .pipe(map((r: HttpResponse<Blob>) => this.getFileInfo(r)));\r\n }\r\n\r\n public getFileInfo(resp: HttpResponse<Blob>): { fileBlob: Blob, fileName: string } {\r\n var type = resp.headers.get(\"Content-Type\");\r\n let b = new Blob([resp.body], { type: type });\r\n return {\r\n fileBlob: b,\r\n fileName: (resp.headers.get(\"Content-Disposition\") || \"\").split(\";\")[1].trim().split(\"=\")[1].replace(/['\"]/g, '')\r\n };\r\n }\r\n\r\n uploadFileToExtract(file: File, inputId: number, correlationId: string) {\r\n return this.uploadFiles(\"/DataImport/PostImportFile\", [file], { inputId: inputId, correlationId: correlationId });\r\n }\r\n\r\n uploadFilesWithParams(files: File[], customParams?: {}, forceMultipleFiles: boolean = false): Observable<any> {\r\n\r\n const _url = this.baseUrl + \"/DataImport/PostFiles\";\r\n\r\n let formData = new FormData();\r\n if (files.length == 1 && !forceMultipleFiles) {\r\n formData.append('file', files[0]);\r\n }\r\n else {\r\n for (var i = 0; i < files.length; i++) {\r\n formData.append('files', files[i]);\r\n }\r\n }\r\n\r\n formData.append('data', JSON.stringify((customParams as any).dataModel));\r\n let params = new HttpParams();\r\n\r\n return this.httpClient.post(_url, formData, {\r\n params,\r\n reportProgress: true,\r\n observe: 'body',\r\n headers: this.headerService.authFileUploadHeaders()\r\n });\r\n }\r\n\r\n uploadFiles(url: string, files: File[], customParams?: {}, forceMultipleFiles: boolean = false): Observable<any> {\r\n\r\n const _url = this.baseUrl + url;\r\n\r\n let formData = new FormData();\r\n if (files.length == 1 && !forceMultipleFiles) {\r\n formData.append('file', files[0]);\r\n }\r\n else {\r\n for (var i = 0; i < files.length; i++) {\r\n formData.append('files', files[i]);\r\n }\r\n }\r\n\r\n if (customParams) {\r\n for (let p in customParams) {\r\n if (customParams.hasOwnProperty(p)) {\r\n formData.append(p, customParams[p]);\r\n }\r\n }\r\n }\r\n\r\n let params = new HttpParams();\r\n\r\n\r\n return this.httpClient.post(_url, formData, {\r\n params,\r\n reportProgress: true,\r\n observe: 'body',\r\n headers: this.headerService.authFileUploadHeaders()\r\n });\r\n }\r\n\r\n uploadFilesWithEvents(url: string, files: File[], customParams?: {}, forceMultipleFiles: boolean = false): Observable<any> {\r\n\r\n const _url = this.baseUrl + url;\r\n\r\n let formData = new FormData();\r\n if (files.length == 1 && !forceMultipleFiles) {\r\n formData.append('file', files[0]);\r\n }\r\n else {\r\n for (var i = 0; i < files.length; i++) {\r\n formData.append('files', files[i]);\r\n }\r\n }\r\n\r\n if (customParams) {\r\n for (let p in customParams) {\r\n if (customParams.hasOwnProperty(p)) {\r\n formData.append(p, customParams[p]);\r\n }\r\n }\r\n }\r\n\r\n let params = new HttpParams();\r\n return this.httpClient.post<any>(_url, formData, {\r\n params,\r\n reportProgress: true,\r\n observe: 'events',\r\n headers: this.headerService.authFileUploadHeaders()\r\n });\r\n\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { DataService } from './services/data-service';\r\n\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n providers: [DataService]\r\n})\r\nexport class CoreDataModule {}\r\n","import { ActionDescriptor, ColumnDescriptor, EntityViewModel, EntityViewModelWithFields, EntityWithSpecifics, ExportModel, ExtendedProperty, FilterDescriptor, FilterViewModel, PagedList, SaveResult, SaveResults } from '@dflat-core/web/core-model';\r\n\r\nimport { DataService } from './data-service';\r\nimport { HttpResponse } from '@angular/common/http';\r\nimport { Directive } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Directive()\r\nexport abstract class EntityDataService<TData extends EntityViewModel, TFilter extends FilterViewModel> \r\n{\r\n abstract getEntityKey(): string;\r\n\r\n constructor(protected dataService : DataService) {}\r\n deleteEntities (sources:TData[]) : Observable<SaveResults<TData>> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/DeleteEntities`;\r\n const requestParams = this.dataService.getFormattedParams(sources);\r\n return this.dataService.httpClient.post<SaveResults<TData>>(_url, requestParams);\r\n }\r\n\r\n deleteEntity (source:TData) : Observable<SaveResult> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/DeleteEntity`;\r\n const requestParams = this.dataService.getFormattedParams(source);\r\n return this.dataService.httpClient.post<SaveResult>(_url, requestParams);\r\n }\r\n\r\n exportAll (filter:TFilter) {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/ExportAll`;\r\n const requestParams = this.dataService.getFormattedParams(filter);\r\n return this.dataService.httpClient.get(_url, { observe: 'response', params: requestParams, withCredentials: true, responseType: 'blob' }).pipe(map((r: HttpResponse<Blob>) => this.dataService.getFileInfo(r)));\r\n }\r\n\r\n exportResults (model:ExportModel<TFilter>) {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/ExportResults`;\r\n const requestParams = this.dataService.getFormattedParams(model);\r\n return this.dataService.httpClient.get(_url, { observe: 'response', params: requestParams, withCredentials: true, responseType: 'blob' }).pipe(map((r: HttpResponse<Blob>) => this.dataService.getFileInfo(r)));\r\n }\r\n\r\n getAlternateEntityViewModel (id:number) : Observable<EntityViewModelWithFields<TData>> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetAlternateEntityViewModel`;\r\n const requestParams = this.dataService.getUrlQueryParams({ id:id });\r\n return this.dataService.httpClient.get<EntityViewModelWithFields<TData>>(_url, { params: requestParams });\r\n }\r\n\r\n getCacheManager () : Observable<TData[]> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetCacheManager`;\r\n return this.dataService.httpClient.get<TData[]>(_url, {});\r\n }\r\n\r\n getColumns () : Observable<ColumnDescriptor[]> {\r\n return this.dataService.getCached<ColumnDescriptor[]>(this.getEntityKey(), 'GetColumns');\r\n }\r\n\r\n getDetails (id:number) : Observable<TData> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetDetails`;\r\n const requestParams = this.dataService.getUrlQueryParams({ id:id });\r\n return this.dataService.httpClient.get<TData>(_url, { params: requestParams });\r\n }\r\n\r\n getEmptyFilter () : Observable<TFilter> {\r\n return this.dataService.getCached<TFilter>(this.getEntityKey(), 'GetEmptyFilter');\r\n }\r\n\r\n getEntityViewModel (id:number) : Observable<EntityViewModelWithFields<TData>> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetEntityViewModel`;\r\n const requestParams = this.dataService.getUrlQueryParams({ id:id });\r\n return this.dataService.httpClient.get<EntityViewModelWithFields<TData>>(_url, { params: requestParams });\r\n }\r\n\r\n getExtendedActions () : Observable<ActionDescriptor[]> {\r\n return this.dataService.getCached<ActionDescriptor[]>(this.getEntityKey(), 'GetExtendedActions');\r\n }\r\n\r\n getExtendedProperties (entityIds:number[]) : Observable<ExtendedProperty[]> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetExtendedProperties`;\r\n const requestParams = this.dataService.getUrlQueryParams({ entityIds:entityIds });\r\n return this.dataService.httpClient.get<ExtendedProperty[]>(_url, { params: requestParams });\r\n }\r\n\r\n getFilterDescriptors () : Observable<FilterDescriptor[]> {\r\n return this.dataService.getCached<FilterDescriptor[]>(this.getEntityKey(), 'GetFilterDescriptors');\r\n }\r\n\r\n getSortColumn (col:string) : Observable<string> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetSortColumn`;\r\n const requestParams = this.dataService.getUrlQueryParams({ col:col });\r\n return this.dataService.httpClient.get<string>(_url, { params: requestParams });\r\n }\r\n\r\n saveEntities (sources:TData[]) : Observable<SaveResults<TData>> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/SaveEntities`;\r\n const requestParams = this.dataService.getFormattedParams(sources);\r\n return this.dataService.httpClient.post<SaveResults<TData>>(_url, requestParams);\r\n }\r\n\r\n saveEntity (source:TData) : Observable<SaveResult> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/SaveEntity`;\r\n const requestParams = this.dataService.getFormattedParams(source);\r\n return this.dataService.httpClient.post<SaveResult>(_url, requestParams);\r\n }\r\n\r\n saveEntityWithSpecifics (source:EntityWithSpecifics<TData>) : Observable<any> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/SaveEntityWithSpecifics`;\r\n const requestParams = this.dataService.getFormattedParams(source);\r\n return this.dataService.httpClient.post<any>(_url, requestParams);\r\n }\r\n\r\n search (filter:TFilter) : Observable<PagedList<TData>> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/Search`;\r\n const requestParams = this.dataService.getFormattedParams(filter);\r\n return this.dataService.httpClient.get<PagedList<TData>>(_url, { params: requestParams });\r\n }\r\n\r\n toggleFavorite (filter:TFilter) : Observable<any> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/ToggleFavorite`;\r\n const requestParams = this.dataService.getFormattedParams(filter);\r\n return this.dataService.httpClient.post<any>(_url, requestParams);\r\n }\r\n\r\n}\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"dflat-core-web-core-data.mjs","names":["i1.DataService"],"sources":["../../core-data/src/lib/services/data-service.ts","../../core-data/src/lib/core-data.module.ts","../../core-data/src/lib/services/entity-data-service.ts"],"sourcesContent":["import { EnvironmentBase, Utilities } from '@dflat-core/web/core';\r\nimport { ActionDescriptor, ColumnDescriptor, EntityViewModelWithFields, EntityWithSpecifics, ExtendedProperty, FilterDescriptor, PagedList, SaveResult, SaveResults } from '@dflat-core/web/core-model';\r\nimport { HeadersService, InitCacheService } from '@dflat-core/web/core-services';\r\nimport { HttpClient, HttpParams, HttpResponse } from '@angular/common/http';\r\nimport { inject, Injectable, Type } from '@angular/core';\r\nimport { defer, Observable, of } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n\r\n@Injectable()\r\nexport class DataService {\r\n\r\n baseUrl = this.env.apiUrl;\r\n httpClient: HttpClient;\r\n data: any[];\r\n private initCache = inject(InitCacheService);\r\n constructor(\r\n private env: EnvironmentBase,\r\n httpClient: HttpClient,\r\n private headerService: HeadersService) {\r\n this.httpClient = httpClient\r\n }\r\n\r\n getFormattedParams(params: any): any {\r\n // Point d'entrée public : conserve le comportement historique\r\n // (stringify uniquement quand params racine est un tableau).\r\n if (Array.isArray(params)) {\r\n if (params.length > 0 && typeof (params[0]) === 'number') {\r\n return JSON.stringify(params);\r\n }\r\n const result = params.map(entity => this.formatValueRecursive(entity));\r\n return JSON.stringify(result);\r\n }\r\n\r\n return this.formatValueRecursive(params);\r\n }\r\n\r\n // Transforme récursivement un objet/tableau/valeur, sans jamais stringifier.\r\n // Utilisée pour descendre dans les propriétés imbriquées (ex: un tableau\r\n // d'objets contenu dans une propriété d'un objet racine), qui étaient\r\n // auparavant copiées telles quelles et donc jamais nettoyées de leurs Date.\r\n private formatValueRecursive(val: any): any {\r\n if (val === undefined || val === null) {\r\n return val;\r\n }\r\n\r\n if (val instanceof Date) {\r\n return `${Utilities.Format2Digits(val.getFullYear())}-${Utilities.Format2Digits(val.getMonth() + 1)}-${Utilities.Format2Digits(val.getDate())}T00:00:00.000Z`;\r\n }\r\n\r\n if (Array.isArray(val)) {\r\n // Tableau de nombres : on le laisse tel quel (comme au niveau racine)\r\n if (val.length > 0 && typeof (val[0]) === 'number') {\r\n return val;\r\n }\r\n return val.map(item => this.formatValueRecursive(item));\r\n }\r\n\r\n if (typeof val === 'object') {\r\n const result: any = {};\r\n for (let key in val) {\r\n if (val.hasOwnProperty(key)) {\r\n const propVal = val[key];\r\n if (propVal !== undefined && propVal !== null) {\r\n result[key] = this.formatValueRecursive(propVal);\r\n }\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n // primitive (string, number, boolean...) : inchangé\r\n return val;\r\n }\r\n\r\n\r\n getUrlQueryParams(filter: any): HttpParams {\r\n let requestParams = new HttpParams();\r\n let formattedFilter = this.getFormattedParams(filter);\r\n for (let key in formattedFilter) {\r\n if (formattedFilter.hasOwnProperty(key)) {\r\n let vals = formattedFilter[key];\r\n if (Array.isArray(vals) && vals.length > 0)\r\n {\r\n for (let key2 in vals) {\r\n requestParams = requestParams.append(key, vals[key2]);\r\n }\r\n }\r\n else if (typeof vals === 'object') {\r\n requestParams = requestParams.set(key, JSON.stringify(vals));\r\n }\r\n else\r\n {\r\n requestParams = requestParams.set(key, vals);\r\n }\r\n }\r\n }\r\n return requestParams;\r\n }\r\n\r\n /*getUrlQueryArrayParams(filter: any): HttpParams {\r\n let requestParams = new HttpParams();\r\n let formattedFilter = this.getFormattedParams(filter);\r\n for (let key in formattedFilter) {\r\n if (formattedFilter.hasOwnProperty(key)) {\r\n let vals = formattedFilter[key];\r\n for (let key2 in vals) {\r\n requestParams = requestParams.append(key, vals[key2]);\r\n }\r\n }\r\n }\r\n return requestParams;\r\n }*/\r\n\r\n /**\r\n * Appel GET sans paramètre gardé dans le cache d'initialisation (InitCacheService) : données\r\n * chargées avant la recherche, identiques d'une ouverture de l'écran à l'autre. Le cache est\r\n * vidé au redémarrage de l'API (horodatage du jeton d'accès) et au changement d'utilisateur.\r\n */\r\n getCached<T>(entityKey: string, action: string): Observable<T> {\r\n return this.initCache.get<T>(`${entityKey}/${action}`,\r\n () => this.httpClient.get<T>(this.baseUrl + `/${entityKey}/${action}`, {}));\r\n }\r\n\r\n /**\r\n * Valeur d'initialisation d'une entité calculée par le front (ex. définition de ses onglets,\r\n * voir EntitySections), gardée dans le même cache que les appels de getCached et sous la même\r\n * portée (clé de l'entité) : `factory` n'est appelée qu'une fois, jusqu'à ce que le cache soit\r\n * vidé (clearCached, redémarrage de l'API, changement d'utilisateur).\r\n */\r\n getCachedValue<T>(entityKey: string, name: string, factory: () => T): Observable<T> {\r\n return this.initCache.get<T>(`${entityKey}/${name}`, () => defer(() => of(factory())));\r\n }\r\n\r\n /** Vide le cache d'initialisation d'une entité, ou tout le cache. */\r\n clearCached(entityKey?: string): void {\r\n this.initCache.clear(Utilities.IsNil(entityKey) ? null : `${entityKey}/`);\r\n }\r\n\r\n getViewFilterDescriptors(entityKey: string): Observable<FilterDescriptor[]> {\r\n return this.getCached<FilterDescriptor[]>(entityKey, 'GetFilterDescriptors');\r\n }\r\n\r\n getViewColumns(entityKey: string): Observable<ColumnDescriptor[]> {\r\n return this.getCached<ColumnDescriptor[]>(entityKey, 'GetGridColumns');\r\n }\r\n\r\n /**\r\n * Colonnes de grille des propriétés données, dans leur ordre, décrites par le serveur comme celles du\r\n * profil de présentation (menu « Colonnes » des grilles).\r\n */\r\n /** Images des éléments donnés (vues Carte) : adresse de l'image par défaut de chaque élément qui en a une. */\r\n getEntityImages(entityKey: string, ids: number[]): Observable<{ EntityId?: number, Url?: string }[]> {\r\n return this.httpClient.post<{ EntityId?: number, Url?: string }[]>(this.baseUrl + `/${entityKey}/GetEntityImages`, ids ?? []);\r\n }\r\n\r\n getGridColumnsFor(entityKey: string, columnKeys: string[]): Observable<ColumnDescriptor[]> {\r\n return this.httpClient.post<ColumnDescriptor[]>(this.baseUrl + `/${entityKey}/GetGridColumnsFor`, columnKeys ?? []);\r\n }\r\n\r\n search<TData>(entityKey: string, filter: any): Observable<PagedList<TData>> {\r\n let _url = this.baseUrl + `/${entityKey}/Search`;\r\n let requestParams = this.getUrlQueryParams(filter);\r\n return this.httpClient.get<PagedList<TData>>(_url, { params: requestParams });\r\n }\r\n\r\n /**\r\n * Valeurs distinctes d'une colonne sur les résultats de la recherche du filtre (menu « Filtre avancé »\r\n * des grilles) : une page, filtrée par le texte cherché (contient), la valeur vide (null) d'abord.\r\n */\r\n distinctValues(entityKey: string, filter: any, property: string, search: string, offset: number, take: number)\r\n : Observable<{ Values: any[], HasMore: boolean }> {\r\n let requestParams = this.getUrlQueryParams(filter)\r\n .set('distinctProperty', property)\r\n .set('distinctOffset', String(offset))\r\n .set('distinctTake', String(take));\r\n if (search)\r\n requestParams = requestParams.set('distinctSearch', search);\r\n return this.httpClient.get<{ Values: any[], HasMore: boolean }>(this.baseUrl + `/${entityKey}/DistinctValues`, { params: requestParams });\r\n }\r\n\r\n getDetails<TData>(entityKey: string, id: number): Observable<TData> {\r\n let _url = this.baseUrl + `/${entityKey}/GetDetails?`;\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined and cannot be null.\");\r\n else\r\n _url += \"id=\" + encodeURI(\"\" + id);\r\n\r\n _url = _url.replace(/[?&]$/, \"\");\r\n\r\n return this.httpClient.get<TData>(_url);\r\n }\r\n\r\n getEmptyFilter<T>(entityKey: string): Observable<T> {\r\n return this.getCached<T>(entityKey, 'GetEmptyFilter');\r\n }\r\n\r\n /**\r\n * fonction \"async\" liant le front(Angular) et le back(C#)\r\n * - Principalement appelée par \"src.app.core.layout.BaseEditorComponent.loadEntityViewModel()\" lorsque l'on cherche à afficher un Objet de type \"EntityViewModel\"\r\n * - C'est elle qui lance l'appel à la fonction \"back\" BaseFilterController.GetEntityViewModel<TData>(id).\r\n * - Puis elle crée un observable avec la réponse qu'elle obtient du \"back\"\r\n *\r\n * @async\r\n * @function\r\n * @name getEntityViewModel<TData>\r\n * @param {string} entityKey\r\n * @param {number} id\r\n * @returns {(Observable)EntityViewModelWithFields<TData>}\r\n * @memberof DataService\r\n * @summary Demande les données d'une entité au back(C#) à travers \"getEntityViewModel\".\r\n * @see {@link src.app.core.layout.BaseEditorComponent.loadEntityViewModel()} for more information\r\n * @throws new Error(\"The parameter 'id' must be defined and cannot be null.\") if (id === undefined ou id === null)\r\n */\r\n getEntityViewModel<TData>(entityKey: string, id: number): Observable<EntityViewModelWithFields<TData>> {\r\n let _url = this. baseUrl + `/${entityKey}/GetEntityViewModel?`;\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined and cannot be null.\");\r\n else if (id === 0)\r\n // Formulaire vide (id 0) : donnée d'initialisation, gardée en cache.\r\n return this.getCached<EntityViewModelWithFields<TData>>(entityKey, 'GetEntityViewModel?id=0');\r\n else\r\n _url += \"id=\" + encodeURI(\"\" + id);\r\n\r\n _url = _url.replace(/[?&]$/, \"\");\r\n\r\n return this.httpClient.get(_url).pipe(\r\n map((resp: Response) => <EntityViewModelWithFields<TData>>resp));\r\n }\r\n\r\n getExtendedProperties(entityKey: string, entityIds: number[]): Observable<ExtendedProperty[]> {\r\n let _url = this.baseUrl + `/${entityKey}/GetExtendedProperties`;\r\n\r\n let requestParams = this.getUrlQueryParams({ entityIds: entityIds });\r\n return this.httpClient.get<ExtendedProperty[]>(_url, { params: requestParams });\r\n }\r\n\r\n getExtendedActions (entityKey: string) : Observable<ActionDescriptor[]> {\r\n return this.getCached<ActionDescriptor[]>(entityKey, 'GetExtendedActions');\r\n }\r\n \r\n saveEntity<TData>(entityKey: string, entity: TData): Observable<SaveResult> {\r\n let _url = this.baseUrl + `/${entityKey}/SaveEntity`;\r\n return this.httpClient.post<SaveResult>(_url, this.getFormattedParams(entity));\r\n }\r\n\r\n deleteEntity<TData>(entityKey: string, entity: TData): Observable<SaveResult> {\r\n let _url = this.baseUrl + `/${entityKey}/DeleteEntity`;\r\n return this.httpClient.post<SaveResult>(_url, this.getFormattedParams(entity));\r\n }\r\n\r\n deleteEntities<TData>(entityKey: string, entities: TData[]): Observable<SaveResults<TData>> {\r\n let _url = this.baseUrl + `/${entityKey}/DeleteEntities`;\r\n return this.httpClient.post<SaveResults<TData>>(_url, this.getFormattedParams(entities));\r\n }\r\n\r\n saveEntities<TData>(entityKey: string, entities: TData[]): Observable<SaveResults<TData>> {\r\n let _url = this.baseUrl + `/${entityKey}/saveEntities`;\r\n let toSave = [];\r\n entities.forEach(entity => {\r\n toSave.push(this.getFormattedParams(entity));\r\n });\r\n return this.httpClient.post<SaveResults<TData>>(_url, JSON.stringify(toSave));\r\n }\r\n\r\n\r\n\r\n SaveEntityWithSpecifics<TData>(entityKey: string, DataToSave: EntityWithSpecifics<TData>): Observable<{ success: boolean, rowVersion?: Date }> {\r\n let _url = this.baseUrl + `/${entityKey}/SaveEntityWithSpecifics`;\r\n return this.httpClient.post<{ success: boolean, rowVersion?: Date }>(_url, this.getFormattedParams(DataToSave));\r\n }\r\n\r\n exportAll<TData>(entityKey: string, filter: any) {\r\n let _url = this.baseUrl + `/${entityKey}/ExportAll`;\r\n let requestParams = this.getUrlQueryParams(filter);\r\n\r\n return this.httpClient.get(_url, { observe: 'response', params: requestParams, withCredentials: true, responseType: 'blob' })\r\n .pipe(map((r: HttpResponse<Blob>) => this.getFileInfo(r)))\r\n }\r\n\r\n exportResults<TData>(entityKey: string, exportModel: any) {\r\n let _url = this.baseUrl + `/${entityKey}/ExportResults`;\r\n const _body = JSON.stringify(exportModel);\r\n\r\n return this.httpClient.post(_url, _body, { observe: 'response', responseType: 'blob' })\r\n .pipe(map((r: HttpResponse<Blob>) => this.getFileInfo(r)));\r\n }\r\n\r\n public getFileInfo(resp: HttpResponse<Blob>): { fileBlob: Blob, fileName: string } {\r\n var type = resp.headers.get(\"Content-Type\");\r\n let b = new Blob([resp.body], { type: type });\r\n return {\r\n fileBlob: b,\r\n fileName: (resp.headers.get(\"Content-Disposition\") || \"\").split(\";\")[1].trim().split(\"=\")[1].replace(/['\"]/g, '')\r\n };\r\n }\r\n\r\n uploadFileToExtract(file: File, inputId: number, correlationId: string) {\r\n return this.uploadFiles(\"/DataImport/PostImportFile\", [file], { inputId: inputId, correlationId: correlationId });\r\n }\r\n\r\n uploadFilesWithParams(files: File[], customParams?: {}, forceMultipleFiles: boolean = false): Observable<any> {\r\n\r\n const _url = this.baseUrl + \"/DataImport/PostFiles\";\r\n\r\n let formData = new FormData();\r\n if (files.length == 1 && !forceMultipleFiles) {\r\n formData.append('file', files[0]);\r\n }\r\n else {\r\n for (var i = 0; i < files.length; i++) {\r\n formData.append('files', files[i]);\r\n }\r\n }\r\n\r\n formData.append('data', JSON.stringify((customParams as any).dataModel));\r\n let params = new HttpParams();\r\n\r\n return this.httpClient.post(_url, formData, {\r\n params,\r\n reportProgress: true,\r\n observe: 'body',\r\n headers: this.headerService.authFileUploadHeaders()\r\n });\r\n }\r\n\r\n uploadFiles(url: string, files: File[], customParams?: {}, forceMultipleFiles: boolean = false): Observable<any> {\r\n\r\n const _url = this.baseUrl + url;\r\n\r\n let formData = new FormData();\r\n if (files.length == 1 && !forceMultipleFiles) {\r\n formData.append('file', files[0]);\r\n }\r\n else {\r\n for (var i = 0; i < files.length; i++) {\r\n formData.append('files', files[i]);\r\n }\r\n }\r\n\r\n if (customParams) {\r\n for (let p in customParams) {\r\n if (customParams.hasOwnProperty(p)) {\r\n formData.append(p, customParams[p]);\r\n }\r\n }\r\n }\r\n\r\n let params = new HttpParams();\r\n\r\n\r\n return this.httpClient.post(_url, formData, {\r\n params,\r\n reportProgress: true,\r\n observe: 'body',\r\n headers: this.headerService.authFileUploadHeaders()\r\n });\r\n }\r\n\r\n uploadFilesWithEvents(url: string, files: File[], customParams?: {}, forceMultipleFiles: boolean = false): Observable<any> {\r\n\r\n const _url = this.baseUrl + url;\r\n\r\n let formData = new FormData();\r\n if (files.length == 1 && !forceMultipleFiles) {\r\n formData.append('file', files[0]);\r\n }\r\n else {\r\n for (var i = 0; i < files.length; i++) {\r\n formData.append('files', files[i]);\r\n }\r\n }\r\n\r\n if (customParams) {\r\n for (let p in customParams) {\r\n if (customParams.hasOwnProperty(p)) {\r\n formData.append(p, customParams[p]);\r\n }\r\n }\r\n }\r\n\r\n let params = new HttpParams();\r\n return this.httpClient.post<any>(_url, formData, {\r\n params,\r\n reportProgress: true,\r\n observe: 'events',\r\n headers: this.headerService.authFileUploadHeaders()\r\n });\r\n\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { DataService } from './services/data-service';\r\n\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n providers: [DataService]\r\n})\r\nexport class CoreDataModule {}\r\n","import { ActionDescriptor, ColumnDescriptor, EntityViewModel, EntityViewModelWithFields, EntityWithSpecifics, ExportModel, ExtendedProperty, FilterDescriptor, FilterViewModel, PagedList, SaveResult, SaveResults } from '@dflat-core/web/core-model';\r\n\r\nimport { DataService } from './data-service';\r\nimport { HttpResponse } from '@angular/common/http';\r\nimport { Directive } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Directive()\r\nexport abstract class EntityDataService<TData extends EntityViewModel, TFilter extends FilterViewModel> \r\n{\r\n abstract getEntityKey(): string;\r\n\r\n constructor(protected dataService : DataService) {}\r\n deleteEntities (sources:TData[]) : Observable<SaveResults<TData>> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/DeleteEntities`;\r\n const requestParams = this.dataService.getFormattedParams(sources);\r\n return this.dataService.httpClient.post<SaveResults<TData>>(_url, requestParams);\r\n }\r\n\r\n deleteEntity (source:TData) : Observable<SaveResult> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/DeleteEntity`;\r\n const requestParams = this.dataService.getFormattedParams(source);\r\n return this.dataService.httpClient.post<SaveResult>(_url, requestParams);\r\n }\r\n\r\n exportAll (filter:TFilter) {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/ExportAll`;\r\n const requestParams = this.dataService.getFormattedParams(filter);\r\n return this.dataService.httpClient.get(_url, { observe: 'response', params: requestParams, withCredentials: true, responseType: 'blob' }).pipe(map((r: HttpResponse<Blob>) => this.dataService.getFileInfo(r)));\r\n }\r\n\r\n exportResults (model:ExportModel<TFilter>) {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/ExportResults`;\r\n const requestParams = this.dataService.getFormattedParams(model);\r\n return this.dataService.httpClient.get(_url, { observe: 'response', params: requestParams, withCredentials: true, responseType: 'blob' }).pipe(map((r: HttpResponse<Blob>) => this.dataService.getFileInfo(r)));\r\n }\r\n\r\n getAlternateEntityViewModel (id:number) : Observable<EntityViewModelWithFields<TData>> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetAlternateEntityViewModel`;\r\n const requestParams = this.dataService.getUrlQueryParams({ id:id });\r\n return this.dataService.httpClient.get<EntityViewModelWithFields<TData>>(_url, { params: requestParams });\r\n }\r\n\r\n getCacheManager () : Observable<TData[]> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetCacheManager`;\r\n return this.dataService.httpClient.get<TData[]>(_url, {});\r\n }\r\n\r\n getColumns () : Observable<ColumnDescriptor[]> {\r\n return this.dataService.getCached<ColumnDescriptor[]>(this.getEntityKey(), 'GetColumns');\r\n }\r\n\r\n getDetails (id:number) : Observable<TData> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetDetails`;\r\n const requestParams = this.dataService.getUrlQueryParams({ id:id });\r\n return this.dataService.httpClient.get<TData>(_url, { params: requestParams });\r\n }\r\n\r\n getEmptyFilter () : Observable<TFilter> {\r\n return this.dataService.getCached<TFilter>(this.getEntityKey(), 'GetEmptyFilter');\r\n }\r\n\r\n getEntityViewModel (id:number) : Observable<EntityViewModelWithFields<TData>> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetEntityViewModel`;\r\n const requestParams = this.dataService.getUrlQueryParams({ id:id });\r\n return this.dataService.httpClient.get<EntityViewModelWithFields<TData>>(_url, { params: requestParams });\r\n }\r\n\r\n getExtendedActions () : Observable<ActionDescriptor[]> {\r\n return this.dataService.getCached<ActionDescriptor[]>(this.getEntityKey(), 'GetExtendedActions');\r\n }\r\n\r\n getExtendedProperties (entityIds:number[]) : Observable<ExtendedProperty[]> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetExtendedProperties`;\r\n const requestParams = this.dataService.getUrlQueryParams({ entityIds:entityIds });\r\n return this.dataService.httpClient.get<ExtendedProperty[]>(_url, { params: requestParams });\r\n }\r\n\r\n getFilterDescriptors () : Observable<FilterDescriptor[]> {\r\n return this.dataService.getCached<FilterDescriptor[]>(this.getEntityKey(), 'GetFilterDescriptors');\r\n }\r\n\r\n getSortColumn (col:string) : Observable<string> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/GetSortColumn`;\r\n const requestParams = this.dataService.getUrlQueryParams({ col:col });\r\n return this.dataService.httpClient.get<string>(_url, { params: requestParams });\r\n }\r\n\r\n saveEntities (sources:TData[]) : Observable<SaveResults<TData>> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/SaveEntities`;\r\n const requestParams = this.dataService.getFormattedParams(sources);\r\n return this.dataService.httpClient.post<SaveResults<TData>>(_url, requestParams);\r\n }\r\n\r\n saveEntity (source:TData) : Observable<SaveResult> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/SaveEntity`;\r\n const requestParams = this.dataService.getFormattedParams(source);\r\n return this.dataService.httpClient.post<SaveResult>(_url, requestParams);\r\n }\r\n\r\n saveEntityWithSpecifics (source:EntityWithSpecifics<TData>) : Observable<any> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/SaveEntityWithSpecifics`;\r\n const requestParams = this.dataService.getFormattedParams(source);\r\n return this.dataService.httpClient.post<any>(_url, requestParams);\r\n }\r\n\r\n search (filter:TFilter) : Observable<PagedList<TData>> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/Search`;\r\n const requestParams = this.dataService.getFormattedParams(filter);\r\n return this.dataService.httpClient.get<PagedList<TData>>(_url, { params: requestParams });\r\n }\r\n\r\n toggleFavorite (filter:TFilter) : Observable<any> {\r\n const _url = this.dataService.baseUrl + `/${this.getEntityKey()}/ToggleFavorite`;\r\n const requestParams = this.dataService.getFormattedParams(filter);\r\n return this.dataService.httpClient.post<any>(_url, requestParams);\r\n }\r\n\r\n}\r\n"],"mappings":"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"}