@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.
- package/README.md +211 -211
- package/assets/components/modals.scss +216 -216
- package/assets/images/icons/fa/500px.svg +6 -6
- package/assets/images/icons/fa/address-book-o.svg +4 -4
- package/assets/images/icons/fa/address-book.svg +3 -3
- package/assets/images/icons/fa/adjust.svg +1 -1
- package/assets/images/icons/fa/adn.svg +1 -1
- package/assets/images/icons/fa/align-center.svg +2 -2
- package/assets/images/icons/fa/align-justify.svg +2 -2
- package/assets/images/icons/fa/align-left.svg +2 -2
- package/assets/images/icons/fa/align-right.svg +2 -2
- package/assets/images/icons/fa/amazon.svg +5 -5
- package/assets/images/icons/fa/ambulance.svg +3 -3
- package/assets/images/icons/fa/anchor.svg +3 -3
- package/assets/images/icons/fa/android.svg +3 -3
- package/assets/images/icons/fa/angellist.svg +6 -6
- package/assets/images/icons/fa/angle-double-down.svg +2 -2
- package/assets/images/icons/fa/angle-double-left.svg +2 -2
- package/assets/images/icons/fa/angle-double-right.svg +2 -2
- package/assets/images/icons/fa/angle-double-up.svg +2 -2
- package/assets/images/icons/fa/angle-down.svg +1 -1
- package/assets/images/icons/fa/angle-left.svg +1 -1
- package/assets/images/icons/fa/angle-right.svg +1 -1
- package/assets/images/icons/fa/angle-up.svg +1 -1
- package/assets/images/icons/fa/apple.svg +2 -2
- package/assets/images/icons/fa/archive.svg +2 -2
- package/assets/images/icons/fa/area-chart.svg +1 -1
- package/assets/images/icons/fa/arrow-circle-down.svg +2 -2
- package/assets/images/icons/fa/arrow-circle-left.svg +2 -2
- package/assets/images/icons/fa/arrow-circle-o-down.svg +2 -2
- package/assets/images/icons/fa/arrow-circle-o-left.svg +2 -2
- package/assets/images/icons/fa/arrow-circle-o-right.svg +2 -2
- package/assets/images/icons/fa/arrow-circle-o-up.svg +2 -2
- package/assets/images/icons/fa/arrow-circle-right.svg +2 -2
- package/assets/images/icons/fa/arrow-circle-up.svg +2 -2
- package/assets/images/icons/fa/arrow-down.svg +1 -1
- package/assets/images/icons/fa/arrow-left.svg +2 -2
- package/assets/images/icons/fa/arrow-right.svg +1 -1
- package/assets/images/icons/fa/arrow-up.svg +2 -2
- package/assets/images/icons/fa/arrows-alt.svg +3 -3
- package/assets/images/icons/fa/arrows-h.svg +1 -1
- package/assets/images/icons/fa/arrows-v.svg +1 -1
- package/assets/images/icons/fa/arrows.svg +2 -2
- package/assets/images/icons/fa/asl-interpreting.svg +6 -6
- package/assets/images/icons/fa/assistive-listening-systems.svg +5 -5
- package/assets/images/icons/fa/asterisk.svg +2 -2
- package/assets/images/icons/fa/at.svg +4 -4
- package/assets/images/icons/fa/audio-description.svg +5 -5
- package/assets/images/icons/fa/automobile.svg +3 -3
- package/assets/images/icons/fa/backward.svg +1 -1
- package/assets/images/icons/fa/balance-scale.svg +4 -4
- package/assets/images/icons/fa/ban.svg +2 -2
- package/assets/images/icons/fa/bandcamp.svg +1 -1
- package/assets/images/icons/fa/bar-chart-o.svg +1 -1
- package/assets/images/icons/fa/barcode.svg +2 -2
- package/assets/images/icons/fa/bathtub.svg +6 -6
- package/assets/images/icons/fa/battery-0.svg +2 -2
- package/assets/images/icons/fa/battery-1.svg +2 -2
- package/assets/images/icons/fa/battery-2.svg +2 -2
- package/assets/images/icons/fa/battery-3.svg +2 -2
- package/assets/images/icons/fa/battery-4.svg +2 -2
- package/assets/images/icons/fa/beer.svg +1 -1
- package/assets/images/icons/fa/behance-square.svg +3 -3
- package/assets/images/icons/fa/behance.svg +3 -3
- package/assets/images/icons/fa/bell-o.svg +3 -3
- package/assets/images/icons/fa/bell-slash-o.svg +3 -3
- package/assets/images/icons/fa/bell-slash.svg +3 -3
- package/assets/images/icons/fa/bell.svg +2 -2
- package/assets/images/icons/fa/bicycle.svg +4 -4
- package/assets/images/icons/fa/binoculars.svg +2 -2
- package/assets/images/icons/fa/birthday-cake.svg +5 -5
- package/assets/images/icons/fa/bitbucket-square.svg +4 -4
- package/assets/images/icons/fa/bitbucket.svg +4 -4
- package/assets/images/icons/fa/bitcoin.svg +3 -3
- package/assets/images/icons/fa/black-tie.svg +1 -1
- package/assets/images/icons/fa/blind.svg +4 -4
- package/assets/images/icons/fa/bluetooth-b.svg +1 -1
- package/assets/images/icons/fa/bluetooth.svg +2 -2
- package/assets/images/icons/fa/bold.svg +4 -4
- package/assets/images/icons/fa/bomb.svg +4 -4
- package/assets/images/icons/fa/book.svg +4 -4
- package/assets/images/icons/fa/bookmark-o.svg +2 -2
- package/assets/images/icons/fa/bookmark.svg +1 -1
- package/assets/images/icons/fa/braille.svg +7 -7
- package/assets/images/icons/fa/briefcase.svg +2 -2
- package/assets/images/icons/fa/bug.svg +3 -3
- package/assets/images/icons/fa/building-o.svg +10 -10
- package/assets/images/icons/fa/building.svg +8 -8
- package/assets/images/icons/fa/bullhorn.svg +2 -2
- package/assets/images/icons/fa/bullseye.svg +3 -3
- package/assets/images/icons/fa/bus.svg +3 -3
- package/assets/images/icons/fa/buysellads.svg +1 -1
- package/assets/images/icons/fa/cab.svg +3 -3
- package/assets/images/icons/fa/calculator.svg +6 -6
- package/assets/images/icons/fa/calendar-check-o.svg +3 -3
- package/assets/images/icons/fa/calendar-minus-o.svg +3 -3
- package/assets/images/icons/fa/calendar-o.svg +2 -2
- package/assets/images/icons/fa/calendar-plus-o.svg +3 -3
- package/assets/images/icons/fa/calendar-times-o.svg +3 -3
- package/assets/images/icons/fa/calendar.svg +4 -4
- package/assets/images/icons/fa/camera-retro.svg +3 -3
- package/assets/images/icons/fa/camera.svg +2 -2
- package/assets/images/icons/fa/caret-down.svg +1 -1
- package/assets/images/icons/fa/caret-left.svg +1 -1
- package/assets/images/icons/fa/caret-right.svg +1 -1
- package/assets/images/icons/fa/caret-up.svg +1 -1
- package/assets/images/icons/fa/cart-arrow-down.svg +3 -3
- package/assets/images/icons/fa/cart-plus.svg +3 -3
- package/assets/images/icons/fa/cc-amex.svg +9 -9
- package/assets/images/icons/fa/cc-diners-club.svg +3 -3
- package/assets/images/icons/fa/cc-discover.svg +5 -5
- package/assets/images/icons/fa/cc-jcb.svg +4 -4
- package/assets/images/icons/fa/cc-mastercard.svg +11 -11
- package/assets/images/icons/fa/cc-paypal.svg +6 -6
- package/assets/images/icons/fa/cc-stripe.svg +5 -5
- package/assets/images/icons/fa/cc-visa.svg +3 -3
- package/assets/images/icons/fa/cc.svg +4 -4
- package/assets/images/icons/fa/certificate.svg +3 -3
- package/assets/images/icons/fa/chain.svg +4 -4
- package/assets/images/icons/fa/check-circle-o.svg +2 -2
- package/assets/images/icons/fa/check-circle.svg +2 -2
- package/assets/images/icons/fa/check-square-o.svg +3 -3
- package/assets/images/icons/fa/check-square.svg +2 -2
- package/assets/images/icons/fa/check.svg +1 -1
- package/assets/images/icons/fa/chevron-circle-down.svg +2 -2
- package/assets/images/icons/fa/chevron-circle-left.svg +2 -2
- package/assets/images/icons/fa/chevron-circle-right.svg +2 -2
- package/assets/images/icons/fa/chevron-circle-up.svg +2 -2
- package/assets/images/icons/fa/chevron-down.svg +1 -1
- package/assets/images/icons/fa/chevron-left.svg +1 -1
- package/assets/images/icons/fa/chevron-right.svg +1 -1
- package/assets/images/icons/fa/chevron-up.svg +1 -1
- package/assets/images/icons/fa/child.svg +2 -2
- package/assets/images/icons/fa/chrome.svg +2 -2
- package/assets/images/icons/fa/circle-o-notch.svg +2 -2
- package/assets/images/icons/fa/circle-o.svg +2 -2
- package/assets/images/icons/fa/circle-thin.svg +2 -2
- package/assets/images/icons/fa/circle.svg +1 -1
- package/assets/images/icons/fa/clock-o.svg +2 -2
- package/assets/images/icons/fa/clone.svg +2 -2
- package/assets/images/icons/fa/cloud-download.svg +2 -2
- package/assets/images/icons/fa/cloud-upload.svg +2 -2
- package/assets/images/icons/fa/cloud.svg +2 -2
- package/assets/images/icons/fa/cny.svg +2 -2
- package/assets/images/icons/fa/code-fork.svg +3 -3
- package/assets/images/icons/fa/code.svg +2 -2
- package/assets/images/icons/fa/codepen.svg +2 -2
- package/assets/images/icons/fa/codiepie.svg +3 -3
- package/assets/images/icons/fa/coffee.svg +2 -2
- package/assets/images/icons/fa/columns.svg +1 -1
- package/assets/images/icons/fa/comment-o.svg +3 -3
- package/assets/images/icons/fa/comment.svg +2 -2
- package/assets/images/icons/fa/commenting-o.svg +4 -4
- package/assets/images/icons/fa/commenting.svg +3 -3
- package/assets/images/icons/fa/comments-o.svg +4 -4
- package/assets/images/icons/fa/comments.svg +3 -3
- package/assets/images/icons/fa/compass.svg +2 -2
- package/assets/images/icons/fa/compress.svg +2 -2
- package/assets/images/icons/fa/connectdevelop.svg +7 -7
- package/assets/images/icons/fa/contao.svg +3 -3
- package/assets/images/icons/fa/copy.svg +2 -2
- package/assets/images/icons/fa/copyright.svg +3 -3
- package/assets/images/icons/fa/creative-commons.svg +5 -5
- package/assets/images/icons/fa/credit-card-alt.svg +1 -1
- package/assets/images/icons/fa/credit-card.svg +2 -2
- package/assets/images/icons/fa/crop.svg +2 -2
- package/assets/images/icons/fa/crosshairs.svg +3 -3
- package/assets/images/icons/fa/css3.svg +1 -1
- package/assets/images/icons/fa/cube.svg +2 -2
- package/assets/images/icons/fa/cubes.svg +3 -3
- package/assets/images/icons/fa/cut.svg +5 -5
- package/assets/images/icons/fa/cutlery.svg +2 -2
- package/assets/images/icons/fa/dashboard.svg +4 -4
- package/assets/images/icons/fa/dashcube.svg +1 -1
- package/assets/images/icons/fa/database.svg +3 -3
- package/assets/images/icons/fa/deafness.svg +4 -4
- package/assets/images/icons/fa/dedent.svg +3 -3
- package/assets/images/icons/fa/delicious.svg +2 -2
- package/assets/images/icons/fa/desktop.svg +2 -2
- package/assets/images/icons/fa/deviantart.svg +1 -1
- package/assets/images/icons/fa/diamond.svg +2 -2
- package/assets/images/icons/fa/digg.svg +2 -2
- package/assets/images/icons/fa/dollar.svg +4 -4
- package/assets/images/icons/fa/dot-circle-o.svg +2 -2
- package/assets/images/icons/fa/download.svg +2 -2
- package/assets/images/icons/fa/dribbble.svg +4 -4
- package/assets/images/icons/fa/drivers-license-o.svg +4 -4
- package/assets/images/icons/fa/drivers-license.svg +4 -4
- package/assets/images/icons/fa/dropbox.svg +1 -1
- package/assets/images/icons/fa/drupal.svg +5 -5
- package/assets/images/icons/fa/edge.svg +2 -2
- package/assets/images/icons/fa/edit.svg +3 -3
- package/assets/images/icons/fa/eercast.svg +5 -5
- package/assets/images/icons/fa/eject.svg +1 -1
- package/assets/images/icons/fa/ellipsis-h.svg +2 -2
- package/assets/images/icons/fa/ellipsis-v.svg +2 -2
- package/assets/images/icons/fa/envelope-o.svg +3 -3
- package/assets/images/icons/fa/envelope-open-o.svg +4 -4
- package/assets/images/icons/fa/envelope-open.svg +3 -3
- package/assets/images/icons/fa/envelope-square.svg +3 -3
- package/assets/images/icons/fa/envelope.svg +2 -2
- package/assets/images/icons/fa/envira.svg +3 -3
- package/assets/images/icons/fa/eraser.svg +1 -1
- package/assets/images/icons/fa/etsy.svg +3 -3
- package/assets/images/icons/fa/euro.svg +3 -3
- package/assets/images/icons/fa/exchange.svg +2 -2
- package/assets/images/icons/fa/exclamation-circle.svg +2 -2
- package/assets/images/icons/fa/exclamation.svg +1 -1
- package/assets/images/icons/fa/expand.svg +2 -2
- package/assets/images/icons/fa/expeditedssl.svg +5 -5
- package/assets/images/icons/fa/external-link-square.svg +2 -2
- package/assets/images/icons/fa/external-link.svg +2 -2
- package/assets/images/icons/fa/eye-slash.svg +4 -4
- package/assets/images/icons/fa/eye.svg +2 -2
- package/assets/images/icons/fa/eyedropper.svg +2 -2
- package/assets/images/icons/fa/fa.svg +2 -2
- package/assets/images/icons/fa/facebook-f.svg +1 -1
- package/assets/images/icons/fa/facebook-official.svg +1 -1
- package/assets/images/icons/fa/facebook-square.svg +2 -2
- package/assets/images/icons/fa/fast-backward.svg +2 -2
- package/assets/images/icons/fa/fast-forward.svg +2 -2
- package/assets/images/icons/fa/fax.svg +5 -5
- package/assets/images/icons/fa/feed.svg +3 -3
- package/assets/images/icons/fa/female.svg +2 -2
- package/assets/images/icons/fa/fighter-jet.svg +2 -2
- package/assets/images/icons/fa/file-code-o.svg +3 -3
- package/assets/images/icons/fa/file-excel-o.svg +3 -3
- package/assets/images/icons/fa/file-movie-o.svg +2 -2
- package/assets/images/icons/fa/file-o.svg +2 -2
- package/assets/images/icons/fa/file-pdf-o.svg +4 -4
- package/assets/images/icons/fa/file-photo-o.svg +2 -2
- package/assets/images/icons/fa/file-powerpoint-o.svg +2 -2
- package/assets/images/icons/fa/file-sound-o.svg +3 -3
- package/assets/images/icons/fa/file-text-o.svg +3 -3
- package/assets/images/icons/fa/file-text.svg +2 -2
- package/assets/images/icons/fa/file-word-o.svg +3 -3
- package/assets/images/icons/fa/file-zip-o.svg +3 -3
- package/assets/images/icons/fa/file.svg +1 -1
- package/assets/images/icons/fa/film.svg +5 -5
- package/assets/images/icons/fa/filter.svg +1 -1
- package/assets/images/icons/fa/fire-extinguisher.svg +3 -3
- package/assets/images/icons/fa/fire.svg +2 -2
- package/assets/images/icons/fa/firefox.svg +3 -3
- package/assets/images/icons/fa/first-order.svg +4 -4
- package/assets/images/icons/fa/flag-checkered.svg +4 -4
- package/assets/images/icons/fa/flag-o.svg +3 -3
- package/assets/images/icons/fa/flag.svg +2 -2
- package/assets/images/icons/fa/flash.svg +1 -1
- package/assets/images/icons/fa/flask.svg +1 -1
- package/assets/images/icons/fa/flickr.svg +2 -2
- package/assets/images/icons/fa/folder-o.svg +2 -2
- package/assets/images/icons/fa/folder-open-o.svg +3 -3
- package/assets/images/icons/fa/folder-open.svg +2 -2
- package/assets/images/icons/fa/folder.svg +1 -1
- package/assets/images/icons/fa/font.svg +3 -3
- package/assets/images/icons/fa/fonticons.svg +3 -3
- package/assets/images/icons/fa/fort-awesome.svg +4 -4
- package/assets/images/icons/fa/forumbee.svg +2 -2
- package/assets/images/icons/fa/forward.svg +1 -1
- package/assets/images/icons/fa/foursquare.svg +3 -3
- package/assets/images/icons/fa/free-code-camp.svg +7 -7
- package/assets/images/icons/fa/frown-o.svg +3 -3
- package/assets/images/icons/fa/gamepad.svg +3 -3
- package/assets/images/icons/fa/gbp.svg +2 -2
- package/assets/images/icons/fa/ge.svg +6 -6
- package/assets/images/icons/fa/gear.svg +4 -4
- package/assets/images/icons/fa/gears.svg +8 -8
- package/assets/images/icons/fa/genderless.svg +2 -2
- package/assets/images/icons/fa/get-pocket.svg +2 -2
- package/assets/images/icons/fa/gg-circle.svg +2 -2
- package/assets/images/icons/fa/gg.svg +1 -1
- package/assets/images/icons/fa/gift.svg +3 -3
- package/assets/images/icons/fa/git-square.svg +4 -4
- package/assets/images/icons/fa/git.svg +4 -4
- package/assets/images/icons/fa/github-alt.svg +4 -4
- package/assets/images/icons/fa/github-square.svg +5 -5
- package/assets/images/icons/fa/github.svg +5 -5
- package/assets/images/icons/fa/gitlab.svg +1 -1
- package/assets/images/icons/fa/gittip.svg +2 -2
- package/assets/images/icons/fa/glass.svg +1 -1
- package/assets/images/icons/fa/glide-g.svg +4 -4
- package/assets/images/icons/fa/glide.svg +4 -4
- package/assets/images/icons/fa/globe.svg +15 -15
- package/assets/images/icons/fa/google-plus-circle.svg +2 -2
- package/assets/images/icons/fa/google-plus-square.svg +2 -2
- package/assets/images/icons/fa/google-plus.svg +2 -2
- package/assets/images/icons/fa/google-wallet.svg +2 -2
- package/assets/images/icons/fa/google.svg +2 -2
- package/assets/images/icons/fa/grav.svg +7 -7
- package/assets/images/icons/fa/group.svg +4 -4
- package/assets/images/icons/fa/h-square.svg +2 -2
- package/assets/images/icons/fa/hand-grab-o.svg +4 -4
- package/assets/images/icons/fa/hand-lizard-o.svg +3 -3
- package/assets/images/icons/fa/hand-o-down.svg +4 -4
- package/assets/images/icons/fa/hand-o-left.svg +4 -4
- package/assets/images/icons/fa/hand-o-right.svg +4 -4
- package/assets/images/icons/fa/hand-o-up.svg +4 -4
- package/assets/images/icons/fa/hand-peace-o.svg +5 -5
- package/assets/images/icons/fa/hand-pointer-o.svg +4 -4
- package/assets/images/icons/fa/hand-scissors-o.svg +5 -5
- package/assets/images/icons/fa/hand-spock-o.svg +4 -4
- package/assets/images/icons/fa/hand-stop-o.svg +3 -3
- package/assets/images/icons/fa/handshake-o.svg +5 -5
- package/assets/images/icons/fa/hashtag.svg +3 -3
- package/assets/images/icons/fa/hdd-o.svg +3 -3
- package/assets/images/icons/fa/header.svg +5 -5
- package/assets/images/icons/fa/headphones.svg +3 -3
- package/assets/images/icons/fa/heart-o.svg +3 -3
- package/assets/images/icons/fa/heart.svg +2 -2
- package/assets/images/icons/fa/heartbeat.svg +3 -3
- package/assets/images/icons/fa/history.svg +3 -3
- package/assets/images/icons/fa/home.svg +2 -2
- package/assets/images/icons/fa/hospital-o.svg +8 -8
- package/assets/images/icons/fa/hotel.svg +2 -2
- package/assets/images/icons/fa/hourglass-1.svg +2 -2
- package/assets/images/icons/fa/hourglass-2.svg +2 -2
- package/assets/images/icons/fa/hourglass-3.svg +3 -3
- package/assets/images/icons/fa/hourglass-o.svg +3 -3
- package/assets/images/icons/fa/hourglass.svg +3 -3
- package/assets/images/icons/fa/houzz.svg +1 -1
- package/assets/images/icons/fa/html5.svg +1 -1
- package/assets/images/icons/fa/i-cursor.svg +1 -1
- package/assets/images/icons/fa/id-badge.svg +3 -3
- package/assets/images/icons/fa/imdb.svg +4 -4
- package/assets/images/icons/fa/inbox.svg +2 -2
- package/assets/images/icons/fa/indent.svg +3 -3
- package/assets/images/icons/fa/industry.svg +1 -1
- package/assets/images/icons/fa/info-circle.svg +2 -2
- package/assets/images/icons/fa/info.svg +2 -2
- package/assets/images/icons/fa/instagram.svg +4 -4
- package/assets/images/icons/fa/institution.svg +2 -2
- package/assets/images/icons/fa/internet-explorer.svg +3 -3
- package/assets/images/icons/fa/intersex.svg +3 -3
- package/assets/images/icons/fa/ioxhost.svg +3 -3
- package/assets/images/icons/fa/italic.svg +2 -2
- package/assets/images/icons/fa/joomla.svg +5 -5
- package/assets/images/icons/fa/jsfiddle.svg +3 -3
- package/assets/images/icons/fa/key.svg +3 -3
- package/assets/images/icons/fa/keyboard-o.svg +5 -5
- package/assets/images/icons/fa/language.svg +6 -6
- package/assets/images/icons/fa/laptop.svg +2 -2
- package/assets/images/icons/fa/lastfm-square.svg +4 -4
- package/assets/images/icons/fa/lastfm.svg +4 -4
- package/assets/images/icons/fa/leaf.svg +3 -3
- package/assets/images/icons/fa/leanpub.svg +3 -3
- package/assets/images/icons/fa/legal.svg +4 -4
- package/assets/images/icons/fa/lemon-o.svg +4 -4
- package/assets/images/icons/fa/level-down.svg +1 -1
- package/assets/images/icons/fa/level-up.svg +1 -1
- package/assets/images/icons/fa/life-bouy.svg +3 -3
- package/assets/images/icons/fa/lightbulb-o.svg +4 -4
- package/assets/images/icons/fa/line-chart.svg +2 -2
- package/assets/images/icons/fa/linkedin-square.svg +2 -2
- package/assets/images/icons/fa/linkedin.svg +2 -2
- package/assets/images/icons/fa/linode.svg +4 -4
- package/assets/images/icons/fa/linux.svg +16 -16
- package/assets/images/icons/fa/list-alt.svg +5 -5
- package/assets/images/icons/fa/list-ol.svg +4 -4
- package/assets/images/icons/fa/list-ul.svg +3 -3
- package/assets/images/icons/fa/list.svg +5 -5
- package/assets/images/icons/fa/location-arrow.svg +1 -1
- package/assets/images/icons/fa/lock.svg +1 -1
- package/assets/images/icons/fa/long-arrow-down.svg +1 -1
- package/assets/images/icons/fa/long-arrow-left.svg +1 -1
- package/assets/images/icons/fa/long-arrow-right.svg +1 -1
- package/assets/images/icons/fa/long-arrow-up.svg +1 -1
- package/assets/images/icons/fa/low-vision.svg +4 -4
- package/assets/images/icons/fa/magic.svg +2 -2
- package/assets/images/icons/fa/magnet.svg +2 -2
- package/assets/images/icons/fa/mail-forward.svg +2 -2
- package/assets/images/icons/fa/mail-reply-all.svg +2 -2
- package/assets/images/icons/fa/mail-reply.svg +2 -2
- package/assets/images/icons/fa/male.svg +2 -2
- package/assets/images/icons/fa/map-marker.svg +1 -1
- package/assets/images/icons/fa/map-o.svg +2 -2
- package/assets/images/icons/fa/map-pin.svg +2 -2
- package/assets/images/icons/fa/map-signs.svg +2 -2
- package/assets/images/icons/fa/map.svg +2 -2
- package/assets/images/icons/fa/mars-double.svg +4 -4
- package/assets/images/icons/fa/mars-stroke-h.svg +3 -3
- package/assets/images/icons/fa/mars-stroke-v.svg +3 -3
- package/assets/images/icons/fa/mars-stroke.svg +3 -3
- package/assets/images/icons/fa/mars.svg +2 -2
- package/assets/images/icons/fa/maxcdn.svg +1 -1
- package/assets/images/icons/fa/meanpath.svg +3 -3
- package/assets/images/icons/fa/medium.svg +2 -2
- package/assets/images/icons/fa/medkit.svg +2 -2
- package/assets/images/icons/fa/meetup.svg +9 -9
- package/assets/images/icons/fa/meh-o.svg +3 -3
- package/assets/images/icons/fa/mercury.svg +3 -3
- package/assets/images/icons/fa/microchip.svg +5 -5
- package/assets/images/icons/fa/microphone-slash.svg +3 -3
- package/assets/images/icons/fa/microphone.svg +2 -2
- package/assets/images/icons/fa/minus-circle.svg +2 -2
- package/assets/images/icons/fa/minus-square-o.svg +2 -2
- package/assets/images/icons/fa/minus-square.svg +2 -2
- package/assets/images/icons/fa/minus.svg +1 -1
- package/assets/images/icons/fa/mixcloud.svg +4 -4
- package/assets/images/icons/fa/mobile-phone.svg +2 -2
- package/assets/images/icons/fa/modx.svg +1 -1
- package/assets/images/icons/fa/money.svg +2 -2
- package/assets/images/icons/fa/moon-o.svg +2 -2
- package/assets/images/icons/fa/mortar-board.svg +2 -2
- package/assets/images/icons/fa/motorcycle.svg +4 -4
- package/assets/images/icons/fa/mouse-pointer.svg +1 -1
- package/assets/images/icons/fa/music.svg +2 -2
- package/assets/images/icons/fa/navicon.svg +2 -2
- package/assets/images/icons/fa/neuter.svg +2 -2
- package/assets/images/icons/fa/newspaper-o.svg +2 -2
- package/assets/images/icons/fa/object-group.svg +2 -2
- package/assets/images/icons/fa/object-ungroup.svg +2 -2
- package/assets/images/icons/fa/odnoklassniki-square.svg +3 -3
- package/assets/images/icons/fa/odnoklassniki.svg +3 -3
- package/assets/images/icons/fa/opencart.svg +3 -3
- package/assets/images/icons/fa/openid.svg +1 -1
- package/assets/images/icons/fa/opera.svg +3 -3
- package/assets/images/icons/fa/optin-monster.svg +17 -17
- package/assets/images/icons/fa/pagelines.svg +4 -4
- package/assets/images/icons/fa/paint-brush.svg +2 -2
- package/assets/images/icons/fa/paperclip.svg +3 -3
- package/assets/images/icons/fa/paragraph.svg +2 -2
- package/assets/images/icons/fa/paste.svg +2 -2
- package/assets/images/icons/fa/pause-circle-o.svg +2 -2
- package/assets/images/icons/fa/pause-circle.svg +2 -2
- package/assets/images/icons/fa/pause.svg +1 -1
- package/assets/images/icons/fa/paw.svg +4 -4
- package/assets/images/icons/fa/paypal.svg +3 -3
- package/assets/images/icons/fa/pencil-square.svg +2 -2
- package/assets/images/icons/fa/pencil.svg +2 -2
- package/assets/images/icons/fa/percent.svg +3 -3
- package/assets/images/icons/fa/phone-square.svg +4 -4
- package/assets/images/icons/fa/phone.svg +3 -3
- package/assets/images/icons/fa/photo.svg +2 -2
- package/assets/images/icons/fa/pie-chart.svg +1 -1
- package/assets/images/icons/fa/pied-piper-alt.svg +8 -8
- package/assets/images/icons/fa/pied-piper-pp.svg +3 -3
- package/assets/images/icons/fa/pied-piper.svg +3 -3
- package/assets/images/icons/fa/pinterest-p.svg +3 -3
- package/assets/images/icons/fa/pinterest-square.svg +3 -3
- package/assets/images/icons/fa/pinterest.svg +3 -3
- package/assets/images/icons/fa/plane.svg +2 -2
- package/assets/images/icons/fa/play-circle-o.svg +2 -2
- package/assets/images/icons/fa/play-circle.svg +2 -2
- package/assets/images/icons/fa/play.svg +1 -1
- package/assets/images/icons/fa/plug.svg +2 -2
- package/assets/images/icons/fa/plus-circle.svg +2 -2
- package/assets/images/icons/fa/plus-square-o.svg +2 -2
- package/assets/images/icons/fa/plus-square.svg +2 -2
- package/assets/images/icons/fa/plus.svg +1 -1
- package/assets/images/icons/fa/podcast.svg +5 -5
- package/assets/images/icons/fa/power-off.svg +2 -2
- package/assets/images/icons/fa/print.svg +2 -2
- package/assets/images/icons/fa/product-hunt.svg +2 -2
- package/assets/images/icons/fa/puzzle-piece.svg +4 -4
- package/assets/images/icons/fa/qq.svg +4 -4
- package/assets/images/icons/fa/qrcode.svg +2 -2
- package/assets/images/icons/fa/question-circle-o.svg +4 -4
- package/assets/images/icons/fa/question-circle.svg +3 -3
- package/assets/images/icons/fa/question.svg +2 -2
- package/assets/images/icons/fa/quora.svg +3 -3
- package/assets/images/icons/fa/quote-left.svg +2 -2
- package/assets/images/icons/fa/quote-right.svg +2 -2
- package/assets/images/icons/fa/ra.svg +4 -4
- package/assets/images/icons/fa/random.svg +4 -4
- package/assets/images/icons/fa/ravelry.svg +6 -6
- package/assets/images/icons/fa/recycle.svg +4 -4
- package/assets/images/icons/fa/reddit-alien.svg +4 -4
- package/assets/images/icons/fa/reddit-square.svg +4 -4
- package/assets/images/icons/fa/reddit.svg +4 -4
- package/assets/images/icons/fa/refresh.svg +3 -3
- package/assets/images/icons/fa/registered.svg +3 -3
- package/assets/images/icons/fa/remove.svg +2 -2
- package/assets/images/icons/fa/renren.svg +2 -2
- package/assets/images/icons/fa/retweet.svg +3 -3
- package/assets/images/icons/fa/road.svg +2 -2
- package/assets/images/icons/fa/rocket.svg +2 -2
- package/assets/images/icons/fa/rotate-left.svg +2 -2
- package/assets/images/icons/fa/rotate-right.svg +2 -2
- package/assets/images/icons/fa/rss-square.svg +3 -3
- package/assets/images/icons/fa/ruble.svg +2 -2
- package/assets/images/icons/fa/rupee.svg +2 -2
- package/assets/images/icons/fa/safari.svg +6 -6
- package/assets/images/icons/fa/save.svg +2 -2
- package/assets/images/icons/fa/scribd.svg +4 -4
- package/assets/images/icons/fa/search-minus.svg +3 -3
- package/assets/images/icons/fa/search-plus.svg +3 -3
- package/assets/images/icons/fa/search.svg +2 -2
- package/assets/images/icons/fa/sellsy.svg +3 -3
- package/assets/images/icons/fa/send-o.svg +2 -2
- package/assets/images/icons/fa/send.svg +1 -1
- package/assets/images/icons/fa/server.svg +2 -2
- package/assets/images/icons/fa/share-alt-square.svg +2 -2
- package/assets/images/icons/fa/share-alt.svg +2 -2
- package/assets/images/icons/fa/share-square-o.svg +3 -3
- package/assets/images/icons/fa/share-square.svg +2 -2
- package/assets/images/icons/fa/shekel.svg +2 -2
- package/assets/images/icons/fa/shield.svg +2 -2
- package/assets/images/icons/fa/ship.svg +5 -5
- package/assets/images/icons/fa/shirtsinbulk.svg +7 -7
- package/assets/images/icons/fa/shopping-bag.svg +2 -2
- package/assets/images/icons/fa/shopping-basket.svg +4 -4
- package/assets/images/icons/fa/shopping-cart.svg +2 -2
- package/assets/images/icons/fa/shower.svg +6 -6
- package/assets/images/icons/fa/sign-in.svg +2 -2
- package/assets/images/icons/fa/sign-out.svg +2 -2
- package/assets/images/icons/fa/signal.svg +2 -2
- package/assets/images/icons/fa/signing.svg +5 -5
- package/assets/images/icons/fa/simplybuilt.svg +2 -2
- package/assets/images/icons/fa/sitemap.svg +3 -3
- package/assets/images/icons/fa/skyatlas.svg +4 -4
- package/assets/images/icons/fa/skype.svg +4 -4
- package/assets/images/icons/fa/slack.svg +3 -3
- package/assets/images/icons/fa/sliders.svg +2 -2
- package/assets/images/icons/fa/slideshare.svg +4 -4
- package/assets/images/icons/fa/smile-o.svg +3 -3
- package/assets/images/icons/fa/snapchat-ghost.svg +3 -3
- package/assets/images/icons/fa/snapchat-square.svg +4 -4
- package/assets/images/icons/fa/snapchat.svg +4 -4
- package/assets/images/icons/fa/snowflake-o.svg +5 -5
- package/assets/images/icons/fa/soccer-ball-o.svg +2 -2
- package/assets/images/icons/fa/sort-alpha-asc.svg +3 -3
- package/assets/images/icons/fa/sort-alpha-desc.svg +3 -3
- package/assets/images/icons/fa/sort-amount-asc.svg +3 -3
- package/assets/images/icons/fa/sort-amount-desc.svg +3 -3
- package/assets/images/icons/fa/sort-down.svg +1 -1
- package/assets/images/icons/fa/sort-numeric-asc.svg +3 -3
- package/assets/images/icons/fa/sort-numeric-desc.svg +3 -3
- package/assets/images/icons/fa/sort-up.svg +1 -1
- package/assets/images/icons/fa/soundcloud.svg +7 -7
- package/assets/images/icons/fa/space-shuttle.svg +3 -3
- package/assets/images/icons/fa/spinner.svg +4 -4
- package/assets/images/icons/fa/spoon.svg +1 -1
- package/assets/images/icons/fa/spotify.svg +3 -3
- package/assets/images/icons/fa/square-o.svg +2 -2
- package/assets/images/icons/fa/square.svg +1 -1
- package/assets/images/icons/fa/stack-exchange.svg +2 -2
- package/assets/images/icons/fa/stack-overflow.svg +1 -1
- package/assets/images/icons/fa/star-half-empty.svg +2 -2
- package/assets/images/icons/fa/star-half.svg +1 -1
- package/assets/images/icons/fa/star-o.svg +2 -2
- package/assets/images/icons/fa/star.svg +2 -2
- package/assets/images/icons/fa/steam-square.svg +4 -4
- package/assets/images/icons/fa/steam.svg +3 -3
- package/assets/images/icons/fa/step-backward.svg +1 -1
- package/assets/images/icons/fa/step-forward.svg +1 -1
- package/assets/images/icons/fa/stethoscope.svg +3 -3
- package/assets/images/icons/fa/sticky-note-o.svg +2 -2
- package/assets/images/icons/fa/sticky-note.svg +1 -1
- package/assets/images/icons/fa/stop-circle-o.svg +2 -2
- package/assets/images/icons/fa/stop-circle.svg +2 -2
- package/assets/images/icons/fa/stop.svg +1 -1
- package/assets/images/icons/fa/street-view.svg +4 -4
- package/assets/images/icons/fa/strikethrough.svg +3 -3
- package/assets/images/icons/fa/stumbleupon-circle.svg +3 -3
- package/assets/images/icons/fa/stumbleupon.svg +2 -2
- package/assets/images/icons/fa/subscript.svg +3 -3
- package/assets/images/icons/fa/subway.svg +2 -2
- package/assets/images/icons/fa/suitcase.svg +2 -2
- package/assets/images/icons/fa/sun-o.svg +3 -3
- package/assets/images/icons/fa/superpowers.svg +2 -2
- package/assets/images/icons/fa/superscript.svg +3 -3
- package/assets/images/icons/fa/table.svg +5 -5
- package/assets/images/icons/fa/tablet.svg +2 -2
- package/assets/images/icons/fa/tag.svg +2 -2
- package/assets/images/icons/fa/tags.svg +2 -2
- package/assets/images/icons/fa/tasks.svg +2 -2
- package/assets/images/icons/fa/telegram.svg +2 -2
- package/assets/images/icons/fa/tencent-weibo.svg +3 -3
- package/assets/images/icons/fa/terminal.svg +2 -2
- package/assets/images/icons/fa/text-height.svg +4 -4
- package/assets/images/icons/fa/text-width.svg +5 -5
- package/assets/images/icons/fa/th-large.svg +2 -2
- package/assets/images/icons/fa/th-list.svg +3 -3
- package/assets/images/icons/fa/th.svg +4 -4
- package/assets/images/icons/fa/themeisle.svg +8 -8
- package/assets/images/icons/fa/thermometer-0.svg +2 -2
- package/assets/images/icons/fa/thermometer-1.svg +3 -3
- package/assets/images/icons/fa/thermometer-2.svg +3 -3
- package/assets/images/icons/fa/thermometer-3.svg +3 -3
- package/assets/images/icons/fa/thermometer-4.svg +3 -3
- package/assets/images/icons/fa/thumb-tack.svg +2 -2
- package/assets/images/icons/fa/thumbs-down.svg +3 -3
- package/assets/images/icons/fa/thumbs-o-down.svg +4 -4
- package/assets/images/icons/fa/thumbs-o-up.svg +4 -4
- package/assets/images/icons/fa/thumbs-up.svg +3 -3
- package/assets/images/icons/fa/ticket.svg +2 -2
- package/assets/images/icons/fa/times-circle-o.svg +3 -3
- package/assets/images/icons/fa/times-circle.svg +2 -2
- package/assets/images/icons/fa/times-rectangle-o.svg +2 -2
- package/assets/images/icons/fa/times-rectangle.svg +2 -2
- package/assets/images/icons/fa/tint.svg +2 -2
- package/assets/images/icons/fa/toggle-down.svg +2 -2
- package/assets/images/icons/fa/toggle-left.svg +2 -2
- package/assets/images/icons/fa/toggle-off.svg +3 -3
- package/assets/images/icons/fa/toggle-on.svg +2 -2
- package/assets/images/icons/fa/toggle-right.svg +2 -2
- package/assets/images/icons/fa/toggle-up.svg +2 -2
- package/assets/images/icons/fa/trademark.svg +3 -3
- package/assets/images/icons/fa/train.svg +2 -2
- package/assets/images/icons/fa/transgender-alt.svg +4 -4
- package/assets/images/icons/fa/trash-o.svg +3 -3
- package/assets/images/icons/fa/trash.svg +3 -3
- package/assets/images/icons/fa/tree.svg +2 -2
- package/assets/images/icons/fa/trello.svg +2 -2
- package/assets/images/icons/fa/tripadvisor.svg +6 -6
- package/assets/images/icons/fa/trophy.svg +3 -3
- package/assets/images/icons/fa/truck.svg +3 -3
- package/assets/images/icons/fa/tty.svg +5 -5
- package/assets/images/icons/fa/tumblr-square.svg +2 -2
- package/assets/images/icons/fa/tumblr.svg +2 -2
- package/assets/images/icons/fa/turkish-lira.svg +2 -2
- package/assets/images/icons/fa/tv.svg +2 -2
- package/assets/images/icons/fa/twitch.svg +1 -1
- package/assets/images/icons/fa/twitter-square.svg +3 -3
- package/assets/images/icons/fa/twitter.svg +2 -2
- package/assets/images/icons/fa/umbrella.svg +3 -3
- package/assets/images/icons/fa/underline.svg +4 -4
- package/assets/images/icons/fa/universal-access.svg +4 -4
- package/assets/images/icons/fa/unlink.svg +4 -4
- package/assets/images/icons/fa/unlock-alt.svg +2 -2
- package/assets/images/icons/fa/unlock.svg +2 -2
- package/assets/images/icons/fa/unsorted.svg +1 -1
- package/assets/images/icons/fa/upload.svg +2 -2
- package/assets/images/icons/fa/usb.svg +3 -3
- package/assets/images/icons/fa/user-circle-o.svg +2 -2
- package/assets/images/icons/fa/user-circle.svg +2 -2
- package/assets/images/icons/fa/user-md.svg +4 -4
- package/assets/images/icons/fa/user-o.svg +3 -3
- package/assets/images/icons/fa/user-plus.svg +3 -3
- package/assets/images/icons/fa/user-secret.svg +4 -4
- package/assets/images/icons/fa/user-times.svg +3 -3
- package/assets/images/icons/fa/user.svg +2 -2
- package/assets/images/icons/fa/vcard-o.svg +5 -5
- package/assets/images/icons/fa/vcard.svg +4 -4
- package/assets/images/icons/fa/venus-double.svg +4 -4
- package/assets/images/icons/fa/venus-mars.svg +4 -4
- package/assets/images/icons/fa/venus.svg +2 -2
- package/assets/images/icons/fa/viacoin.svg +1 -1
- package/assets/images/icons/fa/viadeo-square.svg +4 -4
- package/assets/images/icons/fa/viadeo.svg +3 -3
- package/assets/images/icons/fa/video-camera.svg +2 -2
- package/assets/images/icons/fa/vimeo-square.svg +2 -2
- package/assets/images/icons/fa/vimeo.svg +2 -2
- package/assets/images/icons/fa/vine.svg +2 -2
- package/assets/images/icons/fa/vk.svg +5 -5
- package/assets/images/icons/fa/volume-control-phone.svg +5 -5
- package/assets/images/icons/fa/volume-down.svg +2 -2
- package/assets/images/icons/fa/volume-off.svg +1 -1
- package/assets/images/icons/fa/volume-up.svg +4 -4
- package/assets/images/icons/fa/warning.svg +2 -2
- package/assets/images/icons/fa/wechat.svg +4 -4
- package/assets/images/icons/fa/weibo.svg +5 -5
- package/assets/images/icons/fa/whatsapp.svg +3 -3
- package/assets/images/icons/fa/wheelchair-alt.svg +3 -3
- package/assets/images/icons/fa/wheelchair.svg +2 -2
- package/assets/images/icons/fa/wifi.svg +3 -3
- package/assets/images/icons/fa/wikipedia-w.svg +3 -3
- package/assets/images/icons/fa/window-maximize.svg +1 -1
- package/assets/images/icons/fa/window-minimize.svg +1 -1
- package/assets/images/icons/fa/window-restore.svg +2 -2
- package/assets/images/icons/fa/windows.svg +1 -1
- package/assets/images/icons/fa/won.svg +3 -3
- package/assets/images/icons/fa/wordpress.svg +5 -5
- package/assets/images/icons/fa/wpbeginner.svg +2 -2
- package/assets/images/icons/fa/wpexplorer.svg +3 -3
- package/assets/images/icons/fa/wpforms.svg +2 -2
- package/assets/images/icons/fa/wrench.svg +2 -2
- package/assets/images/icons/fa/xing-square.svg +2 -2
- package/assets/images/icons/fa/xing.svg +2 -2
- package/assets/images/icons/fa/y-combinator-square.svg +1 -1
- package/assets/images/icons/fa/yahoo.svg +2 -2
- package/assets/images/icons/fa/yc.svg +1 -1
- package/assets/images/icons/fa/yelp.svg +4 -4
- package/assets/images/icons/fa/yoast.svg +2 -2
- package/assets/images/icons/fa/youtube-play.svg +3 -3
- package/assets/images/icons/fa/youtube-square.svg +6 -6
- package/assets/images/icons/fa/youtube.svg +5 -5
- package/assets/site.scss +375 -375
- package/assets/text.scss +8 -0
- package/assets/theme-variables.scss +98 -98
- package/assets/variables.scss +93 -93
- package/fesm2022/dflat-core-web-core-data.mjs +5 -0
- package/fesm2022/dflat-core-web-core-data.mjs.map +1 -1
- package/fesm2022/dflat-core-web-core-model.mjs.map +1 -1
- package/fesm2022/dflat-core-web-core-ux.mjs +547 -68
- package/fesm2022/dflat-core-web-core-ux.mjs.map +1 -1
- package/fesm2022/dflat-core-web-system-data.mjs.map +1 -1
- package/fesm2022/dflat-core-web-system-ux.mjs.map +1 -1
- package/package.json +1 -1
- package/scss/dflat-app.scss +6 -0
- package/types/dflat-core-web-core-data.d.ts +8 -0
- package/types/dflat-core-web-core-model.d.ts +2 -0
- package/types/dflat-core-web-core-ux.d.ts +149 -3
- 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;
|
package/assets/variables.scss
CHANGED
|
@@ -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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"}
|