@dflat-core/web 1.7.2073 → 1.7.2075
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 +14 -10
- package/assets/components/bootstrap-lite.scss +1667 -0
- package/assets/components/icons.scss +723 -0
- package/assets/components/modals.scss +154 -0
- package/assets/images/icons/fa/500px.svg +6 -0
- package/assets/images/icons/fa/address-book-o.svg +4 -0
- package/assets/images/icons/fa/address-book.svg +3 -0
- package/assets/images/icons/fa/adjust.svg +1 -0
- package/assets/images/icons/fa/adn.svg +1 -0
- package/assets/images/icons/fa/align-center.svg +2 -0
- package/assets/images/icons/fa/align-justify.svg +2 -0
- package/assets/images/icons/fa/align-left.svg +2 -0
- package/assets/images/icons/fa/align-right.svg +2 -0
- package/assets/images/icons/fa/amazon.svg +5 -0
- package/assets/images/icons/fa/ambulance.svg +3 -0
- package/assets/images/icons/fa/anchor.svg +3 -0
- package/assets/images/icons/fa/android.svg +3 -0
- package/assets/images/icons/fa/angellist.svg +6 -0
- package/assets/images/icons/fa/angle-double-down.svg +2 -0
- package/assets/images/icons/fa/angle-double-left.svg +2 -0
- package/assets/images/icons/fa/angle-double-right.svg +2 -0
- package/assets/images/icons/fa/angle-double-up.svg +2 -0
- package/assets/images/icons/fa/angle-down.svg +1 -0
- package/assets/images/icons/fa/angle-left.svg +1 -0
- package/assets/images/icons/fa/angle-right.svg +1 -0
- package/assets/images/icons/fa/angle-up.svg +1 -0
- package/assets/images/icons/fa/apple.svg +2 -0
- package/assets/images/icons/fa/archive.svg +2 -0
- package/assets/images/icons/fa/area-chart.svg +1 -0
- package/assets/images/icons/fa/arrow-circle-down.svg +2 -0
- package/assets/images/icons/fa/arrow-circle-left.svg +2 -0
- package/assets/images/icons/fa/arrow-circle-o-down.svg +2 -0
- package/assets/images/icons/fa/arrow-circle-o-left.svg +2 -0
- package/assets/images/icons/fa/arrow-circle-o-right.svg +2 -0
- package/assets/images/icons/fa/arrow-circle-o-up.svg +2 -0
- package/assets/images/icons/fa/arrow-circle-right.svg +2 -0
- package/assets/images/icons/fa/arrow-circle-up.svg +2 -0
- package/assets/images/icons/fa/arrow-down.svg +1 -0
- package/assets/images/icons/fa/arrow-left.svg +2 -0
- package/assets/images/icons/fa/arrow-right.svg +1 -0
- package/assets/images/icons/fa/arrow-up.svg +2 -0
- package/assets/images/icons/fa/arrows-alt.svg +3 -0
- package/assets/images/icons/fa/arrows-h.svg +1 -0
- package/assets/images/icons/fa/arrows-v.svg +1 -0
- package/assets/images/icons/fa/arrows.svg +2 -0
- package/assets/images/icons/fa/asl-interpreting.svg +6 -0
- package/assets/images/icons/fa/assistive-listening-systems.svg +5 -0
- package/assets/images/icons/fa/asterisk.svg +2 -0
- package/assets/images/icons/fa/at.svg +4 -0
- package/assets/images/icons/fa/audio-description.svg +5 -0
- package/assets/images/icons/fa/automobile.svg +3 -0
- package/assets/images/icons/fa/backward.svg +1 -0
- package/assets/images/icons/fa/balance-scale.svg +4 -0
- package/assets/images/icons/fa/ban.svg +2 -0
- package/assets/images/icons/fa/bandcamp.svg +1 -0
- package/assets/images/icons/fa/bar-chart-o.svg +1 -0
- package/assets/images/icons/fa/barcode.svg +2 -0
- package/assets/images/icons/fa/bathtub.svg +6 -0
- package/assets/images/icons/fa/battery-0.svg +2 -0
- package/assets/images/icons/fa/battery-1.svg +2 -0
- package/assets/images/icons/fa/battery-2.svg +2 -0
- package/assets/images/icons/fa/battery-3.svg +2 -0
- package/assets/images/icons/fa/battery-4.svg +2 -0
- package/assets/images/icons/fa/beer.svg +1 -0
- package/assets/images/icons/fa/behance-square.svg +3 -0
- package/assets/images/icons/fa/behance.svg +3 -0
- package/assets/images/icons/fa/bell-o.svg +3 -0
- package/assets/images/icons/fa/bell-slash-o.svg +3 -0
- package/assets/images/icons/fa/bell-slash.svg +3 -0
- package/assets/images/icons/fa/bell.svg +2 -0
- package/assets/images/icons/fa/bicycle.svg +4 -0
- package/assets/images/icons/fa/binoculars.svg +2 -0
- package/assets/images/icons/fa/birthday-cake.svg +5 -0
- package/assets/images/icons/fa/bitbucket-square.svg +4 -0
- package/assets/images/icons/fa/bitbucket.svg +4 -0
- package/assets/images/icons/fa/bitcoin.svg +3 -0
- package/assets/images/icons/fa/black-tie.svg +1 -0
- package/assets/images/icons/fa/blind.svg +4 -0
- package/assets/images/icons/fa/bluetooth-b.svg +1 -0
- package/assets/images/icons/fa/bluetooth.svg +2 -0
- package/assets/images/icons/fa/bold.svg +4 -0
- package/assets/images/icons/fa/bomb.svg +4 -0
- package/assets/images/icons/fa/book.svg +4 -0
- package/assets/images/icons/fa/bookmark-o.svg +2 -0
- package/assets/images/icons/fa/bookmark.svg +1 -0
- package/assets/images/icons/fa/braille.svg +7 -0
- package/assets/images/icons/fa/briefcase.svg +2 -0
- package/assets/images/icons/fa/bug.svg +3 -0
- package/assets/images/icons/fa/building-o.svg +10 -0
- package/assets/images/icons/fa/building.svg +8 -0
- package/assets/images/icons/fa/bullhorn.svg +2 -0
- package/assets/images/icons/fa/bullseye.svg +3 -0
- package/assets/images/icons/fa/bus.svg +3 -0
- package/assets/images/icons/fa/buysellads.svg +1 -0
- package/assets/images/icons/fa/cab.svg +3 -0
- package/assets/images/icons/fa/calculator.svg +6 -0
- package/assets/images/icons/fa/calendar-check-o.svg +3 -0
- package/assets/images/icons/fa/calendar-minus-o.svg +3 -0
- package/assets/images/icons/fa/calendar-o.svg +2 -0
- package/assets/images/icons/fa/calendar-plus-o.svg +3 -0
- package/assets/images/icons/fa/calendar-times-o.svg +3 -0
- package/assets/images/icons/fa/calendar.svg +4 -0
- package/assets/images/icons/fa/camera-retro.svg +3 -0
- package/assets/images/icons/fa/camera.svg +2 -0
- package/assets/images/icons/fa/caret-down.svg +1 -0
- package/assets/images/icons/fa/caret-left.svg +1 -0
- package/assets/images/icons/fa/caret-right.svg +1 -0
- package/assets/images/icons/fa/caret-up.svg +1 -0
- package/assets/images/icons/fa/cart-arrow-down.svg +3 -0
- package/assets/images/icons/fa/cart-plus.svg +3 -0
- package/assets/images/icons/fa/cc-amex.svg +9 -0
- package/assets/images/icons/fa/cc-diners-club.svg +3 -0
- package/assets/images/icons/fa/cc-discover.svg +5 -0
- package/assets/images/icons/fa/cc-jcb.svg +4 -0
- package/assets/images/icons/fa/cc-mastercard.svg +11 -0
- package/assets/images/icons/fa/cc-paypal.svg +6 -0
- package/assets/images/icons/fa/cc-stripe.svg +5 -0
- package/assets/images/icons/fa/cc-visa.svg +3 -0
- package/assets/images/icons/fa/cc.svg +4 -0
- package/assets/images/icons/fa/certificate.svg +3 -0
- package/assets/images/icons/fa/chain.svg +4 -0
- package/assets/images/icons/fa/check-circle-o.svg +2 -0
- package/assets/images/icons/fa/check-circle.svg +2 -0
- package/assets/images/icons/fa/check-square-o.svg +3 -0
- package/assets/images/icons/fa/check-square.svg +2 -0
- package/assets/images/icons/fa/check.svg +1 -0
- package/assets/images/icons/fa/chevron-circle-down.svg +2 -0
- package/assets/images/icons/fa/chevron-circle-left.svg +2 -0
- package/assets/images/icons/fa/chevron-circle-right.svg +2 -0
- package/assets/images/icons/fa/chevron-circle-up.svg +2 -0
- package/assets/images/icons/fa/chevron-down.svg +1 -0
- package/assets/images/icons/fa/chevron-left.svg +1 -0
- package/assets/images/icons/fa/chevron-right.svg +1 -0
- package/assets/images/icons/fa/chevron-up.svg +1 -0
- package/assets/images/icons/fa/child.svg +2 -0
- package/assets/images/icons/fa/chrome.svg +2 -0
- package/assets/images/icons/fa/circle-o-notch.svg +2 -0
- package/assets/images/icons/fa/circle-o.svg +2 -0
- package/assets/images/icons/fa/circle-thin.svg +2 -0
- package/assets/images/icons/fa/circle.svg +1 -0
- package/assets/images/icons/fa/clock-o.svg +2 -0
- package/assets/images/icons/fa/clone.svg +2 -0
- package/assets/images/icons/fa/cloud-download.svg +2 -0
- package/assets/images/icons/fa/cloud-upload.svg +2 -0
- package/assets/images/icons/fa/cloud.svg +2 -0
- package/assets/images/icons/fa/cny.svg +2 -0
- package/assets/images/icons/fa/code-fork.svg +3 -0
- package/assets/images/icons/fa/code.svg +2 -0
- package/assets/images/icons/fa/codepen.svg +2 -0
- package/assets/images/icons/fa/codiepie.svg +3 -0
- package/assets/images/icons/fa/coffee.svg +2 -0
- package/assets/images/icons/fa/columns.svg +1 -0
- package/assets/images/icons/fa/comment-o.svg +3 -0
- package/assets/images/icons/fa/comment.svg +2 -0
- package/assets/images/icons/fa/commenting-o.svg +4 -0
- package/assets/images/icons/fa/commenting.svg +3 -0
- package/assets/images/icons/fa/comments-o.svg +4 -0
- package/assets/images/icons/fa/comments.svg +3 -0
- package/assets/images/icons/fa/compass.svg +2 -0
- package/assets/images/icons/fa/compress.svg +2 -0
- package/assets/images/icons/fa/connectdevelop.svg +7 -0
- package/assets/images/icons/fa/contao.svg +3 -0
- package/assets/images/icons/fa/copy.svg +2 -0
- package/assets/images/icons/fa/copyright.svg +3 -0
- package/assets/images/icons/fa/creative-commons.svg +5 -0
- package/assets/images/icons/fa/credit-card-alt.svg +1 -0
- package/assets/images/icons/fa/credit-card.svg +2 -0
- package/assets/images/icons/fa/crop.svg +2 -0
- package/assets/images/icons/fa/crosshairs.svg +3 -0
- package/assets/images/icons/fa/css3.svg +1 -0
- package/assets/images/icons/fa/cube.svg +2 -0
- package/assets/images/icons/fa/cubes.svg +3 -0
- package/assets/images/icons/fa/cut.svg +5 -0
- package/assets/images/icons/fa/cutlery.svg +2 -0
- package/assets/images/icons/fa/dashboard.svg +4 -0
- package/assets/images/icons/fa/dashcube.svg +1 -0
- package/assets/images/icons/fa/database.svg +3 -0
- package/assets/images/icons/fa/deafness.svg +4 -0
- package/assets/images/icons/fa/dedent.svg +3 -0
- package/assets/images/icons/fa/delicious.svg +2 -0
- package/assets/images/icons/fa/desktop.svg +2 -0
- package/assets/images/icons/fa/deviantart.svg +1 -0
- package/assets/images/icons/fa/diamond.svg +2 -0
- package/assets/images/icons/fa/digg.svg +2 -0
- package/assets/images/icons/fa/dollar.svg +4 -0
- package/assets/images/icons/fa/dot-circle-o.svg +2 -0
- package/assets/images/icons/fa/download.svg +2 -0
- package/assets/images/icons/fa/dribbble.svg +4 -0
- package/assets/images/icons/fa/drivers-license-o.svg +4 -0
- package/assets/images/icons/fa/drivers-license.svg +4 -0
- package/assets/images/icons/fa/dropbox.svg +1 -0
- package/assets/images/icons/fa/drupal.svg +5 -0
- package/assets/images/icons/fa/edge.svg +2 -0
- package/assets/images/icons/fa/edit.svg +3 -0
- package/assets/images/icons/fa/eercast.svg +5 -0
- package/assets/images/icons/fa/eject.svg +1 -0
- package/assets/images/icons/fa/ellipsis-h.svg +2 -0
- package/assets/images/icons/fa/ellipsis-v.svg +2 -0
- package/assets/images/icons/fa/envelope-o.svg +3 -0
- package/assets/images/icons/fa/envelope-open-o.svg +4 -0
- package/assets/images/icons/fa/envelope-open.svg +3 -0
- package/assets/images/icons/fa/envelope-square.svg +3 -0
- package/assets/images/icons/fa/envelope.svg +2 -0
- package/assets/images/icons/fa/envira.svg +3 -0
- package/assets/images/icons/fa/eraser.svg +1 -0
- package/assets/images/icons/fa/etsy.svg +3 -0
- package/assets/images/icons/fa/euro.svg +3 -0
- package/assets/images/icons/fa/exchange.svg +2 -0
- package/assets/images/icons/fa/exclamation-circle.svg +2 -0
- package/assets/images/icons/fa/exclamation.svg +1 -0
- package/assets/images/icons/fa/expand.svg +2 -0
- package/assets/images/icons/fa/expeditedssl.svg +5 -0
- package/assets/images/icons/fa/external-link-square.svg +2 -0
- package/assets/images/icons/fa/external-link.svg +2 -0
- package/assets/images/icons/fa/eye-slash.svg +4 -0
- package/assets/images/icons/fa/eye.svg +2 -0
- package/assets/images/icons/fa/eyedropper.svg +2 -0
- package/assets/images/icons/fa/fa.svg +2 -0
- package/assets/images/icons/fa/facebook-f.svg +1 -0
- package/assets/images/icons/fa/facebook-official.svg +1 -0
- package/assets/images/icons/fa/facebook-square.svg +2 -0
- package/assets/images/icons/fa/fast-backward.svg +2 -0
- package/assets/images/icons/fa/fast-forward.svg +2 -0
- package/assets/images/icons/fa/fax.svg +5 -0
- package/assets/images/icons/fa/feed.svg +3 -0
- package/assets/images/icons/fa/female.svg +2 -0
- package/assets/images/icons/fa/fighter-jet.svg +2 -0
- package/assets/images/icons/fa/file-code-o.svg +3 -0
- package/assets/images/icons/fa/file-excel-o.svg +3 -0
- package/assets/images/icons/fa/file-movie-o.svg +2 -0
- package/assets/images/icons/fa/file-o.svg +2 -0
- package/assets/images/icons/fa/file-pdf-o.svg +4 -0
- package/assets/images/icons/fa/file-photo-o.svg +2 -0
- package/assets/images/icons/fa/file-powerpoint-o.svg +2 -0
- package/assets/images/icons/fa/file-sound-o.svg +3 -0
- package/assets/images/icons/fa/file-text-o.svg +3 -0
- package/assets/images/icons/fa/file-text.svg +2 -0
- package/assets/images/icons/fa/file-word-o.svg +3 -0
- package/assets/images/icons/fa/file-zip-o.svg +3 -0
- package/assets/images/icons/fa/file.svg +1 -0
- package/assets/images/icons/fa/film.svg +5 -0
- package/assets/images/icons/fa/filter.svg +1 -0
- package/assets/images/icons/fa/fire-extinguisher.svg +3 -0
- package/assets/images/icons/fa/fire.svg +2 -0
- package/assets/images/icons/fa/firefox.svg +3 -0
- package/assets/images/icons/fa/first-order.svg +4 -0
- package/assets/images/icons/fa/flag-checkered.svg +4 -0
- package/assets/images/icons/fa/flag-o.svg +3 -0
- package/assets/images/icons/fa/flag.svg +2 -0
- package/assets/images/icons/fa/flash.svg +1 -0
- package/assets/images/icons/fa/flask.svg +1 -0
- package/assets/images/icons/fa/flickr.svg +2 -0
- package/assets/images/icons/fa/folder-o.svg +2 -0
- package/assets/images/icons/fa/folder-open-o.svg +3 -0
- package/assets/images/icons/fa/folder-open.svg +2 -0
- package/assets/images/icons/fa/folder.svg +1 -0
- package/assets/images/icons/fa/font.svg +3 -0
- package/assets/images/icons/fa/fonticons.svg +3 -0
- package/assets/images/icons/fa/fort-awesome.svg +4 -0
- package/assets/images/icons/fa/forumbee.svg +2 -0
- package/assets/images/icons/fa/forward.svg +1 -0
- package/assets/images/icons/fa/foursquare.svg +3 -0
- package/assets/images/icons/fa/free-code-camp.svg +7 -0
- package/assets/images/icons/fa/frown-o.svg +3 -0
- package/assets/images/icons/fa/gamepad.svg +3 -0
- package/assets/images/icons/fa/gbp.svg +2 -0
- package/assets/images/icons/fa/ge.svg +6 -0
- package/assets/images/icons/fa/gear.svg +4 -0
- package/assets/images/icons/fa/gears.svg +8 -0
- package/assets/images/icons/fa/genderless.svg +2 -0
- package/assets/images/icons/fa/get-pocket.svg +2 -0
- package/assets/images/icons/fa/gg-circle.svg +2 -0
- package/assets/images/icons/fa/gg.svg +1 -0
- package/assets/images/icons/fa/gift.svg +3 -0
- package/assets/images/icons/fa/git-square.svg +4 -0
- package/assets/images/icons/fa/git.svg +4 -0
- package/assets/images/icons/fa/github-alt.svg +4 -0
- package/assets/images/icons/fa/github-square.svg +5 -0
- package/assets/images/icons/fa/github.svg +5 -0
- package/assets/images/icons/fa/gitlab.svg +1 -0
- package/assets/images/icons/fa/gittip.svg +2 -0
- package/assets/images/icons/fa/glass.svg +1 -0
- package/assets/images/icons/fa/glide-g.svg +4 -0
- package/assets/images/icons/fa/glide.svg +4 -0
- package/assets/images/icons/fa/globe.svg +15 -0
- package/assets/images/icons/fa/google-plus-circle.svg +2 -0
- package/assets/images/icons/fa/google-plus-square.svg +2 -0
- package/assets/images/icons/fa/google-plus.svg +2 -0
- package/assets/images/icons/fa/google-wallet.svg +2 -0
- package/assets/images/icons/fa/google.svg +2 -0
- package/assets/images/icons/fa/grav.svg +7 -0
- package/assets/images/icons/fa/group.svg +4 -0
- package/assets/images/icons/fa/h-square.svg +2 -0
- package/assets/images/icons/fa/hand-grab-o.svg +4 -0
- package/assets/images/icons/fa/hand-lizard-o.svg +3 -0
- package/assets/images/icons/fa/hand-o-down.svg +4 -0
- package/assets/images/icons/fa/hand-o-left.svg +4 -0
- package/assets/images/icons/fa/hand-o-right.svg +4 -0
- package/assets/images/icons/fa/hand-o-up.svg +4 -0
- package/assets/images/icons/fa/hand-peace-o.svg +5 -0
- package/assets/images/icons/fa/hand-pointer-o.svg +4 -0
- package/assets/images/icons/fa/hand-scissors-o.svg +5 -0
- package/assets/images/icons/fa/hand-spock-o.svg +4 -0
- package/assets/images/icons/fa/hand-stop-o.svg +3 -0
- package/assets/images/icons/fa/handshake-o.svg +5 -0
- package/assets/images/icons/fa/hashtag.svg +3 -0
- package/assets/images/icons/fa/hdd-o.svg +3 -0
- package/assets/images/icons/fa/header.svg +5 -0
- package/assets/images/icons/fa/headphones.svg +3 -0
- package/assets/images/icons/fa/heart-o.svg +3 -0
- package/assets/images/icons/fa/heart.svg +2 -0
- package/assets/images/icons/fa/heartbeat.svg +3 -0
- package/assets/images/icons/fa/history.svg +3 -0
- package/assets/images/icons/fa/home.svg +2 -0
- package/assets/images/icons/fa/hospital-o.svg +8 -0
- package/assets/images/icons/fa/hotel.svg +2 -0
- package/assets/images/icons/fa/hourglass-1.svg +2 -0
- package/assets/images/icons/fa/hourglass-2.svg +2 -0
- package/assets/images/icons/fa/hourglass-3.svg +3 -0
- package/assets/images/icons/fa/hourglass-o.svg +3 -0
- package/assets/images/icons/fa/hourglass.svg +3 -0
- package/assets/images/icons/fa/houzz.svg +1 -0
- package/assets/images/icons/fa/html5.svg +1 -0
- package/assets/images/icons/fa/i-cursor.svg +1 -0
- package/assets/images/icons/fa/id-badge.svg +3 -0
- package/assets/images/icons/fa/imdb.svg +4 -0
- package/assets/images/icons/fa/inbox.svg +2 -0
- package/assets/images/icons/fa/indent.svg +3 -0
- package/assets/images/icons/fa/industry.svg +1 -0
- package/assets/images/icons/fa/info-circle.svg +2 -0
- package/assets/images/icons/fa/info.svg +2 -0
- package/assets/images/icons/fa/instagram.svg +4 -0
- package/assets/images/icons/fa/institution.svg +2 -0
- package/assets/images/icons/fa/internet-explorer.svg +3 -0
- package/assets/images/icons/fa/intersex.svg +3 -0
- package/assets/images/icons/fa/ioxhost.svg +3 -0
- package/assets/images/icons/fa/italic.svg +2 -0
- package/assets/images/icons/fa/joomla.svg +5 -0
- package/assets/images/icons/fa/jsfiddle.svg +3 -0
- package/assets/images/icons/fa/key.svg +3 -0
- package/assets/images/icons/fa/keyboard-o.svg +5 -0
- package/assets/images/icons/fa/language.svg +6 -0
- package/assets/images/icons/fa/laptop.svg +2 -0
- package/assets/images/icons/fa/lastfm-square.svg +4 -0
- package/assets/images/icons/fa/lastfm.svg +4 -0
- package/assets/images/icons/fa/leaf.svg +3 -0
- package/assets/images/icons/fa/leanpub.svg +3 -0
- package/assets/images/icons/fa/legal.svg +4 -0
- package/assets/images/icons/fa/lemon-o.svg +4 -0
- package/assets/images/icons/fa/level-down.svg +1 -0
- package/assets/images/icons/fa/level-up.svg +1 -0
- package/assets/images/icons/fa/life-bouy.svg +3 -0
- package/assets/images/icons/fa/lightbulb-o.svg +4 -0
- package/assets/images/icons/fa/line-chart.svg +2 -0
- package/assets/images/icons/fa/linkedin-square.svg +2 -0
- package/assets/images/icons/fa/linkedin.svg +2 -0
- package/assets/images/icons/fa/linode.svg +4 -0
- package/assets/images/icons/fa/linux.svg +16 -0
- package/assets/images/icons/fa/list-alt.svg +5 -0
- package/assets/images/icons/fa/list-ol.svg +4 -0
- package/assets/images/icons/fa/list-ul.svg +3 -0
- package/assets/images/icons/fa/list.svg +5 -0
- package/assets/images/icons/fa/location-arrow.svg +1 -0
- package/assets/images/icons/fa/lock.svg +1 -0
- package/assets/images/icons/fa/long-arrow-down.svg +1 -0
- package/assets/images/icons/fa/long-arrow-left.svg +1 -0
- package/assets/images/icons/fa/long-arrow-right.svg +1 -0
- package/assets/images/icons/fa/long-arrow-up.svg +1 -0
- package/assets/images/icons/fa/low-vision.svg +4 -0
- package/assets/images/icons/fa/magic.svg +2 -0
- package/assets/images/icons/fa/magnet.svg +2 -0
- package/assets/images/icons/fa/mail-forward.svg +2 -0
- package/assets/images/icons/fa/mail-reply-all.svg +2 -0
- package/assets/images/icons/fa/mail-reply.svg +2 -0
- package/assets/images/icons/fa/male.svg +2 -0
- package/assets/images/icons/fa/map-marker.svg +1 -0
- package/assets/images/icons/fa/map-o.svg +2 -0
- package/assets/images/icons/fa/map-pin.svg +2 -0
- package/assets/images/icons/fa/map-signs.svg +2 -0
- package/assets/images/icons/fa/map.svg +2 -0
- package/assets/images/icons/fa/mars-double.svg +4 -0
- package/assets/images/icons/fa/mars-stroke-h.svg +3 -0
- package/assets/images/icons/fa/mars-stroke-v.svg +3 -0
- package/assets/images/icons/fa/mars-stroke.svg +3 -0
- package/assets/images/icons/fa/mars.svg +2 -0
- package/assets/images/icons/fa/maxcdn.svg +1 -0
- package/assets/images/icons/fa/meanpath.svg +3 -0
- package/assets/images/icons/fa/medium.svg +2 -0
- package/assets/images/icons/fa/medkit.svg +2 -0
- package/assets/images/icons/fa/meetup.svg +9 -0
- package/assets/images/icons/fa/meh-o.svg +3 -0
- package/assets/images/icons/fa/mercury.svg +3 -0
- package/assets/images/icons/fa/microchip.svg +5 -0
- package/assets/images/icons/fa/microphone-slash.svg +3 -0
- package/assets/images/icons/fa/microphone.svg +2 -0
- package/assets/images/icons/fa/minus-circle.svg +2 -0
- package/assets/images/icons/fa/minus-square-o.svg +2 -0
- package/assets/images/icons/fa/minus-square.svg +2 -0
- package/assets/images/icons/fa/minus.svg +1 -0
- package/assets/images/icons/fa/mixcloud.svg +4 -0
- package/assets/images/icons/fa/mobile-phone.svg +2 -0
- package/assets/images/icons/fa/modx.svg +1 -0
- package/assets/images/icons/fa/money.svg +2 -0
- package/assets/images/icons/fa/moon-o.svg +2 -0
- package/assets/images/icons/fa/mortar-board.svg +2 -0
- package/assets/images/icons/fa/motorcycle.svg +4 -0
- package/assets/images/icons/fa/mouse-pointer.svg +1 -0
- package/assets/images/icons/fa/music.svg +2 -0
- package/assets/images/icons/fa/navicon.svg +2 -0
- package/assets/images/icons/fa/neuter.svg +2 -0
- package/assets/images/icons/fa/newspaper-o.svg +2 -0
- package/assets/images/icons/fa/object-group.svg +2 -0
- package/assets/images/icons/fa/object-ungroup.svg +2 -0
- package/assets/images/icons/fa/odnoklassniki-square.svg +3 -0
- package/assets/images/icons/fa/odnoklassniki.svg +3 -0
- package/assets/images/icons/fa/opencart.svg +3 -0
- package/assets/images/icons/fa/openid.svg +1 -0
- package/assets/images/icons/fa/opera.svg +3 -0
- package/assets/images/icons/fa/optin-monster.svg +17 -0
- package/assets/images/icons/fa/pagelines.svg +4 -0
- package/assets/images/icons/fa/paint-brush.svg +2 -0
- package/assets/images/icons/fa/paperclip.svg +3 -0
- package/assets/images/icons/fa/paragraph.svg +2 -0
- package/assets/images/icons/fa/paste.svg +2 -0
- package/assets/images/icons/fa/pause-circle-o.svg +2 -0
- package/assets/images/icons/fa/pause-circle.svg +2 -0
- package/assets/images/icons/fa/pause.svg +1 -0
- package/assets/images/icons/fa/paw.svg +4 -0
- package/assets/images/icons/fa/paypal.svg +3 -0
- package/assets/images/icons/fa/pencil-square.svg +2 -0
- package/assets/images/icons/fa/pencil.svg +2 -0
- package/assets/images/icons/fa/percent.svg +3 -0
- package/assets/images/icons/fa/phone-square.svg +4 -0
- package/assets/images/icons/fa/phone.svg +3 -0
- package/assets/images/icons/fa/photo.svg +2 -0
- package/assets/images/icons/fa/pie-chart.svg +1 -0
- package/assets/images/icons/fa/pied-piper-alt.svg +8 -0
- package/assets/images/icons/fa/pied-piper-pp.svg +3 -0
- package/assets/images/icons/fa/pied-piper.svg +3 -0
- package/assets/images/icons/fa/pinterest-p.svg +3 -0
- package/assets/images/icons/fa/pinterest-square.svg +3 -0
- package/assets/images/icons/fa/pinterest.svg +3 -0
- package/assets/images/icons/fa/plane.svg +2 -0
- package/assets/images/icons/fa/play-circle-o.svg +2 -0
- package/assets/images/icons/fa/play-circle.svg +2 -0
- package/assets/images/icons/fa/play.svg +1 -0
- package/assets/images/icons/fa/plug.svg +2 -0
- package/assets/images/icons/fa/plus-circle.svg +2 -0
- package/assets/images/icons/fa/plus-square-o.svg +2 -0
- package/assets/images/icons/fa/plus-square.svg +2 -0
- package/assets/images/icons/fa/plus.svg +1 -0
- package/assets/images/icons/fa/podcast.svg +5 -0
- package/assets/images/icons/fa/power-off.svg +2 -0
- package/assets/images/icons/fa/print.svg +2 -0
- package/assets/images/icons/fa/product-hunt.svg +2 -0
- package/assets/images/icons/fa/puzzle-piece.svg +4 -0
- package/assets/images/icons/fa/qq.svg +4 -0
- package/assets/images/icons/fa/qrcode.svg +2 -0
- package/assets/images/icons/fa/question-circle-o.svg +4 -0
- package/assets/images/icons/fa/question-circle.svg +3 -0
- package/assets/images/icons/fa/question.svg +2 -0
- package/assets/images/icons/fa/quora.svg +3 -0
- package/assets/images/icons/fa/quote-left.svg +2 -0
- package/assets/images/icons/fa/quote-right.svg +2 -0
- package/assets/images/icons/fa/ra.svg +4 -0
- package/assets/images/icons/fa/random.svg +4 -0
- package/assets/images/icons/fa/ravelry.svg +6 -0
- package/assets/images/icons/fa/recycle.svg +4 -0
- package/assets/images/icons/fa/reddit-alien.svg +4 -0
- package/assets/images/icons/fa/reddit-square.svg +4 -0
- package/assets/images/icons/fa/reddit.svg +4 -0
- package/assets/images/icons/fa/refresh.svg +3 -0
- package/assets/images/icons/fa/registered.svg +3 -0
- package/assets/images/icons/fa/remove.svg +2 -0
- package/assets/images/icons/fa/renren.svg +2 -0
- package/assets/images/icons/fa/retweet.svg +3 -0
- package/assets/images/icons/fa/road.svg +2 -0
- package/assets/images/icons/fa/rocket.svg +2 -0
- package/assets/images/icons/fa/rotate-left.svg +2 -0
- package/assets/images/icons/fa/rotate-right.svg +2 -0
- package/assets/images/icons/fa/rss-square.svg +3 -0
- package/assets/images/icons/fa/ruble.svg +2 -0
- package/assets/images/icons/fa/rupee.svg +2 -0
- package/assets/images/icons/fa/safari.svg +6 -0
- package/assets/images/icons/fa/save.svg +2 -0
- package/assets/images/icons/fa/scribd.svg +4 -0
- package/assets/images/icons/fa/search-minus.svg +3 -0
- package/assets/images/icons/fa/search-plus.svg +3 -0
- package/assets/images/icons/fa/search.svg +2 -0
- package/assets/images/icons/fa/sellsy.svg +3 -0
- package/assets/images/icons/fa/send-o.svg +2 -0
- package/assets/images/icons/fa/send.svg +1 -0
- package/assets/images/icons/fa/server.svg +2 -0
- package/assets/images/icons/fa/share-alt-square.svg +2 -0
- package/assets/images/icons/fa/share-alt.svg +2 -0
- package/assets/images/icons/fa/share-square-o.svg +3 -0
- package/assets/images/icons/fa/share-square.svg +2 -0
- package/assets/images/icons/fa/shekel.svg +2 -0
- package/assets/images/icons/fa/shield.svg +2 -0
- package/assets/images/icons/fa/ship.svg +5 -0
- package/assets/images/icons/fa/shirtsinbulk.svg +7 -0
- package/assets/images/icons/fa/shopping-bag.svg +2 -0
- package/assets/images/icons/fa/shopping-basket.svg +4 -0
- package/assets/images/icons/fa/shopping-cart.svg +2 -0
- package/assets/images/icons/fa/shower.svg +6 -0
- package/assets/images/icons/fa/sign-in.svg +2 -0
- package/assets/images/icons/fa/sign-out.svg +2 -0
- package/assets/images/icons/fa/signal.svg +2 -0
- package/assets/images/icons/fa/signing.svg +5 -0
- package/assets/images/icons/fa/simplybuilt.svg +2 -0
- package/assets/images/icons/fa/sitemap.svg +3 -0
- package/assets/images/icons/fa/skyatlas.svg +4 -0
- package/assets/images/icons/fa/skype.svg +4 -0
- package/assets/images/icons/fa/slack.svg +3 -0
- package/assets/images/icons/fa/sliders.svg +2 -0
- package/assets/images/icons/fa/slideshare.svg +4 -0
- package/assets/images/icons/fa/smile-o.svg +3 -0
- package/assets/images/icons/fa/snapchat-ghost.svg +3 -0
- package/assets/images/icons/fa/snapchat-square.svg +4 -0
- package/assets/images/icons/fa/snapchat.svg +4 -0
- package/assets/images/icons/fa/snowflake-o.svg +5 -0
- package/assets/images/icons/fa/soccer-ball-o.svg +2 -0
- package/assets/images/icons/fa/sort-alpha-asc.svg +3 -0
- package/assets/images/icons/fa/sort-alpha-desc.svg +3 -0
- package/assets/images/icons/fa/sort-amount-asc.svg +3 -0
- package/assets/images/icons/fa/sort-amount-desc.svg +3 -0
- package/assets/images/icons/fa/sort-down.svg +1 -0
- package/assets/images/icons/fa/sort-numeric-asc.svg +3 -0
- package/assets/images/icons/fa/sort-numeric-desc.svg +3 -0
- package/assets/images/icons/fa/sort-up.svg +1 -0
- package/assets/images/icons/fa/soundcloud.svg +7 -0
- package/assets/images/icons/fa/space-shuttle.svg +3 -0
- package/assets/images/icons/fa/spinner.svg +4 -0
- package/assets/images/icons/fa/spoon.svg +1 -0
- package/assets/images/icons/fa/spotify.svg +3 -0
- package/assets/images/icons/fa/square-o.svg +2 -0
- package/assets/images/icons/fa/square.svg +1 -0
- package/assets/images/icons/fa/stack-exchange.svg +2 -0
- package/assets/images/icons/fa/stack-overflow.svg +1 -0
- package/assets/images/icons/fa/star-half-empty.svg +2 -0
- package/assets/images/icons/fa/star-half.svg +1 -0
- package/assets/images/icons/fa/star-o.svg +2 -0
- package/assets/images/icons/fa/star.svg +2 -0
- package/assets/images/icons/fa/steam-square.svg +4 -0
- package/assets/images/icons/fa/steam.svg +3 -0
- package/assets/images/icons/fa/step-backward.svg +1 -0
- package/assets/images/icons/fa/step-forward.svg +1 -0
- package/assets/images/icons/fa/stethoscope.svg +3 -0
- package/assets/images/icons/fa/sticky-note-o.svg +2 -0
- package/assets/images/icons/fa/sticky-note.svg +1 -0
- package/assets/images/icons/fa/stop-circle-o.svg +2 -0
- package/assets/images/icons/fa/stop-circle.svg +2 -0
- package/assets/images/icons/fa/stop.svg +1 -0
- package/assets/images/icons/fa/street-view.svg +4 -0
- package/assets/images/icons/fa/strikethrough.svg +3 -0
- package/assets/images/icons/fa/stumbleupon-circle.svg +3 -0
- package/assets/images/icons/fa/stumbleupon.svg +2 -0
- package/assets/images/icons/fa/subscript.svg +3 -0
- package/assets/images/icons/fa/subway.svg +2 -0
- package/assets/images/icons/fa/suitcase.svg +2 -0
- package/assets/images/icons/fa/sun-o.svg +3 -0
- package/assets/images/icons/fa/superpowers.svg +2 -0
- package/assets/images/icons/fa/superscript.svg +3 -0
- package/assets/images/icons/fa/table.svg +5 -0
- package/assets/images/icons/fa/tablet.svg +2 -0
- package/assets/images/icons/fa/tag.svg +2 -0
- package/assets/images/icons/fa/tags.svg +2 -0
- package/assets/images/icons/fa/tasks.svg +2 -0
- package/assets/images/icons/fa/telegram.svg +2 -0
- package/assets/images/icons/fa/tencent-weibo.svg +3 -0
- package/assets/images/icons/fa/terminal.svg +2 -0
- package/assets/images/icons/fa/text-height.svg +4 -0
- package/assets/images/icons/fa/text-width.svg +5 -0
- package/assets/images/icons/fa/th-large.svg +2 -0
- package/assets/images/icons/fa/th-list.svg +3 -0
- package/assets/images/icons/fa/th.svg +4 -0
- package/assets/images/icons/fa/themeisle.svg +8 -0
- package/assets/images/icons/fa/thermometer-0.svg +2 -0
- package/assets/images/icons/fa/thermometer-1.svg +3 -0
- package/assets/images/icons/fa/thermometer-2.svg +3 -0
- package/assets/images/icons/fa/thermometer-3.svg +3 -0
- package/assets/images/icons/fa/thermometer-4.svg +3 -0
- package/assets/images/icons/fa/thumb-tack.svg +2 -0
- package/assets/images/icons/fa/thumbs-down.svg +3 -0
- package/assets/images/icons/fa/thumbs-o-down.svg +4 -0
- package/assets/images/icons/fa/thumbs-o-up.svg +4 -0
- package/assets/images/icons/fa/thumbs-up.svg +3 -0
- package/assets/images/icons/fa/ticket.svg +2 -0
- package/assets/images/icons/fa/times-circle-o.svg +3 -0
- package/assets/images/icons/fa/times-circle.svg +2 -0
- package/assets/images/icons/fa/times-rectangle-o.svg +2 -0
- package/assets/images/icons/fa/times-rectangle.svg +2 -0
- package/assets/images/icons/fa/tint.svg +2 -0
- package/assets/images/icons/fa/toggle-down.svg +2 -0
- package/assets/images/icons/fa/toggle-left.svg +2 -0
- package/assets/images/icons/fa/toggle-off.svg +3 -0
- package/assets/images/icons/fa/toggle-on.svg +2 -0
- package/assets/images/icons/fa/toggle-right.svg +2 -0
- package/assets/images/icons/fa/toggle-up.svg +2 -0
- package/assets/images/icons/fa/trademark.svg +3 -0
- package/assets/images/icons/fa/train.svg +2 -0
- package/assets/images/icons/fa/transgender-alt.svg +4 -0
- package/assets/images/icons/fa/trash-o.svg +3 -0
- package/assets/images/icons/fa/trash.svg +3 -0
- package/assets/images/icons/fa/tree.svg +2 -0
- package/assets/images/icons/fa/trello.svg +2 -0
- package/assets/images/icons/fa/tripadvisor.svg +6 -0
- package/assets/images/icons/fa/trophy.svg +3 -0
- package/assets/images/icons/fa/truck.svg +3 -0
- package/assets/images/icons/fa/tty.svg +5 -0
- package/assets/images/icons/fa/tumblr-square.svg +2 -0
- package/assets/images/icons/fa/tumblr.svg +2 -0
- package/assets/images/icons/fa/turkish-lira.svg +2 -0
- package/assets/images/icons/fa/tv.svg +2 -0
- package/assets/images/icons/fa/twitch.svg +1 -0
- package/assets/images/icons/fa/twitter-square.svg +3 -0
- package/assets/images/icons/fa/twitter.svg +2 -0
- package/assets/images/icons/fa/umbrella.svg +3 -0
- package/assets/images/icons/fa/underline.svg +4 -0
- package/assets/images/icons/fa/universal-access.svg +4 -0
- package/assets/images/icons/fa/unlink.svg +4 -0
- package/assets/images/icons/fa/unlock-alt.svg +2 -0
- package/assets/images/icons/fa/unlock.svg +2 -0
- package/assets/images/icons/fa/unsorted.svg +1 -0
- package/assets/images/icons/fa/upload.svg +2 -0
- package/assets/images/icons/fa/usb.svg +3 -0
- package/assets/images/icons/fa/user-circle-o.svg +2 -0
- package/assets/images/icons/fa/user-circle.svg +2 -0
- package/assets/images/icons/fa/user-md.svg +4 -0
- package/assets/images/icons/fa/user-o.svg +3 -0
- package/assets/images/icons/fa/user-plus.svg +3 -0
- package/assets/images/icons/fa/user-secret.svg +4 -0
- package/assets/images/icons/fa/user-times.svg +3 -0
- package/assets/images/icons/fa/user.svg +2 -0
- package/assets/images/icons/fa/vcard-o.svg +5 -0
- package/assets/images/icons/fa/vcard.svg +4 -0
- package/assets/images/icons/fa/venus-double.svg +4 -0
- package/assets/images/icons/fa/venus-mars.svg +4 -0
- package/assets/images/icons/fa/venus.svg +2 -0
- package/assets/images/icons/fa/viacoin.svg +1 -0
- package/assets/images/icons/fa/viadeo-square.svg +4 -0
- package/assets/images/icons/fa/viadeo.svg +3 -0
- package/assets/images/icons/fa/video-camera.svg +2 -0
- package/assets/images/icons/fa/vimeo-square.svg +2 -0
- package/assets/images/icons/fa/vimeo.svg +2 -0
- package/assets/images/icons/fa/vine.svg +2 -0
- package/assets/images/icons/fa/vk.svg +5 -0
- package/assets/images/icons/fa/volume-control-phone.svg +5 -0
- package/assets/images/icons/fa/volume-down.svg +2 -0
- package/assets/images/icons/fa/volume-off.svg +1 -0
- package/assets/images/icons/fa/volume-up.svg +4 -0
- package/assets/images/icons/fa/warning.svg +2 -0
- package/assets/images/icons/fa/wechat.svg +4 -0
- package/assets/images/icons/fa/weibo.svg +5 -0
- package/assets/images/icons/fa/whatsapp.svg +3 -0
- package/assets/images/icons/fa/wheelchair-alt.svg +3 -0
- package/assets/images/icons/fa/wheelchair.svg +2 -0
- package/assets/images/icons/fa/wifi.svg +3 -0
- package/assets/images/icons/fa/wikipedia-w.svg +3 -0
- package/assets/images/icons/fa/window-maximize.svg +1 -0
- package/assets/images/icons/fa/window-minimize.svg +1 -0
- package/assets/images/icons/fa/window-restore.svg +2 -0
- package/assets/images/icons/fa/windows.svg +1 -0
- package/assets/images/icons/fa/won.svg +3 -0
- package/assets/images/icons/fa/wordpress.svg +5 -0
- package/assets/images/icons/fa/wpbeginner.svg +2 -0
- package/assets/images/icons/fa/wpexplorer.svg +3 -0
- package/assets/images/icons/fa/wpforms.svg +2 -0
- package/assets/images/icons/fa/wrench.svg +2 -0
- package/assets/images/icons/fa/xing-square.svg +2 -0
- package/assets/images/icons/fa/xing.svg +2 -0
- package/assets/images/icons/fa/y-combinator-square.svg +1 -0
- package/assets/images/icons/fa/yahoo.svg +2 -0
- package/assets/images/icons/fa/yc.svg +1 -0
- package/assets/images/icons/fa/yelp.svg +4 -0
- package/assets/images/icons/fa/yoast.svg +2 -0
- package/assets/images/icons/fa/youtube-play.svg +3 -0
- package/assets/images/icons/fa/youtube-square.svg +6 -0
- package/assets/images/icons/fa/youtube.svg +5 -0
- package/assets/site.scss +1 -0
- package/assets/{bootswatch.scss → theme-variables.scss} +2 -2
- package/assets/theme.scss +146 -0
- package/assets/variables.scss +3 -3
- package/fesm2022/dflat-core-web-core-data.mjs +6 -10
- package/fesm2022/dflat-core-web-core-data.mjs.map +1 -1
- package/fesm2022/dflat-core-web-core-model.mjs.map +1 -1
- package/fesm2022/dflat-core-web-core-ux-testing.mjs +5 -1
- package/fesm2022/dflat-core-web-core-ux-testing.mjs.map +1 -1
- package/fesm2022/dflat-core-web-core-ux.mjs +4338 -987
- package/fesm2022/dflat-core-web-core-ux.mjs.map +1 -1
- package/fesm2022/dflat-core-web-core.mjs +102 -7
- package/fesm2022/dflat-core-web-core.mjs.map +1 -1
- package/fesm2022/dflat-core-web-system-data.mjs +35 -0
- package/fesm2022/dflat-core-web-system-data.mjs.map +1 -1
- package/fesm2022/dflat-core-web-system-model.mjs +11 -1
- package/fesm2022/dflat-core-web-system-model.mjs.map +1 -1
- package/fesm2022/dflat-core-web-system-root.mjs +2 -2
- package/fesm2022/dflat-core-web-system-root.mjs.map +1 -1
- package/fesm2022/dflat-core-web-system-ux.mjs +3195 -1060
- package/fesm2022/dflat-core-web-system-ux.mjs.map +1 -1
- package/package.json +1 -8
- package/scss/dflat-app.scss +10 -11
- package/types/dflat-core-web-core-data.d.ts +11 -3
- package/types/dflat-core-web-core-model.d.ts +6 -9
- package/types/dflat-core-web-core-ux-testing.d.ts +6 -2
- package/types/dflat-core-web-core-ux.d.ts +1538 -98
- package/types/dflat-core-web-core.d.ts +58 -0
- package/types/dflat-core-web-system-data.d.ts +8 -1
- package/types/dflat-core-web-system-model.d.ts +466 -2
- package/types/dflat-core-web-system-ux.d.ts +286 -46
|
@@ -1,30 +1,35 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
|
-
import { AfterContentInit, AfterViewChecked, AfterViewInit, ChangeDetectorRef, ComponentRef, ElementRef, EventEmitter, InjectionToken, Injector, IterableDiffers, NgZone, OnChanges, OnDestroy, OnInit, PipeTransform, QueryList, Renderer2, SimpleChanges, TemplateRef, Type, ViewContainerRef } from "@angular/core";
|
|
3
|
-
import * as
|
|
4
|
-
import { ActionDescriptor, AggregateFunction, AggregationValue, ColumnDescriptor, DictionnaryWrapper, EntityConfig, EntityViewModel, EntityViewModelWithFields, ExtendedProperty, FieldDescriptor, FieldEvent, FieldValidators, FilterDescriptor, FilterQuery, FilterRow, FilterType, FilterViewModel, IFilterDescriptorExtra, Notification, PagedList, PropertyEditorEvent, RunActionContext, SaveResult, SaveResults, Section, SectionError, SpecificSection, TextZoneButtonEvent,
|
|
2
|
+
import { AfterContentInit, AfterViewChecked, AfterViewInit, ChangeDetectorRef, ComponentRef, DoCheck, ElementRef, EventEmitter, InjectionToken, Injector, IterableDiffers, NgZone, OnChanges, OnDestroy, OnInit, PipeTransform, QueryList, Renderer2, SimpleChanges, TemplateRef, Type, ViewContainerRef } from "@angular/core";
|
|
3
|
+
import * as i93 from "@dflat-core/web/core-model";
|
|
4
|
+
import { ActionDescriptor, AggregateFunction, AggregationValue, ColumnDescriptor, DictionnaryWrapper, EntityConfig, EntityViewModel, EntityViewModelWithFields, ExtendedProperty, FieldDescriptor, FieldEvent, FieldValidators, FilterDescriptor, FilterQuery, FilterRow, FilterType, FilterViewModel, IFilterDescriptorExtra, Notification, PagedList, PropertyEditorEvent, RunActionContext, SaveResult, SaveResults, Section, SectionError, SpecificSection, TextZoneButtonEvent, User } from "@dflat-core/web/core-model";
|
|
5
5
|
import { AuthService, BreadcrumbService, BusMessageService, FilterService, HubService, LocalStoreManager, MenuItem, MenuService, NotificationMqService, UserService } from "@dflat-core/web/core-services";
|
|
6
|
-
import * as
|
|
6
|
+
import * as i94 from "@angular/forms";
|
|
7
7
|
import { AbstractControl, ControlValueAccessor, FormBuilder, FormControl, FormGroup, NgForm, UntypedFormControl, UntypedFormGroup, ValidationErrors, Validator, ValidatorFn } from "@angular/forms";
|
|
8
8
|
import { BehaviorSubject, Observable, Subject, Subscription } from "rxjs";
|
|
9
9
|
import { DataService, EntityDataService } from "@dflat-core/web/core-data";
|
|
10
10
|
import { ActionDataService, FilesDataService } from "@dflat-core/web/system-data";
|
|
11
|
-
import * as
|
|
11
|
+
import * as i92 from "@angular/common";
|
|
12
12
|
import { DatePipe, Location } from "@angular/common";
|
|
13
|
-
import * as
|
|
13
|
+
import * as i91 from "@angular/router";
|
|
14
14
|
import { ActivatedRoute, ActivatedRouteSnapshot, BaseRouteReuseStrategy, DetachedRouteHandle, Router, RouterStateSnapshot } from "@angular/router";
|
|
15
|
-
import { SelectionType, TableColumn } from "@swimlane/ngx-datatable";
|
|
16
15
|
import { ActiveToast, IndividualConfig, ToastrService } from "ngx-toastr";
|
|
17
16
|
import { Guid } from "guid-typescript";
|
|
18
|
-
import * as i95 from "ngx-bootstrap/modal";
|
|
19
|
-
import { BsModalRef, BsModalService, ModalOptions } from "ngx-bootstrap/modal";
|
|
20
|
-
import * as i94 from "ngx-bootstrap/datepicker";
|
|
21
|
-
import { BsDatepickerConfig, BsLocaleService } from "ngx-bootstrap/datepicker";
|
|
22
17
|
import { EnvironmentBase } from "@dflat-core/web/core";
|
|
23
18
|
import { AnimationBuilder } from "@angular/animations";
|
|
24
19
|
import { DomSanitizer, SafeUrl } from "@angular/platform-browser";
|
|
25
|
-
import * as
|
|
26
|
-
import * as i98 from "ngx-bootstrap/focus-trap";
|
|
20
|
+
import * as i95 from "@ng-select/ng-select";
|
|
27
21
|
import { CdkDragDrop } from "@angular/cdk/drag-drop";
|
|
22
|
+
/**
|
|
23
|
+
* Mode de sélection des lignes d'une grille (mêmes valeurs que SelectionType de @swimlane/ngx-datatable,
|
|
24
|
+
* dont le package ne dépend plus).
|
|
25
|
+
*/
|
|
26
|
+
export declare enum SelectionType {
|
|
27
|
+
single = "single",
|
|
28
|
+
multi = "multi",
|
|
29
|
+
multiClick = "multiClick",
|
|
30
|
+
cell = "cell",
|
|
31
|
+
checkbox = "checkbox"
|
|
32
|
+
}
|
|
28
33
|
export type FacadeAction = ((param?: any) => void) | ((param?: any) => Observable<ActionResult<any>>);
|
|
29
34
|
export declare class ActionDefinition {
|
|
30
35
|
readonly name: string;
|
|
@@ -96,6 +101,154 @@ export declare class FacadeLoadGuard {
|
|
|
96
101
|
markFacadeReady(): void;
|
|
97
102
|
markComponentInitReady(): void;
|
|
98
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* Filtre additionnel structuré d'une recherche (FilterViewModel.AdditionalQuery) : des groupes reliés
|
|
106
|
+
* par OU, chacun fait de conditions reliées par ET. Le serveur en écrit la clause SQL
|
|
107
|
+
* (AdditionalQueryBuilder) ; le client n'envoie jamais de SQL.
|
|
108
|
+
*/
|
|
109
|
+
/** Opérateurs d'une condition : motif (* pour n'importe quelle suite), égal, différent, dans la liste, hors de la liste. */
|
|
110
|
+
export type AdditionalFilterOperator = 'like' | 'eq' | 'ne' | 'in' | 'notin';
|
|
111
|
+
/** Condition d'un filtre additionnel : propriété (colonne de la grille), opérateur et valeur(s). */
|
|
112
|
+
export interface AdditionalFilterCondition {
|
|
113
|
+
Property: string;
|
|
114
|
+
Operator: AdditionalFilterOperator;
|
|
115
|
+
/** Valeur comparée (like, eq, ne). */
|
|
116
|
+
Value?: string | number | boolean | null;
|
|
117
|
+
/** Valeurs comparées (in, notin). */
|
|
118
|
+
Values?: (string | number)[];
|
|
119
|
+
}
|
|
120
|
+
/** Groupe de conditions, toutes vérifiées. */
|
|
121
|
+
export interface AdditionalFilterGroup {
|
|
122
|
+
Conditions: AdditionalFilterCondition[];
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Valeur de FilterViewModel.AdditionalQuery : les groupes en JSON, valeurs converties en texte ;
|
|
126
|
+
* undefined sans condition.
|
|
127
|
+
*/
|
|
128
|
+
export declare function toAdditionalQuery(groups: AdditionalFilterGroup[]): string | undefined;
|
|
129
|
+
/** Filtre d'une seule condition, prêt pour FilterViewModel.AdditionalQuery. */
|
|
130
|
+
export declare function additionalQueryOf(condition: AdditionalFilterCondition): string | undefined;
|
|
131
|
+
/**
|
|
132
|
+
* Opérateurs d'une condition du filtre d'une vue : ceux du filtre additionnel, et les comparaisons de
|
|
133
|
+
* la fenêtre « Filtres et tri » (texte, nombres, dates, oui / non, vide).
|
|
134
|
+
*/
|
|
135
|
+
export type ViewFilterOperator = AdditionalFilterOperator | 'contains' | 'notcontains' | 'startswith' | 'endswith' | 'gt' | 'ge' | 'lt' | 'le' | 'between' | 'isnull' | 'notnull' | 'true' | 'false' | 'on' | 'before' | 'after' | 'datebetween' | 'today' | 'thismonth';
|
|
136
|
+
/** Condition du filtre d'une vue. */
|
|
137
|
+
export interface ViewFilterCondition {
|
|
138
|
+
Property: string;
|
|
139
|
+
Operator: ViewFilterOperator;
|
|
140
|
+
Value?: string | null;
|
|
141
|
+
/** Borne haute (between, datebetween). */
|
|
142
|
+
Value2?: string | null;
|
|
143
|
+
/** Valeurs (in, notin). */
|
|
144
|
+
Values?: string[];
|
|
145
|
+
}
|
|
146
|
+
/** Groupe du filtre d'une vue : conditions et groupes imbriqués, reliés par ET ou par OU. */
|
|
147
|
+
export interface ViewFilterGroup {
|
|
148
|
+
Logic: 'and' | 'or';
|
|
149
|
+
Conditions: ViewFilterCondition[];
|
|
150
|
+
Groups?: ViewFilterGroup[];
|
|
151
|
+
}
|
|
152
|
+
/** Opérateurs sans valeur. */
|
|
153
|
+
export declare const ViewFilterNoValueOperators: ViewFilterOperator[];
|
|
154
|
+
/** Groupe sans condition vide ni groupe vide ; null s'il ne reste rien. */
|
|
155
|
+
export declare function normalizeViewFilter(group: ViewFilterGroup | null | undefined): ViewFilterGroup | null;
|
|
156
|
+
/** Valeur de FilterViewModel.ViewQuery (et de PresentationProfile.FilterQuery) : le groupe en JSON, ou null. */
|
|
157
|
+
export declare function toViewQuery(group: ViewFilterGroup | null | undefined): string | null;
|
|
158
|
+
/** Groupe d'un JSON de filtre de vue ; null s'il est vide ou illisible. */
|
|
159
|
+
export declare function parseViewQuery(json: string | null | undefined): ViewFilterGroup | null;
|
|
160
|
+
/** Vue personnalisée proposée par le menu « Affichage » d'une grille. */
|
|
161
|
+
export interface GridView {
|
|
162
|
+
/** Identifiant de la vue. */
|
|
163
|
+
id: number;
|
|
164
|
+
/** Libellé de la vue. */
|
|
165
|
+
label: string;
|
|
166
|
+
/** Vue par défaut de la table (lecture seule, sauf pour un administrateur). */
|
|
167
|
+
isDefault: boolean;
|
|
168
|
+
/** Tri de la vue, en JSON (niveaux : propriété, sens), ou rien. */
|
|
169
|
+
sortQuery?: string | null;
|
|
170
|
+
/** Filtre de la vue, en JSON (groupe ET / OU), ou rien. */
|
|
171
|
+
filterQuery?: string | null;
|
|
172
|
+
}
|
|
173
|
+
/** Vues personnalisées d'une grille : la vue par défaut, puis celles de l'utilisateur. */
|
|
174
|
+
export interface GridViewList {
|
|
175
|
+
views: GridView[];
|
|
176
|
+
/** Vue affichée par la grille. */
|
|
177
|
+
selectedId: number | null;
|
|
178
|
+
/** Indique si l'utilisateur peut modifier la vue par défaut (administrateur). */
|
|
179
|
+
canEditDefault: boolean;
|
|
180
|
+
}
|
|
181
|
+
/** Carte d'une grille (vue Carte liée à la vue Grille affichée) : colonne de chaque emplacement. */
|
|
182
|
+
export interface GridCard {
|
|
183
|
+
/** Vue Carte appliquée. */
|
|
184
|
+
id: number | null;
|
|
185
|
+
label: string;
|
|
186
|
+
title?: ColumnDescriptor;
|
|
187
|
+
text?: ColumnDescriptor;
|
|
188
|
+
detail?: ColumnDescriptor;
|
|
189
|
+
badge?: ColumnDescriptor;
|
|
190
|
+
/** Image : colonne (icône d'un type énuméré, image), ou image par défaut de l'élément (entityImage). */
|
|
191
|
+
image?: ColumnDescriptor;
|
|
192
|
+
entityImage?: boolean;
|
|
193
|
+
}
|
|
194
|
+
/** Source de la carte d'une grille : la carte, et les images des éléments. */
|
|
195
|
+
export interface GridCardSource {
|
|
196
|
+
/** Carte de la vue Grille affichée (à défaut la vue Carte par défaut), ou null si la table n'en a pas. */
|
|
197
|
+
loadCard(): Observable<GridCard | null>;
|
|
198
|
+
/** Adresse de l'image par défaut des éléments donnés, par identifiant. */
|
|
199
|
+
loadEntityImages(ids: number[]): Observable<Record<number, string>>;
|
|
200
|
+
}
|
|
201
|
+
/** Colonne proposée par le sous-menu « Colonnes » du menu « Affichage ». */
|
|
202
|
+
export interface GridColumnChoice {
|
|
203
|
+
/** Clé de la colonne (propriété, ou attribut). */
|
|
204
|
+
key: string;
|
|
205
|
+
/** Libellé de la colonne. */
|
|
206
|
+
label: string;
|
|
207
|
+
/** Colonne affichée par la vue. */
|
|
208
|
+
visible: boolean;
|
|
209
|
+
}
|
|
210
|
+
/** Choix de la vue personnalisée d'une grille (menu « Affichage »). */
|
|
211
|
+
export interface GridViewChooser {
|
|
212
|
+
/** Vues proposées à l'utilisateur, avec la vue affichée. */
|
|
213
|
+
loadViews(): Observable<GridViewList>;
|
|
214
|
+
/** Affiche la vue donnée ; null revient à la vue par défaut. */
|
|
215
|
+
select(id: number | null): void;
|
|
216
|
+
/** Ouvre l'éditeur des vues personnalisées sur la vue donnée. */
|
|
217
|
+
edit(id: number | null): void;
|
|
218
|
+
/** Vue affichée modifiée dans la grille (colonnes déplacées) et pas encore enregistrée. */
|
|
219
|
+
isModified?(): boolean;
|
|
220
|
+
/** Enregistre la vue affichée telle qu'elle est dans la grille (bouton de la barre du bas). */
|
|
221
|
+
saveCurrent?(): void;
|
|
222
|
+
/** « Nouvelle vue » : copie de la vue affichée, qui devient la vue affichée. */
|
|
223
|
+
create?(): void;
|
|
224
|
+
/** Colonnes disponibles de la table (attributs compris), affichées ou non par la vue affichée. */
|
|
225
|
+
loadColumns?(): Observable<GridColumnChoice[]>;
|
|
226
|
+
/**
|
|
227
|
+
* Ajoute ou retire une colonne de la grille, sans enregistrer : la vue affichée devient modifiée
|
|
228
|
+
* (bouton d'enregistrement, question à l'abandon de l'écran) ; émet true une fois la grille changée.
|
|
229
|
+
*/
|
|
230
|
+
toggleColumn?(key: string, visible: boolean): Observable<boolean>;
|
|
231
|
+
/** Colonnes affichées par la grille, dans leur ordre. */
|
|
232
|
+
displayedColumns?(): string[];
|
|
233
|
+
/** Vues Carte proposées, avec celle liée à la vue Grille affichée. */
|
|
234
|
+
loadCards?(): Observable<{
|
|
235
|
+
cards: {
|
|
236
|
+
id: number;
|
|
237
|
+
label: string;
|
|
238
|
+
isDefault: boolean;
|
|
239
|
+
}[];
|
|
240
|
+
linkedId: number | null;
|
|
241
|
+
canLink: boolean;
|
|
242
|
+
}>;
|
|
243
|
+
/** Lie la vue Grille affichée à la vue Carte donnée. */
|
|
244
|
+
linkCard?(id: number | null): void;
|
|
245
|
+
/** Personnalise la carte (fenêtre standard). */
|
|
246
|
+
editCard?(): void;
|
|
247
|
+
/** Fenêtre « Filtres et tri » : filtre et tri de la grille, enregistrables dans la vue. */
|
|
248
|
+
editFilters?(): void;
|
|
249
|
+
/** Déplace une colonne de la grille avant ou après une autre, sans enregistrer. */
|
|
250
|
+
moveColumn?(key: string, targetKey: string, before: boolean): void;
|
|
251
|
+
}
|
|
99
252
|
export declare class EntityConfigContext<TData extends EntityViewModel, TFilter extends FilterViewModel> {
|
|
100
253
|
private dataService;
|
|
101
254
|
private entityKey;
|
|
@@ -107,7 +260,39 @@ export declare class EntityConfigContext<TData extends EntityViewModel, TFilter
|
|
|
107
260
|
*/
|
|
108
261
|
reloadColumns(): void;
|
|
109
262
|
private readonly alteredColumns$;
|
|
263
|
+
/** Ordre des colonnes choisi dans la grille (glisser-déposer des en-têtes), par propriété. */
|
|
264
|
+
private readonly columnOrder$;
|
|
110
265
|
readonly columns$: Observable<ColumnDescriptor[]>;
|
|
266
|
+
/** Dernières colonnes produites pour la grille, dans leur ordre. */
|
|
267
|
+
private lastColumns;
|
|
268
|
+
/** Colonnes ajoutées ou retirées dans la grille (menu « Affichage », « Colonnes ») depuis le chargement de la vue. */
|
|
269
|
+
private columnSetChanged;
|
|
270
|
+
/** Propriétés des colonnes affichées par la grille, dans leur ordre. */
|
|
271
|
+
getDisplayedColumnKeys(): string[];
|
|
272
|
+
/** Ajoute à la grille des colonnes décrites par le serveur, sans enregistrer la vue. */
|
|
273
|
+
showColumns(descriptors: ColumnDescriptor[]): void;
|
|
274
|
+
/** Retire des colonnes de la grille, sans enregistrer la vue. */
|
|
275
|
+
hideColumns(propertyNames: string[]): void;
|
|
276
|
+
/** Déplace une colonne affichée avant ou après une autre (sous-menu « Colonnes »), sans enregistrer. */
|
|
277
|
+
moveDisplayedColumn(property: string, targetProperty: string, before: boolean): void;
|
|
278
|
+
/** Vue de la grille modifiée depuis son chargement : colonnes déplacées, ajoutées ou retirées. */
|
|
279
|
+
isColumnLayoutModified(): boolean;
|
|
280
|
+
/** Déplace une colonne de la grille avant ou après une autre, par propriété. */
|
|
281
|
+
moveColumn(current: ColumnDescriptor[], property: string, targetProperty: string, before: boolean): void;
|
|
282
|
+
/**
|
|
283
|
+
* Ordre des colonnes choisi dans la grille depuis le chargement de la vue (glisser-déposer des
|
|
284
|
+
* en-têtes) : vide tant que l'utilisateur n'a déplacé aucune colonne.
|
|
285
|
+
*/
|
|
286
|
+
getColumnOrder(): string[];
|
|
287
|
+
/** Oublie l'ordre des colonnes choisi dans la grille (changement de vue). */
|
|
288
|
+
clearColumnOrder(): void;
|
|
289
|
+
/**
|
|
290
|
+
* Choix de la vue personnalisée de la grille (menu « Affichage ») : renseigné par l'écran quand
|
|
291
|
+
* il a des vues personnalisées (BaseComponent), absent sinon.
|
|
292
|
+
*/
|
|
293
|
+
viewChooser?: GridViewChooser;
|
|
294
|
+
/** Carte de la grille (affichage en cartes) : renseignée par l'écran quand il a des vues (BaseComponent). */
|
|
295
|
+
cardSource?: GridCardSource;
|
|
111
296
|
private readonly viewModelSource$;
|
|
112
297
|
setviewModelSource(factory: () => Observable<EntityViewModelWithFields<TData>>): void;
|
|
113
298
|
/**
|
|
@@ -185,15 +370,55 @@ export declare class FilterContext<TData extends EntityViewModel, TFilter extend
|
|
|
185
370
|
triggerSearch(): void;
|
|
186
371
|
setFilter(filter: Partial<TFilter>, pageNumber?: number): void;
|
|
187
372
|
setKeyword(keyword: string): void;
|
|
373
|
+
/**
|
|
374
|
+
* Tri en cours, colonne par colonne, dans l'ordre de priorité. Un tri combiné (tri personnalisé)
|
|
375
|
+
* met plusieurs colonnes et autant de sens, séparés par des virgules, dans `SortColumn` et
|
|
376
|
+
* `SortDirection` : le serveur les résout un par un (`BaseController.GetSortClauseFromAttribute`).
|
|
377
|
+
*/
|
|
378
|
+
getSortList(): {
|
|
379
|
+
property: string;
|
|
380
|
+
direction: 'asc' | 'desc';
|
|
381
|
+
}[];
|
|
382
|
+
/** Tri par défaut de l'écran (filtre par défaut), sans tri choisi. */
|
|
383
|
+
getDefaultSortList(): {
|
|
384
|
+
property: string;
|
|
385
|
+
direction: 'asc' | 'desc';
|
|
386
|
+
}[];
|
|
387
|
+
private static sortListOf;
|
|
388
|
+
/** Filtre de la vue personnalisée (groupes ET / OU), ou null. */
|
|
389
|
+
getViewQuery(): ViewFilterGroup | null;
|
|
390
|
+
/** Filtre de la vue personnalisée : ajouté (ET) aux filtres de la grille ; null l'efface. */
|
|
391
|
+
setViewQuery(group: ViewFilterGroup | null): void;
|
|
392
|
+
/** Tri combiné sur plusieurs colonnes ; une liste vide annule le tri. */
|
|
393
|
+
setSortList(sorts: {
|
|
394
|
+
property: string;
|
|
395
|
+
direction: 'asc' | 'desc';
|
|
396
|
+
}[]): void;
|
|
397
|
+
/** Rang de la colonne dans un tri combiné (1, 2...), ou 0 si elle n'est pas triée ou seule triée. */
|
|
398
|
+
sortRank(property?: string): number;
|
|
188
399
|
isSorting(property?: string): boolean;
|
|
189
400
|
isAsc(property?: string): boolean;
|
|
190
401
|
isDesc(property?: string): boolean;
|
|
191
402
|
setSorting(property: keyof TData, dir?: 'asc' | 'desc'): void;
|
|
403
|
+
/** Annule le tri choisi : retour au tri du filtre par défaut, ou au tri du serveur. */
|
|
404
|
+
clearSorting(): void;
|
|
192
405
|
setPage(page: number): void;
|
|
193
406
|
setPageSize(ps: number): void;
|
|
194
407
|
updateStates(totalCount: number, execMs: number, take: number): void;
|
|
195
408
|
addNewQuery(): void;
|
|
409
|
+
/** Ligne de filtres composés vide : une condition par colonne de la grille. */
|
|
410
|
+
private newFilterRow;
|
|
411
|
+
/**
|
|
412
|
+
* Filtre sur la valeur d'une cellule (clic droit) : la valeur devient la condition de la colonne dans
|
|
413
|
+
* la première ligne des filtres composés, créée s'il n'y en a pas, puis la recherche est relancée.
|
|
414
|
+
*/
|
|
415
|
+
addFilterOnValue(property: string, value: string): void;
|
|
196
416
|
removeQueryAtIndex(index: number): void;
|
|
417
|
+
/**
|
|
418
|
+
* Filtres composés de la grille : une ligne par groupe (lignes reliées par OU), une condition « ressemble
|
|
419
|
+
* à » par cellule renseignée (reliées par ET, * pour n'importe quelle suite). Envoyés structurés
|
|
420
|
+
* (AdditionalQuery) : le serveur résout chaque propriété et écrit la clause SQL.
|
|
421
|
+
*/
|
|
197
422
|
applyAdditionalQuery(): void;
|
|
198
423
|
setAggregateClause(aggregationRequest: any): void;
|
|
199
424
|
}
|
|
@@ -361,6 +586,100 @@ export declare class EditorContext {
|
|
|
361
586
|
getField(prop?: string): FieldDescriptor;
|
|
362
587
|
destroy(): void;
|
|
363
588
|
}
|
|
589
|
+
/**
|
|
590
|
+
* Options d'ouverture d'une fenêtre (DflatModalService.show), reprises de ModalOptions de
|
|
591
|
+
* ngx-bootstrap pour que les appels existants restent valables.
|
|
592
|
+
*/
|
|
593
|
+
export declare class DflatModalOptions<T = any> {
|
|
594
|
+
/** Classes du cadre de la fenêtre (taille : modal-sm, modal-md, modal-lg, modal-xl, modal-xlg). */
|
|
595
|
+
class?: string;
|
|
596
|
+
/** Propriétés affectées au composant de la fenêtre avant son initialisation. */
|
|
597
|
+
initialState?: Partial<T> | Record<string, any>;
|
|
598
|
+
/** Échap ferme la fenêtre (vrai par défaut). */
|
|
599
|
+
keyboard?: boolean;
|
|
600
|
+
/** Un clic sur le fond ne ferme pas la fenêtre (faux par défaut). */
|
|
601
|
+
ignoreBackdropClick?: boolean;
|
|
602
|
+
/** Fond grisé derrière la fenêtre (vrai par défaut) ; 'static' : fond sans fermeture au clic. */
|
|
603
|
+
backdrop?: boolean | 'static';
|
|
604
|
+
/** Repris de ngx-bootstrap, sans effet : l'ouverture n'est pas animée. */
|
|
605
|
+
animated?: boolean;
|
|
606
|
+
/** Identifiant de la fenêtre (DflatModalService.hide(id)). */
|
|
607
|
+
id?: number | string;
|
|
608
|
+
/** Classe ajoutée au cadre de la fenêtre, en plus de class (compatibilité). */
|
|
609
|
+
containerClass?: string;
|
|
610
|
+
}
|
|
611
|
+
/**
|
|
612
|
+
* Fenêtre ouverte par DflatModalService : son composant (content), sa fermeture (hide) et les
|
|
613
|
+
* événements de fermeture. Injectable dans le composant de la fenêtre (à la place de BsModalRef).
|
|
614
|
+
*/
|
|
615
|
+
export declare class DflatModalRef<T = any> {
|
|
616
|
+
/** Identifiant de la fenêtre. */
|
|
617
|
+
id: number | string | undefined;
|
|
618
|
+
/** Composant affiché dans la fenêtre. */
|
|
619
|
+
content: T | undefined;
|
|
620
|
+
/** Émis à la demande de fermeture, avec sa raison. */
|
|
621
|
+
readonly onHide: EventEmitter<any>;
|
|
622
|
+
/** Émis une fois la fenêtre fermée, avec la raison de la fermeture. */
|
|
623
|
+
readonly onHidden: EventEmitter<any>;
|
|
624
|
+
/** Fermeture (renseignée par le service). */
|
|
625
|
+
private closer;
|
|
626
|
+
/** Changement des classes du cadre (renseigné par le service). */
|
|
627
|
+
private classSetter;
|
|
628
|
+
/** @internal */
|
|
629
|
+
bind(closer: (reason?: any) => void, classSetter: (cls: string) => void): void;
|
|
630
|
+
/** Ferme la fenêtre. */
|
|
631
|
+
hide(reason?: any): void;
|
|
632
|
+
/** Remplace les classes du cadre de la fenêtre (taille). */
|
|
633
|
+
setClass(cls: string): void;
|
|
634
|
+
}
|
|
635
|
+
/**
|
|
636
|
+
* Cadre d'une fenêtre ouverte par DflatModalService : reprend la structure de Bootstrap
|
|
637
|
+
* (.modal-dialog, .modal-content), que suivent les styles des fenêtres (taille, en-tête, corps,
|
|
638
|
+
* pied). Le composant de la fenêtre, créé par le service, est placé dans .modal-content.
|
|
639
|
+
*/
|
|
640
|
+
export declare class DflatModalFrameComponent implements AfterViewInit {
|
|
641
|
+
/** Classes du cadre (taille de la fenêtre). */
|
|
642
|
+
dialogClass: string;
|
|
643
|
+
/** Élément du composant de la fenêtre, à placer dans .modal-content. */
|
|
644
|
+
contentElement: HTMLElement | undefined;
|
|
645
|
+
private content;
|
|
646
|
+
ngAfterViewInit(): void;
|
|
647
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DflatModalFrameComponent, never>;
|
|
648
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DflatModalFrameComponent, "alg-dflat-modal-frame", never, {}, {}, never, never, true, never>;
|
|
649
|
+
}
|
|
650
|
+
/**
|
|
651
|
+
* Fenêtres du package, sans ngx-bootstrap : la couche, le fond, la touche Échap, le focus gardé dans
|
|
652
|
+
* la fenêtre et les fenêtres empilées viennent du Dialog du CDK d'Angular ; le cadre reprend la
|
|
653
|
+
* structure des fenêtres de Bootstrap (DflatModalFrameComponent). Même forme que BsModalService :
|
|
654
|
+
* show(composant, { class, initialState, keyboard, ignoreBackdropClick, backdrop }) renvoie une
|
|
655
|
+
* référence (content, hide, onHide, onHidden) ; le composant de la fenêtre injecte DflatModalRef.
|
|
656
|
+
*/
|
|
657
|
+
export declare class DflatModalService {
|
|
658
|
+
private readonly dialog;
|
|
659
|
+
private readonly overlay;
|
|
660
|
+
private readonly appRef;
|
|
661
|
+
private readonly environmentInjector;
|
|
662
|
+
private readonly injector;
|
|
663
|
+
private readonly opened;
|
|
664
|
+
private lastId;
|
|
665
|
+
/** Émis à la demande de fermeture d'une fenêtre, avec sa raison. */
|
|
666
|
+
readonly onHide: Subject<any>;
|
|
667
|
+
/** Émis une fois une fenêtre fermée, avec sa raison. */
|
|
668
|
+
readonly onHidden: Subject<any>;
|
|
669
|
+
/**
|
|
670
|
+
* Ouvre le composant (ou le modèle) dans une fenêtre ; les propriétés initialState sont affectées
|
|
671
|
+
* au composant avant son initialisation.
|
|
672
|
+
*/
|
|
673
|
+
show<T>(component: Type<T> | TemplateRef<any>, config?: DflatModalOptions<T>): DflatModalRef<T>;
|
|
674
|
+
/** Ferme la fenêtre d'identifiant donné, sinon la dernière ouverte. */
|
|
675
|
+
hide(id?: number | string): void;
|
|
676
|
+
/** Nombre de fenêtres ouvertes. */
|
|
677
|
+
getModalsCount(): number;
|
|
678
|
+
private isTop;
|
|
679
|
+
private close;
|
|
680
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DflatModalService, never>;
|
|
681
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
682
|
+
}
|
|
364
683
|
export declare class TestService {
|
|
365
684
|
constructor();
|
|
366
685
|
test(loc: string): void;
|
|
@@ -641,6 +960,101 @@ export declare class DynamicFormComponent implements OnChanges, OnInit {
|
|
|
641
960
|
"dropZone": "dropZone";
|
|
642
961
|
}, never, never, false, never>;
|
|
643
962
|
}
|
|
963
|
+
declare namespace date_picker_directive_d_exports {
|
|
964
|
+
export { DatePickerDirective, DatepickerConfig };
|
|
965
|
+
}
|
|
966
|
+
/**
|
|
967
|
+
* Options du calendrier d'un champ de date (mêmes noms que BsDatepickerConfig de ngx-bootstrap,
|
|
968
|
+
* pour que les configurations existantes restent valables ; les autres options sont ignorées).
|
|
969
|
+
*/
|
|
970
|
+
export interface DatepickerConfig {
|
|
971
|
+
showTodayButton?: boolean;
|
|
972
|
+
showClearButton?: boolean;
|
|
973
|
+
todayButtonLabel?: string;
|
|
974
|
+
clearButtonLabel?: string;
|
|
975
|
+
showWeekNumbers?: boolean;
|
|
976
|
+
minDate?: Date;
|
|
977
|
+
maxDate?: Date;
|
|
978
|
+
[option: string]: any;
|
|
979
|
+
}
|
|
980
|
+
/**
|
|
981
|
+
* Champ de date du package (remplace bsDatepicker de ngx-bootstrap, dont il reprend les noms :
|
|
982
|
+
* bsDatepicker, [bsConfig], [bsValue], (bsValueChange), [isDisabled], [minDate], [maxDate]) : le champ
|
|
983
|
+
* affiche la date en JJ/MM/AAAA et accepte la saisie (JJ/MM/AAAA, sinon AAAA-MM-JJ) ; un clic, ou
|
|
984
|
+
* Alt+Bas, ouvre le calendrier (CalendarComponent) sous le champ, dans la couche du CDK. S'utilise
|
|
985
|
+
* avec ngModel ou un contrôle de formulaire (la valeur est une Date à minuit, ou null).
|
|
986
|
+
*/
|
|
987
|
+
export declare class DatePickerDirective implements ControlValueAccessor, OnDestroy {
|
|
988
|
+
private readonly element;
|
|
989
|
+
private readonly overlay;
|
|
990
|
+
private readonly viewContainer;
|
|
991
|
+
bsConfig: Partial<DatepickerConfig> | null | undefined;
|
|
992
|
+
minDate: Date | null | undefined;
|
|
993
|
+
maxDate: Date | null | undefined;
|
|
994
|
+
/** Champ désactivé (en plus de disabled et readonly). */
|
|
995
|
+
isDisabled: boolean;
|
|
996
|
+
/** Valeur du champ, sans passer par un formulaire. */
|
|
997
|
+
set bsValue(value: unknown);
|
|
998
|
+
/** Date choisie ou saisie (null : effacée). */
|
|
999
|
+
readonly bsValueChange: EventEmitter<Date>;
|
|
1000
|
+
private value;
|
|
1001
|
+
private disabled;
|
|
1002
|
+
private overlayRef;
|
|
1003
|
+
private calendarRef;
|
|
1004
|
+
private subscriptions;
|
|
1005
|
+
private onChange;
|
|
1006
|
+
private onTouched;
|
|
1007
|
+
private static readonly Positions;
|
|
1008
|
+
writeValue(value: unknown): void;
|
|
1009
|
+
registerOnChange(fn: (value: Date | null) => void): void;
|
|
1010
|
+
registerOnTouched(fn: () => void): void;
|
|
1011
|
+
setDisabledState(isDisabled: boolean): void;
|
|
1012
|
+
onClick(): void;
|
|
1013
|
+
onKeydown(event: KeyboardEvent): void;
|
|
1014
|
+
/** Saisie terminée (sortie du champ) : la date tapée remplace la valeur. */
|
|
1015
|
+
onTextChange(): void;
|
|
1016
|
+
onBlur(): void;
|
|
1017
|
+
private commitText;
|
|
1018
|
+
private apply;
|
|
1019
|
+
private render;
|
|
1020
|
+
private get isLocked();
|
|
1021
|
+
/** Ouvre le calendrier sous le champ (au-dessus s'il n'y a pas la place). */
|
|
1022
|
+
open(): void;
|
|
1023
|
+
/** Ferme le calendrier. */
|
|
1024
|
+
close(): void;
|
|
1025
|
+
/** Indique si le calendrier est ouvert. */
|
|
1026
|
+
get isOpen(): boolean;
|
|
1027
|
+
/** Ouvre ou ferme le calendrier (compatibilité : dp.toggle()). */
|
|
1028
|
+
toggle(): void;
|
|
1029
|
+
show(): void;
|
|
1030
|
+
hide(): void;
|
|
1031
|
+
ngOnDestroy(): void;
|
|
1032
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DatePickerDirective, never>;
|
|
1033
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<DatePickerDirective, "input[algDatepicker], input[bsDatepicker]", ["algDatepicker", "bsDatepicker"], {
|
|
1034
|
+
"bsConfig": {
|
|
1035
|
+
"alias": "bsConfig";
|
|
1036
|
+
"required": false;
|
|
1037
|
+
};
|
|
1038
|
+
"minDate": {
|
|
1039
|
+
"alias": "minDate";
|
|
1040
|
+
"required": false;
|
|
1041
|
+
};
|
|
1042
|
+
"maxDate": {
|
|
1043
|
+
"alias": "maxDate";
|
|
1044
|
+
"required": false;
|
|
1045
|
+
};
|
|
1046
|
+
"isDisabled": {
|
|
1047
|
+
"alias": "isDisabled";
|
|
1048
|
+
"required": false;
|
|
1049
|
+
};
|
|
1050
|
+
"bsValue": {
|
|
1051
|
+
"alias": "bsValue";
|
|
1052
|
+
"required": false;
|
|
1053
|
+
};
|
|
1054
|
+
}, {
|
|
1055
|
+
"bsValueChange": "bsValueChange";
|
|
1056
|
+
}, never, never, true, never>;
|
|
1057
|
+
}
|
|
644
1058
|
/**
|
|
645
1059
|
* Pagination information
|
|
646
1060
|
*
|
|
@@ -800,6 +1214,13 @@ export interface IDisplayDecimal {
|
|
|
800
1214
|
* @interface IDisplayTableColumn
|
|
801
1215
|
* @extends {TableColumn}
|
|
802
1216
|
*/
|
|
1217
|
+
/** Colonne de table (forme de TableColumn de @swimlane/ngx-datatable, dont le package ne dépend plus). */
|
|
1218
|
+
export interface TableColumn {
|
|
1219
|
+
name?: string;
|
|
1220
|
+
prop?: string | number;
|
|
1221
|
+
width?: number;
|
|
1222
|
+
[key: string]: any;
|
|
1223
|
+
}
|
|
803
1224
|
export interface IDisplayTableColumn extends TableColumn {
|
|
804
1225
|
/**
|
|
805
1226
|
* Display informations for the current columns
|
|
@@ -893,6 +1314,12 @@ export declare class DatagridCellComponent<TData extends EntityViewModel> {
|
|
|
893
1314
|
update: EventEmitter<any>;
|
|
894
1315
|
viewModeTpl: ViewModeDirective;
|
|
895
1316
|
editModeTpl: EditModeDirective;
|
|
1317
|
+
/**
|
|
1318
|
+
* Vrai quand la grille pilote elle-même le mode de la cellule (DataGridComponent : curseur
|
|
1319
|
+
* d'édition) : la cellule ne passe plus seule en édition au double clic, ni en lecture au
|
|
1320
|
+
* clic hors d'elle.
|
|
1321
|
+
*/
|
|
1322
|
+
managed: boolean;
|
|
896
1323
|
mode: 'view' | 'edit';
|
|
897
1324
|
constructor(host: ElementRef, renderer: Renderer2);
|
|
898
1325
|
private destroy;
|
|
@@ -921,6 +1348,14 @@ export declare class DatagridCellComponent<TData extends EntityViewModel> {
|
|
|
921
1348
|
"alias": "isEditable";
|
|
922
1349
|
"required": false;
|
|
923
1350
|
};
|
|
1351
|
+
"managed": {
|
|
1352
|
+
"alias": "managed";
|
|
1353
|
+
"required": false;
|
|
1354
|
+
};
|
|
1355
|
+
"mode": {
|
|
1356
|
+
"alias": "mode";
|
|
1357
|
+
"required": false;
|
|
1358
|
+
};
|
|
924
1359
|
}, {
|
|
925
1360
|
"update": "update";
|
|
926
1361
|
}, ["viewModeTpl", "editModeTpl"], never, false, never>;
|
|
@@ -1069,7 +1504,7 @@ export declare class DatagridCustomComponent<TData extends EntityViewModel> impl
|
|
|
1069
1504
|
emitOnEnter(currentCell: DatagridCellComponent<TData>): void;
|
|
1070
1505
|
updateEntity(event: any, prop: any): void;
|
|
1071
1506
|
filterType: typeof FilterType;
|
|
1072
|
-
bsConfig: Partial<
|
|
1507
|
+
bsConfig: Partial<DatepickerConfig>;
|
|
1073
1508
|
viewModel: EntityViewModelWithFields<TData>;
|
|
1074
1509
|
enableEdit(column: string, row: EntityViewModel): boolean;
|
|
1075
1510
|
getHeaderStyle(colProperty: string): string;
|
|
@@ -1742,6 +2177,37 @@ export declare class LayoutContext {
|
|
|
1742
2177
|
private entityKey;
|
|
1743
2178
|
private selection;
|
|
1744
2179
|
layoutService: LayoutService;
|
|
2180
|
+
/**
|
|
2181
|
+
* Clic droit hors de la grille dans l'écran (barre d'actions, barre de navigation du bas) : la grille
|
|
2182
|
+
* ouvre son menu, comme pour un clic droit sous sa dernière ligne.
|
|
2183
|
+
*/
|
|
2184
|
+
readonly gridContextMenu$: Subject<MouseEvent>;
|
|
2185
|
+
/** Demande à la grille d'ouvrir son menu au point du clic droit. */
|
|
2186
|
+
openGridContextMenu(event: MouseEvent): void;
|
|
2187
|
+
/** Largeur sous laquelle l'écran est étroit (téléphone) : cartes, éditeur en plein écran. */
|
|
2188
|
+
static readonly NarrowWidth = 768;
|
|
2189
|
+
private readonly _cardMode$;
|
|
2190
|
+
private readonly _narrow$;
|
|
2191
|
+
private readonly _mobileEditorOpen$;
|
|
2192
|
+
/** Cartes choisies par l'utilisateur (bouton de la barre du bas). */
|
|
2193
|
+
readonly cardMode$: import("rxjs").Observable<boolean>;
|
|
2194
|
+
/** Écran étroit (téléphone). */
|
|
2195
|
+
readonly narrow$: import("rxjs").Observable<boolean>;
|
|
2196
|
+
/** Liste de cartes affichée à la place de la grille : choisie, ou écran étroit. */
|
|
2197
|
+
readonly cardDisplay$: import("rxjs").Observable<boolean>;
|
|
2198
|
+
/** Éditeur ouvert en plein écran (écran étroit). */
|
|
2199
|
+
readonly mobileEditorOpen$: import("rxjs").Observable<boolean>;
|
|
2200
|
+
get cardMode(): boolean;
|
|
2201
|
+
get narrow(): boolean;
|
|
2202
|
+
setCardMode(card: boolean): void;
|
|
2203
|
+
toggleCardMode(): void;
|
|
2204
|
+
/** Largeur de la fenêtre changée : écran étroit ou non ; l'éditeur plein écran se referme en grand écran. */
|
|
2205
|
+
updateScreenWidth(width?: number): void;
|
|
2206
|
+
/** Ouvre l'éditeur en plein écran (carte touchée sur un écran étroit). */
|
|
2207
|
+
openMobileEditor(): void;
|
|
2208
|
+
/** Referme l'éditeur plein écran : retour à la liste de cartes. */
|
|
2209
|
+
closeMobileEditor(): void;
|
|
2210
|
+
private static isNarrowScreen;
|
|
1745
2211
|
private _propertyPanelState$;
|
|
1746
2212
|
propertyPanelVisible$: import("rxjs").Observable<boolean>;
|
|
1747
2213
|
setShowPropertyPanel(visible: boolean): void;
|
|
@@ -1848,17 +2314,56 @@ export declare class EditorTabComponent {
|
|
|
1848
2314
|
declare namespace editor_tabset_component_d_exports {
|
|
1849
2315
|
export { EditorTabSetComponent };
|
|
1850
2316
|
}
|
|
1851
|
-
|
|
1852
|
-
|
|
2317
|
+
/**
|
|
2318
|
+
* Onglets des formulaires de l'éditeur, au style des onglets de la barre du haut
|
|
2319
|
+
* (PageTabsComponent) : même police, même hauteur, même largeur. Seuls les onglets qui tiennent
|
|
2320
|
+
* entièrement dans la barre sont affichés ; les suivants sont masqués et listés dans un menu
|
|
2321
|
+
* déroulant, au bout de la barre. L'onglet actif reste toujours visible.
|
|
2322
|
+
*/
|
|
2323
|
+
export declare class EditorTabSetComponent implements AfterViewInit, DoCheck, OnDestroy {
|
|
2324
|
+
private host;
|
|
2325
|
+
private cd;
|
|
2326
|
+
/** Largeur réservée au bouton du menu des onglets masqués, marges comprises (8 + 30 + 4). */
|
|
2327
|
+
private static readonly MoreButtonWidth;
|
|
2328
|
+
/** Espacement entre deux onglets (gap de la barre). */
|
|
2329
|
+
private static readonly Gap;
|
|
2330
|
+
constructor(host: ElementRef<HTMLElement>, cd: ChangeDetectorRef);
|
|
1853
2331
|
sectionContext: SectionContext<any>;
|
|
1854
2332
|
showNavs: boolean;
|
|
1855
2333
|
pills: boolean;
|
|
1856
2334
|
isVertical: boolean;
|
|
1857
2335
|
tabs: QueryList<EditorTabComponent>;
|
|
2336
|
+
private strip;
|
|
2337
|
+
/** Onglets masqués faute de place, par indice. */
|
|
2338
|
+
overflowIndexes: Set<number>;
|
|
2339
|
+
/** Vrai quand le menu des onglets masqués est ouvert. */
|
|
2340
|
+
menuOpen: boolean;
|
|
2341
|
+
private resizeObserver;
|
|
2342
|
+
private tabsSubscription;
|
|
2343
|
+
private lastActive;
|
|
2344
|
+
ngAfterViewInit(): void;
|
|
2345
|
+
ngOnDestroy(): void;
|
|
1858
2346
|
activate(tab: EditorTabComponent): void;
|
|
1859
2347
|
onTabClick(tabIndex: number): void;
|
|
1860
2348
|
activateByIndex(realIndex: number): void;
|
|
2349
|
+
/** Un seul onglet affiché (le formulaire, onglet crayon) : pas de barre d'onglets. */
|
|
2350
|
+
isNavHidden(): boolean;
|
|
1861
2351
|
getNavClass(): string;
|
|
2352
|
+
isOverflow(index: number): boolean;
|
|
2353
|
+
toggleMenu(event: Event): void;
|
|
2354
|
+
onMenuClick(index: number): void;
|
|
2355
|
+
/** Un clic hors des onglets ferme le menu des onglets masqués. */
|
|
2356
|
+
onDocumentClick(event: MouseEvent): void;
|
|
2357
|
+
/** L'onglet actif a changé (section activée) : il doit rester visible. */
|
|
2358
|
+
ngDoCheck(): void;
|
|
2359
|
+
/** Après le rendu : répartition recalculée. */
|
|
2360
|
+
private refresh;
|
|
2361
|
+
/**
|
|
2362
|
+
* Répartit les onglets entre visibles et masqués. Les onglets masqués restent dans la page,
|
|
2363
|
+
* hors du flux et invisibles, pour que leur largeur reste mesurable. Disposition verticale :
|
|
2364
|
+
* aucun onglet masqué.
|
|
2365
|
+
*/
|
|
2366
|
+
private layout;
|
|
1862
2367
|
static ɵfac: i0.ɵɵFactoryDeclaration<EditorTabSetComponent, never>;
|
|
1863
2368
|
static ɵcmp: i0.ɵɵComponentDeclaration<EditorTabSetComponent, "alg-editor-tabset", never, {
|
|
1864
2369
|
"sectionContext": {
|
|
@@ -2292,6 +2797,74 @@ export declare abstract class BaseComponent<TFilter extends FilterViewModel, TDa
|
|
|
2292
2797
|
private CopyFilterProperties;
|
|
2293
2798
|
protected readonly ppService: import("@dflat-core/web/core-ux").IPpService;
|
|
2294
2799
|
private registerSelectColumnsAction;
|
|
2800
|
+
/**
|
|
2801
|
+
* Carte de la grille (affichage en cartes) : vue Carte liée à la vue Grille affichée, dont les
|
|
2802
|
+
* colonnes sont décrites par le serveur comme celles de la grille (GetGridColumnsFor) ; image par
|
|
2803
|
+
* défaut des éléments (GetEntityImages) quand la carte l'affiche.
|
|
2804
|
+
*/
|
|
2805
|
+
private registerCardSource;
|
|
2806
|
+
/** Largeur de la fenêtre : affichage en cartes et éditeur plein écran sur un écran étroit. */
|
|
2807
|
+
onWindowResizeForCards(): void;
|
|
2808
|
+
/**
|
|
2809
|
+
* Menu « Affichage » des grilles : vues personnalisées de l'utilisateur (vue affichée cochée), choix
|
|
2810
|
+
* d'une autre vue (décocher revient à la vue par défaut) et « Modifier… », qui ouvre l'éditeur des
|
|
2811
|
+
* vues sur la vue affichée. Les colonnes d'une vue sont celles du serveur (GetGridColumns).
|
|
2812
|
+
*/
|
|
2813
|
+
private registerViewChooser;
|
|
2814
|
+
/** Tri et filtre de la vue affichée, tels qu'enregistrés (repère de la vue modifiée). */
|
|
2815
|
+
private savedViewQueries;
|
|
2816
|
+
/** Tri et filtre de la vue affichée lus une première fois (repère connu). */
|
|
2817
|
+
private viewQueriesLoaded;
|
|
2818
|
+
/** Tri et filtre en cours de la grille, en JSON (chaîne vide : aucun). */
|
|
2819
|
+
private currentViewQueries;
|
|
2820
|
+
/**
|
|
2821
|
+
* Tri ou filtre changés depuis le chargement de la vue. Une vue sans tri enregistré a le tri par
|
|
2822
|
+
* défaut de l'écran : ce tri-là ne la rend pas modifiée.
|
|
2823
|
+
*/
|
|
2824
|
+
private viewQueriesModified;
|
|
2825
|
+
/**
|
|
2826
|
+
* Applique le tri et le filtre de la vue affichée. Au chargement de l'écran, un tri ou un filtre
|
|
2827
|
+
* déjà dans l'adresse (lien, retour) est gardé ; il sert alors de repère.
|
|
2828
|
+
*/
|
|
2829
|
+
private applyCurrentViewQueries;
|
|
2830
|
+
private static parseSort;
|
|
2831
|
+
/**
|
|
2832
|
+
* Éditeur des vues personnalisées sur la vue donnée (à défaut la vue affichée), à l'onglet donné :
|
|
2833
|
+
* colonnes, ou filtres et tri ; le filtre reçoit les colonnes de la grille (types, valeurs des
|
|
2834
|
+
* types énumérés). « Appliquer » enregistre la vue et la grille la relit (gridSelectionConfirmed$).
|
|
2835
|
+
*/
|
|
2836
|
+
private openViewEditor;
|
|
2837
|
+
/** Colonne de la fenêtre « Filtres et tri » : type d'après son affichage, valeurs d'un type énuméré. */
|
|
2838
|
+
private static filterColumnOf;
|
|
2839
|
+
private readonly hostElement;
|
|
2840
|
+
/** Ordre des colonnes déjà proposé à l'enregistrement : la question n'est reposée qu'après un nouveau déplacement. */
|
|
2841
|
+
private proposedColumnOrder;
|
|
2842
|
+
/** Colonnes affichées par la grille quand la vue y a été modifiée (déplacées, ajoutées, retirées). */
|
|
2843
|
+
private unsavedLayout;
|
|
2844
|
+
/** Vue modifiée dans la grille et pas encore proposée à l'enregistrement. */
|
|
2845
|
+
private unsavedColumnOrder;
|
|
2846
|
+
/**
|
|
2847
|
+
* Abandon de l'écran après un déplacement de colonnes (onglet fermé, autre onglet, autre écran) :
|
|
2848
|
+
* le service des vues propose d'enregistrer l'ordre des colonnes, à chaque fois.
|
|
2849
|
+
*/
|
|
2850
|
+
private saveColumnOrderOnLeave;
|
|
2851
|
+
/**
|
|
2852
|
+
* Changement d'onglet : l'écran quitté n'est pas détruit (il est gardé pour le retour), la
|
|
2853
|
+
* question est donc posée au début de la navigation vers un autre écran, si cet écran est celui
|
|
2854
|
+
* affiché (un écran gardé d'un autre onglet n'est plus dans la page). Une navigation qui reste
|
|
2855
|
+
* sur l'écran (filtre dans l'adresse) ne pose pas la question.
|
|
2856
|
+
*/
|
|
2857
|
+
private watchLeaveForColumnOrder;
|
|
2858
|
+
/** Écran affiché dans la page (et non gardé, détaché, pour un autre onglet). */
|
|
2859
|
+
private isDisplayed;
|
|
2860
|
+
/**
|
|
2861
|
+
* Fermeture ou rechargement du navigateur avec un ordre de colonnes non enregistré : le navigateur
|
|
2862
|
+
* demande confirmation (sa propre fenêtre ; une page ne peut pas en afficher d'autre à ce moment).
|
|
2863
|
+
* Complète l'écouteur de DflatBaseComponent (un seul écouteur par événement).
|
|
2864
|
+
*/
|
|
2865
|
+
unloadNotification(event: any): void;
|
|
2866
|
+
/** Oublie les colonnes choisies pour l'écran ouvert et relit celles de la vue sur le serveur. */
|
|
2867
|
+
private resetColumns;
|
|
2295
2868
|
protected openColumnSelector(): void;
|
|
2296
2869
|
protected getPpMetaEntityKey(): string | null;
|
|
2297
2870
|
protected getPpConfig(): {
|
|
@@ -2328,12 +2901,12 @@ export declare abstract class BaseComponent<TFilter extends FilterViewModel, TDa
|
|
|
2328
2901
|
}
|
|
2329
2902
|
export declare class FacadeModalService {
|
|
2330
2903
|
private modalService;
|
|
2331
|
-
constructor(modalService:
|
|
2332
|
-
openSelectorModal<TData, TFilter>(selectionTitle?: string, selectionComponent?: Type<any>, initFn?: (component: BaseComponent<TData, TFilter> | NewEditorComponent<TData>) => void, modalOptions?:
|
|
2904
|
+
constructor(modalService: DflatModalService);
|
|
2905
|
+
openSelectorModal<TData, TFilter>(selectionTitle?: string, selectionComponent?: Type<any>, initFn?: (component: BaseComponent<TData, TFilter> | NewEditorComponent<TData>) => void, modalOptions?: DflatModalOptions, modalConfig?: ModalConfig): Observable<TData[]>;
|
|
2333
2906
|
openComponentModal<TData, TFilter>(selectionTitle?: string, selectionComponent?: Type<any> // BaseComponent<any,any>,
|
|
2334
|
-
, initFn?: (component: BaseComponent<TData, TFilter> | NewEditorComponent<TData>) => void, callback?: (component: IIsCancel | BaseComponent<TData, TFilter>) => void, modalOptions?:
|
|
2335
|
-
openEditorModal<TData extends EntityViewModel>(creationTitle?: string, creationComponent?: Type<any>, initFn?: (comp: NewEditorComponent<TData>) => void, modalConfig?:
|
|
2336
|
-
getSelectorModal(modalOptions?:
|
|
2907
|
+
, initFn?: (component: BaseComponent<TData, TFilter> | NewEditorComponent<TData>) => void, callback?: (component: IIsCancel | BaseComponent<TData, TFilter>) => void, modalOptions?: DflatModalOptions, modalConfig?: ModalConfig): Observable<any>;
|
|
2908
|
+
openEditorModal<TData extends EntityViewModel>(creationTitle?: string, creationComponent?: Type<any>, initFn?: (comp: NewEditorComponent<TData>) => void, modalConfig?: DflatModalOptions): Observable<NewEditorComponent<TData>>;
|
|
2909
|
+
getSelectorModal(modalOptions?: DflatModalOptions<DialogComponentParameter>, dialogOptions?: IDialogOptions, modalConfig?: ModalConfig): DflatModalRef;
|
|
2337
2910
|
static ɵfac: i0.ɵɵFactoryDeclaration<FacadeModalService, never>;
|
|
2338
2911
|
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
2339
2912
|
}
|
|
@@ -2428,7 +3001,6 @@ declare namespace property_grid_component_d_exports {
|
|
|
2428
3001
|
export declare class PropertyGridComponent<TData extends EntityViewModel> implements AfterViewInit {
|
|
2429
3002
|
private modalService;
|
|
2430
3003
|
private dataService;
|
|
2431
|
-
private localeService;
|
|
2432
3004
|
private toastrService;
|
|
2433
3005
|
elementRef: ElementRef;
|
|
2434
3006
|
validateAfterEachChange: boolean;
|
|
@@ -2459,8 +3031,8 @@ export declare class PropertyGridComponent<TData extends EntityViewModel> implem
|
|
|
2459
3031
|
selected: TData[];
|
|
2460
3032
|
isDirty: boolean;
|
|
2461
3033
|
filterType: typeof FilterType;
|
|
2462
|
-
bsConfig: Partial<
|
|
2463
|
-
bsTimeConfig: Partial<
|
|
3034
|
+
bsConfig: Partial<DatepickerConfig>;
|
|
3035
|
+
bsTimeConfig: Partial<DatepickerConfig>;
|
|
2464
3036
|
bsValue: Date;
|
|
2465
3037
|
locale: string;
|
|
2466
3038
|
selectionHelper: DictionnaryWrapper<any>;
|
|
@@ -2482,7 +3054,7 @@ export declare class PropertyGridComponent<TData extends EntityViewModel> implem
|
|
|
2482
3054
|
fieldSection: Section[];
|
|
2483
3055
|
get ViewModel(): EntityViewModelWithFields<TData>;
|
|
2484
3056
|
set ViewModel(value: EntityViewModelWithFields<TData>);
|
|
2485
|
-
constructor(modalService: ModalService, dataService: DataService,
|
|
3057
|
+
constructor(modalService: ModalService, dataService: DataService, toastrService: ToastrService, elementRef: ElementRef);
|
|
2486
3058
|
ngAfterViewInit(): void;
|
|
2487
3059
|
buildForm(): void;
|
|
2488
3060
|
changeActivTab(tabIndex: number): void;
|
|
@@ -2687,6 +3259,14 @@ export declare abstract class SelectorMapperServiceBase {
|
|
|
2687
3259
|
protected modalService: ModalService;
|
|
2688
3260
|
private readonly injector;
|
|
2689
3261
|
constructor(modalService: ModalService);
|
|
3262
|
+
/**
|
|
3263
|
+
* Titre d'une fenêtre de sélection : « Sélectionner : <titre> » (le titre seul est déjà celui de
|
|
3264
|
+
* la liste) ; un titre qui commence par « Sélection » ou par un verbe d'action (« Ajouter ») est
|
|
3265
|
+
* gardé tel quel.
|
|
3266
|
+
*/
|
|
3267
|
+
static selectionTitle(title: string | null | undefined): string | null | undefined;
|
|
3268
|
+
/** Titre qui décrit déjà l'action (« Sélectionner… », « Ajouter… »), et non le seul nom de la liste. */
|
|
3269
|
+
static isActionTitle(title: string | null | undefined): boolean;
|
|
2690
3270
|
getInputSelectorContext(key: string, title: string, filter?: FilterViewModel, params?: any): IInputSelectorContext;
|
|
2691
3271
|
/**
|
|
2692
3272
|
* Composants et recherche du sélecteur de l'entité de clé `key` : par défaut, le sélecteur
|
|
@@ -2702,12 +3282,12 @@ export declare abstract class SelectorMapperServiceBase {
|
|
|
2702
3282
|
};
|
|
2703
3283
|
getDialogOptions(context: IInputSelectorContext, choice: ContextChoice): IDialogOptions;
|
|
2704
3284
|
openSelectionModal(modalEntityKey: string, modalTitle: string, filter: FilterViewModel): Observable<any>;
|
|
2705
|
-
openEditionModal<TData extends EntityViewModel>(modalEntityKey: string, modalTitle: string, dataInit?: TData, callBackAction?: ((component?: BaseEditorComponent<TData>) => void), forceDataInit?: boolean, modalConfig?:
|
|
2706
|
-
openSelectorModal<TData, TFilter>(modalEntityKey: string, modalTitle: string, filter: FilterViewModel, initFn?: (component: BaseComponent<TData, TFilter>) => void, modalOptions?:
|
|
3285
|
+
openEditionModal<TData extends EntityViewModel>(modalEntityKey: string, modalTitle: string, dataInit?: TData, callBackAction?: ((component?: BaseEditorComponent<TData>) => void), forceDataInit?: boolean, modalConfig?: DflatModalOptions): Observable<BaseEditorComponent<TData>>;
|
|
3286
|
+
openSelectorModal<TData, TFilter>(modalEntityKey: string, modalTitle: string, filter: FilterViewModel, initFn?: (component: BaseComponent<TData, TFilter>) => void, modalOptions?: DflatModalOptions, modalConfig?: ModalConfig): Observable<TData[]>;
|
|
2707
3287
|
openComponentModal<TData, TFilter>(selectionTitle?: string, selectionComponent?: Type<any> // BaseComponent<any,any>,
|
|
2708
|
-
, initFn?: (component: BaseComponent<TData, TFilter>) => void, callback?: (component: IIsCancel | BaseComponent<TData, TFilter>) => void, modalOptions?:
|
|
2709
|
-
openEditorModal<TData extends EntityViewModel>(creationTitle?: string, creationComponent?: Type<any>, initFn?: (comp: NewEditorComponent<TData>) => void, modalConfig?:
|
|
2710
|
-
getSelectorModal(modalOptions?:
|
|
3288
|
+
, initFn?: (component: BaseComponent<TData, TFilter>) => void, callback?: (component: IIsCancel | BaseComponent<TData, TFilter>) => void, modalOptions?: DflatModalOptions, modalConfig?: ModalConfig): Observable<any>;
|
|
3289
|
+
openEditorModal<TData extends EntityViewModel>(creationTitle?: string, creationComponent?: Type<any>, initFn?: (comp: NewEditorComponent<TData>) => void, modalConfig?: DflatModalOptions): Observable<NewEditorComponent<TData>>;
|
|
3290
|
+
getSelectorModal(modalOptions?: DflatModalOptions<DialogComponentParameter>, dialogOptions?: IDialogOptions, modalConfig?: ModalConfig): DflatModalRef;
|
|
2711
3291
|
}
|
|
2712
3292
|
declare class LogService {
|
|
2713
3293
|
constructor();
|
|
@@ -2728,10 +3308,10 @@ export declare class ActionService {
|
|
|
2728
3308
|
constructor(modalService: ModalService, actionDataService: ActionDataService, mqService: NotificationMqService, fileService: FilesDataService, logService: LogService, extendedActionComponentType: Type<ExtendedActionComponent>);
|
|
2729
3309
|
guid: Guid;
|
|
2730
3310
|
fileId: number;
|
|
2731
|
-
firstModalRef:
|
|
3311
|
+
firstModalRef: DflatModalRef | undefined;
|
|
2732
3312
|
entityNotificationSubscription: Subscription | undefined;
|
|
2733
3313
|
requestNotificationSubscription: Subscription | undefined;
|
|
2734
|
-
logmodal:
|
|
3314
|
+
logmodal: DflatModalRef | undefined;
|
|
2735
3315
|
setIsLoading(value: boolean): void;
|
|
2736
3316
|
executeExtendedAction(actionDescriptor: ActionDescriptor, entityKey: string, entityIds: number[]): void;
|
|
2737
3317
|
executeExtendedActionCallBack(component: ExtendedActionComponent): void;
|
|
@@ -2913,7 +3493,7 @@ export declare class DialogComponentParameter implements IDialogComponentPameter
|
|
|
2913
3493
|
constructor();
|
|
2914
3494
|
}
|
|
2915
3495
|
export declare class DialogComponent implements AfterViewInit, OnDestroy, IDialogComponentPameter, IIsCancel, OnInit {
|
|
2916
|
-
bsModalRef:
|
|
3496
|
+
bsModalRef: DflatModalRef;
|
|
2917
3497
|
private cd;
|
|
2918
3498
|
private extendedActionComponentType;
|
|
2919
3499
|
insertionPoint: InsertionDirective;
|
|
@@ -2932,7 +3512,7 @@ export declare class DialogComponent implements AfterViewInit, OnDestroy, IDialo
|
|
|
2932
3512
|
private readonly _onClose;
|
|
2933
3513
|
onClose: import("rxjs").Observable<any>;
|
|
2934
3514
|
isInvalid: boolean;
|
|
2935
|
-
constructor(bsModalRef:
|
|
3515
|
+
constructor(bsModalRef: DflatModalRef, cd: ChangeDetectorRef, extendedActionComponentType: Type<ExtendedActionComponent>);
|
|
2936
3516
|
ngOnInit(): void;
|
|
2937
3517
|
ngAfterViewInit(): void;
|
|
2938
3518
|
ngOnDestroy(): void;
|
|
@@ -2957,7 +3537,7 @@ export declare class ModalStateService {
|
|
|
2957
3537
|
/**
|
|
2958
3538
|
* The last opened confirmation modal
|
|
2959
3539
|
*/
|
|
2960
|
-
modal:
|
|
3540
|
+
modal: DflatModalRef;
|
|
2961
3541
|
/**
|
|
2962
3542
|
* The template containing the confirmation modal component
|
|
2963
3543
|
*/
|
|
@@ -2966,7 +3546,7 @@ export declare class ModalStateService {
|
|
|
2966
3546
|
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
2967
3547
|
}
|
|
2968
3548
|
export declare class ModalService {
|
|
2969
|
-
modalService:
|
|
3549
|
+
modalService: DflatModalService;
|
|
2970
3550
|
private state;
|
|
2971
3551
|
injector: Injector;
|
|
2972
3552
|
modalConfig: {
|
|
@@ -2975,14 +3555,14 @@ export declare class ModalService {
|
|
|
2975
3555
|
keyboard: boolean;
|
|
2976
3556
|
ignoreBackdropClick: boolean;
|
|
2977
3557
|
};
|
|
2978
|
-
constructor(modalService:
|
|
3558
|
+
constructor(modalService: DflatModalService, state: ModalStateService, injector: Injector);
|
|
2979
3559
|
openTemplate(options: IModalOptions): Promise<any>;
|
|
2980
3560
|
openComponent<TComponent>(component: any, modalConfig?: any): TComponent;
|
|
2981
3561
|
openComponentWithState(component: any, modalConfig?: any, initialState?: any): any;
|
|
2982
|
-
openComponentCustomModal(modalConfig?:
|
|
2983
|
-
openComponentCustom(modalConfig?:
|
|
2984
|
-
openComponentModal(modalConfig?:
|
|
2985
|
-
openComponentSimple(modalConfig?: any, dialogOptions?: IDialogOptions, showButtons?: boolean):
|
|
3562
|
+
openComponentCustomModal(modalConfig?: DflatModalOptions<DialogComponentParameter>, dialogOptions?: IDialogOptions, showButtons?: boolean, canClose?: boolean): DflatModalRef;
|
|
3563
|
+
openComponentCustom(modalConfig?: DflatModalOptions, dialogOptions?: IDialogOptions, showButtons?: boolean, canClose?: boolean): Observable<any>;
|
|
3564
|
+
openComponentModal(modalConfig?: DflatModalOptions, dialogOptions?: IDialogOptions, showButtons?: boolean, canClose?: boolean): DflatModalRef;
|
|
3565
|
+
openComponentSimple(modalConfig?: any, dialogOptions?: IDialogOptions, showButtons?: boolean): DflatModalRef;
|
|
2986
3566
|
confirmModal(text?: string, actionCallback?: () => any, isCancelVisible?: boolean): Observable<ConfirmOptions>;
|
|
2987
3567
|
close(modal?: any): void;
|
|
2988
3568
|
static ɵfac: i0.ɵɵFactoryDeclaration<ModalService, never>;
|
|
@@ -3538,14 +4118,14 @@ declare namespace confirm_modal_component_d_exports {
|
|
|
3538
4118
|
export { ConfirmModalComponent };
|
|
3539
4119
|
}
|
|
3540
4120
|
export declare class ConfirmModalComponent {
|
|
3541
|
-
bsModalRef:
|
|
4121
|
+
bsModalRef: DflatModalRef;
|
|
3542
4122
|
severityClass: string;
|
|
3543
4123
|
subject: Subject<ConfirmOptions>;
|
|
3544
4124
|
text: string;
|
|
3545
4125
|
callBackAction: ((value: ConfirmOptions) => void);
|
|
3546
4126
|
isCancelVisible: boolean;
|
|
3547
4127
|
ConfirmOptions: ConfirmOptions;
|
|
3548
|
-
constructor(bsModalRef:
|
|
4128
|
+
constructor(bsModalRef: DflatModalRef);
|
|
3549
4129
|
action(value: ConfirmOptions): void;
|
|
3550
4130
|
static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmModalComponent, never>;
|
|
3551
4131
|
static ɵcmp: i0.ɵɵComponentDeclaration<ConfirmModalComponent, "alg-confirm-modal", never, {}, {}, never, never, false, never>;
|
|
@@ -3580,7 +4160,7 @@ export declare class SelectionStyler<TData extends EntityViewModel> {
|
|
|
3580
4160
|
declare namespace data_grid_component_d_exports {
|
|
3581
4161
|
export { DataGridComponent };
|
|
3582
4162
|
}
|
|
3583
|
-
export declare class DataGridComponent<TData extends EntityViewModel> implements OnInit, AfterViewInit {
|
|
4163
|
+
export declare class DataGridComponent<TData extends EntityViewModel> implements OnInit, AfterViewInit, DoCheck {
|
|
3584
4164
|
private elRef;
|
|
3585
4165
|
private renderer;
|
|
3586
4166
|
private imageService;
|
|
@@ -3588,7 +4168,10 @@ export declare class DataGridComponent<TData extends EntityViewModel> implements
|
|
|
3588
4168
|
private ngZone;
|
|
3589
4169
|
protected entityFacadeRegistryService: EntityFacadeRegistryService;
|
|
3590
4170
|
validationService: ValidationService;
|
|
3591
|
-
|
|
4171
|
+
private selectorMapperService;
|
|
4172
|
+
private actionService;
|
|
4173
|
+
private authService;
|
|
4174
|
+
constructor(elRef: ElementRef, renderer: Renderer2, imageService: ImageService, cd: ChangeDetectorRef, ngZone: NgZone, entityFacadeRegistryService: EntityFacadeRegistryService, validationService: ValidationService, selectorMapperService: SelectorMapperServiceBase, actionService: ActionService, authService: AuthService);
|
|
3592
4175
|
datagridClass: string;
|
|
3593
4176
|
rowRefs: QueryList<ElementRef>;
|
|
3594
4177
|
thHeaders: QueryList<ElementRef>;
|
|
@@ -3615,6 +4198,15 @@ export declare class DataGridComponent<TData extends EntityViewModel> implements
|
|
|
3615
4198
|
ngAfterViewInit(): void;
|
|
3616
4199
|
private initViewReady;
|
|
3617
4200
|
private bindColumns;
|
|
4201
|
+
/** Identifiants des lignes sélectionnées, recalculés à chaque détection de changements (ngDoCheck). */
|
|
4202
|
+
private selectedIds;
|
|
4203
|
+
ngDoCheck(): void;
|
|
4204
|
+
/**
|
|
4205
|
+
* Ligne sélectionnée : liée dans le gabarit (ligne et cellules), pour que la sélection reste
|
|
4206
|
+
* affichée quand les cellules sont recréées (colonnes déplacées, autre vue). Les classes posées
|
|
4207
|
+
* par le SelectionStyler, seules, se perdaient avec les cellules recréées.
|
|
4208
|
+
*/
|
|
4209
|
+
isRowSelected(row: TData): boolean;
|
|
3618
4210
|
private bindSelection;
|
|
3619
4211
|
private bindRowRendering;
|
|
3620
4212
|
private bindStyleUpdates;
|
|
@@ -3635,47 +4227,298 @@ export declare class DataGridComponent<TData extends EntityViewModel> implements
|
|
|
3635
4227
|
getHeaderLabel(column: ColumnDescriptor): string;
|
|
3636
4228
|
getEnumImageUrl(row: TData, column: ColumnDescriptor): string;
|
|
3637
4229
|
getImageUrl(row: TData, column: ColumnDescriptor): string;
|
|
3638
|
-
|
|
3639
|
-
|
|
3640
|
-
|
|
3641
|
-
|
|
3642
|
-
|
|
3643
|
-
|
|
3644
|
-
private moveToCell;
|
|
3645
|
-
onKeyDown(event: KeyboardEvent): void;
|
|
3646
|
-
updateSelected(id: number): void;
|
|
4230
|
+
/** Cellule du curseur d'édition ; aucune hors édition. */
|
|
4231
|
+
editCursor: {
|
|
4232
|
+
row: TData;
|
|
4233
|
+
column: ColumnDescriptor;
|
|
4234
|
+
} | undefined;
|
|
4235
|
+
/** Formulaires des lignes éditées dans la grille, par identifiant de ligne. */
|
|
3647
4236
|
private rowForms;
|
|
3648
|
-
|
|
3649
|
-
|
|
3650
|
-
|
|
4237
|
+
/**
|
|
4238
|
+
* Champ du formulaire qui édite la colonne, d'après la propriété liée à la colonne : même
|
|
4239
|
+
* propriété, sinon champ dont la colonne affiche le libellé (ExportPropertyName, ou
|
|
4240
|
+
* DisplayMember d'une liste).
|
|
4241
|
+
*/
|
|
4242
|
+
getColumnField(column: ColumnDescriptor): FieldDescriptor | undefined;
|
|
4243
|
+
/** Copies d'une ligne des zones de texte du formulaire, par propriété. */
|
|
4244
|
+
private singleLineFields;
|
|
4245
|
+
/**
|
|
4246
|
+
* Champ qui édite la cellule : seulement celui du formulaire (getColumnField). Une colonne
|
|
4247
|
+
* sans éditeur dans le formulaire n'est pas modifiable dans la grille.
|
|
4248
|
+
*/
|
|
4249
|
+
getEditField(column: ColumnDescriptor): FieldDescriptor | undefined;
|
|
4250
|
+
/**
|
|
4251
|
+
* Zone de texte du formulaire (plusieurs lignes, valeur transmise seulement à la sortie du
|
|
4252
|
+
* champ) : éditée dans la grille comme une saisie d'une ligne, transmise à chaque frappe.
|
|
4253
|
+
*/
|
|
4254
|
+
private getSingleLineField;
|
|
4255
|
+
/** Liste ou sélecteur : la valeur éditée n'est pas celle qu'affiche la grille. */
|
|
4256
|
+
private static isListField;
|
|
4257
|
+
/** Vrai si la cellule a un éditeur : champ modifiable, ligne modifiable. */
|
|
4258
|
+
canEditCell(row: TData, column: ColumnDescriptor): boolean;
|
|
4259
|
+
isCursorCell(row: TData, column: ColumnDescriptor): boolean;
|
|
4260
|
+
/** La cellule du curseur affiche l'éditeur de son champ, s'il en a un. */
|
|
4261
|
+
showEditor(row: TData, column: ColumnDescriptor): boolean;
|
|
4262
|
+
cellId(row: TData, column: ColumnDescriptor): string;
|
|
4263
|
+
/** Formulaire de la ligne, avec un contrôle par champ des colonnes. */
|
|
4264
|
+
getRowForm(row: TData): FormGroup;
|
|
4265
|
+
onCellDblClick(row: TData, column: ColumnDescriptor): void;
|
|
4266
|
+
/** En édition, un clic sur une cellule y déplace le curseur. */
|
|
4267
|
+
onCellClick(row: TData, column: ColumnDescriptor): void;
|
|
4268
|
+
/** Place le curseur d'édition sur la cellule. */
|
|
4269
|
+
startEdit(row: TData, column: ColumnDescriptor): void;
|
|
4270
|
+
/** Quitte l'édition : les valeurs saisies sont gardées, la plage de cellules est annulée. */
|
|
4271
|
+
stopEdit(): void;
|
|
4272
|
+
/** Annule la plage de cellules sélectionnée. */
|
|
4273
|
+
private clearRange;
|
|
4274
|
+
private setCursor;
|
|
4275
|
+
/** Déplace le curseur : les lignes et colonnes hors du tableau sont ignorées. */
|
|
4276
|
+
private moveCursor;
|
|
4277
|
+
/** Après le rendu : focus dans l'éditeur de la cellule, sinon sur la grille (touches du curseur). */
|
|
4278
|
+
private focusCursor;
|
|
4279
|
+
/** Touches du curseur d'édition, comme dans Excel. */
|
|
4280
|
+
onGridKeyDown(event: KeyboardEvent): void;
|
|
4281
|
+
/**
|
|
4282
|
+
* Vrai si la flèche gauche (début) ou droite (fin) quitte la cellule : hors d'une zone de
|
|
4283
|
+
* saisie, texte entièrement sélectionné, ou curseur de texte au bord de la saisie.
|
|
4284
|
+
*/
|
|
4285
|
+
private static caretAtEdge;
|
|
4286
|
+
/** Un clic hors de la grille et de ses fenêtres (liste, calendrier, sélecteur) quitte l'édition. */
|
|
4287
|
+
onDocumentMouseDown(event: MouseEvent): void;
|
|
4288
|
+
/**
|
|
4289
|
+
* Valeur changée dans la grille : appliquée à l'entité de la ligne par le service d'édition
|
|
4290
|
+
* (ChangeDetectionContext.updateEntity). La ligne modifiée est sélectionnée, le formulaire suit.
|
|
4291
|
+
*/
|
|
4292
|
+
onCellChanged(row: TData, event: PropertyEditorEvent): void;
|
|
4293
|
+
/**
|
|
4294
|
+
* Valeur changée d'une liste ou d'un sélecteur, depuis la grille ou le formulaire : la colonne
|
|
4295
|
+
* qui en affiche le libellé est mise à jour sur les lignes sélectionnées (sur la ligne collée
|
|
4296
|
+
* pendant un collé depuis Excel), et sur leur copie modifiée.
|
|
4297
|
+
*/
|
|
4298
|
+
private applyDisplayValue;
|
|
4299
|
+
/** Libellé de la valeur choisie dans une liste ou un sélecteur ; undefined s'il est inconnu. */
|
|
4300
|
+
private static displayLabel;
|
|
4301
|
+
/** Cellule de départ et cellule de fin de la plage (indices de ligne et de colonne). */
|
|
4302
|
+
rangeAnchor: {
|
|
4303
|
+
r: number;
|
|
4304
|
+
c: number;
|
|
4305
|
+
} | undefined;
|
|
4306
|
+
rangeEnd: {
|
|
4307
|
+
r: number;
|
|
4308
|
+
c: number;
|
|
4309
|
+
} | undefined;
|
|
4310
|
+
private rangeDragging;
|
|
4311
|
+
/** Ligne en cours de collé : reçoit le libellé des listes (applyDisplayValue). */
|
|
4312
|
+
private pastedRow;
|
|
4313
|
+
private cellPosition;
|
|
4314
|
+
/** Limites de la plage, ou undefined sans plage. */
|
|
4315
|
+
private getRangeArea;
|
|
4316
|
+
/** Cellule dans une plage de plusieurs cellules (une seule cellule : cadre du curseur). */
|
|
4317
|
+
isInRange(r: number, c: number): boolean;
|
|
4318
|
+
onCellMouseDown(r: number, c: number, event: MouseEvent): void;
|
|
4319
|
+
onCellMouseEnter(r: number, c: number, event?: MouseEvent): void;
|
|
4320
|
+
/**
|
|
4321
|
+
* Bouton relâché : fin du cliqué-glissé de la plage et du redimensionnement d'une colonne. Un seul
|
|
4322
|
+
* écouteur par événement : Angular ne garde que le dernier @HostListener d'un même événement.
|
|
4323
|
+
*/
|
|
4324
|
+
onDocumentMouseUp(): void;
|
|
4325
|
+
/** Ctrl+C : la plage en texte tabulé ; le texte sélectionné d'un éditeur garde la copie normale. */
|
|
4326
|
+
onCopy(event: ClipboardEvent): void;
|
|
4327
|
+
/** Ctrl+V : texte tabulé collé à partir du coin haut gauche de la plage. */
|
|
4328
|
+
onPaste(event: ClipboardEvent): void;
|
|
4329
|
+
/** Applique les valeurs collées ; les sélecteurs cherchent l'élément dont le libellé est collé. */
|
|
4330
|
+
private pasteCells;
|
|
4331
|
+
/** Valeur collée dans une cellule : contrôle de la ligne, puis service d'édition. */
|
|
4332
|
+
private pasteValue;
|
|
4333
|
+
/**
|
|
4334
|
+
* Élément d'un sélecteur dont le libellé (ModalPropertyName) est le texte collé : null pour un
|
|
4335
|
+
* texte vide, undefined s'il n'est pas trouvé.
|
|
4336
|
+
*/
|
|
4337
|
+
private findSelectorItem;
|
|
4338
|
+
/** Texte d'une cellule copiée vers Excel. */
|
|
4339
|
+
private static toClipboardText;
|
|
4340
|
+
/** Texte tabulé copié d'Excel : lignes de cellules (cellules entre guillemets comprises). */
|
|
4341
|
+
private static parseClipboardText;
|
|
4342
|
+
/** Valeur d'un texte collé pour l'éditeur du champ ; undefined si elle n'est pas reconnue. */
|
|
4343
|
+
private static fromClipboardText;
|
|
4344
|
+
private static hasTextSelection;
|
|
4345
|
+
/** Lignes modifiées depuis le formulaire : leurs valeurs passent dans les éditeurs de la grille. */
|
|
4346
|
+
private patchRowForms;
|
|
4347
|
+
updateSelected(id: number): void;
|
|
3651
4348
|
toggleDetail(row: TData): void;
|
|
3652
4349
|
addFilterQuery(): void;
|
|
3653
4350
|
removeFilterQuery(index: number): void;
|
|
3654
4351
|
handleFilterChanged(event: any, filterRow: FilterRow, propertyName?: string): void;
|
|
3655
4352
|
validateFilterChanged(event: any, filterRow: FilterRow, propertyName?: string): void;
|
|
3656
|
-
|
|
3657
|
-
|
|
4353
|
+
/**
|
|
4354
|
+
* Clic droit sur une cellule : menu de sa colonne, à la position de la souris. La ligne est
|
|
4355
|
+
* sélectionnée si elle ne l'est pas déjà, pour que les actions du menu portent sur elle.
|
|
4356
|
+
*/
|
|
4357
|
+
openContextMenu(event: MouseEvent, row: TData, column: ColumnDescriptor): void;
|
|
4358
|
+
/**
|
|
4359
|
+
* Clic droit ailleurs que sur une cellule (sous la dernière ligne, dans une grille vide) : menu de la
|
|
4360
|
+
* colonne dont l'en-tête est au-dessus du point cliqué, à défaut de la dernière colonne ; sans ligne,
|
|
4361
|
+
* le menu ne propose pas de filtrer sur une valeur.
|
|
4362
|
+
*/
|
|
4363
|
+
openEmptyAreaContextMenu(event: MouseEvent): void;
|
|
4364
|
+
/** Clic droit dans l'en-tête (colonne vide de fin) : menu de la colonne donnée. */
|
|
4365
|
+
openHeaderContextMenu(event: MouseEvent, column: ColumnDescriptor): void;
|
|
4366
|
+
closeContextMenu(): void;
|
|
4367
|
+
/** Menu ouvert d'une colonne, sa position à l'écran et son sous-menu ouvert. */
|
|
4368
|
+
headerMenu: {
|
|
4369
|
+
column: ColumnDescriptor;
|
|
3658
4370
|
x: number;
|
|
3659
4371
|
y: number;
|
|
3660
|
-
|
|
3661
|
-
|
|
3662
|
-
|
|
3663
|
-
|
|
3664
|
-
|
|
3665
|
-
|
|
3666
|
-
|
|
3667
|
-
|
|
4372
|
+
/** Ligne de la cellule (clic droit sur une cellule), pour filtrer sur sa valeur. */
|
|
4373
|
+
row?: TData;
|
|
4374
|
+
submenu?: 'display' | 'columns';
|
|
4375
|
+
submenuLeft?: boolean;
|
|
4376
|
+
submenuUp?: boolean;
|
|
4377
|
+
ready?: boolean;
|
|
4378
|
+
} | undefined;
|
|
4379
|
+
/** Actions de l'écran (panneau des actions), proposées dans le menu des colonnes. */
|
|
4380
|
+
actions: Action[];
|
|
4381
|
+
/** Colonne déplacée, colonne survolée, et côté où la poser. */
|
|
4382
|
+
draggedColumn: string | undefined;
|
|
4383
|
+
dropColumn: string | undefined;
|
|
4384
|
+
dropBefore: boolean;
|
|
4385
|
+
private static readonly NumericTypes;
|
|
4386
|
+
toggleHeaderMenu(column: ColumnDescriptor, event: MouseEvent): void;
|
|
4387
|
+
/**
|
|
4388
|
+
* Ouvre le menu de la colonne au point donné, puis, une fois affiché, le garde entier dans la
|
|
4389
|
+
* grille : décalé à gauche s'il dépasse à droite, ouvert vers le haut s'il dépasse en bas.
|
|
4390
|
+
*/
|
|
4391
|
+
private openColumnMenu;
|
|
4392
|
+
/**
|
|
4393
|
+
* Valeur de filtre de la cellule du menu (clic droit sur une cellule d'une colonne filtrable) :
|
|
4394
|
+
* la valeur elle-même, 1 ou 0 pour un booléen, le jour suivi de * pour une date ; undefined sans
|
|
4395
|
+
* cellule, sans valeur ou pour une colonne non filtrable.
|
|
4396
|
+
*/
|
|
4397
|
+
cellFilterValue(): string | undefined;
|
|
4398
|
+
/** Texte de la cellule du menu, tel qu'affiché dans l'option « Filtrer sur ». */
|
|
4399
|
+
cellFilterLabel(): string;
|
|
4400
|
+
/**
|
|
4401
|
+
* « Filtrer sur cette valeur » : condition de la colonne dans la première ligne des filtres composés,
|
|
4402
|
+
* créée si elle n'existe pas.
|
|
4403
|
+
*/
|
|
4404
|
+
filterOnCell(): void;
|
|
4405
|
+
/**
|
|
4406
|
+
* Zone où garder le menu : la grille, dans la limite de la fenêtre. Une grille trop petite pour
|
|
4407
|
+
* le menu (peu de lignes) laisse la place à la fenêtre entière.
|
|
4408
|
+
*/
|
|
4409
|
+
private menuBounds;
|
|
4410
|
+
/** Place le menu ouvert au point (x, y) pour qu'il tienne entier dans la grille. */
|
|
4411
|
+
private fitColumnMenu;
|
|
4412
|
+
setSubmenu(submenu: 'display' | 'columns' | undefined): void;
|
|
4413
|
+
/** Action faite dans le menu « Affichage » (alg-grid-view-menu) : menu fermé. */
|
|
4414
|
+
closeViewMenu(): void;
|
|
4415
|
+
/** Vues ou colonnes chargées dans le menu « Affichage » : sous-menu replacé dans la grille. */
|
|
4416
|
+
onViewMenuLoaded(): void;
|
|
4417
|
+
/**
|
|
4418
|
+
* Sous-menu « Fonctions » : à droite du menu, ou à gauche s'il dépasse de la grille ; vers le bas,
|
|
4419
|
+
* ou vers le haut s'il n'y a pas la place en dessous.
|
|
4420
|
+
*/
|
|
4421
|
+
private fitSubmenu;
|
|
4422
|
+
/** Actions visibles de l'écran, comme dans le panneau des actions. */
|
|
4423
|
+
get visibleActions(): Action[];
|
|
4424
|
+
getActionImageUrl(icon: string): string;
|
|
4425
|
+
/**
|
|
4426
|
+
* Action choisie dans le menu : exécutée comme depuis le panneau des actions (action étendue
|
|
4427
|
+
* par le service des actions, sinon par la façade), sur les lignes sélectionnées.
|
|
4428
|
+
*/
|
|
4429
|
+
executeMenuAction(a: Action, disabled: boolean): void;
|
|
4430
|
+
private readonly modalService;
|
|
4431
|
+
/**
|
|
4432
|
+
* Tri personnalisé : fenêtre standard des popups (DialogComponent), avec les niveaux du tri en
|
|
4433
|
+
* cours (à défaut la colonne du menu) ; « Appliquer » trie la grille.
|
|
4434
|
+
*/
|
|
4435
|
+
openCustomSort(): void;
|
|
4436
|
+
closeHeaderMenu(): void;
|
|
4437
|
+
onWindowChange(): void;
|
|
4438
|
+
/** Tri choisi dans le menu ; le tri déjà en cours (même colonne, même sens) est annulé. */
|
|
4439
|
+
sortColumn(direction: 'asc' | 'desc'): void;
|
|
4440
|
+
/** Fonctions d'agrégation proposées selon le type de la colonne. */
|
|
4441
|
+
getAggregationOptions(column: ColumnDescriptor): string[];
|
|
4442
|
+
aggregationLabel(op: string): string;
|
|
4443
|
+
/** Fonction d'agrégation de la colonne du menu ; null la retire. */
|
|
4444
|
+
aggregateColumn(op: string | null): void;
|
|
4445
|
+
/** Poignée enfoncée : colonne et point de départ, avant que la souris ait assez bougé. */
|
|
4446
|
+
private pendingDrag;
|
|
4447
|
+
/** Copie de la colonne déplacée (en-tête et cellules visibles), qui suit la souris horizontalement. */
|
|
4448
|
+
private dragGhost;
|
|
4449
|
+
private static readonly DragThreshold;
|
|
4450
|
+
private static readonly DraggingBodyClass;
|
|
4451
|
+
private static readonly DropIndicatorWidth;
|
|
4452
|
+
/** Position à l'écran du trait de l'emplacement visé. */
|
|
4453
|
+
dropIndicator: {
|
|
4454
|
+
left: number;
|
|
4455
|
+
top: number;
|
|
4456
|
+
height: number;
|
|
4457
|
+
} | undefined;
|
|
4458
|
+
onHeaderMouseDown(column: ColumnDescriptor, event: MouseEvent): void;
|
|
4459
|
+
/** Souris déplacée pendant un déplacement de colonne : emplacement visé, avant ou après la colonne survolée. */
|
|
4460
|
+
private onHeaderDragMove;
|
|
4461
|
+
/** En-tête affiché d'une colonne (identifiant <guid>-col-<propriété>). */
|
|
4462
|
+
private headerCell;
|
|
4463
|
+
/** Partie visible du tableau à l'écran : du haut de l'en-tête au bas des lignes affichées. */
|
|
4464
|
+
private visibleTableArea;
|
|
4465
|
+
/**
|
|
4466
|
+
* Copie de la colonne déplacée, au-dessus de la page : son en-tête (intitulé et lignes de filtre)
|
|
4467
|
+
* et ses cellules visibles, aux mêmes hauteurs que dans le tableau. Le conteneur et le tableau
|
|
4468
|
+
* sont recopiés sans leur contenu, pour que les cellules copiées gardent le style de la grille.
|
|
4469
|
+
*/
|
|
4470
|
+
private createDragGhost;
|
|
4471
|
+
private removeDragGhost;
|
|
4472
|
+
/** Bouton relâché : fin du déplacement (l'ordre des colonnes a été appliqué au fil du déplacement). */
|
|
4473
|
+
onHeaderDragEnd(_drop?: boolean): void;
|
|
4474
|
+
/** Largeur choisie par colonne (propriété), en pixels. */
|
|
4475
|
+
columnWidths: Record<string, number>;
|
|
4476
|
+
private resizing;
|
|
4477
|
+
private static readonly MinColumnWidth;
|
|
4478
|
+
colWidth(column: ColumnDescriptor): number | null;
|
|
4479
|
+
startResize(column: ColumnDescriptor, event: MouseEvent): void;
|
|
4480
|
+
/**
|
|
4481
|
+
* Souris déplacée : redimensionnement ou déplacement d'une colonne. Un seul écouteur par événement :
|
|
4482
|
+
* Angular ne garde que le dernier @HostListener d'un même événement.
|
|
4483
|
+
*/
|
|
4484
|
+
onResizeMove(event: MouseEvent): void;
|
|
4485
|
+
/** Fin du redimensionnement d'une colonne (appelée par onDocumentMouseUp). */
|
|
4486
|
+
private onResizeEnd;
|
|
4487
|
+
/** Double clic sur le bord de l'en-tête : largeur ajustée au contenu de la colonne. */
|
|
4488
|
+
autoFitColumn(column: ColumnDescriptor, event: MouseEvent): void;
|
|
4489
|
+
/** Index de la dernière colonne figée, ou undefined. */
|
|
4490
|
+
frozenUntil: number | undefined;
|
|
4491
|
+
/** Position gauche de chaque colonne figée (en-tête de l'état de ligne compris). */
|
|
4492
|
+
private frozenLefts;
|
|
4493
|
+
columnIndex(column: ColumnDescriptor): number;
|
|
4494
|
+
isFrozen(index: number): boolean;
|
|
4495
|
+
frozenLeft(index: number): number | null;
|
|
4496
|
+
/** Colonne du menu figée ou libérée (la colonne du menu déjà dernière figée : libérer). */
|
|
4497
|
+
toggleFrozen(): void;
|
|
4498
|
+
unfreezeColumns(): void;
|
|
4499
|
+
/** Positions des colonnes figées, mesurées après le rendu. */
|
|
4500
|
+
private scheduleFrozenOffsets;
|
|
3668
4501
|
_aggregates: AggregationValue[];
|
|
3669
4502
|
hasAggregates: boolean;
|
|
3670
4503
|
columnAggregates: Record<string, any[]>;
|
|
3671
4504
|
activeAggregations: Record<string, string>;
|
|
3672
|
-
|
|
4505
|
+
/**
|
|
4506
|
+
* Ligne des agrégations, en bas de la grille : agrégats renvoyés par le serveur
|
|
4507
|
+
* (`PagedList.Aggregates`, clés `<Fonction>_<Propriété>`), pour les fonctions choisies dans le
|
|
4508
|
+
* menu des en-têtes (`FilterViewModel.AggregateClause`).
|
|
4509
|
+
*/
|
|
3673
4510
|
private buildColumnAggregates;
|
|
3674
|
-
setAggregation(op: string): void;
|
|
3675
4511
|
getColCurrency(column: ColumnDescriptor): string;
|
|
4512
|
+
/** Fonctions d'agrégation choisies : demandées au serveur avec la recherche. */
|
|
3676
4513
|
private applyAggregations;
|
|
3677
4514
|
private mapToEnum;
|
|
3678
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DataGridComponent<any>,
|
|
4515
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DataGridComponent<any>, [null, null, null, null, null, null, null, {
|
|
4516
|
+
optional: true;
|
|
4517
|
+
}, {
|
|
4518
|
+
optional: true;
|
|
4519
|
+
}, {
|
|
4520
|
+
optional: true;
|
|
4521
|
+
}]>;
|
|
3679
4522
|
static ɵcmp: i0.ɵɵComponentDeclaration<DataGridComponent<any>, "alg-data-grid", never, {
|
|
3680
4523
|
"datagridClass": {
|
|
3681
4524
|
"alias": "datagridClass";
|
|
@@ -3757,7 +4600,6 @@ declare namespace dynamic_field_component_d_exports {
|
|
|
3757
4600
|
export { DynamicFieldComponent };
|
|
3758
4601
|
}
|
|
3759
4602
|
export declare class DynamicFieldComponent implements OnChanges {
|
|
3760
|
-
private localeService;
|
|
3761
4603
|
field: FilterDescriptor;
|
|
3762
4604
|
form: UntypedFormGroup;
|
|
3763
4605
|
submitted: boolean;
|
|
@@ -3771,13 +4613,13 @@ export declare class DynamicFieldComponent implements OnChanges {
|
|
|
3771
4613
|
horizSelect: any;
|
|
3772
4614
|
value: any;
|
|
3773
4615
|
filterType: typeof FilterType;
|
|
3774
|
-
bsConfig: Partial<
|
|
4616
|
+
bsConfig: Partial<DatepickerConfig>;
|
|
3775
4617
|
locale: string;
|
|
3776
4618
|
uploadForm: UntypedFormGroup;
|
|
3777
4619
|
get isValid(): boolean;
|
|
3778
4620
|
notlog: boolean;
|
|
3779
4621
|
log(propname: string): string;
|
|
3780
|
-
constructor(
|
|
4622
|
+
constructor();
|
|
3781
4623
|
onValueChanged(event: Event): void;
|
|
3782
4624
|
onBsValueChanged(event: any): void;
|
|
3783
4625
|
filedata: any;
|
|
@@ -3880,28 +4722,39 @@ export declare class ExportDataModalComponent {
|
|
|
3880
4722
|
static ɵcmp: i0.ɵɵComponentDeclaration<ExportDataModalComponent, "alg-export-data-modal", never, {}, {}, never, never, false, never>;
|
|
3881
4723
|
}
|
|
3882
4724
|
declare namespace track_record_modal_component_d_exports {
|
|
3883
|
-
export { TrackRecordModalComponent };
|
|
4725
|
+
export { TrackRecordModalComponent, TrackRecordProperty };
|
|
4726
|
+
}
|
|
4727
|
+
/** Colonnes système d'une entité et leurs dates mises en forme, affichées par l'historique. */
|
|
4728
|
+
export interface TrackRecordProperty {
|
|
4729
|
+
Id?: number;
|
|
4730
|
+
CreatedBy?: string;
|
|
4731
|
+
CreationDate?: Date;
|
|
4732
|
+
CreationDateString?: string;
|
|
4733
|
+
ModifiedBy?: string;
|
|
4734
|
+
ModificationDate?: Date;
|
|
4735
|
+
ModificationDateString?: string;
|
|
3884
4736
|
}
|
|
4737
|
+
/**
|
|
4738
|
+
* Historique d'une entité (action « Historique ») : création et dernière modification, lues dans
|
|
4739
|
+
* les colonnes système de l'entité affichée (CreatedBy, CreationDate, ModifiedBy, ModificationDate),
|
|
4740
|
+
* que renvoient les fonctions de recherche ; aucun appel au serveur.
|
|
4741
|
+
*/
|
|
3885
4742
|
export declare class TrackRecordModalComponent implements OnInit, IIsCancel {
|
|
3886
|
-
private dataService;
|
|
3887
4743
|
private datePipe;
|
|
3888
4744
|
isCancel?: boolean;
|
|
3889
|
-
|
|
3890
|
-
|
|
4745
|
+
/** Entité dont l'historique est affiché. */
|
|
4746
|
+
entity: EntityViewModel;
|
|
3891
4747
|
ngOnInit(): void;
|
|
4748
|
+
private formatDate;
|
|
3892
4749
|
callBackAction: (component: IIsCancel) => void;
|
|
3893
4750
|
viewModel: TrackRecordProperty;
|
|
3894
4751
|
TrackRecordSections: Section[];
|
|
3895
4752
|
getTrackRecordSection(): void;
|
|
3896
|
-
constructor(
|
|
4753
|
+
constructor(datePipe: DatePipe);
|
|
3897
4754
|
static ɵfac: i0.ɵɵFactoryDeclaration<TrackRecordModalComponent, never>;
|
|
3898
4755
|
static ɵcmp: i0.ɵɵComponentDeclaration<TrackRecordModalComponent, "alg-track-record-modal", never, {
|
|
3899
|
-
"
|
|
3900
|
-
"alias": "
|
|
3901
|
-
"required": false;
|
|
3902
|
-
};
|
|
3903
|
-
"entityId": {
|
|
3904
|
-
"alias": "entityId";
|
|
4756
|
+
"entity": {
|
|
4757
|
+
"alias": "entity";
|
|
3905
4758
|
"required": false;
|
|
3906
4759
|
};
|
|
3907
4760
|
}, {}, never, never, false, never>;
|
|
@@ -4054,7 +4907,13 @@ export declare class MenuComponent implements OnInit, AfterViewInit {
|
|
|
4054
4907
|
ngAfterViewInit(): void;
|
|
4055
4908
|
ngOnInit(): void;
|
|
4056
4909
|
toggleMenu(itemId: number, clicked: boolean, eventType: string): void;
|
|
4910
|
+
/** Vrai pour l'entrée de l'écran affiché : même chemin, paramètres de requête ignorés. */
|
|
4057
4911
|
isItemActive(subitem: MenuItem): boolean;
|
|
4912
|
+
/**
|
|
4913
|
+
* Déplie le thème de l'entrée de l'écran affiché, comme après un clic sur cette entrée : au
|
|
4914
|
+
* rechargement de la page, ou au retour sur un onglet ouvert depuis un autre thème.
|
|
4915
|
+
*/
|
|
4916
|
+
private revealActiveItem;
|
|
4058
4917
|
lockToggle: boolean;
|
|
4059
4918
|
subItemClick(item: MenuItem, subitem: MenuItem): void;
|
|
4060
4919
|
getSubtreeClass(nb: number): string;
|
|
@@ -4255,6 +5114,13 @@ export declare class PageTabsComponent implements OnInit, AfterViewInit, OnDestr
|
|
|
4255
5114
|
hiddenIds: Set<number>;
|
|
4256
5115
|
/** Vrai quand le menu des onglets masqués est ouvert. */
|
|
4257
5116
|
menuOpen: boolean;
|
|
5117
|
+
/**
|
|
5118
|
+
* Écran étroit (téléphone) : pas d'onglets dans la barre, tous les écrans ouverts (l'historique)
|
|
5119
|
+
* sont dans le menu déroulant, au bout de la barre.
|
|
5120
|
+
*/
|
|
5121
|
+
narrow: boolean;
|
|
5122
|
+
private static readonly NarrowWidth;
|
|
5123
|
+
onResize(): void;
|
|
4258
5124
|
private frame;
|
|
4259
5125
|
private strip;
|
|
4260
5126
|
private resizeObserver;
|
|
@@ -4958,9 +5824,8 @@ declare namespace parameter_type_date_component_d_exports {
|
|
|
4958
5824
|
}
|
|
4959
5825
|
export declare class ParameterTypeDateComponent extends BaseParameterTypeComponent {
|
|
4960
5826
|
private datepipe;
|
|
4961
|
-
|
|
4962
|
-
|
|
4963
|
-
bsConfig: Partial<BsDatepickerConfig>;
|
|
5827
|
+
constructor(datepipe: DatePipe);
|
|
5828
|
+
bsConfig: Partial<DatepickerConfig>;
|
|
4964
5829
|
today: Date;
|
|
4965
5830
|
displayedDate: Date;
|
|
4966
5831
|
ngAfterContentInit(): void;
|
|
@@ -4999,7 +5864,7 @@ export declare class ParameterTypeDateArrayComponent extends BaseArrayParameterT
|
|
|
4999
5864
|
renderer: Renderer2;
|
|
5000
5865
|
private datepipe;
|
|
5001
5866
|
constructor(renderer: Renderer2, datepipe: DatePipe);
|
|
5002
|
-
bsConfig: Partial<
|
|
5867
|
+
bsConfig: Partial<DatepickerConfig>;
|
|
5003
5868
|
today: Date;
|
|
5004
5869
|
displayedDate: Date;
|
|
5005
5870
|
ngAfterViewInit(): void;
|
|
@@ -5246,7 +6111,6 @@ declare namespace field_component_d_exports {
|
|
|
5246
6111
|
}
|
|
5247
6112
|
export declare class FieldComponent implements OnInit {
|
|
5248
6113
|
validationService: ValidationService;
|
|
5249
|
-
private localeService;
|
|
5250
6114
|
showLabel: boolean;
|
|
5251
6115
|
entity: EntityViewModel;
|
|
5252
6116
|
field: FilterDescriptor;
|
|
@@ -5260,7 +6124,7 @@ export declare class FieldComponent implements OnInit {
|
|
|
5260
6124
|
Changes$: import("rxjs").Observable<PropertyEditorEvent>;
|
|
5261
6125
|
horizSelect: any;
|
|
5262
6126
|
filterType: typeof FilterType;
|
|
5263
|
-
bsConfig: Partial<
|
|
6127
|
+
bsConfig: Partial<DatepickerConfig>;
|
|
5264
6128
|
locale: string;
|
|
5265
6129
|
hidePassword: boolean;
|
|
5266
6130
|
showPassword(): void;
|
|
@@ -5270,7 +6134,7 @@ export declare class FieldComponent implements OnInit {
|
|
|
5270
6134
|
get isValid(): boolean;
|
|
5271
6135
|
notlog: boolean;
|
|
5272
6136
|
log(propname: string): void;
|
|
5273
|
-
constructor(validationService: ValidationService
|
|
6137
|
+
constructor(validationService: ValidationService);
|
|
5274
6138
|
private internalForm;
|
|
5275
6139
|
get control(): FormControl;
|
|
5276
6140
|
ngOnInit(): void;
|
|
@@ -5330,6 +6194,7 @@ declare namespace new_paginator_component_d_exports {
|
|
|
5330
6194
|
}
|
|
5331
6195
|
export declare class NewPaginatorComponent<TData extends EntityViewModel> {
|
|
5332
6196
|
private facadeService;
|
|
6197
|
+
private cd;
|
|
5333
6198
|
guid: Guid;
|
|
5334
6199
|
log: any;
|
|
5335
6200
|
displayInfo: boolean;
|
|
@@ -5340,7 +6205,7 @@ export declare class NewPaginatorComponent<TData extends EntityViewModel> {
|
|
|
5340
6205
|
getImageUrl(icon: string): string;
|
|
5341
6206
|
entityKey: string;
|
|
5342
6207
|
protected facade: EntityFacade<TData>;
|
|
5343
|
-
constructor(facadeService: EntityFacadeRegistryService);
|
|
6208
|
+
constructor(facadeService: EntityFacadeRegistryService, cd: ChangeDetectorRef);
|
|
5344
6209
|
ngOnInit(): void;
|
|
5345
6210
|
first(): void;
|
|
5346
6211
|
prev(): void;
|
|
@@ -5349,6 +6214,20 @@ export declare class NewPaginatorComponent<TData extends EntityViewModel> {
|
|
|
5349
6214
|
updatePageNumber(page: number): void;
|
|
5350
6215
|
onInputChange(event: any): void;
|
|
5351
6216
|
onRowsChange(event: any): void;
|
|
6217
|
+
/** Vues proposées à l'utilisateur, avec la vue affichée. */
|
|
6218
|
+
viewList: GridViewList | undefined;
|
|
6219
|
+
viewMenuOpen: boolean;
|
|
6220
|
+
private loadViews;
|
|
6221
|
+
/** Nom de la vue affichée par la grille. */
|
|
6222
|
+
currentViewLabel(): string;
|
|
6223
|
+
/** Position à l'écran de la liste des vues : au-dessus du bouton (la barre du bas ne la coupe pas). */
|
|
6224
|
+
viewMenuPosition: {
|
|
6225
|
+
[key: string]: string;
|
|
6226
|
+
};
|
|
6227
|
+
toggleViewMenu(event?: MouseEvent): void;
|
|
6228
|
+
/** Bouton d'enregistrement : la vue affichée est enregistrée telle qu'elle est dans la grille. */
|
|
6229
|
+
saveView(): void;
|
|
6230
|
+
closeViewMenu(): void;
|
|
5352
6231
|
ngOnDestroy(): void;
|
|
5353
6232
|
onAgentIdClick(item: any): void;
|
|
5354
6233
|
static ɵfac: i0.ɵɵFactoryDeclaration<NewPaginatorComponent<any>, never>;
|
|
@@ -5375,6 +6254,135 @@ export declare class NewPaginatorComponent<TData extends EntityViewModel> {
|
|
|
5375
6254
|
};
|
|
5376
6255
|
}, {}, never, never, false, never>;
|
|
5377
6256
|
}
|
|
6257
|
+
declare namespace card_list_component_d_exports {
|
|
6258
|
+
export { CardListComponent };
|
|
6259
|
+
}
|
|
6260
|
+
/**
|
|
6261
|
+
* Liste de cartes d'un écran (vue Carte liée à la vue Grille affichée), à la place de la grille :
|
|
6262
|
+
* sur un écran étroit (téléphone), ou quand l'utilisateur le choisit. Chaque carte montre les
|
|
6263
|
+
* colonnes de ses emplacements (titre, texte, détail, badge, image à gauche : icône d'un type
|
|
6264
|
+
* énuméré, image, ou image par défaut de l'élément). Toucher une carte la sélectionne : l'éditeur
|
|
6265
|
+
* l'affiche (en plein écran sur un téléphone). Défilement continu : la page suivante s'ajoute
|
|
6266
|
+
* quand on approche du bas, avec la même recherche et les mêmes filtres.
|
|
6267
|
+
*/
|
|
6268
|
+
export declare class CardListComponent<TData extends EntityViewModel> implements OnInit, OnDestroy {
|
|
6269
|
+
private readonly facadeService;
|
|
6270
|
+
private readonly imageService;
|
|
6271
|
+
private readonly cd;
|
|
6272
|
+
entityKey: string;
|
|
6273
|
+
guid: Guid;
|
|
6274
|
+
facade: EntityFacade<TData>;
|
|
6275
|
+
card: GridCard | null | undefined;
|
|
6276
|
+
items: TData[];
|
|
6277
|
+
/** Adresse de l'image par défaut des éléments affichés, par identifiant. */
|
|
6278
|
+
images: Record<number, string>;
|
|
6279
|
+
loading: boolean;
|
|
6280
|
+
/** Colonnes de la vue Grille affichée : colonnes de secours d'une carte sans emplacement rempli. */
|
|
6281
|
+
private columns;
|
|
6282
|
+
/** Page suivante demandée par le défilement : ses lignes s'ajoutent aux cartes affichées. */
|
|
6283
|
+
private appending;
|
|
6284
|
+
private readonly destroy$;
|
|
6285
|
+
/** Distance au bas de la liste à laquelle la page suivante est demandée. */
|
|
6286
|
+
private static readonly LoadThreshold;
|
|
6287
|
+
constructor(facadeService: EntityFacadeRegistryService, imageService: ImageService, cd: ChangeDetectorRef);
|
|
6288
|
+
ngOnInit(): void;
|
|
6289
|
+
ngOnDestroy(): void;
|
|
6290
|
+
private loadCard;
|
|
6291
|
+
private onData;
|
|
6292
|
+
private loadImages;
|
|
6293
|
+
/**
|
|
6294
|
+
* Carte sans titre, ni texte, ni détail (table sans UniqueName, Code, Label ni Description) :
|
|
6295
|
+
* les premières colonnes de la vue Grille, sauf Id et les images, en titre, texte et détail.
|
|
6296
|
+
*/
|
|
6297
|
+
static withFallback(card: GridCard | null, columns: ColumnDescriptor[]): GridCard | null;
|
|
6298
|
+
get hasMore(): boolean;
|
|
6299
|
+
onScroll(event: Event): void;
|
|
6300
|
+
loadMore(): void;
|
|
6301
|
+
trackById: (_: number, row: TData) => number;
|
|
6302
|
+
isSelected(row: TData): boolean;
|
|
6303
|
+
/** Carte touchée : sélectionnée (l'éditeur l'affiche), en plein écran sur un écran étroit. */
|
|
6304
|
+
open(row: TData): void;
|
|
6305
|
+
hasImage(): boolean;
|
|
6306
|
+
imageUrl(row: TData): string | null;
|
|
6307
|
+
/** Initiales du titre de la carte, à la place d'une image absente. */
|
|
6308
|
+
initials(row: TData): string;
|
|
6309
|
+
/** Valeur affichée d'une colonne : date, nombre, montant, oui ou non, sinon le texte. */
|
|
6310
|
+
valueOf(row: TData, column: ColumnDescriptor | undefined): string;
|
|
6311
|
+
private static date;
|
|
6312
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CardListComponent<any>, never>;
|
|
6313
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CardListComponent<any>, "alg-card-list", never, {
|
|
6314
|
+
"entityKey": {
|
|
6315
|
+
"alias": "entityKey";
|
|
6316
|
+
"required": true;
|
|
6317
|
+
};
|
|
6318
|
+
"guid": {
|
|
6319
|
+
"alias": "guid";
|
|
6320
|
+
"required": false;
|
|
6321
|
+
};
|
|
6322
|
+
}, {}, never, never, false, never>;
|
|
6323
|
+
}
|
|
6324
|
+
declare namespace mobile_menu_component_d_exports {
|
|
6325
|
+
export { MobileMenuComponent, OpenNavigationMenuEvent };
|
|
6326
|
+
}
|
|
6327
|
+
/** Événement de la fenêtre qui ouvre le menu de navigation de l'application (DFlatLayoutComponent). */
|
|
6328
|
+
export declare const OpenNavigationMenuEvent = "dflat:open-menu";
|
|
6329
|
+
/**
|
|
6330
|
+
* Menu d'un écran sur téléphone, à la place des actions de la barre d'actions : trois points blancs à
|
|
6331
|
+
* droite de la recherche (inline), ou un bouton rond en bas à droite sans barre d'actions, ouvre un panneau avec la navigation (menu de l'application, accueil), les actions de l'écran
|
|
6332
|
+
* (comme le panneau des actions) et le menu « Affichage » (vues, colonnes, filtres et tri, carte).
|
|
6333
|
+
*/
|
|
6334
|
+
export declare class MobileMenuComponent<TData extends EntityViewModel> implements OnInit, OnDestroy {
|
|
6335
|
+
private readonly facadeService;
|
|
6336
|
+
private readonly router;
|
|
6337
|
+
private readonly cd;
|
|
6338
|
+
private readonly actionService;
|
|
6339
|
+
private readonly authService;
|
|
6340
|
+
entityKey: string;
|
|
6341
|
+
guid: Guid;
|
|
6342
|
+
/** Titre de l'écran, en tête du panneau. */
|
|
6343
|
+
title: string;
|
|
6344
|
+
/** Bouton dans la barre d'actions (trois points blancs), au lieu du bouton rond en bas à droite. */
|
|
6345
|
+
inline: boolean;
|
|
6346
|
+
facade: EntityFacade<TData>;
|
|
6347
|
+
actions: Action[];
|
|
6348
|
+
open: boolean;
|
|
6349
|
+
private readonly destroy$;
|
|
6350
|
+
constructor(facadeService: EntityFacadeRegistryService, router: Router, cd: ChangeDetectorRef, actionService: ActionService, authService: AuthService);
|
|
6351
|
+
ngOnInit(): void;
|
|
6352
|
+
ngOnDestroy(): void;
|
|
6353
|
+
get visibleActions(): Action[];
|
|
6354
|
+
toggle(): void;
|
|
6355
|
+
close(): void;
|
|
6356
|
+
getActionImageUrl(icon: string): string;
|
|
6357
|
+
/** Action de l'écran, exécutée comme depuis le panneau des actions, sur les lignes sélectionnées. */
|
|
6358
|
+
execute(a: Action, disabled: boolean): void;
|
|
6359
|
+
/** Menu de navigation de l'application (panneau de gauche). */
|
|
6360
|
+
openNavigation(): void;
|
|
6361
|
+
goHome(): void;
|
|
6362
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MobileMenuComponent<any>, [null, null, null, {
|
|
6363
|
+
optional: true;
|
|
6364
|
+
}, {
|
|
6365
|
+
optional: true;
|
|
6366
|
+
}]>;
|
|
6367
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MobileMenuComponent<any>, "alg-mobile-menu", never, {
|
|
6368
|
+
"entityKey": {
|
|
6369
|
+
"alias": "entityKey";
|
|
6370
|
+
"required": true;
|
|
6371
|
+
};
|
|
6372
|
+
"guid": {
|
|
6373
|
+
"alias": "guid";
|
|
6374
|
+
"required": false;
|
|
6375
|
+
};
|
|
6376
|
+
"title": {
|
|
6377
|
+
"alias": "title";
|
|
6378
|
+
"required": false;
|
|
6379
|
+
};
|
|
6380
|
+
"inline": {
|
|
6381
|
+
"alias": "inline";
|
|
6382
|
+
"required": false;
|
|
6383
|
+
};
|
|
6384
|
+
}, {}, never, never, false, never>;
|
|
6385
|
+
}
|
|
5378
6386
|
declare namespace filter_summary_component_d_exports {
|
|
5379
6387
|
export { FilterSummaryPanelComponent };
|
|
5380
6388
|
}
|
|
@@ -5511,6 +6519,24 @@ export declare class StandardPageLayoutComponent implements OnInit, OnDestroy {
|
|
|
5511
6519
|
ngOnDestroy(): void;
|
|
5512
6520
|
onBeforeUnload(): void;
|
|
5513
6521
|
ngOnInit(): void;
|
|
6522
|
+
/** Clé de l'entrée d'historique de l'éditeur plein écran. */
|
|
6523
|
+
private static readonly MobileEditorState;
|
|
6524
|
+
private mobileHistoryPushed;
|
|
6525
|
+
/** Modifications en cours dans l'éditeur (disquette affichée, question avant de revenir à la liste). */
|
|
6526
|
+
get editorDirty(): boolean;
|
|
6527
|
+
/** Disquette de l'éditeur plein écran : enregistre les modifications en cours. */
|
|
6528
|
+
saveMobileEditor(event?: Event): void;
|
|
6529
|
+
/**
|
|
6530
|
+
* Flèche de l'éditeur plein écran : retour à la liste. Avec des modifications en cours, la fenêtre
|
|
6531
|
+
* standard demande avant : enregistrer (puis revenir si l'enregistrement a réussi), ne pas
|
|
6532
|
+
* enregistrer, ou continuer à modifier.
|
|
6533
|
+
*/
|
|
6534
|
+
backToList(event?: Event): void;
|
|
6535
|
+
private askSaveBeforeLeaving;
|
|
6536
|
+
/** Retour à la liste, en reprenant l'entrée d'historique de l'éditeur plein écran. */
|
|
6537
|
+
closeMobileEditor(): void;
|
|
6538
|
+
/** Retour du téléphone ou du navigateur : l'éditeur plein écran se referme. */
|
|
6539
|
+
onPopState(): void;
|
|
5514
6540
|
ngAfterViewInit(): void;
|
|
5515
6541
|
toggleLayout(): void;
|
|
5516
6542
|
static ɵfac: i0.ɵɵFactoryDeclaration<StandardPageLayoutComponent, never>;
|
|
@@ -5636,7 +6662,6 @@ declare namespace grid_field_component_d_exports {
|
|
|
5636
6662
|
}
|
|
5637
6663
|
export declare class GridFieldComponent implements OnInit {
|
|
5638
6664
|
validationService: ValidationService;
|
|
5639
|
-
private localeService;
|
|
5640
6665
|
showLabel: boolean;
|
|
5641
6666
|
entity: EntityViewModel;
|
|
5642
6667
|
field: FilterDescriptor;
|
|
@@ -5649,7 +6674,7 @@ export declare class GridFieldComponent implements OnInit {
|
|
|
5649
6674
|
Changes$: import("rxjs").Observable<PropertyEditorEvent>;
|
|
5650
6675
|
horizSelect: any;
|
|
5651
6676
|
filterType: typeof FilterType;
|
|
5652
|
-
bsConfig: Partial<
|
|
6677
|
+
bsConfig: Partial<DatepickerConfig>;
|
|
5653
6678
|
locale: string;
|
|
5654
6679
|
hidePassword: boolean;
|
|
5655
6680
|
showPassword(): void;
|
|
@@ -5659,7 +6684,7 @@ export declare class GridFieldComponent implements OnInit {
|
|
|
5659
6684
|
get isValid(): boolean;
|
|
5660
6685
|
notlog: boolean;
|
|
5661
6686
|
log(propname: string): void;
|
|
5662
|
-
constructor(validationService: ValidationService
|
|
6687
|
+
constructor(validationService: ValidationService);
|
|
5663
6688
|
private internalForm;
|
|
5664
6689
|
get control(): FormControl;
|
|
5665
6690
|
ngOnInit(): void;
|
|
@@ -5747,9 +6772,123 @@ export declare class RowRefDirective implements AfterViewInit, OnDestroy {
|
|
|
5747
6772
|
};
|
|
5748
6773
|
}, {}, never, never, true, never>;
|
|
5749
6774
|
}
|
|
6775
|
+
declare namespace grid_view_menu_component_d_exports {
|
|
6776
|
+
export { GridViewMenuComponent };
|
|
6777
|
+
}
|
|
6778
|
+
/**
|
|
6779
|
+
* Contenu du menu « Affichage » d'une grille, commun au menu de la grille et à la liste des vues de
|
|
6780
|
+
* la barre du bas : vues personnalisées (cochée = affichée, décocher revient à la vue par défaut),
|
|
6781
|
+
* « Nouvelle vue », sous-menu « Colonnes » (colonnes disponibles par ordre alphabétique, cochées si
|
|
6782
|
+
* affichées, recherche par mot-clé) et « Modifier… ».
|
|
6783
|
+
*
|
|
6784
|
+
* Le composant donne des éléments de liste (li) : il se place dans la liste (ul) du menu qui l'ouvre.
|
|
6785
|
+
*/
|
|
6786
|
+
export declare class GridViewMenuComponent implements OnInit {
|
|
6787
|
+
private readonly cd;
|
|
6788
|
+
/** Choix de la vue de la grille (BaseComponent). */
|
|
6789
|
+
chooser: GridViewChooser;
|
|
6790
|
+
/** Action faite : le menu qui contient ce contenu se ferme. */
|
|
6791
|
+
readonly done: EventEmitter<void>;
|
|
6792
|
+
/**
|
|
6793
|
+
* Téléphone : pas de sous-menu « Colonnes » (la liste de cartes n'utilise pas les colonnes de la
|
|
6794
|
+
* vue) ; le sous-menu « Carte » s'ouvre en plein écran, au-dessus du menu, avec un retour.
|
|
6795
|
+
*/
|
|
6796
|
+
mobile: boolean;
|
|
6797
|
+
/** Vues chargées (ou colonnes affichées) : le menu peut se replacer. */
|
|
6798
|
+
readonly loaded: EventEmitter<void>;
|
|
6799
|
+
viewList: GridViewList | undefined;
|
|
6800
|
+
columnsOpen: boolean;
|
|
6801
|
+
columns: GridColumnChoice[] | undefined;
|
|
6802
|
+
search: string;
|
|
6803
|
+
/** Colonne en cours d'ajout ou de retrait. */
|
|
6804
|
+
pendingColumn: string | undefined;
|
|
6805
|
+
constructor(cd: ChangeDetectorRef);
|
|
6806
|
+
ngOnInit(): void;
|
|
6807
|
+
isSelected(id: number): boolean;
|
|
6808
|
+
/** Cocher une vue l'affiche ; décocher la vue affichée revient à la vue par défaut. */
|
|
6809
|
+
toggleView(id: number): void;
|
|
6810
|
+
/** « Nouvelle vue » : copie de la vue affichée, qui devient la vue affichée. */
|
|
6811
|
+
createView(): void;
|
|
6812
|
+
/** « Modifier… » : éditeur des vues personnalisées, sur la vue affichée. */
|
|
6813
|
+
editView(): void;
|
|
6814
|
+
/** Position à l'écran du sous-menu « Colonnes ». */
|
|
6815
|
+
columnsPosition: {
|
|
6816
|
+
[key: string]: string;
|
|
6817
|
+
};
|
|
6818
|
+
/**
|
|
6819
|
+
* Sous-menu « Colonnes », hors du menu : à droite de l'entrée, ou à gauche s'il dépasse de la
|
|
6820
|
+
* fenêtre ; aligné sur l'entrée, remonté s'il dépasse en bas. Les colonnes sont relues à l'ouverture.
|
|
6821
|
+
*/
|
|
6822
|
+
openColumns(event?: Event): void;
|
|
6823
|
+
closeColumns(): void;
|
|
6824
|
+
cardsOpen: boolean;
|
|
6825
|
+
cardsPosition: {
|
|
6826
|
+
[key: string]: string;
|
|
6827
|
+
};
|
|
6828
|
+
cards: {
|
|
6829
|
+
cards: {
|
|
6830
|
+
id: number;
|
|
6831
|
+
label: string;
|
|
6832
|
+
isDefault: boolean;
|
|
6833
|
+
}[];
|
|
6834
|
+
linkedId: number | null;
|
|
6835
|
+
canLink: boolean;
|
|
6836
|
+
} | undefined;
|
|
6837
|
+
/** Sous-menu « Carte », hors du menu, placé comme « Colonnes » ; les cartes sont relues à l'ouverture. */
|
|
6838
|
+
openCards(event?: Event): void;
|
|
6839
|
+
closeCards(): void;
|
|
6840
|
+
/** Coche une carte : elle est liée à la vue Grille affichée (une vue de l'utilisateur). */
|
|
6841
|
+
linkCard(id: number): void;
|
|
6842
|
+
/** « Filtres et tri… » : fenêtre de paramétrage du filtre et du tri. */
|
|
6843
|
+
editFilters(): void;
|
|
6844
|
+
/** « Personnaliser la carte… » : fenêtre de la carte. */
|
|
6845
|
+
editCard(): void;
|
|
6846
|
+
/** Largeur et hauteur maximale du sous-menu « Colonnes ». */
|
|
6847
|
+
private static readonly ColumnsWidth;
|
|
6848
|
+
private static readonly ColumnsHeight;
|
|
6849
|
+
/** Ordre des colonnes affichées, tenu à jour à chaque action (la grille suit). */
|
|
6850
|
+
private visibleOrder;
|
|
6851
|
+
private loadColumns;
|
|
6852
|
+
/** Colonnes dont le libellé ou la clé contient le mot-clé (sans tenir compte de la casse ni des accents). */
|
|
6853
|
+
filteredColumns(): GridColumnChoice[];
|
|
6854
|
+
/** Colonnes affichées, dans l'ordre de la grille. */
|
|
6855
|
+
visibleColumns(): GridColumnChoice[];
|
|
6856
|
+
/** Colonnes non affichées, par ordre alphabétique. */
|
|
6857
|
+
hiddenColumns(): GridColumnChoice[];
|
|
6858
|
+
private matches;
|
|
6859
|
+
/** Colonne déplacée, et emplacement visé (avant ou après une colonne affichée). */
|
|
6860
|
+
dragKey: string | undefined;
|
|
6861
|
+
dropTarget: {
|
|
6862
|
+
key: string;
|
|
6863
|
+
before: boolean;
|
|
6864
|
+
} | undefined;
|
|
6865
|
+
onDragStart(event: DragEvent, column: GridColumnChoice): void;
|
|
6866
|
+
onDragOver(event: DragEvent, column: GridColumnChoice): void;
|
|
6867
|
+
onDrop(event: DragEvent): void;
|
|
6868
|
+
onDragEnd(): void;
|
|
6869
|
+
/** Déplace une colonne affichée avant ou après une autre : la grille suit aussitôt. */
|
|
6870
|
+
moveColumn(key: string, targetKey: string, before: boolean): void;
|
|
6871
|
+
/** Cocher une colonne l'ajoute à la vue affichée, la décocher la retire. */
|
|
6872
|
+
toggleColumn(column: GridColumnChoice): void;
|
|
6873
|
+
private static normalize;
|
|
6874
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GridViewMenuComponent, never>;
|
|
6875
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GridViewMenuComponent, "alg-grid-view-menu", never, {
|
|
6876
|
+
"chooser": {
|
|
6877
|
+
"alias": "chooser";
|
|
6878
|
+
"required": true;
|
|
6879
|
+
};
|
|
6880
|
+
"mobile": {
|
|
6881
|
+
"alias": "mobile";
|
|
6882
|
+
"required": false;
|
|
6883
|
+
};
|
|
6884
|
+
}, {
|
|
6885
|
+
"done": "done";
|
|
6886
|
+
"loaded": "loaded";
|
|
6887
|
+
}, never, never, true, never>;
|
|
6888
|
+
}
|
|
5750
6889
|
export declare class CoreUxModule {
|
|
5751
6890
|
static ɵfac: i0.ɵɵFactoryDeclaration<CoreUxModule, never>;
|
|
5752
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<CoreUxModule, [typeof ActionsComponent, typeof ActionsContentComponent, typeof BreadcrumbComponent, typeof CollapseDirective, typeof ConfirmModalComponent, typeof DatagridCustomComponent, typeof DataGridComponent, typeof OldDataPageComponent, typeof DefaultLayoutComponent, typeof DialogComponent, typeof DynamicFieldComponent, typeof DynamicFilterComponent, typeof DynamicFilterExtraComponent, typeof DynamicFilterPanel, typeof DynamicFormComponent, typeof ImageComponent, typeof ExportDataModalComponent, typeof TrackRecordModalComponent, typeof FilterSummaryComponent, typeof GridRowComponent, typeof DatagridCellComponent, typeof InputSelectorComponent, typeof InputTreeSelectorComponent, typeof InsertionDirective, typeof LoginLayoutComponent, typeof LogsComponent, typeof MenuComponent, typeof MenuDashboardComponent, typeof PageTabsComponent, typeof PaginatorComponent, typeof PropertyGridComponent, typeof Tab, typeof TabHeadingDirective, typeof Tabset, typeof TabTranscludeDirective, typeof ToDefinePipe, typeof ToFixedSizeIntegerPipe, typeof ValidateOnEnterDirective, typeof ValidationErrorComponent, typeof ValidationModalComponent, typeof TextViewerComponent, typeof EditModeDirective, typeof ViewModeDirective, typeof FocusableDirective, typeof OnEnterDirective, typeof TextViewerComponent, typeof WizardComponent, typeof WizardStepComponent, typeof TooltipDirective, typeof AddclassDirective, typeof BaseItemListComponent, typeof DroppableDirective, typeof DraggableDirective, typeof ParameterFieldComponent, typeof BaseParameterTypeComponent, typeof BaseArrayParameterTypeComponent, typeof ParameterTypeTextComponent, typeof ParameterTypeNumberComponent, typeof ParameterTypeBoolComponent, typeof ParameterTypeDateComponent, typeof ParameterTypePasswordComponent, typeof ParameterTypeTextArrayComponent, typeof ParameterTypeNumberArrayComponent, typeof ParameterTypeDateArrayComponent, typeof ParameterTypeBoolArrayComponent, typeof TimePickerComponent, typeof ExtendedActionComponent, typeof FormPasswordComponent, typeof SearchResultsComponent, typeof LayoutHandlerDirective, typeof OldLayoutHandlerDirective, typeof PageLayoutComponent, typeof HideOnThresholdDirective, typeof BaseShortcutsDirective, typeof DecimalInputDirective, typeof NewEditorComponent, typeof PropertyEditorComponent, typeof FieldComponent, typeof EditorTabSetComponent, typeof EditorTabComponent, typeof BreadcrumbComponent, typeof NewPaginatorComponent, typeof FilterSummaryPanelComponent, typeof ActionPanelComponent, typeof StandardPageLayoutComponent, typeof DataListComponent, typeof CellRendererComponent, typeof SelectorComponent, typeof CellRendererComponent, typeof FilterFormModalComponent, typeof GridFieldComponent], [typeof
|
|
6891
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<CoreUxModule, [typeof ActionsComponent, typeof ActionsContentComponent, typeof BreadcrumbComponent, typeof CollapseDirective, typeof ConfirmModalComponent, typeof DatagridCustomComponent, typeof DataGridComponent, typeof OldDataPageComponent, typeof DefaultLayoutComponent, typeof DialogComponent, typeof DynamicFieldComponent, typeof DynamicFilterComponent, typeof DynamicFilterExtraComponent, typeof DynamicFilterPanel, typeof DynamicFormComponent, typeof ImageComponent, typeof ExportDataModalComponent, typeof TrackRecordModalComponent, typeof FilterSummaryComponent, typeof GridRowComponent, typeof DatagridCellComponent, typeof InputSelectorComponent, typeof InputTreeSelectorComponent, typeof InsertionDirective, typeof LoginLayoutComponent, typeof LogsComponent, typeof MenuComponent, typeof MenuDashboardComponent, typeof PageTabsComponent, typeof PaginatorComponent, typeof PropertyGridComponent, typeof Tab, typeof TabHeadingDirective, typeof Tabset, typeof TabTranscludeDirective, typeof ToDefinePipe, typeof ToFixedSizeIntegerPipe, typeof ValidateOnEnterDirective, typeof ValidationErrorComponent, typeof ValidationModalComponent, typeof TextViewerComponent, typeof EditModeDirective, typeof ViewModeDirective, typeof FocusableDirective, typeof OnEnterDirective, typeof TextViewerComponent, typeof WizardComponent, typeof WizardStepComponent, typeof TooltipDirective, typeof AddclassDirective, typeof BaseItemListComponent, typeof DroppableDirective, typeof DraggableDirective, typeof ParameterFieldComponent, typeof BaseParameterTypeComponent, typeof BaseArrayParameterTypeComponent, typeof ParameterTypeTextComponent, typeof ParameterTypeNumberComponent, typeof ParameterTypeBoolComponent, typeof ParameterTypeDateComponent, typeof ParameterTypePasswordComponent, typeof ParameterTypeTextArrayComponent, typeof ParameterTypeNumberArrayComponent, typeof ParameterTypeDateArrayComponent, typeof ParameterTypeBoolArrayComponent, typeof TimePickerComponent, typeof ExtendedActionComponent, typeof FormPasswordComponent, typeof SearchResultsComponent, typeof LayoutHandlerDirective, typeof OldLayoutHandlerDirective, typeof PageLayoutComponent, typeof HideOnThresholdDirective, typeof BaseShortcutsDirective, typeof DecimalInputDirective, typeof NewEditorComponent, typeof PropertyEditorComponent, typeof FieldComponent, typeof EditorTabSetComponent, typeof EditorTabComponent, typeof BreadcrumbComponent, typeof NewPaginatorComponent, typeof CardListComponent, typeof MobileMenuComponent, typeof FilterSummaryPanelComponent, typeof ActionPanelComponent, typeof StandardPageLayoutComponent, typeof DataListComponent, typeof CellRendererComponent, typeof SelectorComponent, typeof CellRendererComponent, typeof FilterFormModalComponent, typeof GridFieldComponent], [typeof i91.RouterModule, typeof i92.CommonModule, typeof i93.CoreModelModule, typeof i94.FormsModule, typeof i94.ReactiveFormsModule, typeof i95.NgSelectModule, typeof DatePickerDirective, typeof GridStylePipe, typeof RowRefDirective, typeof GridViewMenuComponent], [typeof ActionsComponent, typeof ActionsContentComponent, typeof BreadcrumbComponent, typeof CollapseDirective, typeof ConfirmModalComponent, typeof DatagridCustomComponent, typeof DataGridComponent, typeof OldDataPageComponent, typeof DefaultLayoutComponent, typeof DialogComponent, typeof DynamicFieldComponent, typeof DynamicFilterComponent, typeof DynamicFilterExtraComponent, typeof DynamicFilterPanel, typeof DynamicFormComponent, typeof ImageComponent, typeof ExportDataModalComponent, typeof TrackRecordModalComponent, typeof FilterSummaryComponent, typeof GridRowComponent, typeof DatagridCellComponent, typeof InputSelectorComponent, typeof InputTreeSelectorComponent, typeof InsertionDirective, typeof LoginLayoutComponent, typeof LogsComponent, typeof MenuComponent, typeof MenuDashboardComponent, typeof PageTabsComponent, typeof PaginatorComponent, typeof PropertyGridComponent, typeof Tab, typeof TabHeadingDirective, typeof Tabset, typeof TabTranscludeDirective, typeof ToDefinePipe, typeof ToFixedSizeIntegerPipe, typeof ValidateOnEnterDirective, typeof ValidationErrorComponent, typeof ValidationModalComponent, typeof TextViewerComponent, typeof EditModeDirective, typeof ViewModeDirective, typeof FocusableDirective, typeof OnEnterDirective, typeof TextViewerComponent, typeof WizardComponent, typeof WizardStepComponent, typeof TooltipDirective, typeof AddclassDirective, typeof BaseItemListComponent, typeof DroppableDirective, typeof DraggableDirective, typeof ParameterFieldComponent, typeof BaseParameterTypeComponent, typeof BaseArrayParameterTypeComponent, typeof ParameterTypeTextComponent, typeof ParameterTypeNumberComponent, typeof ParameterTypeBoolComponent, typeof ParameterTypeDateComponent, typeof ParameterTypePasswordComponent, typeof ParameterTypeTextArrayComponent, typeof ParameterTypeNumberArrayComponent, typeof ParameterTypeDateArrayComponent, typeof ParameterTypeBoolArrayComponent, typeof TimePickerComponent, typeof ExtendedActionComponent, typeof FormPasswordComponent, typeof SearchResultsComponent, typeof LayoutHandlerDirective, typeof OldLayoutHandlerDirective, typeof PageLayoutComponent, typeof HideOnThresholdDirective, typeof BaseShortcutsDirective, typeof DecimalInputDirective, typeof NewEditorComponent, typeof PropertyEditorComponent, typeof FieldComponent, typeof EditorTabSetComponent, typeof EditorTabComponent, typeof BreadcrumbComponent, typeof NewPaginatorComponent, typeof CardListComponent, typeof MobileMenuComponent, typeof FilterSummaryPanelComponent, typeof ActionPanelComponent, typeof StandardPageLayoutComponent, typeof DataListComponent, typeof CellRendererComponent, typeof SelectorComponent, typeof CellRendererComponent, typeof FilterFormModalComponent, typeof GridFieldComponent, typeof DatePickerDirective]>;
|
|
5753
6892
|
static ɵinj: i0.ɵɵInjectorDeclaration<CoreUxModule>;
|
|
5754
6893
|
}
|
|
5755
6894
|
export declare class CanDeactivateGuard {
|
|
@@ -5767,6 +6906,136 @@ export declare class FireAuthService {
|
|
|
5767
6906
|
static ɵfac: i0.ɵɵFactoryDeclaration<FireAuthService, never>;
|
|
5768
6907
|
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
5769
6908
|
}
|
|
6909
|
+
/** Jour affiché dans la grille du mois. */
|
|
6910
|
+
interface CalendarDay {
|
|
6911
|
+
date: Date;
|
|
6912
|
+
day: number;
|
|
6913
|
+
inMonth: boolean;
|
|
6914
|
+
isToday: boolean;
|
|
6915
|
+
isSelected: boolean;
|
|
6916
|
+
isDisabled: boolean;
|
|
6917
|
+
}
|
|
6918
|
+
/** Vue du calendrier : jours d'un mois, mois d'une année, ou années d'une période de 16 ans. */
|
|
6919
|
+
type CalendarView = 'days' | 'months' | 'years';
|
|
6920
|
+
/**
|
|
6921
|
+
* Calendrier du package (remplace celui de ngx-bootstrap) : grille du mois commençant le lundi,
|
|
6922
|
+
* en français ; un clic sur le titre passe aux mois de l'année, puis aux années ; boutons
|
|
6923
|
+
* « Aujourd'hui » et « Effacer » au choix. Émet le jour choisi, à minuit en heure locale, ou null.
|
|
6924
|
+
*/
|
|
6925
|
+
export declare class CalendarComponent implements OnInit {
|
|
6926
|
+
/** Jour choisi, mis en évidence ; le calendrier s'ouvre sur son mois. */
|
|
6927
|
+
value: Date | null;
|
|
6928
|
+
minDate: Date | null | undefined;
|
|
6929
|
+
maxDate: Date | null | undefined;
|
|
6930
|
+
showTodayButton: boolean;
|
|
6931
|
+
showClearButton: boolean;
|
|
6932
|
+
todayButtonLabel: string;
|
|
6933
|
+
clearButtonLabel: string;
|
|
6934
|
+
/** Numéro de semaine (ISO 8601) devant chaque semaine. */
|
|
6935
|
+
showWeekNumbers: boolean;
|
|
6936
|
+
/** Jour choisi (null : effacé). */
|
|
6937
|
+
readonly dateSelected: EventEmitter<Date>;
|
|
6938
|
+
readonly weekDays: string[];
|
|
6939
|
+
readonly monthsShort: string[];
|
|
6940
|
+
view: CalendarView;
|
|
6941
|
+
/** Mois affiché (premier jour). */
|
|
6942
|
+
visibleMonth: Date;
|
|
6943
|
+
weeks: {
|
|
6944
|
+
number: number;
|
|
6945
|
+
days: CalendarDay[];
|
|
6946
|
+
}[];
|
|
6947
|
+
years: number[];
|
|
6948
|
+
ngOnInit(): void;
|
|
6949
|
+
get title(): string;
|
|
6950
|
+
/** Titre cliqué : jours → mois → années. */
|
|
6951
|
+
zoomOut(): void;
|
|
6952
|
+
previous(): void;
|
|
6953
|
+
next(): void;
|
|
6954
|
+
private shift;
|
|
6955
|
+
selectDay(day: CalendarDay): void;
|
|
6956
|
+
selectMonth(month: number): void;
|
|
6957
|
+
selectYear(year: number): void;
|
|
6958
|
+
today(): void;
|
|
6959
|
+
clear(): void;
|
|
6960
|
+
isCurrentMonth(month: number): boolean;
|
|
6961
|
+
isCurrentYear(year: number): boolean;
|
|
6962
|
+
private build;
|
|
6963
|
+
private static firstOfMonth;
|
|
6964
|
+
private static startOfDay;
|
|
6965
|
+
private static sameDay;
|
|
6966
|
+
/** Numéro de semaine ISO 8601 du lundi donné. */
|
|
6967
|
+
static isoWeek(monday: Date): number;
|
|
6968
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CalendarComponent, never>;
|
|
6969
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CalendarComponent, "alg-calendar", never, {
|
|
6970
|
+
"value": {
|
|
6971
|
+
"alias": "value";
|
|
6972
|
+
"required": false;
|
|
6973
|
+
};
|
|
6974
|
+
"minDate": {
|
|
6975
|
+
"alias": "minDate";
|
|
6976
|
+
"required": false;
|
|
6977
|
+
};
|
|
6978
|
+
"maxDate": {
|
|
6979
|
+
"alias": "maxDate";
|
|
6980
|
+
"required": false;
|
|
6981
|
+
};
|
|
6982
|
+
"showTodayButton": {
|
|
6983
|
+
"alias": "showTodayButton";
|
|
6984
|
+
"required": false;
|
|
6985
|
+
};
|
|
6986
|
+
"showClearButton": {
|
|
6987
|
+
"alias": "showClearButton";
|
|
6988
|
+
"required": false;
|
|
6989
|
+
};
|
|
6990
|
+
"todayButtonLabel": {
|
|
6991
|
+
"alias": "todayButtonLabel";
|
|
6992
|
+
"required": false;
|
|
6993
|
+
};
|
|
6994
|
+
"clearButtonLabel": {
|
|
6995
|
+
"alias": "clearButtonLabel";
|
|
6996
|
+
"required": false;
|
|
6997
|
+
};
|
|
6998
|
+
"showWeekNumbers": {
|
|
6999
|
+
"alias": "showWeekNumbers";
|
|
7000
|
+
"required": false;
|
|
7001
|
+
};
|
|
7002
|
+
}, {
|
|
7003
|
+
"dateSelected": "dateSelected";
|
|
7004
|
+
}, never, never, true, never>;
|
|
7005
|
+
}
|
|
7006
|
+
/** Table d'une grille et, le cas échéant, source de données ou rôle de ses vues. */
|
|
7007
|
+
export interface PpGridConfig {
|
|
7008
|
+
metaEntityKey: string;
|
|
7009
|
+
supplierId?: number | null;
|
|
7010
|
+
roleId?: number | null;
|
|
7011
|
+
}
|
|
7012
|
+
/** Vue Carte d'une grille : ses colonnes, avec leur emplacement dans la carte. */
|
|
7013
|
+
export interface PpCardView {
|
|
7014
|
+
id: number | null;
|
|
7015
|
+
label: string;
|
|
7016
|
+
/** Colonnes : clé, emplacement (0 titre, 1 texte, 2 détail, 3 badge, 4 image), source (3 : image de l'élément). */
|
|
7017
|
+
items: {
|
|
7018
|
+
key: string;
|
|
7019
|
+
slot: number;
|
|
7020
|
+
sourceType: number;
|
|
7021
|
+
}[];
|
|
7022
|
+
}
|
|
7023
|
+
/** Vues Carte proposées pour la grille : la vue Carte liée à la vue Grille affichée est cochée. */
|
|
7024
|
+
export interface PpCardViews {
|
|
7025
|
+
cards: {
|
|
7026
|
+
id: number;
|
|
7027
|
+
label: string;
|
|
7028
|
+
isDefault: boolean;
|
|
7029
|
+
}[];
|
|
7030
|
+
linkedId: number | null;
|
|
7031
|
+
/** La vue Grille affichée est une vue de l'utilisateur : sa carte peut changer. */
|
|
7032
|
+
canLink: boolean;
|
|
7033
|
+
}
|
|
7034
|
+
/** Tri et filtre enregistrés avec une vue, en JSON ; chaîne vide : aucun. */
|
|
7035
|
+
export interface PpViewQueries {
|
|
7036
|
+
sortQuery: string;
|
|
7037
|
+
filterQuery: string;
|
|
7038
|
+
}
|
|
5770
7039
|
export interface IPpService {
|
|
5771
7040
|
/** Opens the column selector modal for Grid purpose. */
|
|
5772
7041
|
openColumnSelector(config: {
|
|
@@ -5774,7 +7043,69 @@ export interface IPpService {
|
|
|
5774
7043
|
metaEntityKey: string;
|
|
5775
7044
|
supplierId?: number | null;
|
|
5776
7045
|
roleId?: number | null;
|
|
7046
|
+
viewId?: number | null;
|
|
7047
|
+
tab?: 'columns' | 'filters';
|
|
7048
|
+
filterColumns?: {
|
|
7049
|
+
key: string;
|
|
7050
|
+
label: string;
|
|
7051
|
+
type: string;
|
|
7052
|
+
values?: {
|
|
7053
|
+
value: string;
|
|
7054
|
+
label: string;
|
|
7055
|
+
}[];
|
|
7056
|
+
}[];
|
|
5777
7057
|
}): void;
|
|
7058
|
+
/**
|
|
7059
|
+
* Ouvre l'éditeur des vues personnalisées (écran des vues, filtré sur la table de la grille et
|
|
7060
|
+
* positionné sur la vue donnée), dans une fenêtre ; émet à la fermeture de la fenêtre.
|
|
7061
|
+
*/
|
|
7062
|
+
openProfileEditor(config: {
|
|
7063
|
+
title: string;
|
|
7064
|
+
metaEntityKey: string;
|
|
7065
|
+
viewId?: number | null;
|
|
7066
|
+
}): Observable<unknown>;
|
|
7067
|
+
/** Vues personnalisées proposées à l'utilisateur pour la table (menu « Affichage » des grilles). */
|
|
7068
|
+
loadViews(config: PpGridConfig): Observable<GridViewList>;
|
|
7069
|
+
/** Choisit la vue affichée par la grille de l'utilisateur ; null revient à la vue par défaut. */
|
|
7070
|
+
selectView(config: PpGridConfig, viewId: number | null): Observable<unknown>;
|
|
7071
|
+
/**
|
|
7072
|
+
* Vue modifiée dans la grille (colonnes déplacées, ajoutées ou retirées), à l'abandon de l'écran :
|
|
7073
|
+
* propose d'enregistrer les colonnes données, dans leur ordre, dans une nouvelle vue (vue par
|
|
7074
|
+
* défaut affichée) ou dans la vue de l'utilisateur.
|
|
7075
|
+
*/
|
|
7076
|
+
saveColumnOrder(config: PpGridConfig & {
|
|
7077
|
+
title: string;
|
|
7078
|
+
}, columnOrder: string[], queries?: PpViewQueries): void;
|
|
7079
|
+
/**
|
|
7080
|
+
* Bouton d'enregistrement de la barre du bas de la grille : enregistre les colonnes données dans la
|
|
7081
|
+
* vue de l'utilisateur affichée, sans demander ; la vue par défaut affichée, elle, demande le nom
|
|
7082
|
+
* de la nouvelle vue. Émet true une fois l'ordre enregistré (la vue enregistrée devient la vue
|
|
7083
|
+
* affichée), false sinon.
|
|
7084
|
+
*/
|
|
7085
|
+
saveCurrentColumnOrder(config: PpGridConfig & {
|
|
7086
|
+
title: string;
|
|
7087
|
+
}, columnOrder: string[], queries?: PpViewQueries): Observable<boolean>;
|
|
7088
|
+
/** « Nouvelle vue » : copie la vue affichée en une nouvelle vue de l'utilisateur, qui devient la vue affichée. */
|
|
7089
|
+
createView(config: PpGridConfig): Observable<boolean>;
|
|
7090
|
+
/**
|
|
7091
|
+
* Vue Carte de la vue Grille affichée (à défaut la vue Carte par défaut) : colonne de chaque
|
|
7092
|
+
* emplacement (clé, emplacement EnumCardSlots, source), ou null si la table n'en a pas.
|
|
7093
|
+
*/
|
|
7094
|
+
loadCardView(config: PpGridConfig): Observable<PpCardView | null>;
|
|
7095
|
+
/** Vues Carte proposées pour la grille, avec celle liée à la vue Grille affichée. */
|
|
7096
|
+
loadCardViews(config: PpGridConfig): Observable<PpCardViews>;
|
|
7097
|
+
/** Lie la vue Grille affichée (une vue de l'utilisateur) à la vue Carte donnée ; émet true une fois liée. */
|
|
7098
|
+
linkCardView(config: PpGridConfig, cardId: number | null): Observable<boolean>;
|
|
7099
|
+
/**
|
|
7100
|
+
* Personnalisation de la carte (fenêtre standard) : la carte de l'utilisateur est modifiée, une
|
|
7101
|
+
* carte par défaut donne une nouvelle carte, liée à la vue Grille affichée ; émet true une fois
|
|
7102
|
+
* enregistrée.
|
|
7103
|
+
*/
|
|
7104
|
+
editCardView(config: PpGridConfig & {
|
|
7105
|
+
title: string;
|
|
7106
|
+
}): Observable<boolean>;
|
|
7107
|
+
/** Colonnes disponibles de la table (catalogue, attributs compris), avec celles de la vue affichée. */
|
|
7108
|
+
loadViewColumns(config: PpGridConfig): Observable<GridColumnChoice[]>;
|
|
5778
7109
|
/** Opens the column selector modal for Export purpose. */
|
|
5779
7110
|
openExportSelector(config: {
|
|
5780
7111
|
title: string;
|
|
@@ -6192,7 +7523,6 @@ export declare class ChangeUtilities {
|
|
|
6192
7523
|
static deepComparer(current: any, original: any, depth?: number, maxDepth?: number): boolean;
|
|
6193
7524
|
private static compareArrays;
|
|
6194
7525
|
private static compareDates;
|
|
6195
|
-
private static toMomentDate;
|
|
6196
7526
|
private static isObject;
|
|
6197
7527
|
private static isDate;
|
|
6198
7528
|
private static isBoolean;
|
|
@@ -6311,11 +7641,121 @@ export declare class OrderableModalComponent<T extends OrderableItem> implements
|
|
|
6311
7641
|
}
|
|
6312
7642
|
export declare class OrderableModalService {
|
|
6313
7643
|
private readonly modalService;
|
|
6314
|
-
open<T extends OrderableItem>(config: OrderableModalConfig<T>, options?:
|
|
7644
|
+
open<T extends OrderableItem>(config: OrderableModalConfig<T>, options?: DflatModalOptions): Promise<OrderableModalResult<T> | null>;
|
|
6315
7645
|
private buildBsConfig;
|
|
6316
7646
|
private wireResultEmitter;
|
|
6317
7647
|
static ɵfac: i0.ɵɵFactoryDeclaration<OrderableModalService, never>;
|
|
6318
7648
|
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
6319
7649
|
}
|
|
7650
|
+
/** Type d'une colonne pour les comparaisons proposées. */
|
|
7651
|
+
export type FilterColumnType = 'text' | 'number' | 'date' | 'bool' | 'list';
|
|
7652
|
+
/** Colonne proposée par la fenêtre « Filtres et tri ». */
|
|
7653
|
+
export interface FilterEditorColumn {
|
|
7654
|
+
key: string;
|
|
7655
|
+
label: string;
|
|
7656
|
+
type: FilterColumnType;
|
|
7657
|
+
/** Valeurs d'une liste (type énuméré) : valeur envoyée et libellé. */
|
|
7658
|
+
values?: {
|
|
7659
|
+
value: string;
|
|
7660
|
+
label: string;
|
|
7661
|
+
}[];
|
|
7662
|
+
}
|
|
7663
|
+
/** Niveau du tri. */
|
|
7664
|
+
export interface FilterEditorSort {
|
|
7665
|
+
property: string;
|
|
7666
|
+
direction: 'asc' | 'desc';
|
|
7667
|
+
}
|
|
7668
|
+
/** Résultat de la fenêtre : filtre, tri, et enregistrement dans la vue. */
|
|
7669
|
+
export interface FilterEditorResult {
|
|
7670
|
+
filter: ViewFilterGroup;
|
|
7671
|
+
sort: FilterEditorSort[];
|
|
7672
|
+
saveInView: boolean;
|
|
7673
|
+
}
|
|
7674
|
+
/** Comparaisons proposées selon le type de la colonne. */
|
|
7675
|
+
export declare const FilterOperators: Record<FilterColumnType, {
|
|
7676
|
+
value: ViewFilterOperator;
|
|
7677
|
+
label: string;
|
|
7678
|
+
}[]>;
|
|
7679
|
+
/**
|
|
7680
|
+
* Fenêtre « Filtres et tri » d'une grille (contenu de la fenêtre standard, DialogComponent) :
|
|
7681
|
+
* filtre en groupes ET / OU imbriqués, comparaisons selon le type de la colonne, et tri sur plusieurs
|
|
7682
|
+
* niveaux ; « Enregistrer dans la vue » enregistre le filtre et le tri dans la vue personnalisée. Le
|
|
7683
|
+
* résultat est lu par propertyCallback (« result »). Sert aussi sur téléphone, en plein écran.
|
|
7684
|
+
*/
|
|
7685
|
+
export declare class FilterEditorComponent {
|
|
7686
|
+
/** Colonnes proposées (celles de la grille), par ordre alphabétique. */
|
|
7687
|
+
columns: FilterEditorColumn[];
|
|
7688
|
+
/** Filtre en cours (groupe racine), modifié en place. */
|
|
7689
|
+
filter: ViewFilterGroup;
|
|
7690
|
+
/** Niveaux du tri, modifiés en place. */
|
|
7691
|
+
sort: FilterEditorSort[];
|
|
7692
|
+
/** Intégré à l'éditeur des vues : pas de case « Enregistrer dans la vue » (« Appliquer » enregistre la vue). */
|
|
7693
|
+
embedded: boolean;
|
|
7694
|
+
/**
|
|
7695
|
+
* Partie affichée seule, sans les onglets de la fenêtre (onglets « Filtres » et « Tri » de l'éditeur
|
|
7696
|
+
* des vues) ; null : les deux, en onglets.
|
|
7697
|
+
*/
|
|
7698
|
+
section: 'filters' | 'sort' | null;
|
|
7699
|
+
/** Vue où enregistrer ; la case est grisée sans vue modifiable. */
|
|
7700
|
+
viewLabel: string;
|
|
7701
|
+
canSaveInView: boolean;
|
|
7702
|
+
saveInView: boolean;
|
|
7703
|
+
tab: 'filters' | 'sort';
|
|
7704
|
+
/** Partie affichée : celle imposée par `section`, sinon l'onglet choisi. */
|
|
7705
|
+
get shownTab(): 'filters' | 'sort';
|
|
7706
|
+
/** Profondeur maximale des groupes imbriqués proposée. */
|
|
7707
|
+
readonly maxDepth = 3;
|
|
7708
|
+
get result(): FilterEditorResult;
|
|
7709
|
+
columnOf(key: string): FilterEditorColumn | undefined;
|
|
7710
|
+
operatorsOf(condition: ViewFilterCondition): {
|
|
7711
|
+
value: ViewFilterOperator;
|
|
7712
|
+
label: string;
|
|
7713
|
+
}[];
|
|
7714
|
+
hasValue(condition: ViewFilterCondition): boolean;
|
|
7715
|
+
hasSecondValue(condition: ViewFilterCondition): boolean;
|
|
7716
|
+
isList(condition: ViewFilterCondition): boolean;
|
|
7717
|
+
inputType(condition: ViewFilterCondition): string;
|
|
7718
|
+
/** Colonne changée : première comparaison de son type, valeur effacée. */
|
|
7719
|
+
onColumnChange(condition: ViewFilterCondition): void;
|
|
7720
|
+
onOperatorChange(condition: ViewFilterCondition): void;
|
|
7721
|
+
toggleValue(condition: ViewFilterCondition, value: string): void;
|
|
7722
|
+
setLogic(group: ViewFilterGroup, logic: 'and' | 'or'): void;
|
|
7723
|
+
addCondition(group: ViewFilterGroup): void;
|
|
7724
|
+
removeCondition(group: ViewFilterGroup, index: number): void;
|
|
7725
|
+
/** Groupe imbriqué, relié à l'inverse de son parent (un ET dans un OU, un OU dans un ET). */
|
|
7726
|
+
addGroup(group: ViewFilterGroup): void;
|
|
7727
|
+
removeGroup(parent: ViewFilterGroup, index: number): void;
|
|
7728
|
+
/** Efface le filtre et le tri, en place (l'éditeur des vues garde les mêmes objets). */
|
|
7729
|
+
clear(): void;
|
|
7730
|
+
addSort(): void;
|
|
7731
|
+
removeSort(index: number): void;
|
|
7732
|
+
moveSort(index: number, offset: number): void;
|
|
7733
|
+
/** Résumé lisible du filtre (« Libellé contient « a » ET (… OU …) »). */
|
|
7734
|
+
summary(group?: ViewFilterGroup): string;
|
|
7735
|
+
trackIndex: (index: number) => number;
|
|
7736
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FilterEditorComponent, never>;
|
|
7737
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FilterEditorComponent, "alg-filter-editor", never, {
|
|
7738
|
+
"columns": {
|
|
7739
|
+
"alias": "columns";
|
|
7740
|
+
"required": false;
|
|
7741
|
+
};
|
|
7742
|
+
"filter": {
|
|
7743
|
+
"alias": "filter";
|
|
7744
|
+
"required": false;
|
|
7745
|
+
};
|
|
7746
|
+
"sort": {
|
|
7747
|
+
"alias": "sort";
|
|
7748
|
+
"required": false;
|
|
7749
|
+
};
|
|
7750
|
+
"embedded": {
|
|
7751
|
+
"alias": "embedded";
|
|
7752
|
+
"required": false;
|
|
7753
|
+
};
|
|
7754
|
+
"section": {
|
|
7755
|
+
"alias": "section";
|
|
7756
|
+
"required": false;
|
|
7757
|
+
};
|
|
7758
|
+
}, {}, never, never, true, never>;
|
|
7759
|
+
}
|
|
6320
7760
|
export declare const EXTENDED_ACTION_COMPONENT: InjectionToken<Type<unknown>>;
|
|
6321
7761
|
export declare const TRACK_RECORD_MODAL_COMPONENT: InjectionToken<Type<unknown>>;
|