@dflat-core/web 1.7.2078 → 1.7.2080
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 +169 -169
- package/assets/theme-variables.scss +98 -98
- package/assets/variables.scss +93 -93
- package/fesm2022/dflat-core-web-core-ux.mjs +96 -23
- 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/types/dflat-core-web-core-ux.d.ts +28 -0
|
@@ -9537,6 +9537,10 @@ var PageTabService = class PageTabService {
|
|
|
9537
9537
|
this.router.navigateByUrl(tab.url);
|
|
9538
9538
|
}
|
|
9539
9539
|
close(tab) {
|
|
9540
|
+
if (tab.parentUrl && !this.tabs.some((t) => t.id !== tab.id && t.path === PageTabService.pathOf(tab.parentUrl))) {
|
|
9541
|
+
this.backToParent(tab);
|
|
9542
|
+
return;
|
|
9543
|
+
}
|
|
9540
9544
|
const tabs = this.tabs;
|
|
9541
9545
|
const index = tabs.findIndex((t) => t.id === tab.id);
|
|
9542
9546
|
if (index < 0) return;
|
|
@@ -9552,6 +9556,21 @@ var PageTabService = class PageTabService {
|
|
|
9552
9556
|
this.router.navigateByUrl(neighbour.url);
|
|
9553
9557
|
} else this.router.navigateByUrl("/");
|
|
9554
9558
|
}
|
|
9559
|
+
backToParent(tab) {
|
|
9560
|
+
const parentUrl = tab.parentUrl;
|
|
9561
|
+
if (tab.id === this.activeId) {
|
|
9562
|
+
this.router.navigateByUrl(parentUrl);
|
|
9563
|
+
return;
|
|
9564
|
+
}
|
|
9565
|
+
this.destroyHandle(tab.id);
|
|
9566
|
+
const parent = {
|
|
9567
|
+
id: tab.id,
|
|
9568
|
+
path: PageTabService.pathOf(parentUrl),
|
|
9569
|
+
url: parentUrl,
|
|
9570
|
+
title: tab.parentTitle || this.titleOf(PageTabService.pathOf(parentUrl))
|
|
9571
|
+
};
|
|
9572
|
+
this.tabs$.next(this.tabs.map((t) => t.id === tab.id ? parent : t));
|
|
9573
|
+
}
|
|
9555
9574
|
move(id, position) {
|
|
9556
9575
|
const tabs = [...this.tabs];
|
|
9557
9576
|
const from = tabs.findIndex((t) => t.id === id);
|
|
@@ -9577,7 +9596,11 @@ var PageTabService = class PageTabService {
|
|
|
9577
9596
|
id: this.nextId++,
|
|
9578
9597
|
path: t.path,
|
|
9579
9598
|
url: t.url || t.path,
|
|
9580
|
-
title: t.title || t.path
|
|
9599
|
+
title: t.title || t.path,
|
|
9600
|
+
...t.parentUrl ? {
|
|
9601
|
+
parentUrl: t.parentUrl,
|
|
9602
|
+
parentTitle: t.parentTitle
|
|
9603
|
+
} : {}
|
|
9581
9604
|
}));
|
|
9582
9605
|
if (tabs.length > 0) this.tabs$.next(tabs);
|
|
9583
9606
|
}
|
|
@@ -9586,7 +9609,9 @@ var PageTabService = class PageTabService {
|
|
|
9586
9609
|
localStorage.setItem(PageTabService.storageKey, JSON.stringify(tabs.map((t) => ({
|
|
9587
9610
|
path: t.path,
|
|
9588
9611
|
url: t.url,
|
|
9589
|
-
title: t.title
|
|
9612
|
+
title: t.title,
|
|
9613
|
+
parentUrl: t.parentUrl,
|
|
9614
|
+
parentTitle: t.parentTitle
|
|
9590
9615
|
}))));
|
|
9591
9616
|
} catch {}
|
|
9592
9617
|
}
|
|
@@ -9670,16 +9695,22 @@ var PageTabService = class PageTabService {
|
|
|
9670
9695
|
id: this.toId ?? this.nextId++,
|
|
9671
9696
|
path,
|
|
9672
9697
|
url,
|
|
9673
|
-
|
|
9698
|
+
...this.titlesOf(path, menuTitle)
|
|
9674
9699
|
};
|
|
9675
9700
|
tabs.push(tab);
|
|
9676
|
-
} else {
|
|
9677
|
-
const
|
|
9701
|
+
} else if (tab.path !== path) {
|
|
9702
|
+
const { parentUrl, parentTitle, ...previous } = tab;
|
|
9678
9703
|
tab = {
|
|
9679
|
-
...
|
|
9704
|
+
...previous,
|
|
9680
9705
|
path,
|
|
9681
9706
|
url,
|
|
9682
|
-
|
|
9707
|
+
...this.titlesOf(path, menuTitle, tab)
|
|
9708
|
+
};
|
|
9709
|
+
tabs[tabs.findIndex((t) => t.id === tab.id)] = tab;
|
|
9710
|
+
} else {
|
|
9711
|
+
tab = {
|
|
9712
|
+
...tab,
|
|
9713
|
+
url
|
|
9683
9714
|
};
|
|
9684
9715
|
tabs[tabs.findIndex((t) => t.id === tab.id)] = tab;
|
|
9685
9716
|
}
|
|
@@ -9700,6 +9731,29 @@ var PageTabService = class PageTabService {
|
|
|
9700
9731
|
if (handle?.componentRef) handle.componentRef.destroy();
|
|
9701
9732
|
this.handles.delete(id);
|
|
9702
9733
|
}
|
|
9734
|
+
titlesOf(path, menuTitle, previous) {
|
|
9735
|
+
const detail = menuTitle ? null : PageTabService.detailOf(path);
|
|
9736
|
+
if (!detail) return { title: menuTitle || this.titleOf(path) };
|
|
9737
|
+
const fromList = previous?.path === detail.parentPath;
|
|
9738
|
+
const parentTitle = fromList ? previous.title : this.titleOf(detail.parentPath);
|
|
9739
|
+
return {
|
|
9740
|
+
title: PageTabService.detailTitle(parentTitle, detail.id),
|
|
9741
|
+
parentUrl: fromList ? previous.url : detail.parentPath,
|
|
9742
|
+
parentTitle
|
|
9743
|
+
};
|
|
9744
|
+
}
|
|
9745
|
+
static detailOf(path) {
|
|
9746
|
+
const segments = PageTabService.pathOf(path).split("/").filter((s) => s);
|
|
9747
|
+
const last = segments[segments.length - 1];
|
|
9748
|
+
if (segments.length < 2 || !/^-?\d+$/.test(last ?? "")) return null;
|
|
9749
|
+
return {
|
|
9750
|
+
parentPath: "/" + segments.slice(0, -1).join("/"),
|
|
9751
|
+
id: Number(last)
|
|
9752
|
+
};
|
|
9753
|
+
}
|
|
9754
|
+
static detailTitle(parentTitle, id) {
|
|
9755
|
+
return `${parentTitle} (${id > 0 ? id : "nouveau"})`;
|
|
9756
|
+
}
|
|
9703
9757
|
titleOf(path) {
|
|
9704
9758
|
if (path === "" || path === "/") return "Accueil";
|
|
9705
9759
|
const item = PageTabService.findMenuItem(this.menuItems, path);
|
|
@@ -10076,6 +10130,9 @@ var PageTabsComponent = class PageTabsComponent {
|
|
|
10076
10130
|
this.menuOpen = false;
|
|
10077
10131
|
this.pageTabs.activate(tab);
|
|
10078
10132
|
}
|
|
10133
|
+
closeTitle(tab) {
|
|
10134
|
+
return tab.parentUrl ? `Revenir à « ${tab.parentTitle} »` : "Fermer l'onglet";
|
|
10135
|
+
}
|
|
10079
10136
|
onClose(tab, event) {
|
|
10080
10137
|
event.stopPropagation();
|
|
10081
10138
|
this.pageTabs.close(tab);
|
|
@@ -10182,7 +10239,7 @@ var PageTabsComponent = class PageTabsComponent {
|
|
|
10182
10239
|
descendants: true
|
|
10183
10240
|
}],
|
|
10184
10241
|
ngImport: i0,
|
|
10185
|
-
template: "<!-- Onglets des écrans ouverts : clic pour afficher, croix ou clic du milieu pour fermer, glisser-déposer pour déplacer.\r\n Les onglets qui ne tiennent pas dans la barre sont masqués et listés dans un menu déroulant. -->\r\n<div #frame class=\"page-tabs-frame\" [class.narrow]=\"narrow\">\r\n <div #strip class=\"page-tabs\" role=\"tablist\" aria-label=\"Ecrans ouverts\">\r\n @for (tab of pageTabs.tabs$ | async; track tab.id; let index = $index) {\r\n <div class=\"page-tab\" role=\"tab\" tabindex=\"0\" draggable=\"true\"\r\n [attr.data-tab-id]=\"tab.id\"\r\n [attr.aria-hidden]=\"isHidden(tab) ? true : null\"\r\n [class.hidden-tab]=\"isHidden(tab)\"\r\n [class.active]=\"tab.id === pageTabs.activeId\"\r\n [class.dragging]=\"tab.id === draggedId\"\r\n [class.drop-before]=\"dropIndex === index && dropBefore && !isDragged(index)\"\r\n [class.drop-after]=\"dropIndex === index && !dropBefore && !isDragged(index)\"\r\n [attr.aria-selected]=\"tab.id === pageTabs.activeId\"\r\n [title]=\"tab.title\"\r\n (click)=\"onSelect(tab)\"\r\n (keydown.enter)=\"onSelect(tab)\"\r\n (auxclick)=\"onAuxClick(tab, $event)\"\r\n (dragstart)=\"onDragStart(tab, $event)\"\r\n (dragover)=\"onDragOver(index, $event)\"\r\n (drop)=\"onDrop($event)\"\r\n (dragend)=\"onDragEnd()\">\r\n <span class=\"page-tab-title\">{{ tab.title }}</span>\r\n <button type=\"button\" class=\"page-tab-close\" title=\"
|
|
10242
|
+
template: "<!-- Onglets des écrans ouverts : clic pour afficher, croix ou clic du milieu pour fermer, glisser-déposer pour déplacer.\r\n Les onglets qui ne tiennent pas dans la barre sont masqués et listés dans un menu déroulant. -->\r\n<div #frame class=\"page-tabs-frame\" [class.narrow]=\"narrow\">\r\n <div #strip class=\"page-tabs\" role=\"tablist\" aria-label=\"Ecrans ouverts\">\r\n @for (tab of pageTabs.tabs$ | async; track tab.id; let index = $index) {\r\n <div class=\"page-tab\" role=\"tab\" tabindex=\"0\" draggable=\"true\"\r\n [attr.data-tab-id]=\"tab.id\"\r\n [attr.aria-hidden]=\"isHidden(tab) ? true : null\"\r\n [class.hidden-tab]=\"isHidden(tab)\"\r\n [class.active]=\"tab.id === pageTabs.activeId\"\r\n [class.dragging]=\"tab.id === draggedId\"\r\n [class.drop-before]=\"dropIndex === index && dropBefore && !isDragged(index)\"\r\n [class.drop-after]=\"dropIndex === index && !dropBefore && !isDragged(index)\"\r\n [attr.aria-selected]=\"tab.id === pageTabs.activeId\"\r\n [title]=\"tab.title\"\r\n (click)=\"onSelect(tab)\"\r\n (keydown.enter)=\"onSelect(tab)\"\r\n (auxclick)=\"onAuxClick(tab, $event)\"\r\n (dragstart)=\"onDragStart(tab, $event)\"\r\n (dragover)=\"onDragOver(index, $event)\"\r\n (drop)=\"onDrop($event)\"\r\n (dragend)=\"onDragEnd()\">\r\n <span class=\"page-tab-title\">{{ tab.title }}</span>\r\n <button type=\"button\" class=\"page-tab-close\" [title]=\"closeTitle(tab)\" [attr.aria-label]=\"closeTitle(tab)\"\r\n draggable=\"false\" (click)=\"onClose(tab, $event)\">\r\n <i class=\"fa fa-times\"></i>\r\n </button>\r\n </div>\r\n }\r\n </div>\r\n\r\n @if (hiddenIds.size > 0) {\r\n <div class=\"page-tabs-more\">\r\n <button type=\"button\" class=\"page-tabs-more-button\" [class.open]=\"menuOpen\"\r\n [title]=\"narrow ? 'Écrans ouverts' : hiddenIds.size + ' onglet(s) masqué(s)'\" aria-haspopup=\"menu\" [attr.aria-expanded]=\"menuOpen\"\r\n (click)=\"toggleMenu($event)\">\r\n <i class=\"fa fa-chevron-down\"></i>\r\n </button>\r\n @if (menuOpen) {\r\n <ul class=\"page-tabs-menu\" role=\"menu\">\r\n @for (tab of hiddenTabs; track tab.id) {\r\n <li class=\"page-tabs-menu-item\" role=\"menuitem\" tabindex=\"0\"\r\n [class.active]=\"tab.id === pageTabs.activeId\"\r\n (click)=\"onSelect(tab)\" (keydown.enter)=\"onSelect(tab)\">\r\n <span class=\"page-tab-title\">{{ tab.title }}</span>\r\n <button type=\"button\" class=\"page-tab-close\" [title]=\"closeTitle(tab)\" [attr.aria-label]=\"closeTitle(tab)\"\r\n (click)=\"onClose(tab, $event)\">\r\n <i class=\"fa fa-times\"></i>\r\n </button>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n </div>\r\n }\r\n</div>\r\n",
|
|
10186
10243
|
styles: [".home-page{font-family:Open sans,sans-serif;background:#fff;-webkit-font-smoothing:antialiased;height:100%;width:100%;padding:16px}.main-container{margin:0 50px}.main-container-modal{width:calc(100% - 50px);margin:10px 25px 0}.moyen-titre{font-weight:700;font-size:24px;color:#4d5a81;margin:8px 0;border-bottom:solid 1px #DBE4FF}.grand-titre{font-weight:700;font-size:28px;color:#4d5a81;margin:0 0 8px}.petit-titre{font-weight:700;font-size:16px;color:#4d5a81;margin:0 0 8px}.petit-titre.underlined{border-bottom:solid 1px #4D5A81}.paragraph{padding:0 15px}.paragraph-highlight{padding:5px 15px 0 12px;border-left:5px solid #8EA7F8;border-bottom:1px solid #DBE4FF;border-top:1px solid #DBE4FF;border-right:1px solid #DBE4FF;background-color:#f7faff}.highlight{background-color:#f7faff;border:1px solid #DBE4FF;border-radius:5px;padding:15px;color:#3c5dc4;margin:0 0 16px}.highlight p{margin-bottom:0}.highlight:before{position:relative;display:block;float:left;width:24px;height:24px;content:\" \";background-size:24px 24px;-webkit-background-size:24px 24px;background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"53.294\" height=\"50.629\" viewBox=\"0 0 53.294 50.629\">%0D%0A <path id=\"allerg\\e8ne\" d=\"M830.494,25.793l-5.814,6.783.727,8.963-8.721,1.938-4.6,7.752L803.847,47.6l-8.236,3.634-4.6-7.51-8.721-1.938.727-8.963L777.2,26.035l5.814-6.783-.727-8.963,8.721-1.938L795.61.6l8.236,3.634L812.083.6l4.6,7.752,8.721,1.938-.727,8.963Zm-24.467,2.422V13.681h-4.845V28.216Zm0,9.69V33.06h-4.845v4.845Z\" transform=\"translate(-777.2 -0.6)\"/>%0D%0A</svg>%0D%0A');background-repeat:no-repeat;margin:0 8px 24px 0;filter:invert(31%) sepia(51%) saturate(1323%) hue-rotate(199deg) brightness(99%) contrast(94%)}.notification{background-color:#dbe4ff;border:1px solid #C4D0F9;border-radius:5px;color:#4d5a81;margin:16px;padding:5px 15px;text-align:justify}.notification:before{position:relative;display:block;float:left;width:24px;height:24px;content:\" \";background-size:24px 24px;-webkit-background-size:24px 24px;background-image:url('data:image/svg+xml,<svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"fas\" data-icon=\"info-circle\" class=\"svg-inline--fa fa-info-circle fa-w-16\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path fill=\"currentColor\" d=\"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z\"></path></svg>');background-repeat:no-repeat;margin:0 8px 0 0;filter:invert(31%) sepia(8%) saturate(2329%) hue-rotate(188deg) brightness(103%) contrast(85%)}.notification-text{padding:0 15px 0 30px;font-size:16px}:host{display:block;flex:1 1 0;min-width:0;height:50px;margin-left:16px}.page-tabs-frame{display:flex;align-items:center;height:100%}.page-tabs{position:relative;flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:2px;height:100%;overflow:hidden}.page-tab{position:relative;display:flex;align-items:center;gap:6px;flex-shrink:0;min-width:90px;max-width:220px;height:30px;padding:0 6px 0 30px;border-radius:5px;color:#fff;font-size:12.5px;cursor:pointer;-webkit-user-select:none;user-select:none}.page-tab:hover{background:#5272d3}.page-tab:focus-visible{outline:2px solid #ffffff;outline-offset:-2px}.page-tab.active{background:#6684e0;font-weight:600}.page-tab.hidden-tab{position:absolute;left:0;top:0;visibility:hidden;pointer-events:none}.page-tab:hover .page-tab-close,.page-tab:focus-visible .page-tab-close{visibility:visible}.page-tab.dragging{opacity:.5}.page-tab.drop-before:before,.page-tab.drop-after:after{content:\"\";position:absolute;top:4px;bottom:4px;width:3px;border-radius:2px;background:#ffd54f}.page-tab.drop-before:before{left:-3px}.page-tab.drop-after:after{right:-3px}.page-tab-title{flex:1 1 auto;text-align:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.page-tab-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px;padding:0;border:0;border-radius:3px;background:none;color:inherit;font-size:11px;opacity:.7;visibility:hidden;cursor:pointer}.page-tab-close:hover{opacity:1;background:#fff3}.page-tabs-more{position:relative;flex-shrink:0;margin:0 8px 0 12px}.page-tabs-more-button{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:0;border-radius:5px;background:#6684e0;color:#fff;font-size:12px;cursor:pointer}.page-tabs-more-button i{display:block;line-height:1;transform:translateY(-1px)}.page-tabs-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:3000;min-width:200px;max-width:320px;max-height:60vh;margin:0;padding:4px 0;overflow-y:auto;list-style:none;background:#4465c9;border-radius:5px;box-shadow:0 4px 14px #0003}.page-tabs-menu-item{display:flex;align-items:center;gap:8px;padding:6px 8px 6px 12px;color:#fff;font-size:12.5px;cursor:pointer}.page-tabs-menu-item .page-tab-title{text-align:left}.page-tabs-menu-item .page-tab-close{color:#fff}.page-tabs-menu-item:hover,.page-tabs-menu-item:focus-visible{background:#5272d3;outline:none}.page-tabs-menu-item:hover .page-tab-close,.page-tabs-menu-item:focus-visible .page-tab-close{visibility:visible}.page-tabs-frame.narrow{justify-content:flex-end}.page-tabs-frame.narrow .page-tabs{flex:0 0 0;overflow:hidden}.page-tabs-menu-item.active .page-tab-title{font-weight:600}\n"],
|
|
10187
10244
|
dependencies: [{
|
|
10188
10245
|
kind: "pipe",
|
|
@@ -10204,7 +10261,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
10204
10261
|
selector: "alg-page-tabs",
|
|
10205
10262
|
changeDetection: ChangeDetectionStrategy.Eager,
|
|
10206
10263
|
standalone: false,
|
|
10207
|
-
template: "<!-- Onglets des écrans ouverts : clic pour afficher, croix ou clic du milieu pour fermer, glisser-déposer pour déplacer.\r\n Les onglets qui ne tiennent pas dans la barre sont masqués et listés dans un menu déroulant. -->\r\n<div #frame class=\"page-tabs-frame\" [class.narrow]=\"narrow\">\r\n <div #strip class=\"page-tabs\" role=\"tablist\" aria-label=\"Ecrans ouverts\">\r\n @for (tab of pageTabs.tabs$ | async; track tab.id; let index = $index) {\r\n <div class=\"page-tab\" role=\"tab\" tabindex=\"0\" draggable=\"true\"\r\n [attr.data-tab-id]=\"tab.id\"\r\n [attr.aria-hidden]=\"isHidden(tab) ? true : null\"\r\n [class.hidden-tab]=\"isHidden(tab)\"\r\n [class.active]=\"tab.id === pageTabs.activeId\"\r\n [class.dragging]=\"tab.id === draggedId\"\r\n [class.drop-before]=\"dropIndex === index && dropBefore && !isDragged(index)\"\r\n [class.drop-after]=\"dropIndex === index && !dropBefore && !isDragged(index)\"\r\n [attr.aria-selected]=\"tab.id === pageTabs.activeId\"\r\n [title]=\"tab.title\"\r\n (click)=\"onSelect(tab)\"\r\n (keydown.enter)=\"onSelect(tab)\"\r\n (auxclick)=\"onAuxClick(tab, $event)\"\r\n (dragstart)=\"onDragStart(tab, $event)\"\r\n (dragover)=\"onDragOver(index, $event)\"\r\n (drop)=\"onDrop($event)\"\r\n (dragend)=\"onDragEnd()\">\r\n <span class=\"page-tab-title\">{{ tab.title }}</span>\r\n <button type=\"button\" class=\"page-tab-close\" title=\"
|
|
10264
|
+
template: "<!-- Onglets des écrans ouverts : clic pour afficher, croix ou clic du milieu pour fermer, glisser-déposer pour déplacer.\r\n Les onglets qui ne tiennent pas dans la barre sont masqués et listés dans un menu déroulant. -->\r\n<div #frame class=\"page-tabs-frame\" [class.narrow]=\"narrow\">\r\n <div #strip class=\"page-tabs\" role=\"tablist\" aria-label=\"Ecrans ouverts\">\r\n @for (tab of pageTabs.tabs$ | async; track tab.id; let index = $index) {\r\n <div class=\"page-tab\" role=\"tab\" tabindex=\"0\" draggable=\"true\"\r\n [attr.data-tab-id]=\"tab.id\"\r\n [attr.aria-hidden]=\"isHidden(tab) ? true : null\"\r\n [class.hidden-tab]=\"isHidden(tab)\"\r\n [class.active]=\"tab.id === pageTabs.activeId\"\r\n [class.dragging]=\"tab.id === draggedId\"\r\n [class.drop-before]=\"dropIndex === index && dropBefore && !isDragged(index)\"\r\n [class.drop-after]=\"dropIndex === index && !dropBefore && !isDragged(index)\"\r\n [attr.aria-selected]=\"tab.id === pageTabs.activeId\"\r\n [title]=\"tab.title\"\r\n (click)=\"onSelect(tab)\"\r\n (keydown.enter)=\"onSelect(tab)\"\r\n (auxclick)=\"onAuxClick(tab, $event)\"\r\n (dragstart)=\"onDragStart(tab, $event)\"\r\n (dragover)=\"onDragOver(index, $event)\"\r\n (drop)=\"onDrop($event)\"\r\n (dragend)=\"onDragEnd()\">\r\n <span class=\"page-tab-title\">{{ tab.title }}</span>\r\n <button type=\"button\" class=\"page-tab-close\" [title]=\"closeTitle(tab)\" [attr.aria-label]=\"closeTitle(tab)\"\r\n draggable=\"false\" (click)=\"onClose(tab, $event)\">\r\n <i class=\"fa fa-times\"></i>\r\n </button>\r\n </div>\r\n }\r\n </div>\r\n\r\n @if (hiddenIds.size > 0) {\r\n <div class=\"page-tabs-more\">\r\n <button type=\"button\" class=\"page-tabs-more-button\" [class.open]=\"menuOpen\"\r\n [title]=\"narrow ? 'Écrans ouverts' : hiddenIds.size + ' onglet(s) masqué(s)'\" aria-haspopup=\"menu\" [attr.aria-expanded]=\"menuOpen\"\r\n (click)=\"toggleMenu($event)\">\r\n <i class=\"fa fa-chevron-down\"></i>\r\n </button>\r\n @if (menuOpen) {\r\n <ul class=\"page-tabs-menu\" role=\"menu\">\r\n @for (tab of hiddenTabs; track tab.id) {\r\n <li class=\"page-tabs-menu-item\" role=\"menuitem\" tabindex=\"0\"\r\n [class.active]=\"tab.id === pageTabs.activeId\"\r\n (click)=\"onSelect(tab)\" (keydown.enter)=\"onSelect(tab)\">\r\n <span class=\"page-tab-title\">{{ tab.title }}</span>\r\n <button type=\"button\" class=\"page-tab-close\" [title]=\"closeTitle(tab)\" [attr.aria-label]=\"closeTitle(tab)\"\r\n (click)=\"onClose(tab, $event)\">\r\n <i class=\"fa fa-times\"></i>\r\n </button>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n </div>\r\n }\r\n</div>\r\n",
|
|
10208
10265
|
styles: [".home-page{font-family:Open sans,sans-serif;background:#fff;-webkit-font-smoothing:antialiased;height:100%;width:100%;padding:16px}.main-container{margin:0 50px}.main-container-modal{width:calc(100% - 50px);margin:10px 25px 0}.moyen-titre{font-weight:700;font-size:24px;color:#4d5a81;margin:8px 0;border-bottom:solid 1px #DBE4FF}.grand-titre{font-weight:700;font-size:28px;color:#4d5a81;margin:0 0 8px}.petit-titre{font-weight:700;font-size:16px;color:#4d5a81;margin:0 0 8px}.petit-titre.underlined{border-bottom:solid 1px #4D5A81}.paragraph{padding:0 15px}.paragraph-highlight{padding:5px 15px 0 12px;border-left:5px solid #8EA7F8;border-bottom:1px solid #DBE4FF;border-top:1px solid #DBE4FF;border-right:1px solid #DBE4FF;background-color:#f7faff}.highlight{background-color:#f7faff;border:1px solid #DBE4FF;border-radius:5px;padding:15px;color:#3c5dc4;margin:0 0 16px}.highlight p{margin-bottom:0}.highlight:before{position:relative;display:block;float:left;width:24px;height:24px;content:\" \";background-size:24px 24px;-webkit-background-size:24px 24px;background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"53.294\" height=\"50.629\" viewBox=\"0 0 53.294 50.629\">%0D%0A <path id=\"allerg\\e8ne\" d=\"M830.494,25.793l-5.814,6.783.727,8.963-8.721,1.938-4.6,7.752L803.847,47.6l-8.236,3.634-4.6-7.51-8.721-1.938.727-8.963L777.2,26.035l5.814-6.783-.727-8.963,8.721-1.938L795.61.6l8.236,3.634L812.083.6l4.6,7.752,8.721,1.938-.727,8.963Zm-24.467,2.422V13.681h-4.845V28.216Zm0,9.69V33.06h-4.845v4.845Z\" transform=\"translate(-777.2 -0.6)\"/>%0D%0A</svg>%0D%0A');background-repeat:no-repeat;margin:0 8px 24px 0;filter:invert(31%) sepia(51%) saturate(1323%) hue-rotate(199deg) brightness(99%) contrast(94%)}.notification{background-color:#dbe4ff;border:1px solid #C4D0F9;border-radius:5px;color:#4d5a81;margin:16px;padding:5px 15px;text-align:justify}.notification:before{position:relative;display:block;float:left;width:24px;height:24px;content:\" \";background-size:24px 24px;-webkit-background-size:24px 24px;background-image:url('data:image/svg+xml,<svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"fas\" data-icon=\"info-circle\" class=\"svg-inline--fa fa-info-circle fa-w-16\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path fill=\"currentColor\" d=\"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z\"></path></svg>');background-repeat:no-repeat;margin:0 8px 0 0;filter:invert(31%) sepia(8%) saturate(2329%) hue-rotate(188deg) brightness(103%) contrast(85%)}.notification-text{padding:0 15px 0 30px;font-size:16px}:host{display:block;flex:1 1 0;min-width:0;height:50px;margin-left:16px}.page-tabs-frame{display:flex;align-items:center;height:100%}.page-tabs{position:relative;flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:2px;height:100%;overflow:hidden}.page-tab{position:relative;display:flex;align-items:center;gap:6px;flex-shrink:0;min-width:90px;max-width:220px;height:30px;padding:0 6px 0 30px;border-radius:5px;color:#fff;font-size:12.5px;cursor:pointer;-webkit-user-select:none;user-select:none}.page-tab:hover{background:#5272d3}.page-tab:focus-visible{outline:2px solid #ffffff;outline-offset:-2px}.page-tab.active{background:#6684e0;font-weight:600}.page-tab.hidden-tab{position:absolute;left:0;top:0;visibility:hidden;pointer-events:none}.page-tab:hover .page-tab-close,.page-tab:focus-visible .page-tab-close{visibility:visible}.page-tab.dragging{opacity:.5}.page-tab.drop-before:before,.page-tab.drop-after:after{content:\"\";position:absolute;top:4px;bottom:4px;width:3px;border-radius:2px;background:#ffd54f}.page-tab.drop-before:before{left:-3px}.page-tab.drop-after:after{right:-3px}.page-tab-title{flex:1 1 auto;text-align:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.page-tab-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px;padding:0;border:0;border-radius:3px;background:none;color:inherit;font-size:11px;opacity:.7;visibility:hidden;cursor:pointer}.page-tab-close:hover{opacity:1;background:#fff3}.page-tabs-more{position:relative;flex-shrink:0;margin:0 8px 0 12px}.page-tabs-more-button{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:0;border-radius:5px;background:#6684e0;color:#fff;font-size:12px;cursor:pointer}.page-tabs-more-button i{display:block;line-height:1;transform:translateY(-1px)}.page-tabs-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:3000;min-width:200px;max-width:320px;max-height:60vh;margin:0;padding:4px 0;overflow-y:auto;list-style:none;background:#4465c9;border-radius:5px;box-shadow:0 4px 14px #0003}.page-tabs-menu-item{display:flex;align-items:center;gap:8px;padding:6px 8px 6px 12px;color:#fff;font-size:12.5px;cursor:pointer}.page-tabs-menu-item .page-tab-title{text-align:left}.page-tabs-menu-item .page-tab-close{color:#fff}.page-tabs-menu-item:hover,.page-tabs-menu-item:focus-visible{background:#5272d3;outline:none}.page-tabs-menu-item:hover .page-tab-close,.page-tabs-menu-item:focus-visible .page-tab-close{visibility:visible}.page-tabs-frame.narrow{justify-content:flex-end}.page-tabs-frame.narrow .page-tabs{flex:0 0 0;overflow:hidden}.page-tabs-menu-item.active .page-tab-title{font-weight:600}\n"]
|
|
10209
10266
|
}]
|
|
10210
10267
|
}],
|
|
@@ -16785,7 +16842,7 @@ var MobileMenuComponent = class MobileMenuComponent {
|
|
|
16785
16842
|
inline: "inline"
|
|
16786
16843
|
},
|
|
16787
16844
|
ngImport: i0,
|
|
16788
|
-
template: "<button type=\"button\" [class.mm-fab]=\"!inline\" [class.mm-inline]=\"inline\" [class.open]=\"open\" (click)=\"toggle()\" [title]=\"open ? 'Fermer le menu' : 'Menu de l\\'écran'\">\
|
|
16845
|
+
template: "<button type=\"button\" [class.mm-fab]=\"!inline\" [class.mm-inline]=\"inline\" [class.open]=\"open\" (click)=\"toggle()\" [title]=\"open ? 'Fermer le menu' : 'Menu de l\\'écran'\">\n <i class=\"fa\" [class.fa-ellipsis-v]=\"!open\" [class.fa-times]=\"open\"></i>\n</button>\n\n<ng-container *ngIf=\"open\">\n <div class=\"mm-scrim\" (click)=\"close()\"></div>\n <div class=\"mm-sheet\" role=\"dialog\" aria-label=\"Menu de l'écran\">\n <div class=\"mm-header\">\n <span class=\"mm-title\">{{ title || 'Menu' }}</span>\n <button type=\"button\" class=\"mm-close\" title=\"Fermer le menu\" aria-label=\"Fermer le menu\" (click)=\"close()\">\n <i class=\"fa fa-times\"></i>\n </button>\n </div>\n\n <ul class=\"mm-list\">\n <li class=\"mm-item\" (click)=\"openNavigation()\"><i class=\"fa fa-bars mm-icon\"></i><span>Menu de l'application</span></li>\n <li class=\"mm-item\" (click)=\"goHome()\"><i class=\"fa fa-home mm-icon\"></i><span>Accueil</span></li>\n </ul>\n\n <ng-container *ngIf=\"visibleActions.length\">\n <div class=\"mm-section\">Actions</div>\n <ul class=\"mm-list\">\n <ng-container *ngFor=\"let a of visibleActions\">\n <li *ngIf=\"{ disabled: (a.disabled$ | async) } as state\" class=\"mm-item\" [class.disabled]=\"state.disabled\" (click)=\"execute(a, state.disabled)\">\n <img class=\"mm-icon mm-action-icon\" [src]=\"getActionImageUrl(a.icon)\" alt=\"\" />\n <span>{{ a.title }}</span>\n </li>\n </ng-container>\n </ul>\n </ng-container>\n\n <ng-container *ngIf=\"facade?.config?.viewChooser as chooser\">\n <div class=\"mm-section\">Affichage</div>\n <ul class=\"mm-list mm-view-menu\" (click)=\"$event.stopPropagation()\">\n <alg-grid-view-menu [chooser]=\"chooser\" [mobile]=\"true\" (done)=\"close()\"></alg-grid-view-menu>\n </ul>\n </ng-container>\n </div>\n</ng-container>\n",
|
|
16789
16846
|
styles: [".home-page{font-family:Open sans,sans-serif;background:#fff;-webkit-font-smoothing:antialiased;height:100%;width:100%;padding:16px}.main-container{margin:0 50px}.main-container-modal{width:calc(100% - 50px);margin:10px 25px 0}.moyen-titre{font-weight:700;font-size:24px;color:#4d5a81;margin:8px 0;border-bottom:solid 1px #DBE4FF}.grand-titre{font-weight:700;font-size:28px;color:#4d5a81;margin:0 0 8px}.petit-titre{font-weight:700;font-size:16px;color:#4d5a81;margin:0 0 8px}.petit-titre.underlined{border-bottom:solid 1px #4D5A81}.paragraph{padding:0 15px}.paragraph-highlight{padding:5px 15px 0 12px;border-left:5px solid #8EA7F8;border-bottom:1px solid #DBE4FF;border-top:1px solid #DBE4FF;border-right:1px solid #DBE4FF;background-color:#f7faff}.highlight{background-color:#f7faff;border:1px solid #DBE4FF;border-radius:5px;padding:15px;color:#3c5dc4;margin:0 0 16px}.highlight p{margin-bottom:0}.highlight:before{position:relative;display:block;float:left;width:24px;height:24px;content:\" \";background-size:24px 24px;-webkit-background-size:24px 24px;background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"53.294\" height=\"50.629\" viewBox=\"0 0 53.294 50.629\">%0D%0A <path id=\"allerg\\e8ne\" d=\"M830.494,25.793l-5.814,6.783.727,8.963-8.721,1.938-4.6,7.752L803.847,47.6l-8.236,3.634-4.6-7.51-8.721-1.938.727-8.963L777.2,26.035l5.814-6.783-.727-8.963,8.721-1.938L795.61.6l8.236,3.634L812.083.6l4.6,7.752,8.721,1.938-.727,8.963Zm-24.467,2.422V13.681h-4.845V28.216Zm0,9.69V33.06h-4.845v4.845Z\" transform=\"translate(-777.2 -0.6)\"/>%0D%0A</svg>%0D%0A');background-repeat:no-repeat;margin:0 8px 24px 0;filter:invert(31%) sepia(51%) saturate(1323%) hue-rotate(199deg) brightness(99%) contrast(94%)}.notification{background-color:#dbe4ff;border:1px solid #C4D0F9;border-radius:5px;color:#4d5a81;margin:16px;padding:5px 15px;text-align:justify}.notification:before{position:relative;display:block;float:left;width:24px;height:24px;content:\" \";background-size:24px 24px;-webkit-background-size:24px 24px;background-image:url('data:image/svg+xml,<svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"fas\" data-icon=\"info-circle\" class=\"svg-inline--fa fa-info-circle fa-w-16\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path fill=\"currentColor\" d=\"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z\"></path></svg>');background-repeat:no-repeat;margin:0 8px 0 0;filter:invert(31%) sepia(8%) saturate(2329%) hue-rotate(188deg) brightness(103%) contrast(85%)}.notification-text{padding:0 15px 0 30px;font-size:16px}.mm-fab{position:fixed;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:1031;width:54px;height:54px;border:none;border-radius:50%;background:var(--orange-algorima, #f59d0f);color:#fff;font-size:20px;box-shadow:0 6px 16px #f59d0f73;cursor:pointer}.mm-fab.open{background:#4465c9;box-shadow:0 6px 16px #0000004d}.mm-inline{display:flex;align-items:center;justify-content:center;width:32px;height:30px;padding:0;border:none;border-radius:5px;background:transparent;color:#fff;font-size:18px;cursor:pointer}.mm-inline:hover,.mm-inline.open{background:#6684e0}.mm-scrim{position:fixed;inset:0;z-index:1029;background:#0f142873}.mm-sheet{position:fixed;inset:0;z-index:3100;overflow-y:auto;padding:0 0 calc(16px + env(safe-area-inset-bottom,0px));background:#fff}.mm-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:8px;height:50px;padding:0 8px 0 18px;padding-top:env(safe-area-inset-top,0px);background:#4465c9;color:#fff}.mm-close{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin-left:auto;border:none;border-radius:5px;background:transparent;color:#fff;font-size:18px;cursor:pointer}.mm-grab{width:40px;height:4px;margin:0 auto 8px;border-radius:2px;background:#dbe4ff}.mm-title{min-width:0;overflow:hidden;font-size:15px;font-weight:600;white-space:nowrap;text-overflow:ellipsis}.mm-section{padding:10px 18px 4px;font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:#9fa9c7}.mm-list{margin:0;padding:0;list-style:none}.mm-item{display:flex;align-items:center;gap:12px;padding:11px 18px;font-size:14px;color:#4d5a81;cursor:pointer}.mm-item:active,.mm-item:hover{background:#ebf0ff}.mm-item.disabled{opacity:.45;cursor:default}.mm-icon{width:18px;text-align:center;color:#4465c9}.mm-action-icon{height:18px}.mm-view-menu ::ng-deep .gvm-item{padding:10px 18px;font-size:14px}\n"],
|
|
16790
16847
|
dependencies: [
|
|
16791
16848
|
{
|
|
@@ -16836,7 +16893,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
16836
16893
|
selector: "alg-mobile-menu",
|
|
16837
16894
|
changeDetection: ChangeDetectionStrategy.Eager,
|
|
16838
16895
|
standalone: false,
|
|
16839
|
-
template: "<button type=\"button\" [class.mm-fab]=\"!inline\" [class.mm-inline]=\"inline\" [class.open]=\"open\" (click)=\"toggle()\" [title]=\"open ? 'Fermer le menu' : 'Menu de l\\'écran'\">\
|
|
16896
|
+
template: "<button type=\"button\" [class.mm-fab]=\"!inline\" [class.mm-inline]=\"inline\" [class.open]=\"open\" (click)=\"toggle()\" [title]=\"open ? 'Fermer le menu' : 'Menu de l\\'écran'\">\n <i class=\"fa\" [class.fa-ellipsis-v]=\"!open\" [class.fa-times]=\"open\"></i>\n</button>\n\n<ng-container *ngIf=\"open\">\n <div class=\"mm-scrim\" (click)=\"close()\"></div>\n <div class=\"mm-sheet\" role=\"dialog\" aria-label=\"Menu de l'écran\">\n <div class=\"mm-header\">\n <span class=\"mm-title\">{{ title || 'Menu' }}</span>\n <button type=\"button\" class=\"mm-close\" title=\"Fermer le menu\" aria-label=\"Fermer le menu\" (click)=\"close()\">\n <i class=\"fa fa-times\"></i>\n </button>\n </div>\n\n <ul class=\"mm-list\">\n <li class=\"mm-item\" (click)=\"openNavigation()\"><i class=\"fa fa-bars mm-icon\"></i><span>Menu de l'application</span></li>\n <li class=\"mm-item\" (click)=\"goHome()\"><i class=\"fa fa-home mm-icon\"></i><span>Accueil</span></li>\n </ul>\n\n <ng-container *ngIf=\"visibleActions.length\">\n <div class=\"mm-section\">Actions</div>\n <ul class=\"mm-list\">\n <ng-container *ngFor=\"let a of visibleActions\">\n <li *ngIf=\"{ disabled: (a.disabled$ | async) } as state\" class=\"mm-item\" [class.disabled]=\"state.disabled\" (click)=\"execute(a, state.disabled)\">\n <img class=\"mm-icon mm-action-icon\" [src]=\"getActionImageUrl(a.icon)\" alt=\"\" />\n <span>{{ a.title }}</span>\n </li>\n </ng-container>\n </ul>\n </ng-container>\n\n <ng-container *ngIf=\"facade?.config?.viewChooser as chooser\">\n <div class=\"mm-section\">Affichage</div>\n <ul class=\"mm-list mm-view-menu\" (click)=\"$event.stopPropagation()\">\n <alg-grid-view-menu [chooser]=\"chooser\" [mobile]=\"true\" (done)=\"close()\"></alg-grid-view-menu>\n </ul>\n </ng-container>\n </div>\n</ng-container>\n",
|
|
16840
16897
|
styles: [".home-page{font-family:Open sans,sans-serif;background:#fff;-webkit-font-smoothing:antialiased;height:100%;width:100%;padding:16px}.main-container{margin:0 50px}.main-container-modal{width:calc(100% - 50px);margin:10px 25px 0}.moyen-titre{font-weight:700;font-size:24px;color:#4d5a81;margin:8px 0;border-bottom:solid 1px #DBE4FF}.grand-titre{font-weight:700;font-size:28px;color:#4d5a81;margin:0 0 8px}.petit-titre{font-weight:700;font-size:16px;color:#4d5a81;margin:0 0 8px}.petit-titre.underlined{border-bottom:solid 1px #4D5A81}.paragraph{padding:0 15px}.paragraph-highlight{padding:5px 15px 0 12px;border-left:5px solid #8EA7F8;border-bottom:1px solid #DBE4FF;border-top:1px solid #DBE4FF;border-right:1px solid #DBE4FF;background-color:#f7faff}.highlight{background-color:#f7faff;border:1px solid #DBE4FF;border-radius:5px;padding:15px;color:#3c5dc4;margin:0 0 16px}.highlight p{margin-bottom:0}.highlight:before{position:relative;display:block;float:left;width:24px;height:24px;content:\" \";background-size:24px 24px;-webkit-background-size:24px 24px;background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"53.294\" height=\"50.629\" viewBox=\"0 0 53.294 50.629\">%0D%0A <path id=\"allerg\\e8ne\" d=\"M830.494,25.793l-5.814,6.783.727,8.963-8.721,1.938-4.6,7.752L803.847,47.6l-8.236,3.634-4.6-7.51-8.721-1.938.727-8.963L777.2,26.035l5.814-6.783-.727-8.963,8.721-1.938L795.61.6l8.236,3.634L812.083.6l4.6,7.752,8.721,1.938-.727,8.963Zm-24.467,2.422V13.681h-4.845V28.216Zm0,9.69V33.06h-4.845v4.845Z\" transform=\"translate(-777.2 -0.6)\"/>%0D%0A</svg>%0D%0A');background-repeat:no-repeat;margin:0 8px 24px 0;filter:invert(31%) sepia(51%) saturate(1323%) hue-rotate(199deg) brightness(99%) contrast(94%)}.notification{background-color:#dbe4ff;border:1px solid #C4D0F9;border-radius:5px;color:#4d5a81;margin:16px;padding:5px 15px;text-align:justify}.notification:before{position:relative;display:block;float:left;width:24px;height:24px;content:\" \";background-size:24px 24px;-webkit-background-size:24px 24px;background-image:url('data:image/svg+xml,<svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"fas\" data-icon=\"info-circle\" class=\"svg-inline--fa fa-info-circle fa-w-16\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path fill=\"currentColor\" d=\"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z\"></path></svg>');background-repeat:no-repeat;margin:0 8px 0 0;filter:invert(31%) sepia(8%) saturate(2329%) hue-rotate(188deg) brightness(103%) contrast(85%)}.notification-text{padding:0 15px 0 30px;font-size:16px}.mm-fab{position:fixed;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:1031;width:54px;height:54px;border:none;border-radius:50%;background:var(--orange-algorima, #f59d0f);color:#fff;font-size:20px;box-shadow:0 6px 16px #f59d0f73;cursor:pointer}.mm-fab.open{background:#4465c9;box-shadow:0 6px 16px #0000004d}.mm-inline{display:flex;align-items:center;justify-content:center;width:32px;height:30px;padding:0;border:none;border-radius:5px;background:transparent;color:#fff;font-size:18px;cursor:pointer}.mm-inline:hover,.mm-inline.open{background:#6684e0}.mm-scrim{position:fixed;inset:0;z-index:1029;background:#0f142873}.mm-sheet{position:fixed;inset:0;z-index:3100;overflow-y:auto;padding:0 0 calc(16px + env(safe-area-inset-bottom,0px));background:#fff}.mm-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:8px;height:50px;padding:0 8px 0 18px;padding-top:env(safe-area-inset-top,0px);background:#4465c9;color:#fff}.mm-close{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin-left:auto;border:none;border-radius:5px;background:transparent;color:#fff;font-size:18px;cursor:pointer}.mm-grab{width:40px;height:4px;margin:0 auto 8px;border-radius:2px;background:#dbe4ff}.mm-title{min-width:0;overflow:hidden;font-size:15px;font-weight:600;white-space:nowrap;text-overflow:ellipsis}.mm-section{padding:10px 18px 4px;font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:#9fa9c7}.mm-list{margin:0;padding:0;list-style:none}.mm-item{display:flex;align-items:center;gap:12px;padding:11px 18px;font-size:14px;color:#4d5a81;cursor:pointer}.mm-item:active,.mm-item:hover{background:#ebf0ff}.mm-item.disabled{opacity:.45;cursor:default}.mm-icon{width:18px;text-align:center;color:#4465c9}.mm-action-icon{height:18px}.mm-view-menu ::ng-deep .gvm-item{padding:10px 18px;font-size:14px}\n"]
|
|
16841
16898
|
}]
|
|
16842
16899
|
}],
|
|
@@ -17282,7 +17339,7 @@ var CustomSortComponent = class CustomSortComponent {
|
|
|
17282
17339
|
isStandalone: true,
|
|
17283
17340
|
selector: "alg-custom-sort",
|
|
17284
17341
|
ngImport: i0,
|
|
17285
|
-
template: "<div class=\"custom-sort\">\
|
|
17342
|
+
template: "<div class=\"custom-sort\">\n <div class=\"custom-sort-level\" *ngFor=\"let level of levels; let i = index\">\n <span class=\"custom-sort-label\">{{ i === 0 ? 'Trier par' : 'Puis par' }}</span>\n <select class=\"form-control\" [(ngModel)]=\"level.property\">\n <option *ngFor=\"let col of sortableColumns(i)\" [value]=\"col.Property\">{{ col.Name || col.Property }}</option>\n </select>\n <select class=\"form-control custom-sort-direction\" [(ngModel)]=\"level.direction\">\n <option value=\"asc\">Croissant</option>\n <option value=\"desc\">Décroissant</option>\n </select>\n <button type=\"button\" class=\"custom-sort-icon\" title=\"Monter\" [disabled]=\"i === 0\" (click)=\"moveLevel(i, -1)\">\n <i class=\"fa fa-arrow-up\"></i>\n </button>\n <button type=\"button\" class=\"custom-sort-icon\" title=\"Descendre\" [disabled]=\"i === levels.length - 1\" (click)=\"moveLevel(i, 1)\">\n <i class=\"fa fa-arrow-down\"></i>\n </button>\n <button type=\"button\" class=\"custom-sort-icon\" title=\"Retirer\" (click)=\"removeLevel(i)\">\n <i class=\"fa fa-times\"></i>\n </button>\n </div>\n <button type=\"button\" class=\"custom-sort-add\" [disabled]=\"sortableColumns(-1).length === 0\" (click)=\"addLevel()\">\n <i class=\"fa fa-plus\"></i> Ajouter un niveau\n </button>\n</div>\n",
|
|
17286
17343
|
styles: [".home-page{font-family:Open sans,sans-serif;background:#fff;-webkit-font-smoothing:antialiased;height:100%;width:100%;padding:16px}.main-container{margin:0 50px}.main-container-modal{width:calc(100% - 50px);margin:10px 25px 0}.moyen-titre{font-weight:700;font-size:24px;color:#4d5a81;margin:8px 0;border-bottom:solid 1px #DBE4FF}.grand-titre{font-weight:700;font-size:28px;color:#4d5a81;margin:0 0 8px}.petit-titre{font-weight:700;font-size:16px;color:#4d5a81;margin:0 0 8px}.petit-titre.underlined{border-bottom:solid 1px #4D5A81}.paragraph{padding:0 15px}.paragraph-highlight{padding:5px 15px 0 12px;border-left:5px solid #8EA7F8;border-bottom:1px solid #DBE4FF;border-top:1px solid #DBE4FF;border-right:1px solid #DBE4FF;background-color:#f7faff}.highlight{background-color:#f7faff;border:1px solid #DBE4FF;border-radius:5px;padding:15px;color:#3c5dc4;margin:0 0 16px}.highlight p{margin-bottom:0}.highlight:before{position:relative;display:block;float:left;width:24px;height:24px;content:\" \";background-size:24px 24px;-webkit-background-size:24px 24px;background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"53.294\" height=\"50.629\" viewBox=\"0 0 53.294 50.629\">%0D%0A <path id=\"allerg\\e8ne\" d=\"M830.494,25.793l-5.814,6.783.727,8.963-8.721,1.938-4.6,7.752L803.847,47.6l-8.236,3.634-4.6-7.51-8.721-1.938.727-8.963L777.2,26.035l5.814-6.783-.727-8.963,8.721-1.938L795.61.6l8.236,3.634L812.083.6l4.6,7.752,8.721,1.938-.727,8.963Zm-24.467,2.422V13.681h-4.845V28.216Zm0,9.69V33.06h-4.845v4.845Z\" transform=\"translate(-777.2 -0.6)\"/>%0D%0A</svg>%0D%0A');background-repeat:no-repeat;margin:0 8px 24px 0;filter:invert(31%) sepia(51%) saturate(1323%) hue-rotate(199deg) brightness(99%) contrast(94%)}.notification{background-color:#dbe4ff;border:1px solid #C4D0F9;border-radius:5px;color:#4d5a81;margin:16px;padding:5px 15px;text-align:justify}.notification:before{position:relative;display:block;float:left;width:24px;height:24px;content:\" \";background-size:24px 24px;-webkit-background-size:24px 24px;background-image:url('data:image/svg+xml,<svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"fas\" data-icon=\"info-circle\" class=\"svg-inline--fa fa-info-circle fa-w-16\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path fill=\"currentColor\" d=\"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z\"></path></svg>');background-repeat:no-repeat;margin:0 8px 0 0;filter:invert(31%) sepia(8%) saturate(2329%) hue-rotate(188deg) brightness(103%) contrast(85%)}.notification-text{padding:0 15px 0 30px;font-size:16px}.custom-sort{padding:12px 16px 4px;color:#3c5dc4;font-size:12.5px}.custom-sort-level{display:flex;align-items:center;gap:6px;margin-bottom:6px}.custom-sort-level select{flex:1 1 auto;min-width:0;height:28px;padding:2px 6px;font-size:12.5px}.custom-sort-level .custom-sort-direction{flex:0 0 120px}.custom-sort-label{flex:0 0 64px}.custom-sort-icon{width:26px;height:26px;padding:0;border:0;border-radius:4px;background:none;color:#3c5dc4;cursor:pointer}.custom-sort-icon:hover:not(:disabled){background:#dbe4ff}.custom-sort-icon:disabled{opacity:.3;cursor:default}.custom-sort-add{margin:4px 0 8px 70px;padding:0;border:0;background:none;color:#3c5dc4;cursor:pointer}.custom-sort-add:disabled{opacity:.4;cursor:default}\n"],
|
|
17287
17344
|
dependencies: [
|
|
17288
17345
|
{
|
|
@@ -17356,7 +17413,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
17356
17413
|
standalone: true,
|
|
17357
17414
|
imports: [CommonModule, FormsModule],
|
|
17358
17415
|
changeDetection: ChangeDetectionStrategy.Eager,
|
|
17359
|
-
template: "<div class=\"custom-sort\">\
|
|
17416
|
+
template: "<div class=\"custom-sort\">\n <div class=\"custom-sort-level\" *ngFor=\"let level of levels; let i = index\">\n <span class=\"custom-sort-label\">{{ i === 0 ? 'Trier par' : 'Puis par' }}</span>\n <select class=\"form-control\" [(ngModel)]=\"level.property\">\n <option *ngFor=\"let col of sortableColumns(i)\" [value]=\"col.Property\">{{ col.Name || col.Property }}</option>\n </select>\n <select class=\"form-control custom-sort-direction\" [(ngModel)]=\"level.direction\">\n <option value=\"asc\">Croissant</option>\n <option value=\"desc\">Décroissant</option>\n </select>\n <button type=\"button\" class=\"custom-sort-icon\" title=\"Monter\" [disabled]=\"i === 0\" (click)=\"moveLevel(i, -1)\">\n <i class=\"fa fa-arrow-up\"></i>\n </button>\n <button type=\"button\" class=\"custom-sort-icon\" title=\"Descendre\" [disabled]=\"i === levels.length - 1\" (click)=\"moveLevel(i, 1)\">\n <i class=\"fa fa-arrow-down\"></i>\n </button>\n <button type=\"button\" class=\"custom-sort-icon\" title=\"Retirer\" (click)=\"removeLevel(i)\">\n <i class=\"fa fa-times\"></i>\n </button>\n </div>\n <button type=\"button\" class=\"custom-sort-add\" [disabled]=\"sortableColumns(-1).length === 0\" (click)=\"addLevel()\">\n <i class=\"fa fa-plus\"></i> Ajouter un niveau\n </button>\n</div>\n",
|
|
17360
17417
|
styles: [".home-page{font-family:Open sans,sans-serif;background:#fff;-webkit-font-smoothing:antialiased;height:100%;width:100%;padding:16px}.main-container{margin:0 50px}.main-container-modal{width:calc(100% - 50px);margin:10px 25px 0}.moyen-titre{font-weight:700;font-size:24px;color:#4d5a81;margin:8px 0;border-bottom:solid 1px #DBE4FF}.grand-titre{font-weight:700;font-size:28px;color:#4d5a81;margin:0 0 8px}.petit-titre{font-weight:700;font-size:16px;color:#4d5a81;margin:0 0 8px}.petit-titre.underlined{border-bottom:solid 1px #4D5A81}.paragraph{padding:0 15px}.paragraph-highlight{padding:5px 15px 0 12px;border-left:5px solid #8EA7F8;border-bottom:1px solid #DBE4FF;border-top:1px solid #DBE4FF;border-right:1px solid #DBE4FF;background-color:#f7faff}.highlight{background-color:#f7faff;border:1px solid #DBE4FF;border-radius:5px;padding:15px;color:#3c5dc4;margin:0 0 16px}.highlight p{margin-bottom:0}.highlight:before{position:relative;display:block;float:left;width:24px;height:24px;content:\" \";background-size:24px 24px;-webkit-background-size:24px 24px;background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"53.294\" height=\"50.629\" viewBox=\"0 0 53.294 50.629\">%0D%0A <path id=\"allerg\\e8ne\" d=\"M830.494,25.793l-5.814,6.783.727,8.963-8.721,1.938-4.6,7.752L803.847,47.6l-8.236,3.634-4.6-7.51-8.721-1.938.727-8.963L777.2,26.035l5.814-6.783-.727-8.963,8.721-1.938L795.61.6l8.236,3.634L812.083.6l4.6,7.752,8.721,1.938-.727,8.963Zm-24.467,2.422V13.681h-4.845V28.216Zm0,9.69V33.06h-4.845v4.845Z\" transform=\"translate(-777.2 -0.6)\"/>%0D%0A</svg>%0D%0A');background-repeat:no-repeat;margin:0 8px 24px 0;filter:invert(31%) sepia(51%) saturate(1323%) hue-rotate(199deg) brightness(99%) contrast(94%)}.notification{background-color:#dbe4ff;border:1px solid #C4D0F9;border-radius:5px;color:#4d5a81;margin:16px;padding:5px 15px;text-align:justify}.notification:before{position:relative;display:block;float:left;width:24px;height:24px;content:\" \";background-size:24px 24px;-webkit-background-size:24px 24px;background-image:url('data:image/svg+xml,<svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"fas\" data-icon=\"info-circle\" class=\"svg-inline--fa fa-info-circle fa-w-16\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path fill=\"currentColor\" d=\"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z\"></path></svg>');background-repeat:no-repeat;margin:0 8px 0 0;filter:invert(31%) sepia(8%) saturate(2329%) hue-rotate(188deg) brightness(103%) contrast(85%)}.notification-text{padding:0 15px 0 30px;font-size:16px}.custom-sort{padding:12px 16px 4px;color:#3c5dc4;font-size:12.5px}.custom-sort-level{display:flex;align-items:center;gap:6px;margin-bottom:6px}.custom-sort-level select{flex:1 1 auto;min-width:0;height:28px;padding:2px 6px;font-size:12.5px}.custom-sort-level .custom-sort-direction{flex:0 0 120px}.custom-sort-label{flex:0 0 64px}.custom-sort-icon{width:26px;height:26px;padding:0;border:0;border-radius:4px;background:none;color:#3c5dc4;cursor:pointer}.custom-sort-icon:hover:not(:disabled){background:#dbe4ff}.custom-sort-icon:disabled{opacity:.3;cursor:default}.custom-sort-add{margin:4px 0 8px 70px;padding:0;border:0;background:none;color:#3c5dc4;cursor:pointer}.custom-sort-add:disabled{opacity:.4;cursor:default}\n"]
|
|
17361
17418
|
}]
|
|
17362
17419
|
}]
|
|
@@ -20075,6 +20132,11 @@ const FilterOperators = {
|
|
|
20075
20132
|
label: "n'est aucune de"
|
|
20076
20133
|
}]
|
|
20077
20134
|
};
|
|
20135
|
+
const EditorOperators = {
|
|
20136
|
+
...FilterOperators,
|
|
20137
|
+
text: [...FilterOperators.text, ...FilterOperators.list],
|
|
20138
|
+
number: [...FilterOperators.number, ...FilterOperators.list]
|
|
20139
|
+
};
|
|
20078
20140
|
var FilterEditorComponent = class FilterEditorComponent {
|
|
20079
20141
|
constructor() {
|
|
20080
20142
|
this.columns = [];
|
|
@@ -20150,7 +20212,18 @@ var FilterEditorComponent = class FilterEditorComponent {
|
|
|
20150
20212
|
return this.columns.find((c) => c.key === key);
|
|
20151
20213
|
}
|
|
20152
20214
|
operatorsOf(condition) {
|
|
20153
|
-
return
|
|
20215
|
+
return EditorOperators[this.columnOf(condition.Property)?.type ?? "text"];
|
|
20216
|
+
}
|
|
20217
|
+
hasKnownValues(condition) {
|
|
20218
|
+
return !!this.columnOf(condition.Property)?.values?.length;
|
|
20219
|
+
}
|
|
20220
|
+
addValue(condition, input) {
|
|
20221
|
+
const value = (input.value ?? "").trim();
|
|
20222
|
+
input.value = "";
|
|
20223
|
+
if (value && !(condition.Values ?? []).includes(value)) condition.Values = [...condition.Values ?? [], value];
|
|
20224
|
+
}
|
|
20225
|
+
removeValue(condition, value) {
|
|
20226
|
+
condition.Values = (condition.Values ?? []).filter((v) => v !== value);
|
|
20154
20227
|
}
|
|
20155
20228
|
hasValue(condition) {
|
|
20156
20229
|
return !ViewFilterNoValueOperators.includes(condition.Operator);
|
|
@@ -20235,7 +20308,7 @@ var FilterEditorComponent = class FilterEditorComponent {
|
|
|
20235
20308
|
summary(group = this.filter) {
|
|
20236
20309
|
return [...group.Conditions.map((c) => {
|
|
20237
20310
|
const column = this.columnOf(c.Property);
|
|
20238
|
-
const operator =
|
|
20311
|
+
const operator = this.operatorsOf(c).find((o) => o.value === c.Operator)?.label ?? c.Operator;
|
|
20239
20312
|
const values = this.isList(c) ? (c.Values ?? []).map((v) => column?.values?.find((x) => x.value === v)?.label ?? v).join(", ") : !this.hasValue(c) ? "" : this.hasSecondValue(c) ? `${c.Value ?? "…"} et ${c.Value2 ?? "…"}` : c.Value ?? "…";
|
|
20240
20313
|
return `${column?.label ?? c.Property} ${operator}${values ? " « " + values + " »" : ""}`;
|
|
20241
20314
|
}), ...(group.Groups ?? []).map((g) => `(${this.summary(g)})`)].join(group.Logic === "or" ? " OU " : " ET ") || "Aucun filtre";
|
|
@@ -20266,8 +20339,8 @@ var FilterEditorComponent = class FilterEditorComponent {
|
|
|
20266
20339
|
panelFields: "panelFields"
|
|
20267
20340
|
},
|
|
20268
20341
|
ngImport: i0,
|
|
20269
|
-
template: "<div class=\"fe\">\n <div class=\"fe-tabs\" role=\"tablist\" *ngIf=\"!section\">\n <button type=\"button\" class=\"fe-tab\" [class.active]=\"tab === 'filters'\" (click)=\"tab = 'filters'\">Filtres</button>\n <button type=\"button\" class=\"fe-tab\" [class.active]=\"tab === 'sort'\" (click)=\"tab = 'sort'\">Tri</button>\n </div>\n\n <div class=\"fe-body\" *ngIf=\"shownTab === 'filters'\">\n <!-- Filtres de l'écran (FilterPanel) : valeurs enregistrées avec la vue, appliquées au FilterPanel. -->\n <div class=\"fe-panel\" *ngIf=\"panelFields.length || shownPanelFields().length\">\n <div class=\"fe-panel-title\">Filtres de l'écran</div>\n <div class=\"fe-panel-field\" *ngFor=\"let field of shownPanelFields(); trackBy: trackKey\">\n <span [title]=\"field.label\">{{ field.label }}</span>\n <ng-container [ngSwitch]=\"field.type\">\n <select *ngSwitchCase=\"'list'\" class=\"form-control\" [ngModel]=\"panelValue(field)\" (ngModelChange)=\"setPanelValue(field, $event)\">\n <option value=\"\">Choisir…</option>\n <option *ngFor=\"let option of field.values\" [value]=\"option.value\">{{ option.label }}</option>\n </select>\n <select *ngSwitchCase=\"'bool'\" class=\"form-control\" [ngModel]=\"panelValue(field)\" (ngModelChange)=\"setPanelValue(field, $event)\">\n <option value=\"\">Choisir…</option>\n <option value=\"true\">Oui</option>\n <option value=\"false\">Non</option>\n </select>\n <input *ngSwitchDefault class=\"form-control\" [type]=\"field.type === 'number' ? 'number' : field.type === 'date' ? 'date' : 'text'\"\n [ngModel]=\"panelValue(field)\" (ngModelChange)=\"setPanelValue(field, $event)\" />\n </ng-container>\n <button type=\"button\" class=\"fe-icon\" title=\"Retirer le filtre de l'écran\" (click)=\"removePanelField(field)\"><i class=\"fa fa-times\"></i></button>\n </div>\n <!-- Ajout d'un filtre de l'écran : les champs du FilterPanel pas encore utilisés. -->\n <div class=\"fe-adds\" *ngIf=\"availablePanelFields().length\">\n <select class=\"form-control fe-add-panel\" [ngModel]=\"''\" (ngModelChange)=\"addPanelField($event)\">\n <option value=\"\">+ Filtre de l'écran</option>\n <option *ngFor=\"let field of availablePanelFields(); trackBy: trackKey\" [value]=\"field.key\">{{ field.label }}</option>\n </select>\n </div>\n </div>\n <div class=\"fe-panel-title\" *ngIf=\"panelFields.length || shownPanelFields().length\">Filtre additionnel</div>\n <ng-container *ngTemplateOutlet=\"groupTpl; context: { group: filter, parent: null, index: 0, depth: 0 }\"></ng-container>\n <div class=\"fe-summary\">{{ summary() }}</div>\n </div>\n\n <div class=\"fe-body\" *ngIf=\"shownTab === 'sort'\">\n <div class=\"fe-sort\" *ngFor=\"let level of sort; let i = index; trackBy: trackIndex\">\n <span class=\"fe-sort-label\">{{ i === 0 ? 'Trier par' : 'Puis par' }}</span>\n <select class=\"form-control\" [(ngModel)]=\"level.property\">\n <option *ngFor=\"let column of columns\" [value]=\"column.key\">{{ column.label }}</option>\n </select>\n <select class=\"form-control fe-sort-direction\" [(ngModel)]=\"level.direction\">\n <option value=\"asc\">Croissant</option>\n <option value=\"desc\">Décroissant</option>\n </select>\n <button type=\"button\" class=\"fe-icon\" title=\"Monter\" [disabled]=\"i === 0\" (click)=\"moveSort(i, -1)\"><i class=\"fa fa-arrow-up\"></i></button>\n <button type=\"button\" class=\"fe-icon\" title=\"Descendre\" [disabled]=\"i === sort.length - 1\" (click)=\"moveSort(i, 1)\"><i class=\"fa fa-arrow-down\"></i></button>\n <button type=\"button\" class=\"fe-icon\" title=\"Retirer\" (click)=\"removeSort(i)\"><i class=\"fa fa-times\"></i></button>\n </div>\n <div class=\"fe-adds\"><button type=\"button\" class=\"fe-add\" (click)=\"addSort()\">+ Niveau</button></div>\n </div>\n\n <div class=\"fe-foot\">\n <label class=\"fe-save\" *ngIf=\"!embedded\" [class.disabled]=\"!canSaveInView\"\n [title]=\"canSaveInView ? '' : 'La vue par défaut est en lecture seule : dupliquez-la pour y enregistrer un filtre'\">\n <input type=\"checkbox\" [(ngModel)]=\"saveInView\" [disabled]=\"!canSaveInView\" />\n <span>Enregistrer dans la vue{{ viewLabel ? ' « ' + viewLabel + ' »' : '' }}</span>\n </label>\n <button type=\"button\" class=\"fe-clear\" (click)=\"clear()\">Tout effacer</button>\n </div>\n</div>\n\n<!-- Groupe : relation ET / OU, conditions, groupes imbriqués. -->\n<ng-template #groupTpl let-group=\"group\" let-parent=\"parent\" let-index=\"index\" let-depth=\"depth\">\n <div class=\"fe-group\" [class.or]=\"group.Logic === 'or'\" [class.nested]=\"depth > 0\">\n <div class=\"fe-group-head\">\n <span class=\"fe-logic\">\n <button type=\"button\" [class.on]=\"group.Logic === 'and'\" class=\"and\" (click)=\"setLogic(group, 'and')\">ET</button>\n <button type=\"button\" [class.on]=\"group.Logic === 'or'\" class=\"or\" (click)=\"setLogic(group, 'or')\">OU</button>\n </span>\n <span class=\"fe-group-hint\">{{ group.Logic === 'and' ? 'Toutes les conditions' : 'Au moins une condition' }}</span>\n <button type=\"button\" *ngIf=\"parent\" class=\"fe-icon fe-group-remove\" title=\"Retirer le groupe\" (click)=\"removeGroup(parent, index)\">\n <i class=\"fa fa-times\"></i>\n </button>\n </div>\n\n <div class=\"fe-cond\" *ngFor=\"let condition of group.Conditions; let i = index; trackBy: trackIndex\">\n <select class=\"form-control\" [(ngModel)]=\"condition.Property\" (ngModelChange)=\"onColumnChange(condition)\">\n <option *ngFor=\"let column of columns\" [value]=\"column.key\">{{ column.label }}</option>\n </select>\n <select class=\"form-control\" [(ngModel)]=\"condition.Operator\" (ngModelChange)=\"onOperatorChange(condition)\">\n <option *ngFor=\"let op of operatorsOf(condition)\" [value]=\"op.value\">{{ op.label }}</option>\n </select>\n <span class=\"fe-value\">\n <ng-container *ngIf=\"isList(condition); else valueTpl\">\n <span class=\"fe-chips\">\n <button type=\"button\" *ngFor=\"let option of columnOf(condition.Property)?.values\" class=\"fe-chip\"\n [class.on]=\"condition.Values?.includes(option.value)\" (click)=\"toggleValue(condition, option.value)\">{{ option.label }}</button>\n </span>\n </ng-container>\n <ng-template #valueTpl>\n <ng-container *ngIf=\"hasValue(condition)\">\n <input class=\"form-control\" [type]=\"inputType(condition)\" [(ngModel)]=\"condition.Value\" />\n <input *ngIf=\"hasSecondValue(condition)\" class=\"form-control\" [type]=\"inputType(condition)\" [(ngModel)]=\"condition.Value2\" />\n </ng-container>\n </ng-template>\n </span>\n <button type=\"button\" class=\"fe-icon\" title=\"Retirer la condition\" (click)=\"removeCondition(group, i)\"><i class=\"fa fa-times\"></i></button>\n </div>\n\n <ng-container *ngFor=\"let sub of group.Groups; let gi = index; trackBy: trackIndex\">\n <ng-container *ngTemplateOutlet=\"groupTpl; context: { group: sub, parent: group, index: gi, depth: depth + 1 }\"></ng-container>\n </ng-container>\n\n <div class=\"fe-adds\">\n <button type=\"button\" class=\"fe-add\" (click)=\"addCondition(group)\">+ Condition</button>\n <button type=\"button\" class=\"fe-add\" *ngIf=\"depth < maxDepth - 1\" (click)=\"addGroup(group)\">+ Groupe</button>\n </div>\n </div>\n</ng-template>\n",
|
|
20270
|
-
styles: [".home-page{font-family:Open sans,sans-serif;background:#fff;-webkit-font-smoothing:antialiased;height:100%;width:100%;padding:16px}.main-container{margin:0 50px}.main-container-modal{width:calc(100% - 50px);margin:10px 25px 0}.moyen-titre{font-weight:700;font-size:24px;color:#4d5a81;margin:8px 0;border-bottom:solid 1px #DBE4FF}.grand-titre{font-weight:700;font-size:28px;color:#4d5a81;margin:0 0 8px}.petit-titre{font-weight:700;font-size:16px;color:#4d5a81;margin:0 0 8px}.petit-titre.underlined{border-bottom:solid 1px #4D5A81}.paragraph{padding:0 15px}.paragraph-highlight{padding:5px 15px 0 12px;border-left:5px solid #8EA7F8;border-bottom:1px solid #DBE4FF;border-top:1px solid #DBE4FF;border-right:1px solid #DBE4FF;background-color:#f7faff}.highlight{background-color:#f7faff;border:1px solid #DBE4FF;border-radius:5px;padding:15px;color:#3c5dc4;margin:0 0 16px}.highlight p{margin-bottom:0}.highlight:before{position:relative;display:block;float:left;width:24px;height:24px;content:\" \";background-size:24px 24px;-webkit-background-size:24px 24px;background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"53.294\" height=\"50.629\" viewBox=\"0 0 53.294 50.629\">%0D%0A <path id=\"allerg\\e8ne\" d=\"M830.494,25.793l-5.814,6.783.727,8.963-8.721,1.938-4.6,7.752L803.847,47.6l-8.236,3.634-4.6-7.51-8.721-1.938.727-8.963L777.2,26.035l5.814-6.783-.727-8.963,8.721-1.938L795.61.6l8.236,3.634L812.083.6l4.6,7.752,8.721,1.938-.727,8.963Zm-24.467,2.422V13.681h-4.845V28.216Zm0,9.69V33.06h-4.845v4.845Z\" transform=\"translate(-777.2 -0.6)\"/>%0D%0A</svg>%0D%0A');background-repeat:no-repeat;margin:0 8px 24px 0;filter:invert(31%) sepia(51%) saturate(1323%) hue-rotate(199deg) brightness(99%) contrast(94%)}.notification{background-color:#dbe4ff;border:1px solid #C4D0F9;border-radius:5px;color:#4d5a81;margin:16px;padding:5px 15px;text-align:justify}.notification:before{position:relative;display:block;float:left;width:24px;height:24px;content:\" \";background-size:24px 24px;-webkit-background-size:24px 24px;background-image:url('data:image/svg+xml,<svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"fas\" data-icon=\"info-circle\" class=\"svg-inline--fa fa-info-circle fa-w-16\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path fill=\"currentColor\" d=\"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z\"></path></svg>');background-repeat:no-repeat;margin:0 8px 0 0;filter:invert(31%) sepia(8%) saturate(2329%) hue-rotate(188deg) brightness(103%) contrast(85%)}.notification-text{padding:0 15px 0 30px;font-size:16px}.fe-panel{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:6px 12px;margin-bottom:12px}.fe-panel .fe-adds{grid-column:1/-1}.fe-add-panel{width:auto;border-style:dashed;color:#4465c9}.fe-panel-title{grid-column:1/-1;margin:4px 0 2px;font-weight:600}.fe-panel-field{display:grid;grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:8px;margin:0;font-weight:400}.fe-panel-field>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe{display:flex;flex-direction:column;color:#4d5a81;font-size:13px}.fe-tabs{display:flex;gap:4px;padding:8px 14px 0;border-bottom:1px solid #DBE4FF}.fe-tab{padding:6px 12px;border:none;border-bottom:2px solid transparent;background:none;color:#9fa9c7;font:inherit;font-weight:700;cursor:pointer}.fe-tab.active{color:#4465c9;border-bottom-color:#5272d3}.fe-body{display:flex;flex-direction:column;gap:10px;max-height:60vh;overflow-y:auto;padding:12px 14px}.fe-group{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid #DBE4FF;border-left:4px solid #3b57b8;border-radius:0 4px 4px 0;background:#fff}.fe-group.or{border-left-color:#e07b12}.fe-group.nested{background:#f6f8fd}.fe-group-head{display:flex;align-items:center;gap:8px;font-size:12px;color:#9fa9c7}.fe-group-remove{margin-left:auto}.fe-logic{display:inline-flex;border:1px solid #DBE4FF;border-radius:999px;overflow:hidden}.fe-logic button{padding:2px 10px;border:none;background:none;color:#9fa9c7;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.fe-logic button.on.and{background:#3b57b8;color:#fff}.fe-logic button.on.or{background:#e07b12;color:#fff}.fe-cond{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1.4fr) 28px;gap:6px;align-items:center;padding:4px 6px;border:1px solid #DBE4FF;border-left:3px solid #3b57b8;border-radius:0 4px 4px 0;background:#fff}.fe-group.or>.fe-cond{border-left-color:#e07b12}@media(max-width:600px){.fe-cond{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 28px}.fe-cond .fe-value{grid-column:1/3}}select.form-control,input.form-control{height:30px;min-width:0;padding:2px 6px;font-size:13px}.fe-value{display:flex;gap:6px;min-width:0}.fe-value input{flex:1}.fe-chips{display:flex;flex-wrap:wrap;gap:4px}.fe-chip{padding:2px 8px;border:1px solid #C1D0FD;border-radius:999px;background:#fff;color:#4d5a81;font:inherit;font-size:12px;cursor:pointer}.fe-chip.on{background:#5272d3;border-color:#5272d3;color:#fff}.fe-icon{width:28px;height:28px;padding:0;border:none;border-radius:6px;background:none;color:#9fa9c7;cursor:pointer}.fe-icon:hover:not(:disabled){background:#ebf0ff;color:#4d5a81}.fe-icon:disabled{opacity:.3;cursor:default}.fe-adds{display:flex;gap:8px;flex-wrap:wrap}.fe-add{padding:3px 10px;border:1px dashed #C1D0FD;border-radius:6px;background:none;color:#4465c9;font:inherit;font-size:12px;cursor:pointer}.fe-summary{padding:8px 10px;border-radius:6px;background:#ebf0ff;font-size:12px;word-break:break-word}.fe-sort{display:grid;grid-template-columns:64px minmax(0,1fr) 120px 28px 28px 28px;gap:6px;align-items:center}.fe-sort-label{font-size:12px;color:#9fa9c7}.fe-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px;border-top:1px solid #DBE4FF}.fe-save{display:inline-flex;align-items:center;gap:6px;margin:0;font-weight:400;cursor:pointer}.fe-save.disabled{opacity:.55;cursor:default}.fe-save input{margin:0}.fe-clear{border:none;background:none;color:#4465c9;font:inherit;cursor:pointer}\n"],
|
|
20342
|
+
template: "<div class=\"fe\">\r\n <div class=\"fe-tabs\" role=\"tablist\" *ngIf=\"!section\">\r\n <button type=\"button\" class=\"fe-tab\" [class.active]=\"tab === 'filters'\" (click)=\"tab = 'filters'\">Filtres</button>\r\n <button type=\"button\" class=\"fe-tab\" [class.active]=\"tab === 'sort'\" (click)=\"tab = 'sort'\">Tri</button>\r\n </div>\r\n\r\n <div class=\"fe-body\" *ngIf=\"shownTab === 'filters'\">\r\n <!-- Filtres de l'écran (FilterPanel) : valeurs enregistrées avec la vue, appliquées au FilterPanel. -->\r\n <div class=\"fe-panel\" *ngIf=\"panelFields.length || shownPanelFields().length\">\r\n <div class=\"fe-panel-title\">Filtres de l'écran</div>\r\n <div class=\"fe-panel-field\" *ngFor=\"let field of shownPanelFields(); trackBy: trackKey\">\r\n <span [title]=\"field.label\">{{ field.label }}</span>\r\n <ng-container [ngSwitch]=\"field.type\">\r\n <select *ngSwitchCase=\"'list'\" class=\"form-control\" [ngModel]=\"panelValue(field)\" (ngModelChange)=\"setPanelValue(field, $event)\">\r\n <option value=\"\">Choisir…</option>\r\n <option *ngFor=\"let option of field.values\" [value]=\"option.value\">{{ option.label }}</option>\r\n </select>\r\n <select *ngSwitchCase=\"'bool'\" class=\"form-control\" [ngModel]=\"panelValue(field)\" (ngModelChange)=\"setPanelValue(field, $event)\">\r\n <option value=\"\">Choisir…</option>\r\n <option value=\"true\">Oui</option>\r\n <option value=\"false\">Non</option>\r\n </select>\r\n <input *ngSwitchDefault class=\"form-control\" [type]=\"field.type === 'number' ? 'number' : field.type === 'date' ? 'date' : 'text'\"\r\n [ngModel]=\"panelValue(field)\" (ngModelChange)=\"setPanelValue(field, $event)\" />\r\n </ng-container>\r\n <button type=\"button\" class=\"fe-icon\" title=\"Retirer le filtre de l'écran\" (click)=\"removePanelField(field)\"><i class=\"fa fa-times\"></i></button>\r\n </div>\r\n <!-- Ajout d'un filtre de l'écran : les champs du FilterPanel pas encore utilisés. -->\r\n <div class=\"fe-adds\" *ngIf=\"availablePanelFields().length\">\r\n <select class=\"form-control fe-add-panel\" [ngModel]=\"''\" (ngModelChange)=\"addPanelField($event)\">\r\n <option value=\"\">+ Filtre de l'écran</option>\r\n <option *ngFor=\"let field of availablePanelFields(); trackBy: trackKey\" [value]=\"field.key\">{{ field.label }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"fe-panel-title\" *ngIf=\"panelFields.length || shownPanelFields().length\">Filtre additionnel</div>\r\n <ng-container *ngTemplateOutlet=\"groupTpl; context: { group: filter, parent: null, index: 0, depth: 0 }\"></ng-container>\r\n <div class=\"fe-summary\">{{ summary() }}</div>\r\n </div>\r\n\r\n <div class=\"fe-body\" *ngIf=\"shownTab === 'sort'\">\r\n <div class=\"fe-sort\" *ngFor=\"let level of sort; let i = index; trackBy: trackIndex\">\r\n <span class=\"fe-sort-label\">{{ i === 0 ? 'Trier par' : 'Puis par' }}</span>\r\n <select class=\"form-control\" [(ngModel)]=\"level.property\">\r\n <option *ngFor=\"let column of columns\" [value]=\"column.key\">{{ column.label }}</option>\r\n </select>\r\n <select class=\"form-control fe-sort-direction\" [(ngModel)]=\"level.direction\">\r\n <option value=\"asc\">Croissant</option>\r\n <option value=\"desc\">Décroissant</option>\r\n </select>\r\n <button type=\"button\" class=\"fe-icon\" title=\"Monter\" [disabled]=\"i === 0\" (click)=\"moveSort(i, -1)\"><i class=\"fa fa-arrow-up\"></i></button>\r\n <button type=\"button\" class=\"fe-icon\" title=\"Descendre\" [disabled]=\"i === sort.length - 1\" (click)=\"moveSort(i, 1)\"><i class=\"fa fa-arrow-down\"></i></button>\r\n <button type=\"button\" class=\"fe-icon\" title=\"Retirer\" (click)=\"removeSort(i)\"><i class=\"fa fa-times\"></i></button>\r\n </div>\r\n <div class=\"fe-adds\"><button type=\"button\" class=\"fe-add\" (click)=\"addSort()\">+ Niveau</button></div>\r\n </div>\r\n\r\n <div class=\"fe-foot\">\r\n <label class=\"fe-save\" *ngIf=\"!embedded\" [class.disabled]=\"!canSaveInView\"\r\n [title]=\"canSaveInView ? '' : 'La vue par défaut est en lecture seule : dupliquez-la pour y enregistrer un filtre'\">\r\n <input type=\"checkbox\" [(ngModel)]=\"saveInView\" [disabled]=\"!canSaveInView\" />\r\n <span>Enregistrer dans la vue{{ viewLabel ? ' « ' + viewLabel + ' »' : '' }}</span>\r\n </label>\r\n <button type=\"button\" class=\"fe-clear\" (click)=\"clear()\">Tout effacer</button>\r\n </div>\r\n</div>\r\n\r\n<!-- Groupe : relation ET / OU, conditions, groupes imbriqués. -->\r\n<ng-template #groupTpl let-group=\"group\" let-parent=\"parent\" let-index=\"index\" let-depth=\"depth\">\r\n <div class=\"fe-group\" [class.or]=\"group.Logic === 'or'\" [class.nested]=\"depth > 0\">\r\n <div class=\"fe-group-head\">\r\n <span class=\"fe-logic\">\r\n <button type=\"button\" [class.on]=\"group.Logic === 'and'\" class=\"and\" (click)=\"setLogic(group, 'and')\">ET</button>\r\n <button type=\"button\" [class.on]=\"group.Logic === 'or'\" class=\"or\" (click)=\"setLogic(group, 'or')\">OU</button>\r\n </span>\r\n <span class=\"fe-group-hint\">{{ group.Logic === 'and' ? 'Toutes les conditions' : 'Au moins une condition' }}</span>\r\n <button type=\"button\" *ngIf=\"parent\" class=\"fe-icon fe-group-remove\" title=\"Retirer le groupe\" (click)=\"removeGroup(parent, index)\">\r\n <i class=\"fa fa-times\"></i>\r\n </button>\r\n </div>\r\n\r\n <div class=\"fe-cond\" *ngFor=\"let condition of group.Conditions; let i = index; trackBy: trackIndex\">\r\n <select class=\"form-control\" [(ngModel)]=\"condition.Property\" (ngModelChange)=\"onColumnChange(condition)\">\r\n <option *ngFor=\"let column of columns\" [value]=\"column.key\">{{ column.label }}</option>\r\n </select>\r\n <select class=\"form-control\" [(ngModel)]=\"condition.Operator\" (ngModelChange)=\"onOperatorChange(condition)\">\r\n <option *ngFor=\"let op of operatorsOf(condition)\" [value]=\"op.value\">{{ op.label }}</option>\r\n </select>\r\n <span class=\"fe-value\">\r\n <ng-container *ngIf=\"isList(condition); else valueTpl\">\r\n <span class=\"fe-chips\" *ngIf=\"hasKnownValues(condition); else typedValuesTpl\">\r\n <button type=\"button\" *ngFor=\"let option of columnOf(condition.Property)?.values\" class=\"fe-chip\"\r\n [class.on]=\"condition.Values?.includes(option.value)\" (click)=\"toggleValue(condition, option.value)\">{{ option.label }}</button>\r\n </span>\r\n <!-- Texte, nombre : valeurs saisies une à une (ou cochées par le « Filtre avancé » de la grille). -->\r\n <ng-template #typedValuesTpl>\r\n <span class=\"fe-chips\">\r\n <button type=\"button\" *ngFor=\"let value of condition.Values\" class=\"fe-chip on\" title=\"Retirer cette valeur\"\r\n (click)=\"removeValue(condition, value)\">{{ value }} <i class=\"fa fa-times\"></i></button>\r\n <input #valueInput class=\"form-control fe-chip-input\" [type]=\"inputType(condition)\" placeholder=\"Ajouter une valeur\"\r\n (keydown.enter)=\"addValue(condition, valueInput); $event.preventDefault()\" (blur)=\"addValue(condition, valueInput)\" />\r\n </span>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #valueTpl>\r\n <ng-container *ngIf=\"hasValue(condition)\">\r\n <input class=\"form-control\" [type]=\"inputType(condition)\" [(ngModel)]=\"condition.Value\" />\r\n <input *ngIf=\"hasSecondValue(condition)\" class=\"form-control\" [type]=\"inputType(condition)\" [(ngModel)]=\"condition.Value2\" />\r\n </ng-container>\r\n </ng-template>\r\n </span>\r\n <button type=\"button\" class=\"fe-icon\" title=\"Retirer la condition\" (click)=\"removeCondition(group, i)\"><i class=\"fa fa-times\"></i></button>\r\n </div>\r\n\r\n <ng-container *ngFor=\"let sub of group.Groups; let gi = index; trackBy: trackIndex\">\r\n <ng-container *ngTemplateOutlet=\"groupTpl; context: { group: sub, parent: group, index: gi, depth: depth + 1 }\"></ng-container>\r\n </ng-container>\r\n\r\n <div class=\"fe-adds\">\r\n <button type=\"button\" class=\"fe-add\" (click)=\"addCondition(group)\">+ Condition</button>\r\n <button type=\"button\" class=\"fe-add\" *ngIf=\"depth < maxDepth - 1\" (click)=\"addGroup(group)\">+ Groupe</button>\r\n </div>\r\n </div>\r\n</ng-template>\r\n",
|
|
20343
|
+
styles: [".home-page{font-family:Open sans,sans-serif;background:#fff;-webkit-font-smoothing:antialiased;height:100%;width:100%;padding:16px}.main-container{margin:0 50px}.main-container-modal{width:calc(100% - 50px);margin:10px 25px 0}.moyen-titre{font-weight:700;font-size:24px;color:#4d5a81;margin:8px 0;border-bottom:solid 1px #DBE4FF}.grand-titre{font-weight:700;font-size:28px;color:#4d5a81;margin:0 0 8px}.petit-titre{font-weight:700;font-size:16px;color:#4d5a81;margin:0 0 8px}.petit-titre.underlined{border-bottom:solid 1px #4D5A81}.paragraph{padding:0 15px}.paragraph-highlight{padding:5px 15px 0 12px;border-left:5px solid #8EA7F8;border-bottom:1px solid #DBE4FF;border-top:1px solid #DBE4FF;border-right:1px solid #DBE4FF;background-color:#f7faff}.highlight{background-color:#f7faff;border:1px solid #DBE4FF;border-radius:5px;padding:15px;color:#3c5dc4;margin:0 0 16px}.highlight p{margin-bottom:0}.highlight:before{position:relative;display:block;float:left;width:24px;height:24px;content:\" \";background-size:24px 24px;-webkit-background-size:24px 24px;background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"53.294\" height=\"50.629\" viewBox=\"0 0 53.294 50.629\">%0D%0A <path id=\"allerg\\e8ne\" d=\"M830.494,25.793l-5.814,6.783.727,8.963-8.721,1.938-4.6,7.752L803.847,47.6l-8.236,3.634-4.6-7.51-8.721-1.938.727-8.963L777.2,26.035l5.814-6.783-.727-8.963,8.721-1.938L795.61.6l8.236,3.634L812.083.6l4.6,7.752,8.721,1.938-.727,8.963Zm-24.467,2.422V13.681h-4.845V28.216Zm0,9.69V33.06h-4.845v4.845Z\" transform=\"translate(-777.2 -0.6)\"/>%0D%0A</svg>%0D%0A');background-repeat:no-repeat;margin:0 8px 24px 0;filter:invert(31%) sepia(51%) saturate(1323%) hue-rotate(199deg) brightness(99%) contrast(94%)}.notification{background-color:#dbe4ff;border:1px solid #C4D0F9;border-radius:5px;color:#4d5a81;margin:16px;padding:5px 15px;text-align:justify}.notification:before{position:relative;display:block;float:left;width:24px;height:24px;content:\" \";background-size:24px 24px;-webkit-background-size:24px 24px;background-image:url('data:image/svg+xml,<svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"fas\" data-icon=\"info-circle\" class=\"svg-inline--fa fa-info-circle fa-w-16\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path fill=\"currentColor\" d=\"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z\"></path></svg>');background-repeat:no-repeat;margin:0 8px 0 0;filter:invert(31%) sepia(8%) saturate(2329%) hue-rotate(188deg) brightness(103%) contrast(85%)}.notification-text{padding:0 15px 0 30px;font-size:16px}.fe-panel{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:6px 12px;margin-bottom:12px}.fe-panel .fe-adds{grid-column:1/-1}.fe-add-panel{width:auto;border-style:dashed;color:#4465c9}.fe-panel-title{grid-column:1/-1;margin:4px 0 2px;font-weight:600}.fe-panel-field{display:grid;grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:8px;margin:0;font-weight:400}.fe-panel-field>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe{display:flex;flex-direction:column;color:#4d5a81;font-size:13px}.fe-tabs{display:flex;gap:4px;padding:8px 14px 0;border-bottom:1px solid #DBE4FF}.fe-tab{padding:6px 12px;border:none;border-bottom:2px solid transparent;background:none;color:#9fa9c7;font:inherit;font-weight:700;cursor:pointer}.fe-tab.active{color:#4465c9;border-bottom-color:#5272d3}.fe-body{display:flex;flex-direction:column;gap:10px;max-height:60vh;overflow-y:auto;padding:12px 14px}.fe-group{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid #DBE4FF;border-left:4px solid #3b57b8;border-radius:0 4px 4px 0;background:#fff}.fe-group.or{border-left-color:#e07b12}.fe-group.nested{background:#f6f8fd}.fe-group-head{display:flex;align-items:center;gap:8px;font-size:12px;color:#9fa9c7}.fe-group-remove{margin-left:auto}.fe-logic{display:inline-flex;border:1px solid #DBE4FF;border-radius:999px;overflow:hidden}.fe-logic button{padding:2px 10px;border:none;background:none;color:#9fa9c7;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.fe-logic button.on.and{background:#3b57b8;color:#fff}.fe-logic button.on.or{background:#e07b12;color:#fff}.fe-cond{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1.4fr) 28px;gap:6px;align-items:center;padding:4px 6px;border:1px solid #DBE4FF;border-left:3px solid #3b57b8;border-radius:0 4px 4px 0;background:#fff}.fe-group.or>.fe-cond{border-left-color:#e07b12}@media(max-width:600px){.fe-cond{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 28px}.fe-cond .fe-value{grid-column:1/3}}select.form-control,input.form-control{height:30px;min-width:0;padding:2px 6px;font-size:13px}.fe-value{display:flex;gap:6px;min-width:0}.fe-value input{flex:1}.fe-chips{display:flex;flex-wrap:wrap;gap:4px}.fe-chip{padding:2px 8px;border:1px solid #C1D0FD;border-radius:999px;background:#fff;color:#4d5a81;font:inherit;font-size:12px;cursor:pointer}.fe-chip.on{background:#5272d3;border-color:#5272d3;color:#fff}.fe-chip i{margin-left:2px;font-size:10px}.fe-chip-input{flex:1;min-width:120px}.fe-icon{width:28px;height:28px;padding:0;border:none;border-radius:6px;background:none;color:#9fa9c7;cursor:pointer}.fe-icon:hover:not(:disabled){background:#ebf0ff;color:#4d5a81}.fe-icon:disabled{opacity:.3;cursor:default}.fe-adds{display:flex;gap:8px;flex-wrap:wrap}.fe-add{padding:3px 10px;border:1px dashed #C1D0FD;border-radius:6px;background:none;color:#4465c9;font:inherit;font-size:12px;cursor:pointer}.fe-summary{padding:8px 10px;border-radius:6px;background:#ebf0ff;font-size:12px;word-break:break-word}.fe-sort{display:grid;grid-template-columns:64px minmax(0,1fr) 120px 28px 28px 28px;gap:6px;align-items:center}.fe-sort-label{font-size:12px;color:#9fa9c7}.fe-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px;border-top:1px solid #DBE4FF}.fe-save{display:inline-flex;align-items:center;gap:6px;margin:0;font-weight:400;cursor:pointer}.fe-save.disabled{opacity:.55;cursor:default}.fe-save input{margin:0}.fe-clear{border:none;background:none;color:#4465c9;font:inherit;cursor:pointer}\n"],
|
|
20271
20344
|
dependencies: [
|
|
20272
20345
|
{
|
|
20273
20346
|
kind: "ngmodule",
|
|
@@ -20387,8 +20460,8 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
20387
20460
|
standalone: true,
|
|
20388
20461
|
imports: [CommonModule, FormsModule],
|
|
20389
20462
|
changeDetection: ChangeDetectionStrategy.Eager,
|
|
20390
|
-
template: "<div class=\"fe\">\n <div class=\"fe-tabs\" role=\"tablist\" *ngIf=\"!section\">\n <button type=\"button\" class=\"fe-tab\" [class.active]=\"tab === 'filters'\" (click)=\"tab = 'filters'\">Filtres</button>\n <button type=\"button\" class=\"fe-tab\" [class.active]=\"tab === 'sort'\" (click)=\"tab = 'sort'\">Tri</button>\n </div>\n\n <div class=\"fe-body\" *ngIf=\"shownTab === 'filters'\">\n <!-- Filtres de l'écran (FilterPanel) : valeurs enregistrées avec la vue, appliquées au FilterPanel. -->\n <div class=\"fe-panel\" *ngIf=\"panelFields.length || shownPanelFields().length\">\n <div class=\"fe-panel-title\">Filtres de l'écran</div>\n <div class=\"fe-panel-field\" *ngFor=\"let field of shownPanelFields(); trackBy: trackKey\">\n <span [title]=\"field.label\">{{ field.label }}</span>\n <ng-container [ngSwitch]=\"field.type\">\n <select *ngSwitchCase=\"'list'\" class=\"form-control\" [ngModel]=\"panelValue(field)\" (ngModelChange)=\"setPanelValue(field, $event)\">\n <option value=\"\">Choisir…</option>\n <option *ngFor=\"let option of field.values\" [value]=\"option.value\">{{ option.label }}</option>\n </select>\n <select *ngSwitchCase=\"'bool'\" class=\"form-control\" [ngModel]=\"panelValue(field)\" (ngModelChange)=\"setPanelValue(field, $event)\">\n <option value=\"\">Choisir…</option>\n <option value=\"true\">Oui</option>\n <option value=\"false\">Non</option>\n </select>\n <input *ngSwitchDefault class=\"form-control\" [type]=\"field.type === 'number' ? 'number' : field.type === 'date' ? 'date' : 'text'\"\n [ngModel]=\"panelValue(field)\" (ngModelChange)=\"setPanelValue(field, $event)\" />\n </ng-container>\n <button type=\"button\" class=\"fe-icon\" title=\"Retirer le filtre de l'écran\" (click)=\"removePanelField(field)\"><i class=\"fa fa-times\"></i></button>\n </div>\n <!-- Ajout d'un filtre de l'écran : les champs du FilterPanel pas encore utilisés. -->\n <div class=\"fe-adds\" *ngIf=\"availablePanelFields().length\">\n <select class=\"form-control fe-add-panel\" [ngModel]=\"''\" (ngModelChange)=\"addPanelField($event)\">\n <option value=\"\">+ Filtre de l'écran</option>\n <option *ngFor=\"let field of availablePanelFields(); trackBy: trackKey\" [value]=\"field.key\">{{ field.label }}</option>\n </select>\n </div>\n </div>\n <div class=\"fe-panel-title\" *ngIf=\"panelFields.length || shownPanelFields().length\">Filtre additionnel</div>\n <ng-container *ngTemplateOutlet=\"groupTpl; context: { group: filter, parent: null, index: 0, depth: 0 }\"></ng-container>\n <div class=\"fe-summary\">{{ summary() }}</div>\n </div>\n\n <div class=\"fe-body\" *ngIf=\"shownTab === 'sort'\">\n <div class=\"fe-sort\" *ngFor=\"let level of sort; let i = index; trackBy: trackIndex\">\n <span class=\"fe-sort-label\">{{ i === 0 ? 'Trier par' : 'Puis par' }}</span>\n <select class=\"form-control\" [(ngModel)]=\"level.property\">\n <option *ngFor=\"let column of columns\" [value]=\"column.key\">{{ column.label }}</option>\n </select>\n <select class=\"form-control fe-sort-direction\" [(ngModel)]=\"level.direction\">\n <option value=\"asc\">Croissant</option>\n <option value=\"desc\">Décroissant</option>\n </select>\n <button type=\"button\" class=\"fe-icon\" title=\"Monter\" [disabled]=\"i === 0\" (click)=\"moveSort(i, -1)\"><i class=\"fa fa-arrow-up\"></i></button>\n <button type=\"button\" class=\"fe-icon\" title=\"Descendre\" [disabled]=\"i === sort.length - 1\" (click)=\"moveSort(i, 1)\"><i class=\"fa fa-arrow-down\"></i></button>\n <button type=\"button\" class=\"fe-icon\" title=\"Retirer\" (click)=\"removeSort(i)\"><i class=\"fa fa-times\"></i></button>\n </div>\n <div class=\"fe-adds\"><button type=\"button\" class=\"fe-add\" (click)=\"addSort()\">+ Niveau</button></div>\n </div>\n\n <div class=\"fe-foot\">\n <label class=\"fe-save\" *ngIf=\"!embedded\" [class.disabled]=\"!canSaveInView\"\n [title]=\"canSaveInView ? '' : 'La vue par défaut est en lecture seule : dupliquez-la pour y enregistrer un filtre'\">\n <input type=\"checkbox\" [(ngModel)]=\"saveInView\" [disabled]=\"!canSaveInView\" />\n <span>Enregistrer dans la vue{{ viewLabel ? ' « ' + viewLabel + ' »' : '' }}</span>\n </label>\n <button type=\"button\" class=\"fe-clear\" (click)=\"clear()\">Tout effacer</button>\n </div>\n</div>\n\n<!-- Groupe : relation ET / OU, conditions, groupes imbriqués. -->\n<ng-template #groupTpl let-group=\"group\" let-parent=\"parent\" let-index=\"index\" let-depth=\"depth\">\n <div class=\"fe-group\" [class.or]=\"group.Logic === 'or'\" [class.nested]=\"depth > 0\">\n <div class=\"fe-group-head\">\n <span class=\"fe-logic\">\n <button type=\"button\" [class.on]=\"group.Logic === 'and'\" class=\"and\" (click)=\"setLogic(group, 'and')\">ET</button>\n <button type=\"button\" [class.on]=\"group.Logic === 'or'\" class=\"or\" (click)=\"setLogic(group, 'or')\">OU</button>\n </span>\n <span class=\"fe-group-hint\">{{ group.Logic === 'and' ? 'Toutes les conditions' : 'Au moins une condition' }}</span>\n <button type=\"button\" *ngIf=\"parent\" class=\"fe-icon fe-group-remove\" title=\"Retirer le groupe\" (click)=\"removeGroup(parent, index)\">\n <i class=\"fa fa-times\"></i>\n </button>\n </div>\n\n <div class=\"fe-cond\" *ngFor=\"let condition of group.Conditions; let i = index; trackBy: trackIndex\">\n <select class=\"form-control\" [(ngModel)]=\"condition.Property\" (ngModelChange)=\"onColumnChange(condition)\">\n <option *ngFor=\"let column of columns\" [value]=\"column.key\">{{ column.label }}</option>\n </select>\n <select class=\"form-control\" [(ngModel)]=\"condition.Operator\" (ngModelChange)=\"onOperatorChange(condition)\">\n <option *ngFor=\"let op of operatorsOf(condition)\" [value]=\"op.value\">{{ op.label }}</option>\n </select>\n <span class=\"fe-value\">\n <ng-container *ngIf=\"isList(condition); else valueTpl\">\n <span class=\"fe-chips\">\n <button type=\"button\" *ngFor=\"let option of columnOf(condition.Property)?.values\" class=\"fe-chip\"\n [class.on]=\"condition.Values?.includes(option.value)\" (click)=\"toggleValue(condition, option.value)\">{{ option.label }}</button>\n </span>\n </ng-container>\n <ng-template #valueTpl>\n <ng-container *ngIf=\"hasValue(condition)\">\n <input class=\"form-control\" [type]=\"inputType(condition)\" [(ngModel)]=\"condition.Value\" />\n <input *ngIf=\"hasSecondValue(condition)\" class=\"form-control\" [type]=\"inputType(condition)\" [(ngModel)]=\"condition.Value2\" />\n </ng-container>\n </ng-template>\n </span>\n <button type=\"button\" class=\"fe-icon\" title=\"Retirer la condition\" (click)=\"removeCondition(group, i)\"><i class=\"fa fa-times\"></i></button>\n </div>\n\n <ng-container *ngFor=\"let sub of group.Groups; let gi = index; trackBy: trackIndex\">\n <ng-container *ngTemplateOutlet=\"groupTpl; context: { group: sub, parent: group, index: gi, depth: depth + 1 }\"></ng-container>\n </ng-container>\n\n <div class=\"fe-adds\">\n <button type=\"button\" class=\"fe-add\" (click)=\"addCondition(group)\">+ Condition</button>\n <button type=\"button\" class=\"fe-add\" *ngIf=\"depth < maxDepth - 1\" (click)=\"addGroup(group)\">+ Groupe</button>\n </div>\n </div>\n</ng-template>\n",
|
|
20391
|
-
styles: [".home-page{font-family:Open sans,sans-serif;background:#fff;-webkit-font-smoothing:antialiased;height:100%;width:100%;padding:16px}.main-container{margin:0 50px}.main-container-modal{width:calc(100% - 50px);margin:10px 25px 0}.moyen-titre{font-weight:700;font-size:24px;color:#4d5a81;margin:8px 0;border-bottom:solid 1px #DBE4FF}.grand-titre{font-weight:700;font-size:28px;color:#4d5a81;margin:0 0 8px}.petit-titre{font-weight:700;font-size:16px;color:#4d5a81;margin:0 0 8px}.petit-titre.underlined{border-bottom:solid 1px #4D5A81}.paragraph{padding:0 15px}.paragraph-highlight{padding:5px 15px 0 12px;border-left:5px solid #8EA7F8;border-bottom:1px solid #DBE4FF;border-top:1px solid #DBE4FF;border-right:1px solid #DBE4FF;background-color:#f7faff}.highlight{background-color:#f7faff;border:1px solid #DBE4FF;border-radius:5px;padding:15px;color:#3c5dc4;margin:0 0 16px}.highlight p{margin-bottom:0}.highlight:before{position:relative;display:block;float:left;width:24px;height:24px;content:\" \";background-size:24px 24px;-webkit-background-size:24px 24px;background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"53.294\" height=\"50.629\" viewBox=\"0 0 53.294 50.629\">%0D%0A <path id=\"allerg\\e8ne\" d=\"M830.494,25.793l-5.814,6.783.727,8.963-8.721,1.938-4.6,7.752L803.847,47.6l-8.236,3.634-4.6-7.51-8.721-1.938.727-8.963L777.2,26.035l5.814-6.783-.727-8.963,8.721-1.938L795.61.6l8.236,3.634L812.083.6l4.6,7.752,8.721,1.938-.727,8.963Zm-24.467,2.422V13.681h-4.845V28.216Zm0,9.69V33.06h-4.845v4.845Z\" transform=\"translate(-777.2 -0.6)\"/>%0D%0A</svg>%0D%0A');background-repeat:no-repeat;margin:0 8px 24px 0;filter:invert(31%) sepia(51%) saturate(1323%) hue-rotate(199deg) brightness(99%) contrast(94%)}.notification{background-color:#dbe4ff;border:1px solid #C4D0F9;border-radius:5px;color:#4d5a81;margin:16px;padding:5px 15px;text-align:justify}.notification:before{position:relative;display:block;float:left;width:24px;height:24px;content:\" \";background-size:24px 24px;-webkit-background-size:24px 24px;background-image:url('data:image/svg+xml,<svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"fas\" data-icon=\"info-circle\" class=\"svg-inline--fa fa-info-circle fa-w-16\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path fill=\"currentColor\" d=\"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z\"></path></svg>');background-repeat:no-repeat;margin:0 8px 0 0;filter:invert(31%) sepia(8%) saturate(2329%) hue-rotate(188deg) brightness(103%) contrast(85%)}.notification-text{padding:0 15px 0 30px;font-size:16px}.fe-panel{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:6px 12px;margin-bottom:12px}.fe-panel .fe-adds{grid-column:1/-1}.fe-add-panel{width:auto;border-style:dashed;color:#4465c9}.fe-panel-title{grid-column:1/-1;margin:4px 0 2px;font-weight:600}.fe-panel-field{display:grid;grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:8px;margin:0;font-weight:400}.fe-panel-field>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe{display:flex;flex-direction:column;color:#4d5a81;font-size:13px}.fe-tabs{display:flex;gap:4px;padding:8px 14px 0;border-bottom:1px solid #DBE4FF}.fe-tab{padding:6px 12px;border:none;border-bottom:2px solid transparent;background:none;color:#9fa9c7;font:inherit;font-weight:700;cursor:pointer}.fe-tab.active{color:#4465c9;border-bottom-color:#5272d3}.fe-body{display:flex;flex-direction:column;gap:10px;max-height:60vh;overflow-y:auto;padding:12px 14px}.fe-group{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid #DBE4FF;border-left:4px solid #3b57b8;border-radius:0 4px 4px 0;background:#fff}.fe-group.or{border-left-color:#e07b12}.fe-group.nested{background:#f6f8fd}.fe-group-head{display:flex;align-items:center;gap:8px;font-size:12px;color:#9fa9c7}.fe-group-remove{margin-left:auto}.fe-logic{display:inline-flex;border:1px solid #DBE4FF;border-radius:999px;overflow:hidden}.fe-logic button{padding:2px 10px;border:none;background:none;color:#9fa9c7;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.fe-logic button.on.and{background:#3b57b8;color:#fff}.fe-logic button.on.or{background:#e07b12;color:#fff}.fe-cond{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1.4fr) 28px;gap:6px;align-items:center;padding:4px 6px;border:1px solid #DBE4FF;border-left:3px solid #3b57b8;border-radius:0 4px 4px 0;background:#fff}.fe-group.or>.fe-cond{border-left-color:#e07b12}@media(max-width:600px){.fe-cond{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 28px}.fe-cond .fe-value{grid-column:1/3}}select.form-control,input.form-control{height:30px;min-width:0;padding:2px 6px;font-size:13px}.fe-value{display:flex;gap:6px;min-width:0}.fe-value input{flex:1}.fe-chips{display:flex;flex-wrap:wrap;gap:4px}.fe-chip{padding:2px 8px;border:1px solid #C1D0FD;border-radius:999px;background:#fff;color:#4d5a81;font:inherit;font-size:12px;cursor:pointer}.fe-chip.on{background:#5272d3;border-color:#5272d3;color:#fff}.fe-icon{width:28px;height:28px;padding:0;border:none;border-radius:6px;background:none;color:#9fa9c7;cursor:pointer}.fe-icon:hover:not(:disabled){background:#ebf0ff;color:#4d5a81}.fe-icon:disabled{opacity:.3;cursor:default}.fe-adds{display:flex;gap:8px;flex-wrap:wrap}.fe-add{padding:3px 10px;border:1px dashed #C1D0FD;border-radius:6px;background:none;color:#4465c9;font:inherit;font-size:12px;cursor:pointer}.fe-summary{padding:8px 10px;border-radius:6px;background:#ebf0ff;font-size:12px;word-break:break-word}.fe-sort{display:grid;grid-template-columns:64px minmax(0,1fr) 120px 28px 28px 28px;gap:6px;align-items:center}.fe-sort-label{font-size:12px;color:#9fa9c7}.fe-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px;border-top:1px solid #DBE4FF}.fe-save{display:inline-flex;align-items:center;gap:6px;margin:0;font-weight:400;cursor:pointer}.fe-save.disabled{opacity:.55;cursor:default}.fe-save input{margin:0}.fe-clear{border:none;background:none;color:#4465c9;font:inherit;cursor:pointer}\n"]
|
|
20463
|
+
template: "<div class=\"fe\">\r\n <div class=\"fe-tabs\" role=\"tablist\" *ngIf=\"!section\">\r\n <button type=\"button\" class=\"fe-tab\" [class.active]=\"tab === 'filters'\" (click)=\"tab = 'filters'\">Filtres</button>\r\n <button type=\"button\" class=\"fe-tab\" [class.active]=\"tab === 'sort'\" (click)=\"tab = 'sort'\">Tri</button>\r\n </div>\r\n\r\n <div class=\"fe-body\" *ngIf=\"shownTab === 'filters'\">\r\n <!-- Filtres de l'écran (FilterPanel) : valeurs enregistrées avec la vue, appliquées au FilterPanel. -->\r\n <div class=\"fe-panel\" *ngIf=\"panelFields.length || shownPanelFields().length\">\r\n <div class=\"fe-panel-title\">Filtres de l'écran</div>\r\n <div class=\"fe-panel-field\" *ngFor=\"let field of shownPanelFields(); trackBy: trackKey\">\r\n <span [title]=\"field.label\">{{ field.label }}</span>\r\n <ng-container [ngSwitch]=\"field.type\">\r\n <select *ngSwitchCase=\"'list'\" class=\"form-control\" [ngModel]=\"panelValue(field)\" (ngModelChange)=\"setPanelValue(field, $event)\">\r\n <option value=\"\">Choisir…</option>\r\n <option *ngFor=\"let option of field.values\" [value]=\"option.value\">{{ option.label }}</option>\r\n </select>\r\n <select *ngSwitchCase=\"'bool'\" class=\"form-control\" [ngModel]=\"panelValue(field)\" (ngModelChange)=\"setPanelValue(field, $event)\">\r\n <option value=\"\">Choisir…</option>\r\n <option value=\"true\">Oui</option>\r\n <option value=\"false\">Non</option>\r\n </select>\r\n <input *ngSwitchDefault class=\"form-control\" [type]=\"field.type === 'number' ? 'number' : field.type === 'date' ? 'date' : 'text'\"\r\n [ngModel]=\"panelValue(field)\" (ngModelChange)=\"setPanelValue(field, $event)\" />\r\n </ng-container>\r\n <button type=\"button\" class=\"fe-icon\" title=\"Retirer le filtre de l'écran\" (click)=\"removePanelField(field)\"><i class=\"fa fa-times\"></i></button>\r\n </div>\r\n <!-- Ajout d'un filtre de l'écran : les champs du FilterPanel pas encore utilisés. -->\r\n <div class=\"fe-adds\" *ngIf=\"availablePanelFields().length\">\r\n <select class=\"form-control fe-add-panel\" [ngModel]=\"''\" (ngModelChange)=\"addPanelField($event)\">\r\n <option value=\"\">+ Filtre de l'écran</option>\r\n <option *ngFor=\"let field of availablePanelFields(); trackBy: trackKey\" [value]=\"field.key\">{{ field.label }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"fe-panel-title\" *ngIf=\"panelFields.length || shownPanelFields().length\">Filtre additionnel</div>\r\n <ng-container *ngTemplateOutlet=\"groupTpl; context: { group: filter, parent: null, index: 0, depth: 0 }\"></ng-container>\r\n <div class=\"fe-summary\">{{ summary() }}</div>\r\n </div>\r\n\r\n <div class=\"fe-body\" *ngIf=\"shownTab === 'sort'\">\r\n <div class=\"fe-sort\" *ngFor=\"let level of sort; let i = index; trackBy: trackIndex\">\r\n <span class=\"fe-sort-label\">{{ i === 0 ? 'Trier par' : 'Puis par' }}</span>\r\n <select class=\"form-control\" [(ngModel)]=\"level.property\">\r\n <option *ngFor=\"let column of columns\" [value]=\"column.key\">{{ column.label }}</option>\r\n </select>\r\n <select class=\"form-control fe-sort-direction\" [(ngModel)]=\"level.direction\">\r\n <option value=\"asc\">Croissant</option>\r\n <option value=\"desc\">Décroissant</option>\r\n </select>\r\n <button type=\"button\" class=\"fe-icon\" title=\"Monter\" [disabled]=\"i === 0\" (click)=\"moveSort(i, -1)\"><i class=\"fa fa-arrow-up\"></i></button>\r\n <button type=\"button\" class=\"fe-icon\" title=\"Descendre\" [disabled]=\"i === sort.length - 1\" (click)=\"moveSort(i, 1)\"><i class=\"fa fa-arrow-down\"></i></button>\r\n <button type=\"button\" class=\"fe-icon\" title=\"Retirer\" (click)=\"removeSort(i)\"><i class=\"fa fa-times\"></i></button>\r\n </div>\r\n <div class=\"fe-adds\"><button type=\"button\" class=\"fe-add\" (click)=\"addSort()\">+ Niveau</button></div>\r\n </div>\r\n\r\n <div class=\"fe-foot\">\r\n <label class=\"fe-save\" *ngIf=\"!embedded\" [class.disabled]=\"!canSaveInView\"\r\n [title]=\"canSaveInView ? '' : 'La vue par défaut est en lecture seule : dupliquez-la pour y enregistrer un filtre'\">\r\n <input type=\"checkbox\" [(ngModel)]=\"saveInView\" [disabled]=\"!canSaveInView\" />\r\n <span>Enregistrer dans la vue{{ viewLabel ? ' « ' + viewLabel + ' »' : '' }}</span>\r\n </label>\r\n <button type=\"button\" class=\"fe-clear\" (click)=\"clear()\">Tout effacer</button>\r\n </div>\r\n</div>\r\n\r\n<!-- Groupe : relation ET / OU, conditions, groupes imbriqués. -->\r\n<ng-template #groupTpl let-group=\"group\" let-parent=\"parent\" let-index=\"index\" let-depth=\"depth\">\r\n <div class=\"fe-group\" [class.or]=\"group.Logic === 'or'\" [class.nested]=\"depth > 0\">\r\n <div class=\"fe-group-head\">\r\n <span class=\"fe-logic\">\r\n <button type=\"button\" [class.on]=\"group.Logic === 'and'\" class=\"and\" (click)=\"setLogic(group, 'and')\">ET</button>\r\n <button type=\"button\" [class.on]=\"group.Logic === 'or'\" class=\"or\" (click)=\"setLogic(group, 'or')\">OU</button>\r\n </span>\r\n <span class=\"fe-group-hint\">{{ group.Logic === 'and' ? 'Toutes les conditions' : 'Au moins une condition' }}</span>\r\n <button type=\"button\" *ngIf=\"parent\" class=\"fe-icon fe-group-remove\" title=\"Retirer le groupe\" (click)=\"removeGroup(parent, index)\">\r\n <i class=\"fa fa-times\"></i>\r\n </button>\r\n </div>\r\n\r\n <div class=\"fe-cond\" *ngFor=\"let condition of group.Conditions; let i = index; trackBy: trackIndex\">\r\n <select class=\"form-control\" [(ngModel)]=\"condition.Property\" (ngModelChange)=\"onColumnChange(condition)\">\r\n <option *ngFor=\"let column of columns\" [value]=\"column.key\">{{ column.label }}</option>\r\n </select>\r\n <select class=\"form-control\" [(ngModel)]=\"condition.Operator\" (ngModelChange)=\"onOperatorChange(condition)\">\r\n <option *ngFor=\"let op of operatorsOf(condition)\" [value]=\"op.value\">{{ op.label }}</option>\r\n </select>\r\n <span class=\"fe-value\">\r\n <ng-container *ngIf=\"isList(condition); else valueTpl\">\r\n <span class=\"fe-chips\" *ngIf=\"hasKnownValues(condition); else typedValuesTpl\">\r\n <button type=\"button\" *ngFor=\"let option of columnOf(condition.Property)?.values\" class=\"fe-chip\"\r\n [class.on]=\"condition.Values?.includes(option.value)\" (click)=\"toggleValue(condition, option.value)\">{{ option.label }}</button>\r\n </span>\r\n <!-- Texte, nombre : valeurs saisies une à une (ou cochées par le « Filtre avancé » de la grille). -->\r\n <ng-template #typedValuesTpl>\r\n <span class=\"fe-chips\">\r\n <button type=\"button\" *ngFor=\"let value of condition.Values\" class=\"fe-chip on\" title=\"Retirer cette valeur\"\r\n (click)=\"removeValue(condition, value)\">{{ value }} <i class=\"fa fa-times\"></i></button>\r\n <input #valueInput class=\"form-control fe-chip-input\" [type]=\"inputType(condition)\" placeholder=\"Ajouter une valeur\"\r\n (keydown.enter)=\"addValue(condition, valueInput); $event.preventDefault()\" (blur)=\"addValue(condition, valueInput)\" />\r\n </span>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #valueTpl>\r\n <ng-container *ngIf=\"hasValue(condition)\">\r\n <input class=\"form-control\" [type]=\"inputType(condition)\" [(ngModel)]=\"condition.Value\" />\r\n <input *ngIf=\"hasSecondValue(condition)\" class=\"form-control\" [type]=\"inputType(condition)\" [(ngModel)]=\"condition.Value2\" />\r\n </ng-container>\r\n </ng-template>\r\n </span>\r\n <button type=\"button\" class=\"fe-icon\" title=\"Retirer la condition\" (click)=\"removeCondition(group, i)\"><i class=\"fa fa-times\"></i></button>\r\n </div>\r\n\r\n <ng-container *ngFor=\"let sub of group.Groups; let gi = index; trackBy: trackIndex\">\r\n <ng-container *ngTemplateOutlet=\"groupTpl; context: { group: sub, parent: group, index: gi, depth: depth + 1 }\"></ng-container>\r\n </ng-container>\r\n\r\n <div class=\"fe-adds\">\r\n <button type=\"button\" class=\"fe-add\" (click)=\"addCondition(group)\">+ Condition</button>\r\n <button type=\"button\" class=\"fe-add\" *ngIf=\"depth < maxDepth - 1\" (click)=\"addGroup(group)\">+ Groupe</button>\r\n </div>\r\n </div>\r\n</ng-template>\r\n",
|
|
20464
|
+
styles: [".home-page{font-family:Open sans,sans-serif;background:#fff;-webkit-font-smoothing:antialiased;height:100%;width:100%;padding:16px}.main-container{margin:0 50px}.main-container-modal{width:calc(100% - 50px);margin:10px 25px 0}.moyen-titre{font-weight:700;font-size:24px;color:#4d5a81;margin:8px 0;border-bottom:solid 1px #DBE4FF}.grand-titre{font-weight:700;font-size:28px;color:#4d5a81;margin:0 0 8px}.petit-titre{font-weight:700;font-size:16px;color:#4d5a81;margin:0 0 8px}.petit-titre.underlined{border-bottom:solid 1px #4D5A81}.paragraph{padding:0 15px}.paragraph-highlight{padding:5px 15px 0 12px;border-left:5px solid #8EA7F8;border-bottom:1px solid #DBE4FF;border-top:1px solid #DBE4FF;border-right:1px solid #DBE4FF;background-color:#f7faff}.highlight{background-color:#f7faff;border:1px solid #DBE4FF;border-radius:5px;padding:15px;color:#3c5dc4;margin:0 0 16px}.highlight p{margin-bottom:0}.highlight:before{position:relative;display:block;float:left;width:24px;height:24px;content:\" \";background-size:24px 24px;-webkit-background-size:24px 24px;background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"53.294\" height=\"50.629\" viewBox=\"0 0 53.294 50.629\">%0D%0A <path id=\"allerg\\e8ne\" d=\"M830.494,25.793l-5.814,6.783.727,8.963-8.721,1.938-4.6,7.752L803.847,47.6l-8.236,3.634-4.6-7.51-8.721-1.938.727-8.963L777.2,26.035l5.814-6.783-.727-8.963,8.721-1.938L795.61.6l8.236,3.634L812.083.6l4.6,7.752,8.721,1.938-.727,8.963Zm-24.467,2.422V13.681h-4.845V28.216Zm0,9.69V33.06h-4.845v4.845Z\" transform=\"translate(-777.2 -0.6)\"/>%0D%0A</svg>%0D%0A');background-repeat:no-repeat;margin:0 8px 24px 0;filter:invert(31%) sepia(51%) saturate(1323%) hue-rotate(199deg) brightness(99%) contrast(94%)}.notification{background-color:#dbe4ff;border:1px solid #C4D0F9;border-radius:5px;color:#4d5a81;margin:16px;padding:5px 15px;text-align:justify}.notification:before{position:relative;display:block;float:left;width:24px;height:24px;content:\" \";background-size:24px 24px;-webkit-background-size:24px 24px;background-image:url('data:image/svg+xml,<svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"fas\" data-icon=\"info-circle\" class=\"svg-inline--fa fa-info-circle fa-w-16\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path fill=\"currentColor\" d=\"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z\"></path></svg>');background-repeat:no-repeat;margin:0 8px 0 0;filter:invert(31%) sepia(8%) saturate(2329%) hue-rotate(188deg) brightness(103%) contrast(85%)}.notification-text{padding:0 15px 0 30px;font-size:16px}.fe-panel{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:6px 12px;margin-bottom:12px}.fe-panel .fe-adds{grid-column:1/-1}.fe-add-panel{width:auto;border-style:dashed;color:#4465c9}.fe-panel-title{grid-column:1/-1;margin:4px 0 2px;font-weight:600}.fe-panel-field{display:grid;grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:8px;margin:0;font-weight:400}.fe-panel-field>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe{display:flex;flex-direction:column;color:#4d5a81;font-size:13px}.fe-tabs{display:flex;gap:4px;padding:8px 14px 0;border-bottom:1px solid #DBE4FF}.fe-tab{padding:6px 12px;border:none;border-bottom:2px solid transparent;background:none;color:#9fa9c7;font:inherit;font-weight:700;cursor:pointer}.fe-tab.active{color:#4465c9;border-bottom-color:#5272d3}.fe-body{display:flex;flex-direction:column;gap:10px;max-height:60vh;overflow-y:auto;padding:12px 14px}.fe-group{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid #DBE4FF;border-left:4px solid #3b57b8;border-radius:0 4px 4px 0;background:#fff}.fe-group.or{border-left-color:#e07b12}.fe-group.nested{background:#f6f8fd}.fe-group-head{display:flex;align-items:center;gap:8px;font-size:12px;color:#9fa9c7}.fe-group-remove{margin-left:auto}.fe-logic{display:inline-flex;border:1px solid #DBE4FF;border-radius:999px;overflow:hidden}.fe-logic button{padding:2px 10px;border:none;background:none;color:#9fa9c7;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.fe-logic button.on.and{background:#3b57b8;color:#fff}.fe-logic button.on.or{background:#e07b12;color:#fff}.fe-cond{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1.4fr) 28px;gap:6px;align-items:center;padding:4px 6px;border:1px solid #DBE4FF;border-left:3px solid #3b57b8;border-radius:0 4px 4px 0;background:#fff}.fe-group.or>.fe-cond{border-left-color:#e07b12}@media(max-width:600px){.fe-cond{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 28px}.fe-cond .fe-value{grid-column:1/3}}select.form-control,input.form-control{height:30px;min-width:0;padding:2px 6px;font-size:13px}.fe-value{display:flex;gap:6px;min-width:0}.fe-value input{flex:1}.fe-chips{display:flex;flex-wrap:wrap;gap:4px}.fe-chip{padding:2px 8px;border:1px solid #C1D0FD;border-radius:999px;background:#fff;color:#4d5a81;font:inherit;font-size:12px;cursor:pointer}.fe-chip.on{background:#5272d3;border-color:#5272d3;color:#fff}.fe-chip i{margin-left:2px;font-size:10px}.fe-chip-input{flex:1;min-width:120px}.fe-icon{width:28px;height:28px;padding:0;border:none;border-radius:6px;background:none;color:#9fa9c7;cursor:pointer}.fe-icon:hover:not(:disabled){background:#ebf0ff;color:#4d5a81}.fe-icon:disabled{opacity:.3;cursor:default}.fe-adds{display:flex;gap:8px;flex-wrap:wrap}.fe-add{padding:3px 10px;border:1px dashed #C1D0FD;border-radius:6px;background:none;color:#4465c9;font:inherit;font-size:12px;cursor:pointer}.fe-summary{padding:8px 10px;border-radius:6px;background:#ebf0ff;font-size:12px;word-break:break-word}.fe-sort{display:grid;grid-template-columns:64px minmax(0,1fr) 120px 28px 28px 28px;gap:6px;align-items:center}.fe-sort-label{font-size:12px;color:#9fa9c7}.fe-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px;border-top:1px solid #DBE4FF}.fe-save{display:inline-flex;align-items:center;gap:6px;margin:0;font-weight:400;cursor:pointer}.fe-save.disabled{opacity:.55;cursor:default}.fe-save input{margin:0}.fe-clear{border:none;background:none;color:#4465c9;font:inherit;cursor:pointer}\n"]
|
|
20392
20465
|
}]
|
|
20393
20466
|
}],
|
|
20394
20467
|
propDecorators: {
|
|
@@ -21944,7 +22017,7 @@ var CardListComponent = class CardListComponent {
|
|
|
21944
22017
|
guid: "guid"
|
|
21945
22018
|
},
|
|
21946
22019
|
ngImport: i0,
|
|
21947
|
-
template: "<div class=\"card-list\" (scroll)=\"onScroll($event)\" role=\"list\">\
|
|
22020
|
+
template: "<div class=\"card-list\" (scroll)=\"onScroll($event)\" role=\"list\">\n <div *ngIf=\"card === null\" class=\"card-info\">Pas de vue Carte pour cette table.</div>\n\n <ng-container *ngIf=\"card\">\n <button type=\"button\" *ngFor=\"let row of items; trackBy: trackById\" class=\"card-item\" role=\"listitem\"\n [class.selected]=\"isSelected(row)\" [class.no-image]=\"!hasImage()\" (click)=\"open(row)\">\n <span class=\"card-image\" *ngIf=\"hasImage()\">\n <img *ngIf=\"imageUrl(row) as url; else initialsTpl\" [src]=\"url\" alt=\"\" />\n <ng-template #initialsTpl><span class=\"card-initials\">{{ initials(row) }}</span></ng-template>\n </span>\n <span class=\"card-main\">\n <span class=\"card-title\" *ngIf=\"card.title\">{{ valueOf(row, card.title) }}</span>\n <span class=\"card-text\" *ngIf=\"card.text\">{{ valueOf(row, card.text) }}</span>\n <span class=\"card-detail\" *ngIf=\"card.detail\">{{ valueOf(row, card.detail) }}</span>\n </span>\n <span class=\"card-badge\" *ngIf=\"card.badge && valueOf(row, card.badge) as badge\">{{ badge }}</span>\n </button>\n\n <div class=\"card-info\" *ngIf=\"!items.length && !loading\">Aucun élément</div>\n <button type=\"button\" class=\"card-more\" *ngIf=\"hasMore\" [disabled]=\"loading\" (click)=\"loadMore()\">\n {{ loading ? 'Chargement…' : 'Afficher les suivants' }}\n </button>\n </ng-container>\n</div>\n",
|
|
21948
22021
|
styles: [".home-page{font-family:Open sans,sans-serif;background:#fff;-webkit-font-smoothing:antialiased;height:100%;width:100%;padding:16px}.main-container{margin:0 50px}.main-container-modal{width:calc(100% - 50px);margin:10px 25px 0}.moyen-titre{font-weight:700;font-size:24px;color:#4d5a81;margin:8px 0;border-bottom:solid 1px #DBE4FF}.grand-titre{font-weight:700;font-size:28px;color:#4d5a81;margin:0 0 8px}.petit-titre{font-weight:700;font-size:16px;color:#4d5a81;margin:0 0 8px}.petit-titre.underlined{border-bottom:solid 1px #4D5A81}.paragraph{padding:0 15px}.paragraph-highlight{padding:5px 15px 0 12px;border-left:5px solid #8EA7F8;border-bottom:1px solid #DBE4FF;border-top:1px solid #DBE4FF;border-right:1px solid #DBE4FF;background-color:#f7faff}.highlight{background-color:#f7faff;border:1px solid #DBE4FF;border-radius:5px;padding:15px;color:#3c5dc4;margin:0 0 16px}.highlight p{margin-bottom:0}.highlight:before{position:relative;display:block;float:left;width:24px;height:24px;content:\" \";background-size:24px 24px;-webkit-background-size:24px 24px;background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"53.294\" height=\"50.629\" viewBox=\"0 0 53.294 50.629\">%0D%0A <path id=\"allerg\\e8ne\" d=\"M830.494,25.793l-5.814,6.783.727,8.963-8.721,1.938-4.6,7.752L803.847,47.6l-8.236,3.634-4.6-7.51-8.721-1.938.727-8.963L777.2,26.035l5.814-6.783-.727-8.963,8.721-1.938L795.61.6l8.236,3.634L812.083.6l4.6,7.752,8.721,1.938-.727,8.963Zm-24.467,2.422V13.681h-4.845V28.216Zm0,9.69V33.06h-4.845v4.845Z\" transform=\"translate(-777.2 -0.6)\"/>%0D%0A</svg>%0D%0A');background-repeat:no-repeat;margin:0 8px 24px 0;filter:invert(31%) sepia(51%) saturate(1323%) hue-rotate(199deg) brightness(99%) contrast(94%)}.notification{background-color:#dbe4ff;border:1px solid #C4D0F9;border-radius:5px;color:#4d5a81;margin:16px;padding:5px 15px;text-align:justify}.notification:before{position:relative;display:block;float:left;width:24px;height:24px;content:\" \";background-size:24px 24px;-webkit-background-size:24px 24px;background-image:url('data:image/svg+xml,<svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"fas\" data-icon=\"info-circle\" class=\"svg-inline--fa fa-info-circle fa-w-16\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path fill=\"currentColor\" d=\"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z\"></path></svg>');background-repeat:no-repeat;margin:0 8px 0 0;filter:invert(31%) sepia(8%) saturate(2329%) hue-rotate(188deg) brightness(103%) contrast(85%)}.notification-text{padding:0 15px 0 30px;font-size:16px}:host{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:100%}.card-list{flex:1 1 auto;min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));align-content:start;gap:8px;padding:10px;background:#f4f6fb}.card-list>.card-info,.card-list>.card-more{grid-column:1/-1}.card-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;padding:10px 12px;border:1px solid #DBE4FF;border-radius:0 4px 4px 0;background:#fff;color:#4d5a81;font:inherit;text-align:left;cursor:pointer}.card-item.no-image{grid-template-columns:minmax(0,1fr) auto}.card-item:hover{border-color:#5272d3}.card-item:focus-visible{outline:2px solid #5272D3;outline-offset:1px}.card-item.selected{border-color:#5272d3;box-shadow:inset 3px 0 #5272d3}.card-image{width:44px;height:44px;border-radius:4px;background:#ebf0ff;display:grid;place-items:center;overflow:hidden}.card-image img{max-width:100%;max-height:100%;object-fit:contain}.card-initials{color:#4465c9;font-weight:700;font-size:13px}.card-main{min-width:0;display:flex;flex-direction:column}.card-title,.card-text,.card-detail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-title{font-size:12px;color:#4465c9}.card-text{font-size:14px;font-weight:700}.card-detail{font-size:12px;color:#9fa9c7}.card-badge{padding:1px 8px;border-radius:999px;background:#ebf0ff;color:#4465c9;font-size:11px;font-weight:700;white-space:nowrap}.card-info{padding:16px;text-align:center;color:#9fa9c7}.card-more{justify-self:center;margin:4px 0 8px;padding:6px 14px;border:1px solid #C1D0FD;border-radius:999px;background:#fff;color:#4465c9;font:inherit;cursor:pointer}.card-more:disabled{cursor:progress;opacity:.7}\n"],
|
|
21949
22022
|
dependencies: [{
|
|
21950
22023
|
kind: "directive",
|
|
@@ -21980,7 +22053,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
21980
22053
|
selector: "alg-card-list",
|
|
21981
22054
|
changeDetection: ChangeDetectionStrategy.Eager,
|
|
21982
22055
|
standalone: false,
|
|
21983
|
-
template: "<div class=\"card-list\" (scroll)=\"onScroll($event)\" role=\"list\">\
|
|
22056
|
+
template: "<div class=\"card-list\" (scroll)=\"onScroll($event)\" role=\"list\">\n <div *ngIf=\"card === null\" class=\"card-info\">Pas de vue Carte pour cette table.</div>\n\n <ng-container *ngIf=\"card\">\n <button type=\"button\" *ngFor=\"let row of items; trackBy: trackById\" class=\"card-item\" role=\"listitem\"\n [class.selected]=\"isSelected(row)\" [class.no-image]=\"!hasImage()\" (click)=\"open(row)\">\n <span class=\"card-image\" *ngIf=\"hasImage()\">\n <img *ngIf=\"imageUrl(row) as url; else initialsTpl\" [src]=\"url\" alt=\"\" />\n <ng-template #initialsTpl><span class=\"card-initials\">{{ initials(row) }}</span></ng-template>\n </span>\n <span class=\"card-main\">\n <span class=\"card-title\" *ngIf=\"card.title\">{{ valueOf(row, card.title) }}</span>\n <span class=\"card-text\" *ngIf=\"card.text\">{{ valueOf(row, card.text) }}</span>\n <span class=\"card-detail\" *ngIf=\"card.detail\">{{ valueOf(row, card.detail) }}</span>\n </span>\n <span class=\"card-badge\" *ngIf=\"card.badge && valueOf(row, card.badge) as badge\">{{ badge }}</span>\n </button>\n\n <div class=\"card-info\" *ngIf=\"!items.length && !loading\">Aucun élément</div>\n <button type=\"button\" class=\"card-more\" *ngIf=\"hasMore\" [disabled]=\"loading\" (click)=\"loadMore()\">\n {{ loading ? 'Chargement…' : 'Afficher les suivants' }}\n </button>\n </ng-container>\n</div>\n",
|
|
21984
22057
|
styles: [".home-page{font-family:Open sans,sans-serif;background:#fff;-webkit-font-smoothing:antialiased;height:100%;width:100%;padding:16px}.main-container{margin:0 50px}.main-container-modal{width:calc(100% - 50px);margin:10px 25px 0}.moyen-titre{font-weight:700;font-size:24px;color:#4d5a81;margin:8px 0;border-bottom:solid 1px #DBE4FF}.grand-titre{font-weight:700;font-size:28px;color:#4d5a81;margin:0 0 8px}.petit-titre{font-weight:700;font-size:16px;color:#4d5a81;margin:0 0 8px}.petit-titre.underlined{border-bottom:solid 1px #4D5A81}.paragraph{padding:0 15px}.paragraph-highlight{padding:5px 15px 0 12px;border-left:5px solid #8EA7F8;border-bottom:1px solid #DBE4FF;border-top:1px solid #DBE4FF;border-right:1px solid #DBE4FF;background-color:#f7faff}.highlight{background-color:#f7faff;border:1px solid #DBE4FF;border-radius:5px;padding:15px;color:#3c5dc4;margin:0 0 16px}.highlight p{margin-bottom:0}.highlight:before{position:relative;display:block;float:left;width:24px;height:24px;content:\" \";background-size:24px 24px;-webkit-background-size:24px 24px;background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"53.294\" height=\"50.629\" viewBox=\"0 0 53.294 50.629\">%0D%0A <path id=\"allerg\\e8ne\" d=\"M830.494,25.793l-5.814,6.783.727,8.963-8.721,1.938-4.6,7.752L803.847,47.6l-8.236,3.634-4.6-7.51-8.721-1.938.727-8.963L777.2,26.035l5.814-6.783-.727-8.963,8.721-1.938L795.61.6l8.236,3.634L812.083.6l4.6,7.752,8.721,1.938-.727,8.963Zm-24.467,2.422V13.681h-4.845V28.216Zm0,9.69V33.06h-4.845v4.845Z\" transform=\"translate(-777.2 -0.6)\"/>%0D%0A</svg>%0D%0A');background-repeat:no-repeat;margin:0 8px 24px 0;filter:invert(31%) sepia(51%) saturate(1323%) hue-rotate(199deg) brightness(99%) contrast(94%)}.notification{background-color:#dbe4ff;border:1px solid #C4D0F9;border-radius:5px;color:#4d5a81;margin:16px;padding:5px 15px;text-align:justify}.notification:before{position:relative;display:block;float:left;width:24px;height:24px;content:\" \";background-size:24px 24px;-webkit-background-size:24px 24px;background-image:url('data:image/svg+xml,<svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"fas\" data-icon=\"info-circle\" class=\"svg-inline--fa fa-info-circle fa-w-16\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path fill=\"currentColor\" d=\"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z\"></path></svg>');background-repeat:no-repeat;margin:0 8px 0 0;filter:invert(31%) sepia(8%) saturate(2329%) hue-rotate(188deg) brightness(103%) contrast(85%)}.notification-text{padding:0 15px 0 30px;font-size:16px}:host{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:100%}.card-list{flex:1 1 auto;min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));align-content:start;gap:8px;padding:10px;background:#f4f6fb}.card-list>.card-info,.card-list>.card-more{grid-column:1/-1}.card-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;padding:10px 12px;border:1px solid #DBE4FF;border-radius:0 4px 4px 0;background:#fff;color:#4d5a81;font:inherit;text-align:left;cursor:pointer}.card-item.no-image{grid-template-columns:minmax(0,1fr) auto}.card-item:hover{border-color:#5272d3}.card-item:focus-visible{outline:2px solid #5272D3;outline-offset:1px}.card-item.selected{border-color:#5272d3;box-shadow:inset 3px 0 #5272d3}.card-image{width:44px;height:44px;border-radius:4px;background:#ebf0ff;display:grid;place-items:center;overflow:hidden}.card-image img{max-width:100%;max-height:100%;object-fit:contain}.card-initials{color:#4465c9;font-weight:700;font-size:13px}.card-main{min-width:0;display:flex;flex-direction:column}.card-title,.card-text,.card-detail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-title{font-size:12px;color:#4465c9}.card-text{font-size:14px;font-weight:700}.card-detail{font-size:12px;color:#9fa9c7}.card-badge{padding:1px 8px;border-radius:999px;background:#ebf0ff;color:#4465c9;font-size:11px;font-weight:700;white-space:nowrap}.card-info{padding:16px;text-align:center;color:#9fa9c7}.card-more{justify-self:center;margin:4px 0 8px;padding:6px 14px;border:1px solid #C1D0FD;border-radius:999px;background:#fff;color:#4465c9;font:inherit;cursor:pointer}.card-more:disabled{cursor:progress;opacity:.7}\n"]
|
|
21985
22058
|
}]
|
|
21986
22059
|
}],
|
|
@@ -22289,7 +22362,7 @@ var StandardPageLayoutComponent = class StandardPageLayoutComponent {
|
|
|
22289
22362
|
}
|
|
22290
22363
|
],
|
|
22291
22364
|
ngImport: i0,
|
|
22292
|
-
template: "<div class=\"page-container\"\
|
|
22365
|
+
template: "<div class=\"page-container\"\n [class.narrow]=\"this.facade?.layout?.narrow$ | async\"\n [class.mobile-editor-open]=\"this.facade?.layout?.mobileEditorOpen$ | async\"\n [class.editor-dirty]=\"editorDirty\"\n layoutHandler\n [entityKey]=\"this.layoutKey\"\n [layoutContext]=\"this.facade.layout\"\n [middlePanel]=\"middlePanel\"\n \n #layoutHandler=\"layoutHandler\"\n tabindex=\"0\"\n baseShortcuts\n [facade]=\"this.facade\"\n #baseShortcuts=\"baseShortcuts\"\n >\n <!-- [rightPanel]=\"rightPanel?.nativeElement\"\n [_separator]=\"separator?.nativeElement\"\n -->\n <div class=\"panel-container\" [id]=\"layoutKey\">\n <div class=\"middle-panel\" #middlePanel>\n\n <!-- <div \n *ngIf=\"this.facade.layout.showFilterPanel$ |async\" \n class=\"left-panel-container\" hideOnThreshold>\n <ng-content select=\"[leftContent]\"></ng-content>\n </div> -->\n <div class=\"middle-panel-content\">\n <ng-content class=\"action-panel\" select=\"[actionsContent]\"></ng-content>\n <div class=\"middle-panel-header\">\n <ng-content select=\"[middleHeader]\"></ng-content>\n </div>\n \n <div class=\"middle-panel-main\">\n <ng-content select=\"[middleContent]\"></ng-content>\n </div>\n <div class=\"middle-panel-footer\">\n <ng-content select=\"[middleFooter]\"></ng-content>\n </div>\n \n </div>\n </div>\n <ng-container *ngIf=\"facade.layout.propertyPanelVisible$ | async\" >\n <div class=\"separator-container\"\n (mousedown)=\"layoutHandler.startResizing($event)\"\n (mouseup)=\"layoutHandler.stopResizing($event)\"\n [id]=\"layoutHandler.entityKey\"\n #separator\n >\n <button type=\"button\" class=\"toggle-btn\"\n title=\"Affichage Horizontal/Vertical\"\n (click)=\"toggleLayout()\">\n <div class=\"arrow\"></div>\n </button>\n\n <!-- <button class=\"expand-btn\"\n (click)=\"layoutHandler.expandPropertyflexGrow($event)\">\n <div class=\"arrow\"></div>\n </button> -->\n </div>\n\n <div class=\"right-panel-container\" [id]=\"layoutHandler.entityKey\" #rightPanel>\n <!-- Écran étroit : éditeur en plein écran, avec le retour à la liste de cartes. -->\n <div class=\"mobile-editor-bar\">\n <button type=\"button\" class=\"mobile-editor-button\" title=\"Revenir à la liste\" aria-label=\"Revenir à la liste\" (click)=\"backToList($event)\">\n <i class=\"fa fa-arrow-left\"></i>\n </button>\n <button type=\"button\" class=\"mobile-editor-button\" *ngIf=\"editorDirty\" title=\"Enregistrer\" aria-label=\"Enregistrer\" (click)=\"saveMobileEditor($event)\">\n <i class=\"fa fa-floppy-o\"></i>\n </button>\n </div>\n <ng-content select=\"[rightContent]\"></ng-content>\n </div>\n </ng-container>\n </div>\n</div>\n",
|
|
22293
22366
|
styles: [".home-page{font-family:Open sans,sans-serif;background:#fff;-webkit-font-smoothing:antialiased;height:100%;width:100%;padding:16px}.main-container{margin:0 50px}.main-container-modal{width:calc(100% - 50px);margin:10px 25px 0}.moyen-titre{font-weight:700;font-size:24px;color:#4d5a81;margin:8px 0;border-bottom:solid 1px #DBE4FF}.grand-titre{font-weight:700;font-size:28px;color:#4d5a81;margin:0 0 8px}.petit-titre{font-weight:700;font-size:16px;color:#4d5a81;margin:0 0 8px}.petit-titre.underlined{border-bottom:solid 1px #4D5A81}.paragraph{padding:0 15px}.paragraph-highlight{padding:5px 15px 0 12px;border-left:5px solid #8EA7F8;border-bottom:1px solid #DBE4FF;border-top:1px solid #DBE4FF;border-right:1px solid #DBE4FF;background-color:#f7faff}.highlight{background-color:#f7faff;border:1px solid #DBE4FF;border-radius:5px;padding:15px;color:#3c5dc4;margin:0 0 16px}.highlight p{margin-bottom:0}.highlight:before{position:relative;display:block;float:left;width:24px;height:24px;content:\" \";background-size:24px 24px;-webkit-background-size:24px 24px;background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"53.294\" height=\"50.629\" viewBox=\"0 0 53.294 50.629\">%0D%0A <path id=\"allerg\\e8ne\" d=\"M830.494,25.793l-5.814,6.783.727,8.963-8.721,1.938-4.6,7.752L803.847,47.6l-8.236,3.634-4.6-7.51-8.721-1.938.727-8.963L777.2,26.035l5.814-6.783-.727-8.963,8.721-1.938L795.61.6l8.236,3.634L812.083.6l4.6,7.752,8.721,1.938-.727,8.963Zm-24.467,2.422V13.681h-4.845V28.216Zm0,9.69V33.06h-4.845v4.845Z\" transform=\"translate(-777.2 -0.6)\"/>%0D%0A</svg>%0D%0A');background-repeat:no-repeat;margin:0 8px 24px 0;filter:invert(31%) sepia(51%) saturate(1323%) hue-rotate(199deg) brightness(99%) contrast(94%)}.notification{background-color:#dbe4ff;border:1px solid #C4D0F9;border-radius:5px;color:#4d5a81;margin:16px;padding:5px 15px;text-align:justify}.notification:before{position:relative;display:block;float:left;width:24px;height:24px;content:\" \";background-size:24px 24px;-webkit-background-size:24px 24px;background-image:url('data:image/svg+xml,<svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"fas\" data-icon=\"info-circle\" class=\"svg-inline--fa fa-info-circle fa-w-16\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path fill=\"currentColor\" d=\"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z\"></path></svg>');background-repeat:no-repeat;margin:0 8px 0 0;filter:invert(31%) sepia(8%) saturate(2329%) hue-rotate(188deg) brightness(103%) contrast(85%)}.notification-text{padding:0 15px 0 30px;font-size:16px}.page-container{width:100%;height:100%}.panel-container{display:flex;width:100%;height:100%;flex-grow:1;overflow:auto}.left-panel-container{order:-1;width:20%;flex-grow:0;flex-shrink:0;border-right:solid 1px var(--main-bg-color)}.right-panel-container{flex-basis:0;overflow:hidden}.middle-panel{display:flex;overflow:hidden;flex-basis:0;flex-grow:1}.middle-panel-content{display:flex;flex-direction:column;width:100%;height:100%}.middle-panel-header{padding:0}.middle-panel-main{flex-grow:1;overflow:auto;padding:0}.middle-panel-footer{padding:0}.main-component{width:100%;height:100%;overflow:auto}.left-side-panel h1,.right-side-panel h1,.middle-panel h1{display:block;font-size:12pt;background:#fff;border-bottom:solid 1px var(--main-bg-color);padding:2px 10px;margin:0;line-height:33px}.separator-container{cursor:col-resize;position:relative;display:flex;align-items:center;justify-content:center;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAACXBIWXMAAA7CAAAOwgEVKEqAAAAAIGNIUk0AAHonAACAgwAA+mQAAIDSAAB2hgAA7OkAADmeAAAV/sZ+0zoAAAAeSURBVHjaYvj//z8DDC9duhTBgWHCAgAAAAD//wMAbP4vwvVSoTUAAAAASUVORK5CYII=) repeat scroll 0 0 transparent;background-color:#c1d0fd}.separator-container:hover{background-color:#dbe4ff}.separator-container.vertical{flex-direction:row;width:100%;height:10px;cursor:row-resize}.separator-container.vertical button.expand-btn{width:40px;height:10px}.separator-container.vertical button.toggle-btn{width:20px;height:10px}.separator-container.horizontal{flex-direction:column;width:10px;cursor:col-resize}.separator-container.horizontal button.expand-btn{width:10px;height:40px}.separator-container.horizontal button.toggle-btn{width:10px;height:20px}.toggle-btn,.expand-btn{display:block;width:14px;height:40px;background:none;border:none;cursor:pointer;display:flex;align-items:center;align-self:center;justify-content:center;transition:padding .3s ease;color:#fff;background-color:#8ea7f8;padding:0;z-index:10}.arrow{width:100%;height:100%;filter:brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(258deg) brightness(108%) contrast(101%)}.arrow-left{background:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"27.946\" height=\"45.317\" viewBox=\"0 0 27.946 45.317\">%0D%0A <path id=\"\\c0_gauche\" data-name=\"\\c0 gauche\" d=\"M331.646,880.287l-17.372,17.372,17.372,17.371-5.287,5.287L303.7,897.659,326.359,875Z\" transform=\"translate(-303.7 -875)\"/>%0D%0A</svg>%0D%0A');background-repeat:no-repeat;background-size:8px 8px;background-position:center}.arrow-right{background:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"27.946\" height=\"45.317\" viewBox=\"0 0 27.946 45.317\">%0D%0A <path fillColor=\"currentColor\" id=\"\\c0_doite\" data-name=\"\\c0 doite\" d=\"M346.487,875l22.659,22.659-22.659,22.659L341.2,915.03l17.372-17.371L341.2,880.287Z\" transform=\"translate(-341.2 -875)\"/>%0D%0A</svg>%0D%0A');background-repeat:no-repeat;background-size:8px 8px;background-position:center}.arrow-up{background:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"45.317\" height=\"27.946\" viewBox=\"0 0 45.317 27.946\">%0D%0A <path id=\"En_haut\" data-name=\"En haut\" d=\"M435.259,877l22.659,22.659-5.287,5.287-17.372-17.372-17.372,17.372-5.287-5.287Z\" transform=\"translate(-412.6 -877)\"/>%0D%0A</svg>%0D%0A');background-repeat:no-repeat;background-size:8px 8px;background-position:center}.arrow-down{background:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"45.317\" height=\"27.946\" viewBox=\"0 0 45.317 27.946\">%0D%0A <path id=\"En_bas\" data-name=\"En bas\" d=\"M489.53,877.6l5.287,5.287-22.659,22.659L449.5,882.887l5.287-5.287,17.372,17.371Z\" transform=\"translate(-449.5 -877.6)\"/>%0D%0A</svg>%0D%0A');background-repeat:no-repeat;background-size:8px 8px;background-position:center}.toggle-btn{position:absolute;top:0;left:0;height:20px;width:20px}.mobile-editor-bar{display:none}.page-container.narrow .middle-panel-footer,.page-container.narrow .separator-container,.page-container.narrow .right-panel-container{display:none!important}.page-container.narrow .middle-panel{flex:1 1 auto!important;width:100%!important;max-width:100%!important}.page-container.narrow.mobile-editor-open{position:relative}.page-container.narrow.mobile-editor-open .right-panel-container{display:flex!important;flex-direction:column;position:absolute;inset:0;z-index:1040;width:100%!important;max-width:100%!important;height:100%!important;background:#fff;overflow:hidden;padding-bottom:env(safe-area-inset-bottom,0px)}.page-container.narrow.mobile-editor-open .right-panel-container ::ng-deep>:not(.mobile-editor-bar){flex:1 1 0;min-height:0;overflow:auto}.page-container.narrow.mobile-editor-open .mobile-editor-bar{display:flex;align-items:center;flex:none;position:relative;z-index:30;height:44px;gap:4px;padding:0 4px;background:var(--main-bg-color, #3b57b8)}.page-container.narrow.mobile-editor-open .mobile-editor-button{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:44px;height:40px;padding:0;touch-action:manipulation;border:none;border-radius:8px;font-size:18px!important;background:transparent;color:#fff;font:inherit;font-weight:600;cursor:pointer}.page-container.narrow.mobile-editor-open .mobile-editor-button:hover,.page-container.narrow.mobile-editor-open .mobile-editor-button:focus-visible{background:#ffffff29;outline:none}:host ::ng-deep .page-container.narrow.mobile-editor-open .right-panel-container:has(.property-grid-tabset .tabset-nav-frame:not(.nav-none)) .mobile-editor-bar{position:absolute;top:0;left:0;z-index:30;height:42px;padding:6px 0 6px 8px;gap:6px;background:transparent}:host ::ng-deep .page-container.narrow.mobile-editor-open .right-panel-container:has(.property-grid-tabset .tabset-nav-frame:not(.nav-none)) .mobile-editor-button{width:36px;height:30px;border-radius:5px;background:#dbe4ff;color:#4465c9;font-size:15px!important}:host ::ng-deep .page-container.narrow.mobile-editor-open .right-panel-container:has(.property-grid-tabset .tabset-nav-frame:not(.nav-none)) .mobile-editor-button:hover,:host ::ng-deep .page-container.narrow.mobile-editor-open .right-panel-container:has(.property-grid-tabset .tabset-nav-frame:not(.nav-none)) .mobile-editor-button:focus-visible{background:#4465c9;color:#f7faff}:host ::ng-deep .page-container.narrow.mobile-editor-open .right-panel-container:has(.property-grid-tabset .tabset-nav-frame:not(.nav-none)) .property-grid-tabset>.tabset>.tabset-nav-frame{padding-left:44px}:host ::ng-deep .page-container.narrow.mobile-editor-open.editor-dirty .right-panel-container:has(.property-grid-tabset .tabset-nav-frame:not(.nav-none)) .property-grid-tabset>.tabset>.tabset-nav-frame{padding-left:86px}\n"],
|
|
22294
22367
|
dependencies: [
|
|
22295
22368
|
{
|
|
@@ -22342,7 +22415,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
22342
22415
|
selector: "alg-standard-page-layout",
|
|
22343
22416
|
changeDetection: ChangeDetectionStrategy.Eager,
|
|
22344
22417
|
standalone: false,
|
|
22345
|
-
template: "<div class=\"page-container\"\
|
|
22418
|
+
template: "<div class=\"page-container\"\n [class.narrow]=\"this.facade?.layout?.narrow$ | async\"\n [class.mobile-editor-open]=\"this.facade?.layout?.mobileEditorOpen$ | async\"\n [class.editor-dirty]=\"editorDirty\"\n layoutHandler\n [entityKey]=\"this.layoutKey\"\n [layoutContext]=\"this.facade.layout\"\n [middlePanel]=\"middlePanel\"\n \n #layoutHandler=\"layoutHandler\"\n tabindex=\"0\"\n baseShortcuts\n [facade]=\"this.facade\"\n #baseShortcuts=\"baseShortcuts\"\n >\n <!-- [rightPanel]=\"rightPanel?.nativeElement\"\n [_separator]=\"separator?.nativeElement\"\n -->\n <div class=\"panel-container\" [id]=\"layoutKey\">\n <div class=\"middle-panel\" #middlePanel>\n\n <!-- <div \n *ngIf=\"this.facade.layout.showFilterPanel$ |async\" \n class=\"left-panel-container\" hideOnThreshold>\n <ng-content select=\"[leftContent]\"></ng-content>\n </div> -->\n <div class=\"middle-panel-content\">\n <ng-content class=\"action-panel\" select=\"[actionsContent]\"></ng-content>\n <div class=\"middle-panel-header\">\n <ng-content select=\"[middleHeader]\"></ng-content>\n </div>\n \n <div class=\"middle-panel-main\">\n <ng-content select=\"[middleContent]\"></ng-content>\n </div>\n <div class=\"middle-panel-footer\">\n <ng-content select=\"[middleFooter]\"></ng-content>\n </div>\n \n </div>\n </div>\n <ng-container *ngIf=\"facade.layout.propertyPanelVisible$ | async\" >\n <div class=\"separator-container\"\n (mousedown)=\"layoutHandler.startResizing($event)\"\n (mouseup)=\"layoutHandler.stopResizing($event)\"\n [id]=\"layoutHandler.entityKey\"\n #separator\n >\n <button type=\"button\" class=\"toggle-btn\"\n title=\"Affichage Horizontal/Vertical\"\n (click)=\"toggleLayout()\">\n <div class=\"arrow\"></div>\n </button>\n\n <!-- <button class=\"expand-btn\"\n (click)=\"layoutHandler.expandPropertyflexGrow($event)\">\n <div class=\"arrow\"></div>\n </button> -->\n </div>\n\n <div class=\"right-panel-container\" [id]=\"layoutHandler.entityKey\" #rightPanel>\n <!-- Écran étroit : éditeur en plein écran, avec le retour à la liste de cartes. -->\n <div class=\"mobile-editor-bar\">\n <button type=\"button\" class=\"mobile-editor-button\" title=\"Revenir à la liste\" aria-label=\"Revenir à la liste\" (click)=\"backToList($event)\">\n <i class=\"fa fa-arrow-left\"></i>\n </button>\n <button type=\"button\" class=\"mobile-editor-button\" *ngIf=\"editorDirty\" title=\"Enregistrer\" aria-label=\"Enregistrer\" (click)=\"saveMobileEditor($event)\">\n <i class=\"fa fa-floppy-o\"></i>\n </button>\n </div>\n <ng-content select=\"[rightContent]\"></ng-content>\n </div>\n </ng-container>\n </div>\n</div>\n",
|
|
22346
22419
|
styles: [".home-page{font-family:Open sans,sans-serif;background:#fff;-webkit-font-smoothing:antialiased;height:100%;width:100%;padding:16px}.main-container{margin:0 50px}.main-container-modal{width:calc(100% - 50px);margin:10px 25px 0}.moyen-titre{font-weight:700;font-size:24px;color:#4d5a81;margin:8px 0;border-bottom:solid 1px #DBE4FF}.grand-titre{font-weight:700;font-size:28px;color:#4d5a81;margin:0 0 8px}.petit-titre{font-weight:700;font-size:16px;color:#4d5a81;margin:0 0 8px}.petit-titre.underlined{border-bottom:solid 1px #4D5A81}.paragraph{padding:0 15px}.paragraph-highlight{padding:5px 15px 0 12px;border-left:5px solid #8EA7F8;border-bottom:1px solid #DBE4FF;border-top:1px solid #DBE4FF;border-right:1px solid #DBE4FF;background-color:#f7faff}.highlight{background-color:#f7faff;border:1px solid #DBE4FF;border-radius:5px;padding:15px;color:#3c5dc4;margin:0 0 16px}.highlight p{margin-bottom:0}.highlight:before{position:relative;display:block;float:left;width:24px;height:24px;content:\" \";background-size:24px 24px;-webkit-background-size:24px 24px;background-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"53.294\" height=\"50.629\" viewBox=\"0 0 53.294 50.629\">%0D%0A <path id=\"allerg\\e8ne\" d=\"M830.494,25.793l-5.814,6.783.727,8.963-8.721,1.938-4.6,7.752L803.847,47.6l-8.236,3.634-4.6-7.51-8.721-1.938.727-8.963L777.2,26.035l5.814-6.783-.727-8.963,8.721-1.938L795.61.6l8.236,3.634L812.083.6l4.6,7.752,8.721,1.938-.727,8.963Zm-24.467,2.422V13.681h-4.845V28.216Zm0,9.69V33.06h-4.845v4.845Z\" transform=\"translate(-777.2 -0.6)\"/>%0D%0A</svg>%0D%0A');background-repeat:no-repeat;margin:0 8px 24px 0;filter:invert(31%) sepia(51%) saturate(1323%) hue-rotate(199deg) brightness(99%) contrast(94%)}.notification{background-color:#dbe4ff;border:1px solid #C4D0F9;border-radius:5px;color:#4d5a81;margin:16px;padding:5px 15px;text-align:justify}.notification:before{position:relative;display:block;float:left;width:24px;height:24px;content:\" \";background-size:24px 24px;-webkit-background-size:24px 24px;background-image:url('data:image/svg+xml,<svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"fas\" data-icon=\"info-circle\" class=\"svg-inline--fa fa-info-circle fa-w-16\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path fill=\"currentColor\" d=\"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z\"></path></svg>');background-repeat:no-repeat;margin:0 8px 0 0;filter:invert(31%) sepia(8%) saturate(2329%) hue-rotate(188deg) brightness(103%) contrast(85%)}.notification-text{padding:0 15px 0 30px;font-size:16px}.page-container{width:100%;height:100%}.panel-container{display:flex;width:100%;height:100%;flex-grow:1;overflow:auto}.left-panel-container{order:-1;width:20%;flex-grow:0;flex-shrink:0;border-right:solid 1px var(--main-bg-color)}.right-panel-container{flex-basis:0;overflow:hidden}.middle-panel{display:flex;overflow:hidden;flex-basis:0;flex-grow:1}.middle-panel-content{display:flex;flex-direction:column;width:100%;height:100%}.middle-panel-header{padding:0}.middle-panel-main{flex-grow:1;overflow:auto;padding:0}.middle-panel-footer{padding:0}.main-component{width:100%;height:100%;overflow:auto}.left-side-panel h1,.right-side-panel h1,.middle-panel h1{display:block;font-size:12pt;background:#fff;border-bottom:solid 1px var(--main-bg-color);padding:2px 10px;margin:0;line-height:33px}.separator-container{cursor:col-resize;position:relative;display:flex;align-items:center;justify-content:center;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAACXBIWXMAAA7CAAAOwgEVKEqAAAAAIGNIUk0AAHonAACAgwAA+mQAAIDSAAB2hgAA7OkAADmeAAAV/sZ+0zoAAAAeSURBVHjaYvj//z8DDC9duhTBgWHCAgAAAAD//wMAbP4vwvVSoTUAAAAASUVORK5CYII=) repeat scroll 0 0 transparent;background-color:#c1d0fd}.separator-container:hover{background-color:#dbe4ff}.separator-container.vertical{flex-direction:row;width:100%;height:10px;cursor:row-resize}.separator-container.vertical button.expand-btn{width:40px;height:10px}.separator-container.vertical button.toggle-btn{width:20px;height:10px}.separator-container.horizontal{flex-direction:column;width:10px;cursor:col-resize}.separator-container.horizontal button.expand-btn{width:10px;height:40px}.separator-container.horizontal button.toggle-btn{width:10px;height:20px}.toggle-btn,.expand-btn{display:block;width:14px;height:40px;background:none;border:none;cursor:pointer;display:flex;align-items:center;align-self:center;justify-content:center;transition:padding .3s ease;color:#fff;background-color:#8ea7f8;padding:0;z-index:10}.arrow{width:100%;height:100%;filter:brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(258deg) brightness(108%) contrast(101%)}.arrow-left{background:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"27.946\" height=\"45.317\" viewBox=\"0 0 27.946 45.317\">%0D%0A <path id=\"\\c0_gauche\" data-name=\"\\c0 gauche\" d=\"M331.646,880.287l-17.372,17.372,17.372,17.371-5.287,5.287L303.7,897.659,326.359,875Z\" transform=\"translate(-303.7 -875)\"/>%0D%0A</svg>%0D%0A');background-repeat:no-repeat;background-size:8px 8px;background-position:center}.arrow-right{background:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"27.946\" height=\"45.317\" viewBox=\"0 0 27.946 45.317\">%0D%0A <path fillColor=\"currentColor\" id=\"\\c0_doite\" data-name=\"\\c0 doite\" d=\"M346.487,875l22.659,22.659-22.659,22.659L341.2,915.03l17.372-17.371L341.2,880.287Z\" transform=\"translate(-341.2 -875)\"/>%0D%0A</svg>%0D%0A');background-repeat:no-repeat;background-size:8px 8px;background-position:center}.arrow-up{background:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"45.317\" height=\"27.946\" viewBox=\"0 0 45.317 27.946\">%0D%0A <path id=\"En_haut\" data-name=\"En haut\" d=\"M435.259,877l22.659,22.659-5.287,5.287-17.372-17.372-17.372,17.372-5.287-5.287Z\" transform=\"translate(-412.6 -877)\"/>%0D%0A</svg>%0D%0A');background-repeat:no-repeat;background-size:8px 8px;background-position:center}.arrow-down{background:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"45.317\" height=\"27.946\" viewBox=\"0 0 45.317 27.946\">%0D%0A <path id=\"En_bas\" data-name=\"En bas\" d=\"M489.53,877.6l5.287,5.287-22.659,22.659L449.5,882.887l5.287-5.287,17.372,17.371Z\" transform=\"translate(-449.5 -877.6)\"/>%0D%0A</svg>%0D%0A');background-repeat:no-repeat;background-size:8px 8px;background-position:center}.toggle-btn{position:absolute;top:0;left:0;height:20px;width:20px}.mobile-editor-bar{display:none}.page-container.narrow .middle-panel-footer,.page-container.narrow .separator-container,.page-container.narrow .right-panel-container{display:none!important}.page-container.narrow .middle-panel{flex:1 1 auto!important;width:100%!important;max-width:100%!important}.page-container.narrow.mobile-editor-open{position:relative}.page-container.narrow.mobile-editor-open .right-panel-container{display:flex!important;flex-direction:column;position:absolute;inset:0;z-index:1040;width:100%!important;max-width:100%!important;height:100%!important;background:#fff;overflow:hidden;padding-bottom:env(safe-area-inset-bottom,0px)}.page-container.narrow.mobile-editor-open .right-panel-container ::ng-deep>:not(.mobile-editor-bar){flex:1 1 0;min-height:0;overflow:auto}.page-container.narrow.mobile-editor-open .mobile-editor-bar{display:flex;align-items:center;flex:none;position:relative;z-index:30;height:44px;gap:4px;padding:0 4px;background:var(--main-bg-color, #3b57b8)}.page-container.narrow.mobile-editor-open .mobile-editor-button{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:44px;height:40px;padding:0;touch-action:manipulation;border:none;border-radius:8px;font-size:18px!important;background:transparent;color:#fff;font:inherit;font-weight:600;cursor:pointer}.page-container.narrow.mobile-editor-open .mobile-editor-button:hover,.page-container.narrow.mobile-editor-open .mobile-editor-button:focus-visible{background:#ffffff29;outline:none}:host ::ng-deep .page-container.narrow.mobile-editor-open .right-panel-container:has(.property-grid-tabset .tabset-nav-frame:not(.nav-none)) .mobile-editor-bar{position:absolute;top:0;left:0;z-index:30;height:42px;padding:6px 0 6px 8px;gap:6px;background:transparent}:host ::ng-deep .page-container.narrow.mobile-editor-open .right-panel-container:has(.property-grid-tabset .tabset-nav-frame:not(.nav-none)) .mobile-editor-button{width:36px;height:30px;border-radius:5px;background:#dbe4ff;color:#4465c9;font-size:15px!important}:host ::ng-deep .page-container.narrow.mobile-editor-open .right-panel-container:has(.property-grid-tabset .tabset-nav-frame:not(.nav-none)) .mobile-editor-button:hover,:host ::ng-deep .page-container.narrow.mobile-editor-open .right-panel-container:has(.property-grid-tabset .tabset-nav-frame:not(.nav-none)) .mobile-editor-button:focus-visible{background:#4465c9;color:#f7faff}:host ::ng-deep .page-container.narrow.mobile-editor-open .right-panel-container:has(.property-grid-tabset .tabset-nav-frame:not(.nav-none)) .property-grid-tabset>.tabset>.tabset-nav-frame{padding-left:44px}:host ::ng-deep .page-container.narrow.mobile-editor-open.editor-dirty .right-panel-container:has(.property-grid-tabset .tabset-nav-frame:not(.nav-none)) .property-grid-tabset>.tabset>.tabset-nav-frame{padding-left:86px}\n"]
|
|
22347
22420
|
}]
|
|
22348
22421
|
}],
|