@dflat-core/web 1.7.2072 → 1.7.2074
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +211 -207
- package/assets/components/bootstrap-lite.scss +1667 -0
- package/assets/components/icons.scss +723 -0
- package/assets/components/modals.scss +216 -62
- 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 +375 -374
- package/assets/{bootswatch.scss → theme-variables.scss} +100 -100
- package/assets/theme.scss +146 -0
- package/assets/variables.scss +93 -93
- 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 +4329 -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 +3201 -1064
- 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 +1525 -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 +292 -48
|
@@ -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,72 @@ 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 en cours de la grille, en JSON (chaîne vide : aucun). */
|
|
2817
|
+
private currentViewQueries;
|
|
2818
|
+
/**
|
|
2819
|
+
* Tri ou filtre changés depuis le chargement de la vue. Une vue sans tri enregistré a le tri par
|
|
2820
|
+
* défaut de l'écran : ce tri-là ne la rend pas modifiée.
|
|
2821
|
+
*/
|
|
2822
|
+
private viewQueriesModified;
|
|
2823
|
+
/**
|
|
2824
|
+
* Applique le tri et le filtre de la vue affichée. Au chargement de l'écran, un tri ou un filtre
|
|
2825
|
+
* déjà dans l'adresse (lien, retour) est gardé ; il sert alors de repère.
|
|
2826
|
+
*/
|
|
2827
|
+
private applyCurrentViewQueries;
|
|
2828
|
+
private static parseSort;
|
|
2829
|
+
/**
|
|
2830
|
+
* Éditeur des vues personnalisées sur la vue donnée (à défaut la vue affichée), à l'onglet donné :
|
|
2831
|
+
* colonnes, ou filtres et tri ; le filtre reçoit les colonnes de la grille (types, valeurs des
|
|
2832
|
+
* types énumérés). « Appliquer » enregistre la vue et la grille la relit (gridSelectionConfirmed$).
|
|
2833
|
+
*/
|
|
2834
|
+
private openViewEditor;
|
|
2835
|
+
/** Colonne de la fenêtre « Filtres et tri » : type d'après son affichage, valeurs d'un type énuméré. */
|
|
2836
|
+
private static filterColumnOf;
|
|
2837
|
+
private readonly hostElement;
|
|
2838
|
+
/** Ordre des colonnes déjà proposé à l'enregistrement : la question n'est reposée qu'après un nouveau déplacement. */
|
|
2839
|
+
private proposedColumnOrder;
|
|
2840
|
+
/** Colonnes affichées par la grille quand la vue y a été modifiée (déplacées, ajoutées, retirées). */
|
|
2841
|
+
private unsavedLayout;
|
|
2842
|
+
/** Vue modifiée dans la grille et pas encore proposée à l'enregistrement. */
|
|
2843
|
+
private unsavedColumnOrder;
|
|
2844
|
+
/**
|
|
2845
|
+
* Abandon de l'écran après un déplacement de colonnes (onglet fermé, autre onglet, autre écran) :
|
|
2846
|
+
* le service des vues propose d'enregistrer l'ordre des colonnes, à chaque fois.
|
|
2847
|
+
*/
|
|
2848
|
+
private saveColumnOrderOnLeave;
|
|
2849
|
+
/**
|
|
2850
|
+
* Changement d'onglet : l'écran quitté n'est pas détruit (il est gardé pour le retour), la
|
|
2851
|
+
* question est donc posée au début de la navigation vers un autre écran, si cet écran est celui
|
|
2852
|
+
* affiché (un écran gardé d'un autre onglet n'est plus dans la page). Une navigation qui reste
|
|
2853
|
+
* sur l'écran (filtre dans l'adresse) ne pose pas la question.
|
|
2854
|
+
*/
|
|
2855
|
+
private watchLeaveForColumnOrder;
|
|
2856
|
+
/** Écran affiché dans la page (et non gardé, détaché, pour un autre onglet). */
|
|
2857
|
+
private isDisplayed;
|
|
2858
|
+
/**
|
|
2859
|
+
* Fermeture ou rechargement du navigateur avec un ordre de colonnes non enregistré : le navigateur
|
|
2860
|
+
* demande confirmation (sa propre fenêtre ; une page ne peut pas en afficher d'autre à ce moment).
|
|
2861
|
+
* Complète l'écouteur de DflatBaseComponent (un seul écouteur par événement).
|
|
2862
|
+
*/
|
|
2863
|
+
unloadNotification(event: any): void;
|
|
2864
|
+
/** Oublie les colonnes choisies pour l'écran ouvert et relit celles de la vue sur le serveur. */
|
|
2865
|
+
private resetColumns;
|
|
2295
2866
|
protected openColumnSelector(): void;
|
|
2296
2867
|
protected getPpMetaEntityKey(): string | null;
|
|
2297
2868
|
protected getPpConfig(): {
|
|
@@ -2328,12 +2899,12 @@ export declare abstract class BaseComponent<TFilter extends FilterViewModel, TDa
|
|
|
2328
2899
|
}
|
|
2329
2900
|
export declare class FacadeModalService {
|
|
2330
2901
|
private modalService;
|
|
2331
|
-
constructor(modalService:
|
|
2332
|
-
openSelectorModal<TData, TFilter>(selectionTitle?: string, selectionComponent?: Type<any>, initFn?: (component: BaseComponent<TData, TFilter> | NewEditorComponent<TData>) => void, modalOptions?:
|
|
2902
|
+
constructor(modalService: DflatModalService);
|
|
2903
|
+
openSelectorModal<TData, TFilter>(selectionTitle?: string, selectionComponent?: Type<any>, initFn?: (component: BaseComponent<TData, TFilter> | NewEditorComponent<TData>) => void, modalOptions?: DflatModalOptions, modalConfig?: ModalConfig): Observable<TData[]>;
|
|
2333
2904
|
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?:
|
|
2905
|
+
, initFn?: (component: BaseComponent<TData, TFilter> | NewEditorComponent<TData>) => void, callback?: (component: IIsCancel | BaseComponent<TData, TFilter>) => void, modalOptions?: DflatModalOptions, modalConfig?: ModalConfig): Observable<any>;
|
|
2906
|
+
openEditorModal<TData extends EntityViewModel>(creationTitle?: string, creationComponent?: Type<any>, initFn?: (comp: NewEditorComponent<TData>) => void, modalConfig?: DflatModalOptions): Observable<NewEditorComponent<TData>>;
|
|
2907
|
+
getSelectorModal(modalOptions?: DflatModalOptions<DialogComponentParameter>, dialogOptions?: IDialogOptions, modalConfig?: ModalConfig): DflatModalRef;
|
|
2337
2908
|
static ɵfac: i0.ɵɵFactoryDeclaration<FacadeModalService, never>;
|
|
2338
2909
|
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
2339
2910
|
}
|
|
@@ -2428,7 +2999,6 @@ declare namespace property_grid_component_d_exports {
|
|
|
2428
2999
|
export declare class PropertyGridComponent<TData extends EntityViewModel> implements AfterViewInit {
|
|
2429
3000
|
private modalService;
|
|
2430
3001
|
private dataService;
|
|
2431
|
-
private localeService;
|
|
2432
3002
|
private toastrService;
|
|
2433
3003
|
elementRef: ElementRef;
|
|
2434
3004
|
validateAfterEachChange: boolean;
|
|
@@ -2459,8 +3029,8 @@ export declare class PropertyGridComponent<TData extends EntityViewModel> implem
|
|
|
2459
3029
|
selected: TData[];
|
|
2460
3030
|
isDirty: boolean;
|
|
2461
3031
|
filterType: typeof FilterType;
|
|
2462
|
-
bsConfig: Partial<
|
|
2463
|
-
bsTimeConfig: Partial<
|
|
3032
|
+
bsConfig: Partial<DatepickerConfig>;
|
|
3033
|
+
bsTimeConfig: Partial<DatepickerConfig>;
|
|
2464
3034
|
bsValue: Date;
|
|
2465
3035
|
locale: string;
|
|
2466
3036
|
selectionHelper: DictionnaryWrapper<any>;
|
|
@@ -2482,7 +3052,7 @@ export declare class PropertyGridComponent<TData extends EntityViewModel> implem
|
|
|
2482
3052
|
fieldSection: Section[];
|
|
2483
3053
|
get ViewModel(): EntityViewModelWithFields<TData>;
|
|
2484
3054
|
set ViewModel(value: EntityViewModelWithFields<TData>);
|
|
2485
|
-
constructor(modalService: ModalService, dataService: DataService,
|
|
3055
|
+
constructor(modalService: ModalService, dataService: DataService, toastrService: ToastrService, elementRef: ElementRef);
|
|
2486
3056
|
ngAfterViewInit(): void;
|
|
2487
3057
|
buildForm(): void;
|
|
2488
3058
|
changeActivTab(tabIndex: number): void;
|
|
@@ -2687,6 +3257,14 @@ export declare abstract class SelectorMapperServiceBase {
|
|
|
2687
3257
|
protected modalService: ModalService;
|
|
2688
3258
|
private readonly injector;
|
|
2689
3259
|
constructor(modalService: ModalService);
|
|
3260
|
+
/**
|
|
3261
|
+
* Titre d'une fenêtre de sélection : « Sélectionner : <titre> » (le titre seul est déjà celui de
|
|
3262
|
+
* la liste) ; un titre qui commence par « Sélection » ou par un verbe d'action (« Ajouter ») est
|
|
3263
|
+
* gardé tel quel.
|
|
3264
|
+
*/
|
|
3265
|
+
static selectionTitle(title: string | null | undefined): string | null | undefined;
|
|
3266
|
+
/** Titre qui décrit déjà l'action (« Sélectionner… », « Ajouter… »), et non le seul nom de la liste. */
|
|
3267
|
+
static isActionTitle(title: string | null | undefined): boolean;
|
|
2690
3268
|
getInputSelectorContext(key: string, title: string, filter?: FilterViewModel, params?: any): IInputSelectorContext;
|
|
2691
3269
|
/**
|
|
2692
3270
|
* Composants et recherche du sélecteur de l'entité de clé `key` : par défaut, le sélecteur
|
|
@@ -2702,12 +3280,12 @@ export declare abstract class SelectorMapperServiceBase {
|
|
|
2702
3280
|
};
|
|
2703
3281
|
getDialogOptions(context: IInputSelectorContext, choice: ContextChoice): IDialogOptions;
|
|
2704
3282
|
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?:
|
|
3283
|
+
openEditionModal<TData extends EntityViewModel>(modalEntityKey: string, modalTitle: string, dataInit?: TData, callBackAction?: ((component?: BaseEditorComponent<TData>) => void), forceDataInit?: boolean, modalConfig?: DflatModalOptions): Observable<BaseEditorComponent<TData>>;
|
|
3284
|
+
openSelectorModal<TData, TFilter>(modalEntityKey: string, modalTitle: string, filter: FilterViewModel, initFn?: (component: BaseComponent<TData, TFilter>) => void, modalOptions?: DflatModalOptions, modalConfig?: ModalConfig): Observable<TData[]>;
|
|
2707
3285
|
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?:
|
|
3286
|
+
, initFn?: (component: BaseComponent<TData, TFilter>) => void, callback?: (component: IIsCancel | BaseComponent<TData, TFilter>) => void, modalOptions?: DflatModalOptions, modalConfig?: ModalConfig): Observable<any>;
|
|
3287
|
+
openEditorModal<TData extends EntityViewModel>(creationTitle?: string, creationComponent?: Type<any>, initFn?: (comp: NewEditorComponent<TData>) => void, modalConfig?: DflatModalOptions): Observable<NewEditorComponent<TData>>;
|
|
3288
|
+
getSelectorModal(modalOptions?: DflatModalOptions<DialogComponentParameter>, dialogOptions?: IDialogOptions, modalConfig?: ModalConfig): DflatModalRef;
|
|
2711
3289
|
}
|
|
2712
3290
|
declare class LogService {
|
|
2713
3291
|
constructor();
|
|
@@ -2728,10 +3306,10 @@ export declare class ActionService {
|
|
|
2728
3306
|
constructor(modalService: ModalService, actionDataService: ActionDataService, mqService: NotificationMqService, fileService: FilesDataService, logService: LogService, extendedActionComponentType: Type<ExtendedActionComponent>);
|
|
2729
3307
|
guid: Guid;
|
|
2730
3308
|
fileId: number;
|
|
2731
|
-
firstModalRef:
|
|
3309
|
+
firstModalRef: DflatModalRef | undefined;
|
|
2732
3310
|
entityNotificationSubscription: Subscription | undefined;
|
|
2733
3311
|
requestNotificationSubscription: Subscription | undefined;
|
|
2734
|
-
logmodal:
|
|
3312
|
+
logmodal: DflatModalRef | undefined;
|
|
2735
3313
|
setIsLoading(value: boolean): void;
|
|
2736
3314
|
executeExtendedAction(actionDescriptor: ActionDescriptor, entityKey: string, entityIds: number[]): void;
|
|
2737
3315
|
executeExtendedActionCallBack(component: ExtendedActionComponent): void;
|
|
@@ -2913,7 +3491,7 @@ export declare class DialogComponentParameter implements IDialogComponentPameter
|
|
|
2913
3491
|
constructor();
|
|
2914
3492
|
}
|
|
2915
3493
|
export declare class DialogComponent implements AfterViewInit, OnDestroy, IDialogComponentPameter, IIsCancel, OnInit {
|
|
2916
|
-
bsModalRef:
|
|
3494
|
+
bsModalRef: DflatModalRef;
|
|
2917
3495
|
private cd;
|
|
2918
3496
|
private extendedActionComponentType;
|
|
2919
3497
|
insertionPoint: InsertionDirective;
|
|
@@ -2932,7 +3510,7 @@ export declare class DialogComponent implements AfterViewInit, OnDestroy, IDialo
|
|
|
2932
3510
|
private readonly _onClose;
|
|
2933
3511
|
onClose: import("rxjs").Observable<any>;
|
|
2934
3512
|
isInvalid: boolean;
|
|
2935
|
-
constructor(bsModalRef:
|
|
3513
|
+
constructor(bsModalRef: DflatModalRef, cd: ChangeDetectorRef, extendedActionComponentType: Type<ExtendedActionComponent>);
|
|
2936
3514
|
ngOnInit(): void;
|
|
2937
3515
|
ngAfterViewInit(): void;
|
|
2938
3516
|
ngOnDestroy(): void;
|
|
@@ -2957,7 +3535,7 @@ export declare class ModalStateService {
|
|
|
2957
3535
|
/**
|
|
2958
3536
|
* The last opened confirmation modal
|
|
2959
3537
|
*/
|
|
2960
|
-
modal:
|
|
3538
|
+
modal: DflatModalRef;
|
|
2961
3539
|
/**
|
|
2962
3540
|
* The template containing the confirmation modal component
|
|
2963
3541
|
*/
|
|
@@ -2966,7 +3544,7 @@ export declare class ModalStateService {
|
|
|
2966
3544
|
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
2967
3545
|
}
|
|
2968
3546
|
export declare class ModalService {
|
|
2969
|
-
modalService:
|
|
3547
|
+
modalService: DflatModalService;
|
|
2970
3548
|
private state;
|
|
2971
3549
|
injector: Injector;
|
|
2972
3550
|
modalConfig: {
|
|
@@ -2975,14 +3553,14 @@ export declare class ModalService {
|
|
|
2975
3553
|
keyboard: boolean;
|
|
2976
3554
|
ignoreBackdropClick: boolean;
|
|
2977
3555
|
};
|
|
2978
|
-
constructor(modalService:
|
|
3556
|
+
constructor(modalService: DflatModalService, state: ModalStateService, injector: Injector);
|
|
2979
3557
|
openTemplate(options: IModalOptions): Promise<any>;
|
|
2980
3558
|
openComponent<TComponent>(component: any, modalConfig?: any): TComponent;
|
|
2981
3559
|
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):
|
|
3560
|
+
openComponentCustomModal(modalConfig?: DflatModalOptions<DialogComponentParameter>, dialogOptions?: IDialogOptions, showButtons?: boolean, canClose?: boolean): DflatModalRef;
|
|
3561
|
+
openComponentCustom(modalConfig?: DflatModalOptions, dialogOptions?: IDialogOptions, showButtons?: boolean, canClose?: boolean): Observable<any>;
|
|
3562
|
+
openComponentModal(modalConfig?: DflatModalOptions, dialogOptions?: IDialogOptions, showButtons?: boolean, canClose?: boolean): DflatModalRef;
|
|
3563
|
+
openComponentSimple(modalConfig?: any, dialogOptions?: IDialogOptions, showButtons?: boolean): DflatModalRef;
|
|
2986
3564
|
confirmModal(text?: string, actionCallback?: () => any, isCancelVisible?: boolean): Observable<ConfirmOptions>;
|
|
2987
3565
|
close(modal?: any): void;
|
|
2988
3566
|
static ɵfac: i0.ɵɵFactoryDeclaration<ModalService, never>;
|
|
@@ -3538,14 +4116,14 @@ declare namespace confirm_modal_component_d_exports {
|
|
|
3538
4116
|
export { ConfirmModalComponent };
|
|
3539
4117
|
}
|
|
3540
4118
|
export declare class ConfirmModalComponent {
|
|
3541
|
-
bsModalRef:
|
|
4119
|
+
bsModalRef: DflatModalRef;
|
|
3542
4120
|
severityClass: string;
|
|
3543
4121
|
subject: Subject<ConfirmOptions>;
|
|
3544
4122
|
text: string;
|
|
3545
4123
|
callBackAction: ((value: ConfirmOptions) => void);
|
|
3546
4124
|
isCancelVisible: boolean;
|
|
3547
4125
|
ConfirmOptions: ConfirmOptions;
|
|
3548
|
-
constructor(bsModalRef:
|
|
4126
|
+
constructor(bsModalRef: DflatModalRef);
|
|
3549
4127
|
action(value: ConfirmOptions): void;
|
|
3550
4128
|
static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmModalComponent, never>;
|
|
3551
4129
|
static ɵcmp: i0.ɵɵComponentDeclaration<ConfirmModalComponent, "alg-confirm-modal", never, {}, {}, never, never, false, never>;
|
|
@@ -3580,7 +4158,7 @@ export declare class SelectionStyler<TData extends EntityViewModel> {
|
|
|
3580
4158
|
declare namespace data_grid_component_d_exports {
|
|
3581
4159
|
export { DataGridComponent };
|
|
3582
4160
|
}
|
|
3583
|
-
export declare class DataGridComponent<TData extends EntityViewModel> implements OnInit, AfterViewInit {
|
|
4161
|
+
export declare class DataGridComponent<TData extends EntityViewModel> implements OnInit, AfterViewInit, DoCheck {
|
|
3584
4162
|
private elRef;
|
|
3585
4163
|
private renderer;
|
|
3586
4164
|
private imageService;
|
|
@@ -3588,7 +4166,10 @@ export declare class DataGridComponent<TData extends EntityViewModel> implements
|
|
|
3588
4166
|
private ngZone;
|
|
3589
4167
|
protected entityFacadeRegistryService: EntityFacadeRegistryService;
|
|
3590
4168
|
validationService: ValidationService;
|
|
3591
|
-
|
|
4169
|
+
private selectorMapperService;
|
|
4170
|
+
private actionService;
|
|
4171
|
+
private authService;
|
|
4172
|
+
constructor(elRef: ElementRef, renderer: Renderer2, imageService: ImageService, cd: ChangeDetectorRef, ngZone: NgZone, entityFacadeRegistryService: EntityFacadeRegistryService, validationService: ValidationService, selectorMapperService: SelectorMapperServiceBase, actionService: ActionService, authService: AuthService);
|
|
3592
4173
|
datagridClass: string;
|
|
3593
4174
|
rowRefs: QueryList<ElementRef>;
|
|
3594
4175
|
thHeaders: QueryList<ElementRef>;
|
|
@@ -3615,6 +4196,15 @@ export declare class DataGridComponent<TData extends EntityViewModel> implements
|
|
|
3615
4196
|
ngAfterViewInit(): void;
|
|
3616
4197
|
private initViewReady;
|
|
3617
4198
|
private bindColumns;
|
|
4199
|
+
/** Identifiants des lignes sélectionnées, recalculés à chaque détection de changements (ngDoCheck). */
|
|
4200
|
+
private selectedIds;
|
|
4201
|
+
ngDoCheck(): void;
|
|
4202
|
+
/**
|
|
4203
|
+
* Ligne sélectionnée : liée dans le gabarit (ligne et cellules), pour que la sélection reste
|
|
4204
|
+
* affichée quand les cellules sont recréées (colonnes déplacées, autre vue). Les classes posées
|
|
4205
|
+
* par le SelectionStyler, seules, se perdaient avec les cellules recréées.
|
|
4206
|
+
*/
|
|
4207
|
+
isRowSelected(row: TData): boolean;
|
|
3618
4208
|
private bindSelection;
|
|
3619
4209
|
private bindRowRendering;
|
|
3620
4210
|
private bindStyleUpdates;
|
|
@@ -3635,47 +4225,298 @@ export declare class DataGridComponent<TData extends EntityViewModel> implements
|
|
|
3635
4225
|
getHeaderLabel(column: ColumnDescriptor): string;
|
|
3636
4226
|
getEnumImageUrl(row: TData, column: ColumnDescriptor): string;
|
|
3637
4227
|
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;
|
|
4228
|
+
/** Cellule du curseur d'édition ; aucune hors édition. */
|
|
4229
|
+
editCursor: {
|
|
4230
|
+
row: TData;
|
|
4231
|
+
column: ColumnDescriptor;
|
|
4232
|
+
} | undefined;
|
|
4233
|
+
/** Formulaires des lignes éditées dans la grille, par identifiant de ligne. */
|
|
3647
4234
|
private rowForms;
|
|
3648
|
-
|
|
3649
|
-
|
|
3650
|
-
|
|
4235
|
+
/**
|
|
4236
|
+
* Champ du formulaire qui édite la colonne, d'après la propriété liée à la colonne : même
|
|
4237
|
+
* propriété, sinon champ dont la colonne affiche le libellé (ExportPropertyName, ou
|
|
4238
|
+
* DisplayMember d'une liste).
|
|
4239
|
+
*/
|
|
4240
|
+
getColumnField(column: ColumnDescriptor): FieldDescriptor | undefined;
|
|
4241
|
+
/** Copies d'une ligne des zones de texte du formulaire, par propriété. */
|
|
4242
|
+
private singleLineFields;
|
|
4243
|
+
/**
|
|
4244
|
+
* Champ qui édite la cellule : seulement celui du formulaire (getColumnField). Une colonne
|
|
4245
|
+
* sans éditeur dans le formulaire n'est pas modifiable dans la grille.
|
|
4246
|
+
*/
|
|
4247
|
+
getEditField(column: ColumnDescriptor): FieldDescriptor | undefined;
|
|
4248
|
+
/**
|
|
4249
|
+
* Zone de texte du formulaire (plusieurs lignes, valeur transmise seulement à la sortie du
|
|
4250
|
+
* champ) : éditée dans la grille comme une saisie d'une ligne, transmise à chaque frappe.
|
|
4251
|
+
*/
|
|
4252
|
+
private getSingleLineField;
|
|
4253
|
+
/** Liste ou sélecteur : la valeur éditée n'est pas celle qu'affiche la grille. */
|
|
4254
|
+
private static isListField;
|
|
4255
|
+
/** Vrai si la cellule a un éditeur : champ modifiable, ligne modifiable. */
|
|
4256
|
+
canEditCell(row: TData, column: ColumnDescriptor): boolean;
|
|
4257
|
+
isCursorCell(row: TData, column: ColumnDescriptor): boolean;
|
|
4258
|
+
/** La cellule du curseur affiche l'éditeur de son champ, s'il en a un. */
|
|
4259
|
+
showEditor(row: TData, column: ColumnDescriptor): boolean;
|
|
4260
|
+
cellId(row: TData, column: ColumnDescriptor): string;
|
|
4261
|
+
/** Formulaire de la ligne, avec un contrôle par champ des colonnes. */
|
|
4262
|
+
getRowForm(row: TData): FormGroup;
|
|
4263
|
+
onCellDblClick(row: TData, column: ColumnDescriptor): void;
|
|
4264
|
+
/** En édition, un clic sur une cellule y déplace le curseur. */
|
|
4265
|
+
onCellClick(row: TData, column: ColumnDescriptor): void;
|
|
4266
|
+
/** Place le curseur d'édition sur la cellule. */
|
|
4267
|
+
startEdit(row: TData, column: ColumnDescriptor): void;
|
|
4268
|
+
/** Quitte l'édition : les valeurs saisies sont gardées, la plage de cellules est annulée. */
|
|
4269
|
+
stopEdit(): void;
|
|
4270
|
+
/** Annule la plage de cellules sélectionnée. */
|
|
4271
|
+
private clearRange;
|
|
4272
|
+
private setCursor;
|
|
4273
|
+
/** Déplace le curseur : les lignes et colonnes hors du tableau sont ignorées. */
|
|
4274
|
+
private moveCursor;
|
|
4275
|
+
/** Après le rendu : focus dans l'éditeur de la cellule, sinon sur la grille (touches du curseur). */
|
|
4276
|
+
private focusCursor;
|
|
4277
|
+
/** Touches du curseur d'édition, comme dans Excel. */
|
|
4278
|
+
onGridKeyDown(event: KeyboardEvent): void;
|
|
4279
|
+
/**
|
|
4280
|
+
* Vrai si la flèche gauche (début) ou droite (fin) quitte la cellule : hors d'une zone de
|
|
4281
|
+
* saisie, texte entièrement sélectionné, ou curseur de texte au bord de la saisie.
|
|
4282
|
+
*/
|
|
4283
|
+
private static caretAtEdge;
|
|
4284
|
+
/** Un clic hors de la grille et de ses fenêtres (liste, calendrier, sélecteur) quitte l'édition. */
|
|
4285
|
+
onDocumentMouseDown(event: MouseEvent): void;
|
|
4286
|
+
/**
|
|
4287
|
+
* Valeur changée dans la grille : appliquée à l'entité de la ligne par le service d'édition
|
|
4288
|
+
* (ChangeDetectionContext.updateEntity). La ligne modifiée est sélectionnée, le formulaire suit.
|
|
4289
|
+
*/
|
|
4290
|
+
onCellChanged(row: TData, event: PropertyEditorEvent): void;
|
|
4291
|
+
/**
|
|
4292
|
+
* Valeur changée d'une liste ou d'un sélecteur, depuis la grille ou le formulaire : la colonne
|
|
4293
|
+
* qui en affiche le libellé est mise à jour sur les lignes sélectionnées (sur la ligne collée
|
|
4294
|
+
* pendant un collé depuis Excel), et sur leur copie modifiée.
|
|
4295
|
+
*/
|
|
4296
|
+
private applyDisplayValue;
|
|
4297
|
+
/** Libellé de la valeur choisie dans une liste ou un sélecteur ; undefined s'il est inconnu. */
|
|
4298
|
+
private static displayLabel;
|
|
4299
|
+
/** Cellule de départ et cellule de fin de la plage (indices de ligne et de colonne). */
|
|
4300
|
+
rangeAnchor: {
|
|
4301
|
+
r: number;
|
|
4302
|
+
c: number;
|
|
4303
|
+
} | undefined;
|
|
4304
|
+
rangeEnd: {
|
|
4305
|
+
r: number;
|
|
4306
|
+
c: number;
|
|
4307
|
+
} | undefined;
|
|
4308
|
+
private rangeDragging;
|
|
4309
|
+
/** Ligne en cours de collé : reçoit le libellé des listes (applyDisplayValue). */
|
|
4310
|
+
private pastedRow;
|
|
4311
|
+
private cellPosition;
|
|
4312
|
+
/** Limites de la plage, ou undefined sans plage. */
|
|
4313
|
+
private getRangeArea;
|
|
4314
|
+
/** Cellule dans une plage de plusieurs cellules (une seule cellule : cadre du curseur). */
|
|
4315
|
+
isInRange(r: number, c: number): boolean;
|
|
4316
|
+
onCellMouseDown(r: number, c: number, event: MouseEvent): void;
|
|
4317
|
+
onCellMouseEnter(r: number, c: number, event?: MouseEvent): void;
|
|
4318
|
+
/**
|
|
4319
|
+
* Bouton relâché : fin du cliqué-glissé de la plage et du redimensionnement d'une colonne. Un seul
|
|
4320
|
+
* écouteur par événement : Angular ne garde que le dernier @HostListener d'un même événement.
|
|
4321
|
+
*/
|
|
4322
|
+
onDocumentMouseUp(): void;
|
|
4323
|
+
/** Ctrl+C : la plage en texte tabulé ; le texte sélectionné d'un éditeur garde la copie normale. */
|
|
4324
|
+
onCopy(event: ClipboardEvent): void;
|
|
4325
|
+
/** Ctrl+V : texte tabulé collé à partir du coin haut gauche de la plage. */
|
|
4326
|
+
onPaste(event: ClipboardEvent): void;
|
|
4327
|
+
/** Applique les valeurs collées ; les sélecteurs cherchent l'élément dont le libellé est collé. */
|
|
4328
|
+
private pasteCells;
|
|
4329
|
+
/** Valeur collée dans une cellule : contrôle de la ligne, puis service d'édition. */
|
|
4330
|
+
private pasteValue;
|
|
4331
|
+
/**
|
|
4332
|
+
* Élément d'un sélecteur dont le libellé (ModalPropertyName) est le texte collé : null pour un
|
|
4333
|
+
* texte vide, undefined s'il n'est pas trouvé.
|
|
4334
|
+
*/
|
|
4335
|
+
private findSelectorItem;
|
|
4336
|
+
/** Texte d'une cellule copiée vers Excel. */
|
|
4337
|
+
private static toClipboardText;
|
|
4338
|
+
/** Texte tabulé copié d'Excel : lignes de cellules (cellules entre guillemets comprises). */
|
|
4339
|
+
private static parseClipboardText;
|
|
4340
|
+
/** Valeur d'un texte collé pour l'éditeur du champ ; undefined si elle n'est pas reconnue. */
|
|
4341
|
+
private static fromClipboardText;
|
|
4342
|
+
private static hasTextSelection;
|
|
4343
|
+
/** Lignes modifiées depuis le formulaire : leurs valeurs passent dans les éditeurs de la grille. */
|
|
4344
|
+
private patchRowForms;
|
|
4345
|
+
updateSelected(id: number): void;
|
|
3651
4346
|
toggleDetail(row: TData): void;
|
|
3652
4347
|
addFilterQuery(): void;
|
|
3653
4348
|
removeFilterQuery(index: number): void;
|
|
3654
4349
|
handleFilterChanged(event: any, filterRow: FilterRow, propertyName?: string): void;
|
|
3655
4350
|
validateFilterChanged(event: any, filterRow: FilterRow, propertyName?: string): void;
|
|
3656
|
-
|
|
3657
|
-
|
|
4351
|
+
/**
|
|
4352
|
+
* Clic droit sur une cellule : menu de sa colonne, à la position de la souris. La ligne est
|
|
4353
|
+
* sélectionnée si elle ne l'est pas déjà, pour que les actions du menu portent sur elle.
|
|
4354
|
+
*/
|
|
4355
|
+
openContextMenu(event: MouseEvent, row: TData, column: ColumnDescriptor): void;
|
|
4356
|
+
/**
|
|
4357
|
+
* Clic droit ailleurs que sur une cellule (sous la dernière ligne, dans une grille vide) : menu de la
|
|
4358
|
+
* colonne dont l'en-tête est au-dessus du point cliqué, à défaut de la dernière colonne ; sans ligne,
|
|
4359
|
+
* le menu ne propose pas de filtrer sur une valeur.
|
|
4360
|
+
*/
|
|
4361
|
+
openEmptyAreaContextMenu(event: MouseEvent): void;
|
|
4362
|
+
/** Clic droit dans l'en-tête (colonne vide de fin) : menu de la colonne donnée. */
|
|
4363
|
+
openHeaderContextMenu(event: MouseEvent, column: ColumnDescriptor): void;
|
|
4364
|
+
closeContextMenu(): void;
|
|
4365
|
+
/** Menu ouvert d'une colonne, sa position à l'écran et son sous-menu ouvert. */
|
|
4366
|
+
headerMenu: {
|
|
4367
|
+
column: ColumnDescriptor;
|
|
3658
4368
|
x: number;
|
|
3659
4369
|
y: number;
|
|
3660
|
-
|
|
3661
|
-
|
|
3662
|
-
|
|
3663
|
-
|
|
3664
|
-
|
|
3665
|
-
|
|
3666
|
-
|
|
3667
|
-
|
|
4370
|
+
/** Ligne de la cellule (clic droit sur une cellule), pour filtrer sur sa valeur. */
|
|
4371
|
+
row?: TData;
|
|
4372
|
+
submenu?: 'display' | 'columns';
|
|
4373
|
+
submenuLeft?: boolean;
|
|
4374
|
+
submenuUp?: boolean;
|
|
4375
|
+
ready?: boolean;
|
|
4376
|
+
} | undefined;
|
|
4377
|
+
/** Actions de l'écran (panneau des actions), proposées dans le menu des colonnes. */
|
|
4378
|
+
actions: Action[];
|
|
4379
|
+
/** Colonne déplacée, colonne survolée, et côté où la poser. */
|
|
4380
|
+
draggedColumn: string | undefined;
|
|
4381
|
+
dropColumn: string | undefined;
|
|
4382
|
+
dropBefore: boolean;
|
|
4383
|
+
private static readonly NumericTypes;
|
|
4384
|
+
toggleHeaderMenu(column: ColumnDescriptor, event: MouseEvent): void;
|
|
4385
|
+
/**
|
|
4386
|
+
* Ouvre le menu de la colonne au point donné, puis, une fois affiché, le garde entier dans la
|
|
4387
|
+
* grille : décalé à gauche s'il dépasse à droite, ouvert vers le haut s'il dépasse en bas.
|
|
4388
|
+
*/
|
|
4389
|
+
private openColumnMenu;
|
|
4390
|
+
/**
|
|
4391
|
+
* Valeur de filtre de la cellule du menu (clic droit sur une cellule d'une colonne filtrable) :
|
|
4392
|
+
* la valeur elle-même, 1 ou 0 pour un booléen, le jour suivi de * pour une date ; undefined sans
|
|
4393
|
+
* cellule, sans valeur ou pour une colonne non filtrable.
|
|
4394
|
+
*/
|
|
4395
|
+
cellFilterValue(): string | undefined;
|
|
4396
|
+
/** Texte de la cellule du menu, tel qu'affiché dans l'option « Filtrer sur ». */
|
|
4397
|
+
cellFilterLabel(): string;
|
|
4398
|
+
/**
|
|
4399
|
+
* « Filtrer sur cette valeur » : condition de la colonne dans la première ligne des filtres composés,
|
|
4400
|
+
* créée si elle n'existe pas.
|
|
4401
|
+
*/
|
|
4402
|
+
filterOnCell(): void;
|
|
4403
|
+
/**
|
|
4404
|
+
* Zone où garder le menu : la grille, dans la limite de la fenêtre. Une grille trop petite pour
|
|
4405
|
+
* le menu (peu de lignes) laisse la place à la fenêtre entière.
|
|
4406
|
+
*/
|
|
4407
|
+
private menuBounds;
|
|
4408
|
+
/** Place le menu ouvert au point (x, y) pour qu'il tienne entier dans la grille. */
|
|
4409
|
+
private fitColumnMenu;
|
|
4410
|
+
setSubmenu(submenu: 'display' | 'columns' | undefined): void;
|
|
4411
|
+
/** Action faite dans le menu « Affichage » (alg-grid-view-menu) : menu fermé. */
|
|
4412
|
+
closeViewMenu(): void;
|
|
4413
|
+
/** Vues ou colonnes chargées dans le menu « Affichage » : sous-menu replacé dans la grille. */
|
|
4414
|
+
onViewMenuLoaded(): void;
|
|
4415
|
+
/**
|
|
4416
|
+
* Sous-menu « Fonctions » : à droite du menu, ou à gauche s'il dépasse de la grille ; vers le bas,
|
|
4417
|
+
* ou vers le haut s'il n'y a pas la place en dessous.
|
|
4418
|
+
*/
|
|
4419
|
+
private fitSubmenu;
|
|
4420
|
+
/** Actions visibles de l'écran, comme dans le panneau des actions. */
|
|
4421
|
+
get visibleActions(): Action[];
|
|
4422
|
+
getActionImageUrl(icon: string): string;
|
|
4423
|
+
/**
|
|
4424
|
+
* Action choisie dans le menu : exécutée comme depuis le panneau des actions (action étendue
|
|
4425
|
+
* par le service des actions, sinon par la façade), sur les lignes sélectionnées.
|
|
4426
|
+
*/
|
|
4427
|
+
executeMenuAction(a: Action, disabled: boolean): void;
|
|
4428
|
+
private readonly modalService;
|
|
4429
|
+
/**
|
|
4430
|
+
* Tri personnalisé : fenêtre standard des popups (DialogComponent), avec les niveaux du tri en
|
|
4431
|
+
* cours (à défaut la colonne du menu) ; « Appliquer » trie la grille.
|
|
4432
|
+
*/
|
|
4433
|
+
openCustomSort(): void;
|
|
4434
|
+
closeHeaderMenu(): void;
|
|
4435
|
+
onWindowChange(): void;
|
|
4436
|
+
/** Tri choisi dans le menu ; le tri déjà en cours (même colonne, même sens) est annulé. */
|
|
4437
|
+
sortColumn(direction: 'asc' | 'desc'): void;
|
|
4438
|
+
/** Fonctions d'agrégation proposées selon le type de la colonne. */
|
|
4439
|
+
getAggregationOptions(column: ColumnDescriptor): string[];
|
|
4440
|
+
aggregationLabel(op: string): string;
|
|
4441
|
+
/** Fonction d'agrégation de la colonne du menu ; null la retire. */
|
|
4442
|
+
aggregateColumn(op: string | null): void;
|
|
4443
|
+
/** Poignée enfoncée : colonne et point de départ, avant que la souris ait assez bougé. */
|
|
4444
|
+
private pendingDrag;
|
|
4445
|
+
/** Copie de la colonne déplacée (en-tête et cellules visibles), qui suit la souris horizontalement. */
|
|
4446
|
+
private dragGhost;
|
|
4447
|
+
private static readonly DragThreshold;
|
|
4448
|
+
private static readonly DraggingBodyClass;
|
|
4449
|
+
private static readonly DropIndicatorWidth;
|
|
4450
|
+
/** Position à l'écran du trait de l'emplacement visé. */
|
|
4451
|
+
dropIndicator: {
|
|
4452
|
+
left: number;
|
|
4453
|
+
top: number;
|
|
4454
|
+
height: number;
|
|
4455
|
+
} | undefined;
|
|
4456
|
+
onHeaderMouseDown(column: ColumnDescriptor, event: MouseEvent): void;
|
|
4457
|
+
/** Souris déplacée pendant un déplacement de colonne : emplacement visé, avant ou après la colonne survolée. */
|
|
4458
|
+
private onHeaderDragMove;
|
|
4459
|
+
/** En-tête affiché d'une colonne (identifiant <guid>-col-<propriété>). */
|
|
4460
|
+
private headerCell;
|
|
4461
|
+
/** Partie visible du tableau à l'écran : du haut de l'en-tête au bas des lignes affichées. */
|
|
4462
|
+
private visibleTableArea;
|
|
4463
|
+
/**
|
|
4464
|
+
* Copie de la colonne déplacée, au-dessus de la page : son en-tête (intitulé et lignes de filtre)
|
|
4465
|
+
* et ses cellules visibles, aux mêmes hauteurs que dans le tableau. Le conteneur et le tableau
|
|
4466
|
+
* sont recopiés sans leur contenu, pour que les cellules copiées gardent le style de la grille.
|
|
4467
|
+
*/
|
|
4468
|
+
private createDragGhost;
|
|
4469
|
+
private removeDragGhost;
|
|
4470
|
+
/** Bouton relâché : fin du déplacement (l'ordre des colonnes a été appliqué au fil du déplacement). */
|
|
4471
|
+
onHeaderDragEnd(_drop?: boolean): void;
|
|
4472
|
+
/** Largeur choisie par colonne (propriété), en pixels. */
|
|
4473
|
+
columnWidths: Record<string, number>;
|
|
4474
|
+
private resizing;
|
|
4475
|
+
private static readonly MinColumnWidth;
|
|
4476
|
+
colWidth(column: ColumnDescriptor): number | null;
|
|
4477
|
+
startResize(column: ColumnDescriptor, event: MouseEvent): void;
|
|
4478
|
+
/**
|
|
4479
|
+
* Souris déplacée : redimensionnement ou déplacement d'une colonne. Un seul écouteur par événement :
|
|
4480
|
+
* Angular ne garde que le dernier @HostListener d'un même événement.
|
|
4481
|
+
*/
|
|
4482
|
+
onResizeMove(event: MouseEvent): void;
|
|
4483
|
+
/** Fin du redimensionnement d'une colonne (appelée par onDocumentMouseUp). */
|
|
4484
|
+
private onResizeEnd;
|
|
4485
|
+
/** Double clic sur le bord de l'en-tête : largeur ajustée au contenu de la colonne. */
|
|
4486
|
+
autoFitColumn(column: ColumnDescriptor, event: MouseEvent): void;
|
|
4487
|
+
/** Index de la dernière colonne figée, ou undefined. */
|
|
4488
|
+
frozenUntil: number | undefined;
|
|
4489
|
+
/** Position gauche de chaque colonne figée (en-tête de l'état de ligne compris). */
|
|
4490
|
+
private frozenLefts;
|
|
4491
|
+
columnIndex(column: ColumnDescriptor): number;
|
|
4492
|
+
isFrozen(index: number): boolean;
|
|
4493
|
+
frozenLeft(index: number): number | null;
|
|
4494
|
+
/** Colonne du menu figée ou libérée (la colonne du menu déjà dernière figée : libérer). */
|
|
4495
|
+
toggleFrozen(): void;
|
|
4496
|
+
unfreezeColumns(): void;
|
|
4497
|
+
/** Positions des colonnes figées, mesurées après le rendu. */
|
|
4498
|
+
private scheduleFrozenOffsets;
|
|
3668
4499
|
_aggregates: AggregationValue[];
|
|
3669
4500
|
hasAggregates: boolean;
|
|
3670
4501
|
columnAggregates: Record<string, any[]>;
|
|
3671
4502
|
activeAggregations: Record<string, string>;
|
|
3672
|
-
|
|
4503
|
+
/**
|
|
4504
|
+
* Ligne des agrégations, en bas de la grille : agrégats renvoyés par le serveur
|
|
4505
|
+
* (`PagedList.Aggregates`, clés `<Fonction>_<Propriété>`), pour les fonctions choisies dans le
|
|
4506
|
+
* menu des en-têtes (`FilterViewModel.AggregateClause`).
|
|
4507
|
+
*/
|
|
3673
4508
|
private buildColumnAggregates;
|
|
3674
|
-
setAggregation(op: string): void;
|
|
3675
4509
|
getColCurrency(column: ColumnDescriptor): string;
|
|
4510
|
+
/** Fonctions d'agrégation choisies : demandées au serveur avec la recherche. */
|
|
3676
4511
|
private applyAggregations;
|
|
3677
4512
|
private mapToEnum;
|
|
3678
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DataGridComponent<any>,
|
|
4513
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DataGridComponent<any>, [null, null, null, null, null, null, null, {
|
|
4514
|
+
optional: true;
|
|
4515
|
+
}, {
|
|
4516
|
+
optional: true;
|
|
4517
|
+
}, {
|
|
4518
|
+
optional: true;
|
|
4519
|
+
}]>;
|
|
3679
4520
|
static ɵcmp: i0.ɵɵComponentDeclaration<DataGridComponent<any>, "alg-data-grid", never, {
|
|
3680
4521
|
"datagridClass": {
|
|
3681
4522
|
"alias": "datagridClass";
|
|
@@ -3757,7 +4598,6 @@ declare namespace dynamic_field_component_d_exports {
|
|
|
3757
4598
|
export { DynamicFieldComponent };
|
|
3758
4599
|
}
|
|
3759
4600
|
export declare class DynamicFieldComponent implements OnChanges {
|
|
3760
|
-
private localeService;
|
|
3761
4601
|
field: FilterDescriptor;
|
|
3762
4602
|
form: UntypedFormGroup;
|
|
3763
4603
|
submitted: boolean;
|
|
@@ -3771,13 +4611,13 @@ export declare class DynamicFieldComponent implements OnChanges {
|
|
|
3771
4611
|
horizSelect: any;
|
|
3772
4612
|
value: any;
|
|
3773
4613
|
filterType: typeof FilterType;
|
|
3774
|
-
bsConfig: Partial<
|
|
4614
|
+
bsConfig: Partial<DatepickerConfig>;
|
|
3775
4615
|
locale: string;
|
|
3776
4616
|
uploadForm: UntypedFormGroup;
|
|
3777
4617
|
get isValid(): boolean;
|
|
3778
4618
|
notlog: boolean;
|
|
3779
4619
|
log(propname: string): string;
|
|
3780
|
-
constructor(
|
|
4620
|
+
constructor();
|
|
3781
4621
|
onValueChanged(event: Event): void;
|
|
3782
4622
|
onBsValueChanged(event: any): void;
|
|
3783
4623
|
filedata: any;
|
|
@@ -3880,28 +4720,39 @@ export declare class ExportDataModalComponent {
|
|
|
3880
4720
|
static ɵcmp: i0.ɵɵComponentDeclaration<ExportDataModalComponent, "alg-export-data-modal", never, {}, {}, never, never, false, never>;
|
|
3881
4721
|
}
|
|
3882
4722
|
declare namespace track_record_modal_component_d_exports {
|
|
3883
|
-
export { TrackRecordModalComponent };
|
|
4723
|
+
export { TrackRecordModalComponent, TrackRecordProperty };
|
|
3884
4724
|
}
|
|
4725
|
+
/** Colonnes système d'une entité et leurs dates mises en forme, affichées par l'historique. */
|
|
4726
|
+
export interface TrackRecordProperty {
|
|
4727
|
+
Id?: number;
|
|
4728
|
+
CreatedBy?: string;
|
|
4729
|
+
CreationDate?: Date;
|
|
4730
|
+
CreationDateString?: string;
|
|
4731
|
+
ModifiedBy?: string;
|
|
4732
|
+
ModificationDate?: Date;
|
|
4733
|
+
ModificationDateString?: string;
|
|
4734
|
+
}
|
|
4735
|
+
/**
|
|
4736
|
+
* Historique d'une entité (action « Historique ») : création et dernière modification, lues dans
|
|
4737
|
+
* les colonnes système de l'entité affichée (CreatedBy, CreationDate, ModifiedBy, ModificationDate),
|
|
4738
|
+
* que renvoient les fonctions de recherche ; aucun appel au serveur.
|
|
4739
|
+
*/
|
|
3885
4740
|
export declare class TrackRecordModalComponent implements OnInit, IIsCancel {
|
|
3886
|
-
private dataService;
|
|
3887
4741
|
private datePipe;
|
|
3888
4742
|
isCancel?: boolean;
|
|
3889
|
-
|
|
3890
|
-
|
|
4743
|
+
/** Entité dont l'historique est affiché. */
|
|
4744
|
+
entity: EntityViewModel;
|
|
3891
4745
|
ngOnInit(): void;
|
|
4746
|
+
private formatDate;
|
|
3892
4747
|
callBackAction: (component: IIsCancel) => void;
|
|
3893
4748
|
viewModel: TrackRecordProperty;
|
|
3894
4749
|
TrackRecordSections: Section[];
|
|
3895
4750
|
getTrackRecordSection(): void;
|
|
3896
|
-
constructor(
|
|
4751
|
+
constructor(datePipe: DatePipe);
|
|
3897
4752
|
static ɵfac: i0.ɵɵFactoryDeclaration<TrackRecordModalComponent, never>;
|
|
3898
4753
|
static ɵcmp: i0.ɵɵComponentDeclaration<TrackRecordModalComponent, "alg-track-record-modal", never, {
|
|
3899
|
-
"
|
|
3900
|
-
"alias": "
|
|
3901
|
-
"required": false;
|
|
3902
|
-
};
|
|
3903
|
-
"entityId": {
|
|
3904
|
-
"alias": "entityId";
|
|
4754
|
+
"entity": {
|
|
4755
|
+
"alias": "entity";
|
|
3905
4756
|
"required": false;
|
|
3906
4757
|
};
|
|
3907
4758
|
}, {}, never, never, false, never>;
|
|
@@ -4054,7 +4905,13 @@ export declare class MenuComponent implements OnInit, AfterViewInit {
|
|
|
4054
4905
|
ngAfterViewInit(): void;
|
|
4055
4906
|
ngOnInit(): void;
|
|
4056
4907
|
toggleMenu(itemId: number, clicked: boolean, eventType: string): void;
|
|
4908
|
+
/** Vrai pour l'entrée de l'écran affiché : même chemin, paramètres de requête ignorés. */
|
|
4057
4909
|
isItemActive(subitem: MenuItem): boolean;
|
|
4910
|
+
/**
|
|
4911
|
+
* Déplie le thème de l'entrée de l'écran affiché, comme après un clic sur cette entrée : au
|
|
4912
|
+
* rechargement de la page, ou au retour sur un onglet ouvert depuis un autre thème.
|
|
4913
|
+
*/
|
|
4914
|
+
private revealActiveItem;
|
|
4058
4915
|
lockToggle: boolean;
|
|
4059
4916
|
subItemClick(item: MenuItem, subitem: MenuItem): void;
|
|
4060
4917
|
getSubtreeClass(nb: number): string;
|
|
@@ -4255,6 +5112,13 @@ export declare class PageTabsComponent implements OnInit, AfterViewInit, OnDestr
|
|
|
4255
5112
|
hiddenIds: Set<number>;
|
|
4256
5113
|
/** Vrai quand le menu des onglets masqués est ouvert. */
|
|
4257
5114
|
menuOpen: boolean;
|
|
5115
|
+
/**
|
|
5116
|
+
* Écran étroit (téléphone) : pas d'onglets dans la barre, tous les écrans ouverts (l'historique)
|
|
5117
|
+
* sont dans le menu déroulant, au bout de la barre.
|
|
5118
|
+
*/
|
|
5119
|
+
narrow: boolean;
|
|
5120
|
+
private static readonly NarrowWidth;
|
|
5121
|
+
onResize(): void;
|
|
4258
5122
|
private frame;
|
|
4259
5123
|
private strip;
|
|
4260
5124
|
private resizeObserver;
|
|
@@ -4958,9 +5822,8 @@ declare namespace parameter_type_date_component_d_exports {
|
|
|
4958
5822
|
}
|
|
4959
5823
|
export declare class ParameterTypeDateComponent extends BaseParameterTypeComponent {
|
|
4960
5824
|
private datepipe;
|
|
4961
|
-
|
|
4962
|
-
|
|
4963
|
-
bsConfig: Partial<BsDatepickerConfig>;
|
|
5825
|
+
constructor(datepipe: DatePipe);
|
|
5826
|
+
bsConfig: Partial<DatepickerConfig>;
|
|
4964
5827
|
today: Date;
|
|
4965
5828
|
displayedDate: Date;
|
|
4966
5829
|
ngAfterContentInit(): void;
|
|
@@ -4999,7 +5862,7 @@ export declare class ParameterTypeDateArrayComponent extends BaseArrayParameterT
|
|
|
4999
5862
|
renderer: Renderer2;
|
|
5000
5863
|
private datepipe;
|
|
5001
5864
|
constructor(renderer: Renderer2, datepipe: DatePipe);
|
|
5002
|
-
bsConfig: Partial<
|
|
5865
|
+
bsConfig: Partial<DatepickerConfig>;
|
|
5003
5866
|
today: Date;
|
|
5004
5867
|
displayedDate: Date;
|
|
5005
5868
|
ngAfterViewInit(): void;
|
|
@@ -5246,7 +6109,6 @@ declare namespace field_component_d_exports {
|
|
|
5246
6109
|
}
|
|
5247
6110
|
export declare class FieldComponent implements OnInit {
|
|
5248
6111
|
validationService: ValidationService;
|
|
5249
|
-
private localeService;
|
|
5250
6112
|
showLabel: boolean;
|
|
5251
6113
|
entity: EntityViewModel;
|
|
5252
6114
|
field: FilterDescriptor;
|
|
@@ -5260,7 +6122,7 @@ export declare class FieldComponent implements OnInit {
|
|
|
5260
6122
|
Changes$: import("rxjs").Observable<PropertyEditorEvent>;
|
|
5261
6123
|
horizSelect: any;
|
|
5262
6124
|
filterType: typeof FilterType;
|
|
5263
|
-
bsConfig: Partial<
|
|
6125
|
+
bsConfig: Partial<DatepickerConfig>;
|
|
5264
6126
|
locale: string;
|
|
5265
6127
|
hidePassword: boolean;
|
|
5266
6128
|
showPassword(): void;
|
|
@@ -5270,7 +6132,7 @@ export declare class FieldComponent implements OnInit {
|
|
|
5270
6132
|
get isValid(): boolean;
|
|
5271
6133
|
notlog: boolean;
|
|
5272
6134
|
log(propname: string): void;
|
|
5273
|
-
constructor(validationService: ValidationService
|
|
6135
|
+
constructor(validationService: ValidationService);
|
|
5274
6136
|
private internalForm;
|
|
5275
6137
|
get control(): FormControl;
|
|
5276
6138
|
ngOnInit(): void;
|
|
@@ -5330,6 +6192,7 @@ declare namespace new_paginator_component_d_exports {
|
|
|
5330
6192
|
}
|
|
5331
6193
|
export declare class NewPaginatorComponent<TData extends EntityViewModel> {
|
|
5332
6194
|
private facadeService;
|
|
6195
|
+
private cd;
|
|
5333
6196
|
guid: Guid;
|
|
5334
6197
|
log: any;
|
|
5335
6198
|
displayInfo: boolean;
|
|
@@ -5340,7 +6203,7 @@ export declare class NewPaginatorComponent<TData extends EntityViewModel> {
|
|
|
5340
6203
|
getImageUrl(icon: string): string;
|
|
5341
6204
|
entityKey: string;
|
|
5342
6205
|
protected facade: EntityFacade<TData>;
|
|
5343
|
-
constructor(facadeService: EntityFacadeRegistryService);
|
|
6206
|
+
constructor(facadeService: EntityFacadeRegistryService, cd: ChangeDetectorRef);
|
|
5344
6207
|
ngOnInit(): void;
|
|
5345
6208
|
first(): void;
|
|
5346
6209
|
prev(): void;
|
|
@@ -5349,6 +6212,20 @@ export declare class NewPaginatorComponent<TData extends EntityViewModel> {
|
|
|
5349
6212
|
updatePageNumber(page: number): void;
|
|
5350
6213
|
onInputChange(event: any): void;
|
|
5351
6214
|
onRowsChange(event: any): void;
|
|
6215
|
+
/** Vues proposées à l'utilisateur, avec la vue affichée. */
|
|
6216
|
+
viewList: GridViewList | undefined;
|
|
6217
|
+
viewMenuOpen: boolean;
|
|
6218
|
+
private loadViews;
|
|
6219
|
+
/** Nom de la vue affichée par la grille. */
|
|
6220
|
+
currentViewLabel(): string;
|
|
6221
|
+
/** Position à l'écran de la liste des vues : au-dessus du bouton (la barre du bas ne la coupe pas). */
|
|
6222
|
+
viewMenuPosition: {
|
|
6223
|
+
[key: string]: string;
|
|
6224
|
+
};
|
|
6225
|
+
toggleViewMenu(event?: MouseEvent): void;
|
|
6226
|
+
/** Bouton d'enregistrement : la vue affichée est enregistrée telle qu'elle est dans la grille. */
|
|
6227
|
+
saveView(): void;
|
|
6228
|
+
closeViewMenu(): void;
|
|
5352
6229
|
ngOnDestroy(): void;
|
|
5353
6230
|
onAgentIdClick(item: any): void;
|
|
5354
6231
|
static ɵfac: i0.ɵɵFactoryDeclaration<NewPaginatorComponent<any>, never>;
|
|
@@ -5375,6 +6252,135 @@ export declare class NewPaginatorComponent<TData extends EntityViewModel> {
|
|
|
5375
6252
|
};
|
|
5376
6253
|
}, {}, never, never, false, never>;
|
|
5377
6254
|
}
|
|
6255
|
+
declare namespace card_list_component_d_exports {
|
|
6256
|
+
export { CardListComponent };
|
|
6257
|
+
}
|
|
6258
|
+
/**
|
|
6259
|
+
* Liste de cartes d'un écran (vue Carte liée à la vue Grille affichée), à la place de la grille :
|
|
6260
|
+
* sur un écran étroit (téléphone), ou quand l'utilisateur le choisit. Chaque carte montre les
|
|
6261
|
+
* colonnes de ses emplacements (titre, texte, détail, badge, image à gauche : icône d'un type
|
|
6262
|
+
* énuméré, image, ou image par défaut de l'élément). Toucher une carte la sélectionne : l'éditeur
|
|
6263
|
+
* l'affiche (en plein écran sur un téléphone). Défilement continu : la page suivante s'ajoute
|
|
6264
|
+
* quand on approche du bas, avec la même recherche et les mêmes filtres.
|
|
6265
|
+
*/
|
|
6266
|
+
export declare class CardListComponent<TData extends EntityViewModel> implements OnInit, OnDestroy {
|
|
6267
|
+
private readonly facadeService;
|
|
6268
|
+
private readonly imageService;
|
|
6269
|
+
private readonly cd;
|
|
6270
|
+
entityKey: string;
|
|
6271
|
+
guid: Guid;
|
|
6272
|
+
facade: EntityFacade<TData>;
|
|
6273
|
+
card: GridCard | null | undefined;
|
|
6274
|
+
items: TData[];
|
|
6275
|
+
/** Adresse de l'image par défaut des éléments affichés, par identifiant. */
|
|
6276
|
+
images: Record<number, string>;
|
|
6277
|
+
loading: boolean;
|
|
6278
|
+
/** Colonnes de la vue Grille affichée : colonnes de secours d'une carte sans emplacement rempli. */
|
|
6279
|
+
private columns;
|
|
6280
|
+
/** Page suivante demandée par le défilement : ses lignes s'ajoutent aux cartes affichées. */
|
|
6281
|
+
private appending;
|
|
6282
|
+
private readonly destroy$;
|
|
6283
|
+
/** Distance au bas de la liste à laquelle la page suivante est demandée. */
|
|
6284
|
+
private static readonly LoadThreshold;
|
|
6285
|
+
constructor(facadeService: EntityFacadeRegistryService, imageService: ImageService, cd: ChangeDetectorRef);
|
|
6286
|
+
ngOnInit(): void;
|
|
6287
|
+
ngOnDestroy(): void;
|
|
6288
|
+
private loadCard;
|
|
6289
|
+
private onData;
|
|
6290
|
+
private loadImages;
|
|
6291
|
+
/**
|
|
6292
|
+
* Carte sans titre, ni texte, ni détail (table sans UniqueName, Code, Label ni Description) :
|
|
6293
|
+
* les premières colonnes de la vue Grille, sauf Id et les images, en titre, texte et détail.
|
|
6294
|
+
*/
|
|
6295
|
+
static withFallback(card: GridCard | null, columns: ColumnDescriptor[]): GridCard | null;
|
|
6296
|
+
get hasMore(): boolean;
|
|
6297
|
+
onScroll(event: Event): void;
|
|
6298
|
+
loadMore(): void;
|
|
6299
|
+
trackById: (_: number, row: TData) => number;
|
|
6300
|
+
isSelected(row: TData): boolean;
|
|
6301
|
+
/** Carte touchée : sélectionnée (l'éditeur l'affiche), en plein écran sur un écran étroit. */
|
|
6302
|
+
open(row: TData): void;
|
|
6303
|
+
hasImage(): boolean;
|
|
6304
|
+
imageUrl(row: TData): string | null;
|
|
6305
|
+
/** Initiales du titre de la carte, à la place d'une image absente. */
|
|
6306
|
+
initials(row: TData): string;
|
|
6307
|
+
/** Valeur affichée d'une colonne : date, nombre, montant, oui ou non, sinon le texte. */
|
|
6308
|
+
valueOf(row: TData, column: ColumnDescriptor | undefined): string;
|
|
6309
|
+
private static date;
|
|
6310
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CardListComponent<any>, never>;
|
|
6311
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CardListComponent<any>, "alg-card-list", never, {
|
|
6312
|
+
"entityKey": {
|
|
6313
|
+
"alias": "entityKey";
|
|
6314
|
+
"required": true;
|
|
6315
|
+
};
|
|
6316
|
+
"guid": {
|
|
6317
|
+
"alias": "guid";
|
|
6318
|
+
"required": false;
|
|
6319
|
+
};
|
|
6320
|
+
}, {}, never, never, false, never>;
|
|
6321
|
+
}
|
|
6322
|
+
declare namespace mobile_menu_component_d_exports {
|
|
6323
|
+
export { MobileMenuComponent, OpenNavigationMenuEvent };
|
|
6324
|
+
}
|
|
6325
|
+
/** Événement de la fenêtre qui ouvre le menu de navigation de l'application (DFlatLayoutComponent). */
|
|
6326
|
+
export declare const OpenNavigationMenuEvent = "dflat:open-menu";
|
|
6327
|
+
/**
|
|
6328
|
+
* Menu d'un écran sur téléphone, à la place des actions de la barre d'actions : trois points blancs à
|
|
6329
|
+
* 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
|
|
6330
|
+
* (comme le panneau des actions) et le menu « Affichage » (vues, colonnes, filtres et tri, carte).
|
|
6331
|
+
*/
|
|
6332
|
+
export declare class MobileMenuComponent<TData extends EntityViewModel> implements OnInit, OnDestroy {
|
|
6333
|
+
private readonly facadeService;
|
|
6334
|
+
private readonly router;
|
|
6335
|
+
private readonly cd;
|
|
6336
|
+
private readonly actionService;
|
|
6337
|
+
private readonly authService;
|
|
6338
|
+
entityKey: string;
|
|
6339
|
+
guid: Guid;
|
|
6340
|
+
/** Titre de l'écran, en tête du panneau. */
|
|
6341
|
+
title: string;
|
|
6342
|
+
/** Bouton dans la barre d'actions (trois points blancs), au lieu du bouton rond en bas à droite. */
|
|
6343
|
+
inline: boolean;
|
|
6344
|
+
facade: EntityFacade<TData>;
|
|
6345
|
+
actions: Action[];
|
|
6346
|
+
open: boolean;
|
|
6347
|
+
private readonly destroy$;
|
|
6348
|
+
constructor(facadeService: EntityFacadeRegistryService, router: Router, cd: ChangeDetectorRef, actionService: ActionService, authService: AuthService);
|
|
6349
|
+
ngOnInit(): void;
|
|
6350
|
+
ngOnDestroy(): void;
|
|
6351
|
+
get visibleActions(): Action[];
|
|
6352
|
+
toggle(): void;
|
|
6353
|
+
close(): void;
|
|
6354
|
+
getActionImageUrl(icon: string): string;
|
|
6355
|
+
/** Action de l'écran, exécutée comme depuis le panneau des actions, sur les lignes sélectionnées. */
|
|
6356
|
+
execute(a: Action, disabled: boolean): void;
|
|
6357
|
+
/** Menu de navigation de l'application (panneau de gauche). */
|
|
6358
|
+
openNavigation(): void;
|
|
6359
|
+
goHome(): void;
|
|
6360
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MobileMenuComponent<any>, [null, null, null, {
|
|
6361
|
+
optional: true;
|
|
6362
|
+
}, {
|
|
6363
|
+
optional: true;
|
|
6364
|
+
}]>;
|
|
6365
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MobileMenuComponent<any>, "alg-mobile-menu", never, {
|
|
6366
|
+
"entityKey": {
|
|
6367
|
+
"alias": "entityKey";
|
|
6368
|
+
"required": true;
|
|
6369
|
+
};
|
|
6370
|
+
"guid": {
|
|
6371
|
+
"alias": "guid";
|
|
6372
|
+
"required": false;
|
|
6373
|
+
};
|
|
6374
|
+
"title": {
|
|
6375
|
+
"alias": "title";
|
|
6376
|
+
"required": false;
|
|
6377
|
+
};
|
|
6378
|
+
"inline": {
|
|
6379
|
+
"alias": "inline";
|
|
6380
|
+
"required": false;
|
|
6381
|
+
};
|
|
6382
|
+
}, {}, never, never, false, never>;
|
|
6383
|
+
}
|
|
5378
6384
|
declare namespace filter_summary_component_d_exports {
|
|
5379
6385
|
export { FilterSummaryPanelComponent };
|
|
5380
6386
|
}
|
|
@@ -5511,6 +6517,24 @@ export declare class StandardPageLayoutComponent implements OnInit, OnDestroy {
|
|
|
5511
6517
|
ngOnDestroy(): void;
|
|
5512
6518
|
onBeforeUnload(): void;
|
|
5513
6519
|
ngOnInit(): void;
|
|
6520
|
+
/** Clé de l'entrée d'historique de l'éditeur plein écran. */
|
|
6521
|
+
private static readonly MobileEditorState;
|
|
6522
|
+
private mobileHistoryPushed;
|
|
6523
|
+
/** Modifications en cours dans l'éditeur (disquette affichée, question avant de revenir à la liste). */
|
|
6524
|
+
get editorDirty(): boolean;
|
|
6525
|
+
/** Disquette de l'éditeur plein écran : enregistre les modifications en cours. */
|
|
6526
|
+
saveMobileEditor(event?: Event): void;
|
|
6527
|
+
/**
|
|
6528
|
+
* Flèche de l'éditeur plein écran : retour à la liste. Avec des modifications en cours, la fenêtre
|
|
6529
|
+
* standard demande avant : enregistrer (puis revenir si l'enregistrement a réussi), ne pas
|
|
6530
|
+
* enregistrer, ou continuer à modifier.
|
|
6531
|
+
*/
|
|
6532
|
+
backToList(event?: Event): void;
|
|
6533
|
+
private askSaveBeforeLeaving;
|
|
6534
|
+
/** Retour à la liste, en reprenant l'entrée d'historique de l'éditeur plein écran. */
|
|
6535
|
+
closeMobileEditor(): void;
|
|
6536
|
+
/** Retour du téléphone ou du navigateur : l'éditeur plein écran se referme. */
|
|
6537
|
+
onPopState(): void;
|
|
5514
6538
|
ngAfterViewInit(): void;
|
|
5515
6539
|
toggleLayout(): void;
|
|
5516
6540
|
static ɵfac: i0.ɵɵFactoryDeclaration<StandardPageLayoutComponent, never>;
|
|
@@ -5636,7 +6660,6 @@ declare namespace grid_field_component_d_exports {
|
|
|
5636
6660
|
}
|
|
5637
6661
|
export declare class GridFieldComponent implements OnInit {
|
|
5638
6662
|
validationService: ValidationService;
|
|
5639
|
-
private localeService;
|
|
5640
6663
|
showLabel: boolean;
|
|
5641
6664
|
entity: EntityViewModel;
|
|
5642
6665
|
field: FilterDescriptor;
|
|
@@ -5649,7 +6672,7 @@ export declare class GridFieldComponent implements OnInit {
|
|
|
5649
6672
|
Changes$: import("rxjs").Observable<PropertyEditorEvent>;
|
|
5650
6673
|
horizSelect: any;
|
|
5651
6674
|
filterType: typeof FilterType;
|
|
5652
|
-
bsConfig: Partial<
|
|
6675
|
+
bsConfig: Partial<DatepickerConfig>;
|
|
5653
6676
|
locale: string;
|
|
5654
6677
|
hidePassword: boolean;
|
|
5655
6678
|
showPassword(): void;
|
|
@@ -5659,7 +6682,7 @@ export declare class GridFieldComponent implements OnInit {
|
|
|
5659
6682
|
get isValid(): boolean;
|
|
5660
6683
|
notlog: boolean;
|
|
5661
6684
|
log(propname: string): void;
|
|
5662
|
-
constructor(validationService: ValidationService
|
|
6685
|
+
constructor(validationService: ValidationService);
|
|
5663
6686
|
private internalForm;
|
|
5664
6687
|
get control(): FormControl;
|
|
5665
6688
|
ngOnInit(): void;
|
|
@@ -5747,9 +6770,123 @@ export declare class RowRefDirective implements AfterViewInit, OnDestroy {
|
|
|
5747
6770
|
};
|
|
5748
6771
|
}, {}, never, never, true, never>;
|
|
5749
6772
|
}
|
|
6773
|
+
declare namespace grid_view_menu_component_d_exports {
|
|
6774
|
+
export { GridViewMenuComponent };
|
|
6775
|
+
}
|
|
6776
|
+
/**
|
|
6777
|
+
* Contenu du menu « Affichage » d'une grille, commun au menu de la grille et à la liste des vues de
|
|
6778
|
+
* la barre du bas : vues personnalisées (cochée = affichée, décocher revient à la vue par défaut),
|
|
6779
|
+
* « Nouvelle vue », sous-menu « Colonnes » (colonnes disponibles par ordre alphabétique, cochées si
|
|
6780
|
+
* affichées, recherche par mot-clé) et « Modifier… ».
|
|
6781
|
+
*
|
|
6782
|
+
* Le composant donne des éléments de liste (li) : il se place dans la liste (ul) du menu qui l'ouvre.
|
|
6783
|
+
*/
|
|
6784
|
+
export declare class GridViewMenuComponent implements OnInit {
|
|
6785
|
+
private readonly cd;
|
|
6786
|
+
/** Choix de la vue de la grille (BaseComponent). */
|
|
6787
|
+
chooser: GridViewChooser;
|
|
6788
|
+
/** Action faite : le menu qui contient ce contenu se ferme. */
|
|
6789
|
+
readonly done: EventEmitter<void>;
|
|
6790
|
+
/**
|
|
6791
|
+
* Téléphone : pas de sous-menu « Colonnes » (la liste de cartes n'utilise pas les colonnes de la
|
|
6792
|
+
* vue) ; le sous-menu « Carte » s'ouvre en plein écran, au-dessus du menu, avec un retour.
|
|
6793
|
+
*/
|
|
6794
|
+
mobile: boolean;
|
|
6795
|
+
/** Vues chargées (ou colonnes affichées) : le menu peut se replacer. */
|
|
6796
|
+
readonly loaded: EventEmitter<void>;
|
|
6797
|
+
viewList: GridViewList | undefined;
|
|
6798
|
+
columnsOpen: boolean;
|
|
6799
|
+
columns: GridColumnChoice[] | undefined;
|
|
6800
|
+
search: string;
|
|
6801
|
+
/** Colonne en cours d'ajout ou de retrait. */
|
|
6802
|
+
pendingColumn: string | undefined;
|
|
6803
|
+
constructor(cd: ChangeDetectorRef);
|
|
6804
|
+
ngOnInit(): void;
|
|
6805
|
+
isSelected(id: number): boolean;
|
|
6806
|
+
/** Cocher une vue l'affiche ; décocher la vue affichée revient à la vue par défaut. */
|
|
6807
|
+
toggleView(id: number): void;
|
|
6808
|
+
/** « Nouvelle vue » : copie de la vue affichée, qui devient la vue affichée. */
|
|
6809
|
+
createView(): void;
|
|
6810
|
+
/** « Modifier… » : éditeur des vues personnalisées, sur la vue affichée. */
|
|
6811
|
+
editView(): void;
|
|
6812
|
+
/** Position à l'écran du sous-menu « Colonnes ». */
|
|
6813
|
+
columnsPosition: {
|
|
6814
|
+
[key: string]: string;
|
|
6815
|
+
};
|
|
6816
|
+
/**
|
|
6817
|
+
* Sous-menu « Colonnes », hors du menu : à droite de l'entrée, ou à gauche s'il dépasse de la
|
|
6818
|
+
* fenêtre ; aligné sur l'entrée, remonté s'il dépasse en bas. Les colonnes sont relues à l'ouverture.
|
|
6819
|
+
*/
|
|
6820
|
+
openColumns(event?: Event): void;
|
|
6821
|
+
closeColumns(): void;
|
|
6822
|
+
cardsOpen: boolean;
|
|
6823
|
+
cardsPosition: {
|
|
6824
|
+
[key: string]: string;
|
|
6825
|
+
};
|
|
6826
|
+
cards: {
|
|
6827
|
+
cards: {
|
|
6828
|
+
id: number;
|
|
6829
|
+
label: string;
|
|
6830
|
+
isDefault: boolean;
|
|
6831
|
+
}[];
|
|
6832
|
+
linkedId: number | null;
|
|
6833
|
+
canLink: boolean;
|
|
6834
|
+
} | undefined;
|
|
6835
|
+
/** Sous-menu « Carte », hors du menu, placé comme « Colonnes » ; les cartes sont relues à l'ouverture. */
|
|
6836
|
+
openCards(event?: Event): void;
|
|
6837
|
+
closeCards(): void;
|
|
6838
|
+
/** Coche une carte : elle est liée à la vue Grille affichée (une vue de l'utilisateur). */
|
|
6839
|
+
linkCard(id: number): void;
|
|
6840
|
+
/** « Filtres et tri… » : fenêtre de paramétrage du filtre et du tri. */
|
|
6841
|
+
editFilters(): void;
|
|
6842
|
+
/** « Personnaliser la carte… » : fenêtre de la carte. */
|
|
6843
|
+
editCard(): void;
|
|
6844
|
+
/** Largeur et hauteur maximale du sous-menu « Colonnes ». */
|
|
6845
|
+
private static readonly ColumnsWidth;
|
|
6846
|
+
private static readonly ColumnsHeight;
|
|
6847
|
+
/** Ordre des colonnes affichées, tenu à jour à chaque action (la grille suit). */
|
|
6848
|
+
private visibleOrder;
|
|
6849
|
+
private loadColumns;
|
|
6850
|
+
/** Colonnes dont le libellé ou la clé contient le mot-clé (sans tenir compte de la casse ni des accents). */
|
|
6851
|
+
filteredColumns(): GridColumnChoice[];
|
|
6852
|
+
/** Colonnes affichées, dans l'ordre de la grille. */
|
|
6853
|
+
visibleColumns(): GridColumnChoice[];
|
|
6854
|
+
/** Colonnes non affichées, par ordre alphabétique. */
|
|
6855
|
+
hiddenColumns(): GridColumnChoice[];
|
|
6856
|
+
private matches;
|
|
6857
|
+
/** Colonne déplacée, et emplacement visé (avant ou après une colonne affichée). */
|
|
6858
|
+
dragKey: string | undefined;
|
|
6859
|
+
dropTarget: {
|
|
6860
|
+
key: string;
|
|
6861
|
+
before: boolean;
|
|
6862
|
+
} | undefined;
|
|
6863
|
+
onDragStart(event: DragEvent, column: GridColumnChoice): void;
|
|
6864
|
+
onDragOver(event: DragEvent, column: GridColumnChoice): void;
|
|
6865
|
+
onDrop(event: DragEvent): void;
|
|
6866
|
+
onDragEnd(): void;
|
|
6867
|
+
/** Déplace une colonne affichée avant ou après une autre : la grille suit aussitôt. */
|
|
6868
|
+
moveColumn(key: string, targetKey: string, before: boolean): void;
|
|
6869
|
+
/** Cocher une colonne l'ajoute à la vue affichée, la décocher la retire. */
|
|
6870
|
+
toggleColumn(column: GridColumnChoice): void;
|
|
6871
|
+
private static normalize;
|
|
6872
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GridViewMenuComponent, never>;
|
|
6873
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GridViewMenuComponent, "alg-grid-view-menu", never, {
|
|
6874
|
+
"chooser": {
|
|
6875
|
+
"alias": "chooser";
|
|
6876
|
+
"required": true;
|
|
6877
|
+
};
|
|
6878
|
+
"mobile": {
|
|
6879
|
+
"alias": "mobile";
|
|
6880
|
+
"required": false;
|
|
6881
|
+
};
|
|
6882
|
+
}, {
|
|
6883
|
+
"done": "done";
|
|
6884
|
+
"loaded": "loaded";
|
|
6885
|
+
}, never, never, true, never>;
|
|
6886
|
+
}
|
|
5750
6887
|
export declare class CoreUxModule {
|
|
5751
6888
|
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
|
|
6889
|
+
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
6890
|
static ɵinj: i0.ɵɵInjectorDeclaration<CoreUxModule>;
|
|
5754
6891
|
}
|
|
5755
6892
|
export declare class CanDeactivateGuard {
|
|
@@ -5767,6 +6904,136 @@ export declare class FireAuthService {
|
|
|
5767
6904
|
static ɵfac: i0.ɵɵFactoryDeclaration<FireAuthService, never>;
|
|
5768
6905
|
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
5769
6906
|
}
|
|
6907
|
+
/** Jour affiché dans la grille du mois. */
|
|
6908
|
+
interface CalendarDay {
|
|
6909
|
+
date: Date;
|
|
6910
|
+
day: number;
|
|
6911
|
+
inMonth: boolean;
|
|
6912
|
+
isToday: boolean;
|
|
6913
|
+
isSelected: boolean;
|
|
6914
|
+
isDisabled: boolean;
|
|
6915
|
+
}
|
|
6916
|
+
/** Vue du calendrier : jours d'un mois, mois d'une année, ou années d'une période de 16 ans. */
|
|
6917
|
+
type CalendarView = 'days' | 'months' | 'years';
|
|
6918
|
+
/**
|
|
6919
|
+
* Calendrier du package (remplace celui de ngx-bootstrap) : grille du mois commençant le lundi,
|
|
6920
|
+
* en français ; un clic sur le titre passe aux mois de l'année, puis aux années ; boutons
|
|
6921
|
+
* « Aujourd'hui » et « Effacer » au choix. Émet le jour choisi, à minuit en heure locale, ou null.
|
|
6922
|
+
*/
|
|
6923
|
+
export declare class CalendarComponent implements OnInit {
|
|
6924
|
+
/** Jour choisi, mis en évidence ; le calendrier s'ouvre sur son mois. */
|
|
6925
|
+
value: Date | null;
|
|
6926
|
+
minDate: Date | null | undefined;
|
|
6927
|
+
maxDate: Date | null | undefined;
|
|
6928
|
+
showTodayButton: boolean;
|
|
6929
|
+
showClearButton: boolean;
|
|
6930
|
+
todayButtonLabel: string;
|
|
6931
|
+
clearButtonLabel: string;
|
|
6932
|
+
/** Numéro de semaine (ISO 8601) devant chaque semaine. */
|
|
6933
|
+
showWeekNumbers: boolean;
|
|
6934
|
+
/** Jour choisi (null : effacé). */
|
|
6935
|
+
readonly dateSelected: EventEmitter<Date>;
|
|
6936
|
+
readonly weekDays: string[];
|
|
6937
|
+
readonly monthsShort: string[];
|
|
6938
|
+
view: CalendarView;
|
|
6939
|
+
/** Mois affiché (premier jour). */
|
|
6940
|
+
visibleMonth: Date;
|
|
6941
|
+
weeks: {
|
|
6942
|
+
number: number;
|
|
6943
|
+
days: CalendarDay[];
|
|
6944
|
+
}[];
|
|
6945
|
+
years: number[];
|
|
6946
|
+
ngOnInit(): void;
|
|
6947
|
+
get title(): string;
|
|
6948
|
+
/** Titre cliqué : jours → mois → années. */
|
|
6949
|
+
zoomOut(): void;
|
|
6950
|
+
previous(): void;
|
|
6951
|
+
next(): void;
|
|
6952
|
+
private shift;
|
|
6953
|
+
selectDay(day: CalendarDay): void;
|
|
6954
|
+
selectMonth(month: number): void;
|
|
6955
|
+
selectYear(year: number): void;
|
|
6956
|
+
today(): void;
|
|
6957
|
+
clear(): void;
|
|
6958
|
+
isCurrentMonth(month: number): boolean;
|
|
6959
|
+
isCurrentYear(year: number): boolean;
|
|
6960
|
+
private build;
|
|
6961
|
+
private static firstOfMonth;
|
|
6962
|
+
private static startOfDay;
|
|
6963
|
+
private static sameDay;
|
|
6964
|
+
/** Numéro de semaine ISO 8601 du lundi donné. */
|
|
6965
|
+
static isoWeek(monday: Date): number;
|
|
6966
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CalendarComponent, never>;
|
|
6967
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CalendarComponent, "alg-calendar", never, {
|
|
6968
|
+
"value": {
|
|
6969
|
+
"alias": "value";
|
|
6970
|
+
"required": false;
|
|
6971
|
+
};
|
|
6972
|
+
"minDate": {
|
|
6973
|
+
"alias": "minDate";
|
|
6974
|
+
"required": false;
|
|
6975
|
+
};
|
|
6976
|
+
"maxDate": {
|
|
6977
|
+
"alias": "maxDate";
|
|
6978
|
+
"required": false;
|
|
6979
|
+
};
|
|
6980
|
+
"showTodayButton": {
|
|
6981
|
+
"alias": "showTodayButton";
|
|
6982
|
+
"required": false;
|
|
6983
|
+
};
|
|
6984
|
+
"showClearButton": {
|
|
6985
|
+
"alias": "showClearButton";
|
|
6986
|
+
"required": false;
|
|
6987
|
+
};
|
|
6988
|
+
"todayButtonLabel": {
|
|
6989
|
+
"alias": "todayButtonLabel";
|
|
6990
|
+
"required": false;
|
|
6991
|
+
};
|
|
6992
|
+
"clearButtonLabel": {
|
|
6993
|
+
"alias": "clearButtonLabel";
|
|
6994
|
+
"required": false;
|
|
6995
|
+
};
|
|
6996
|
+
"showWeekNumbers": {
|
|
6997
|
+
"alias": "showWeekNumbers";
|
|
6998
|
+
"required": false;
|
|
6999
|
+
};
|
|
7000
|
+
}, {
|
|
7001
|
+
"dateSelected": "dateSelected";
|
|
7002
|
+
}, never, never, true, never>;
|
|
7003
|
+
}
|
|
7004
|
+
/** Table d'une grille et, le cas échéant, source de données ou rôle de ses vues. */
|
|
7005
|
+
export interface PpGridConfig {
|
|
7006
|
+
metaEntityKey: string;
|
|
7007
|
+
supplierId?: number | null;
|
|
7008
|
+
roleId?: number | null;
|
|
7009
|
+
}
|
|
7010
|
+
/** Vue Carte d'une grille : ses colonnes, avec leur emplacement dans la carte. */
|
|
7011
|
+
export interface PpCardView {
|
|
7012
|
+
id: number | null;
|
|
7013
|
+
label: string;
|
|
7014
|
+
/** Colonnes : clé, emplacement (0 titre, 1 texte, 2 détail, 3 badge, 4 image), source (3 : image de l'élément). */
|
|
7015
|
+
items: {
|
|
7016
|
+
key: string;
|
|
7017
|
+
slot: number;
|
|
7018
|
+
sourceType: number;
|
|
7019
|
+
}[];
|
|
7020
|
+
}
|
|
7021
|
+
/** Vues Carte proposées pour la grille : la vue Carte liée à la vue Grille affichée est cochée. */
|
|
7022
|
+
export interface PpCardViews {
|
|
7023
|
+
cards: {
|
|
7024
|
+
id: number;
|
|
7025
|
+
label: string;
|
|
7026
|
+
isDefault: boolean;
|
|
7027
|
+
}[];
|
|
7028
|
+
linkedId: number | null;
|
|
7029
|
+
/** La vue Grille affichée est une vue de l'utilisateur : sa carte peut changer. */
|
|
7030
|
+
canLink: boolean;
|
|
7031
|
+
}
|
|
7032
|
+
/** Tri et filtre enregistrés avec une vue, en JSON ; chaîne vide : aucun. */
|
|
7033
|
+
export interface PpViewQueries {
|
|
7034
|
+
sortQuery: string;
|
|
7035
|
+
filterQuery: string;
|
|
7036
|
+
}
|
|
5770
7037
|
export interface IPpService {
|
|
5771
7038
|
/** Opens the column selector modal for Grid purpose. */
|
|
5772
7039
|
openColumnSelector(config: {
|
|
@@ -5774,7 +7041,69 @@ export interface IPpService {
|
|
|
5774
7041
|
metaEntityKey: string;
|
|
5775
7042
|
supplierId?: number | null;
|
|
5776
7043
|
roleId?: number | null;
|
|
7044
|
+
viewId?: number | null;
|
|
7045
|
+
tab?: 'columns' | 'filters';
|
|
7046
|
+
filterColumns?: {
|
|
7047
|
+
key: string;
|
|
7048
|
+
label: string;
|
|
7049
|
+
type: string;
|
|
7050
|
+
values?: {
|
|
7051
|
+
value: string;
|
|
7052
|
+
label: string;
|
|
7053
|
+
}[];
|
|
7054
|
+
}[];
|
|
5777
7055
|
}): void;
|
|
7056
|
+
/**
|
|
7057
|
+
* Ouvre l'éditeur des vues personnalisées (écran des vues, filtré sur la table de la grille et
|
|
7058
|
+
* positionné sur la vue donnée), dans une fenêtre ; émet à la fermeture de la fenêtre.
|
|
7059
|
+
*/
|
|
7060
|
+
openProfileEditor(config: {
|
|
7061
|
+
title: string;
|
|
7062
|
+
metaEntityKey: string;
|
|
7063
|
+
viewId?: number | null;
|
|
7064
|
+
}): Observable<unknown>;
|
|
7065
|
+
/** Vues personnalisées proposées à l'utilisateur pour la table (menu « Affichage » des grilles). */
|
|
7066
|
+
loadViews(config: PpGridConfig): Observable<GridViewList>;
|
|
7067
|
+
/** Choisit la vue affichée par la grille de l'utilisateur ; null revient à la vue par défaut. */
|
|
7068
|
+
selectView(config: PpGridConfig, viewId: number | null): Observable<unknown>;
|
|
7069
|
+
/**
|
|
7070
|
+
* Vue modifiée dans la grille (colonnes déplacées, ajoutées ou retirées), à l'abandon de l'écran :
|
|
7071
|
+
* propose d'enregistrer les colonnes données, dans leur ordre, dans une nouvelle vue (vue par
|
|
7072
|
+
* défaut affichée) ou dans la vue de l'utilisateur.
|
|
7073
|
+
*/
|
|
7074
|
+
saveColumnOrder(config: PpGridConfig & {
|
|
7075
|
+
title: string;
|
|
7076
|
+
}, columnOrder: string[], queries?: PpViewQueries): void;
|
|
7077
|
+
/**
|
|
7078
|
+
* Bouton d'enregistrement de la barre du bas de la grille : enregistre les colonnes données dans la
|
|
7079
|
+
* vue de l'utilisateur affichée, sans demander ; la vue par défaut affichée, elle, demande le nom
|
|
7080
|
+
* de la nouvelle vue. Émet true une fois l'ordre enregistré (la vue enregistrée devient la vue
|
|
7081
|
+
* affichée), false sinon.
|
|
7082
|
+
*/
|
|
7083
|
+
saveCurrentColumnOrder(config: PpGridConfig & {
|
|
7084
|
+
title: string;
|
|
7085
|
+
}, columnOrder: string[], queries?: PpViewQueries): Observable<boolean>;
|
|
7086
|
+
/** « Nouvelle vue » : copie la vue affichée en une nouvelle vue de l'utilisateur, qui devient la vue affichée. */
|
|
7087
|
+
createView(config: PpGridConfig): Observable<boolean>;
|
|
7088
|
+
/**
|
|
7089
|
+
* Vue Carte de la vue Grille affichée (à défaut la vue Carte par défaut) : colonne de chaque
|
|
7090
|
+
* emplacement (clé, emplacement EnumCardSlots, source), ou null si la table n'en a pas.
|
|
7091
|
+
*/
|
|
7092
|
+
loadCardView(config: PpGridConfig): Observable<PpCardView | null>;
|
|
7093
|
+
/** Vues Carte proposées pour la grille, avec celle liée à la vue Grille affichée. */
|
|
7094
|
+
loadCardViews(config: PpGridConfig): Observable<PpCardViews>;
|
|
7095
|
+
/** Lie la vue Grille affichée (une vue de l'utilisateur) à la vue Carte donnée ; émet true une fois liée. */
|
|
7096
|
+
linkCardView(config: PpGridConfig, cardId: number | null): Observable<boolean>;
|
|
7097
|
+
/**
|
|
7098
|
+
* Personnalisation de la carte (fenêtre standard) : la carte de l'utilisateur est modifiée, une
|
|
7099
|
+
* carte par défaut donne une nouvelle carte, liée à la vue Grille affichée ; émet true une fois
|
|
7100
|
+
* enregistrée.
|
|
7101
|
+
*/
|
|
7102
|
+
editCardView(config: PpGridConfig & {
|
|
7103
|
+
title: string;
|
|
7104
|
+
}): Observable<boolean>;
|
|
7105
|
+
/** Colonnes disponibles de la table (catalogue, attributs compris), avec celles de la vue affichée. */
|
|
7106
|
+
loadViewColumns(config: PpGridConfig): Observable<GridColumnChoice[]>;
|
|
5778
7107
|
/** Opens the column selector modal for Export purpose. */
|
|
5779
7108
|
openExportSelector(config: {
|
|
5780
7109
|
title: string;
|
|
@@ -6192,7 +7521,6 @@ export declare class ChangeUtilities {
|
|
|
6192
7521
|
static deepComparer(current: any, original: any, depth?: number, maxDepth?: number): boolean;
|
|
6193
7522
|
private static compareArrays;
|
|
6194
7523
|
private static compareDates;
|
|
6195
|
-
private static toMomentDate;
|
|
6196
7524
|
private static isObject;
|
|
6197
7525
|
private static isDate;
|
|
6198
7526
|
private static isBoolean;
|
|
@@ -6311,11 +7639,110 @@ export declare class OrderableModalComponent<T extends OrderableItem> implements
|
|
|
6311
7639
|
}
|
|
6312
7640
|
export declare class OrderableModalService {
|
|
6313
7641
|
private readonly modalService;
|
|
6314
|
-
open<T extends OrderableItem>(config: OrderableModalConfig<T>, options?:
|
|
7642
|
+
open<T extends OrderableItem>(config: OrderableModalConfig<T>, options?: DflatModalOptions): Promise<OrderableModalResult<T> | null>;
|
|
6315
7643
|
private buildBsConfig;
|
|
6316
7644
|
private wireResultEmitter;
|
|
6317
7645
|
static ɵfac: i0.ɵɵFactoryDeclaration<OrderableModalService, never>;
|
|
6318
7646
|
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
6319
7647
|
}
|
|
7648
|
+
/** Type d'une colonne pour les comparaisons proposées. */
|
|
7649
|
+
export type FilterColumnType = 'text' | 'number' | 'date' | 'bool' | 'list';
|
|
7650
|
+
/** Colonne proposée par la fenêtre « Filtres et tri ». */
|
|
7651
|
+
export interface FilterEditorColumn {
|
|
7652
|
+
key: string;
|
|
7653
|
+
label: string;
|
|
7654
|
+
type: FilterColumnType;
|
|
7655
|
+
/** Valeurs d'une liste (type énuméré) : valeur envoyée et libellé. */
|
|
7656
|
+
values?: {
|
|
7657
|
+
value: string;
|
|
7658
|
+
label: string;
|
|
7659
|
+
}[];
|
|
7660
|
+
}
|
|
7661
|
+
/** Niveau du tri. */
|
|
7662
|
+
export interface FilterEditorSort {
|
|
7663
|
+
property: string;
|
|
7664
|
+
direction: 'asc' | 'desc';
|
|
7665
|
+
}
|
|
7666
|
+
/** Résultat de la fenêtre : filtre, tri, et enregistrement dans la vue. */
|
|
7667
|
+
export interface FilterEditorResult {
|
|
7668
|
+
filter: ViewFilterGroup;
|
|
7669
|
+
sort: FilterEditorSort[];
|
|
7670
|
+
saveInView: boolean;
|
|
7671
|
+
}
|
|
7672
|
+
/** Comparaisons proposées selon le type de la colonne. */
|
|
7673
|
+
export declare const FilterOperators: Record<FilterColumnType, {
|
|
7674
|
+
value: ViewFilterOperator;
|
|
7675
|
+
label: string;
|
|
7676
|
+
}[]>;
|
|
7677
|
+
/**
|
|
7678
|
+
* Fenêtre « Filtres et tri » d'une grille (contenu de la fenêtre standard, DialogComponent) :
|
|
7679
|
+
* filtre en groupes ET / OU imbriqués, comparaisons selon le type de la colonne, et tri sur plusieurs
|
|
7680
|
+
* niveaux ; « Enregistrer dans la vue » enregistre le filtre et le tri dans la vue personnalisée. Le
|
|
7681
|
+
* résultat est lu par propertyCallback (« result »). Sert aussi sur téléphone, en plein écran.
|
|
7682
|
+
*/
|
|
7683
|
+
export declare class FilterEditorComponent {
|
|
7684
|
+
/** Colonnes proposées (celles de la grille), par ordre alphabétique. */
|
|
7685
|
+
columns: FilterEditorColumn[];
|
|
7686
|
+
/** Filtre en cours (groupe racine), modifié en place. */
|
|
7687
|
+
filter: ViewFilterGroup;
|
|
7688
|
+
/** Niveaux du tri, modifiés en place. */
|
|
7689
|
+
sort: FilterEditorSort[];
|
|
7690
|
+
/** Intégré à l'éditeur des vues : pas de case « Enregistrer dans la vue » (« Appliquer » enregistre la vue). */
|
|
7691
|
+
embedded: boolean;
|
|
7692
|
+
/** Vue où enregistrer ; la case est grisée sans vue modifiable. */
|
|
7693
|
+
viewLabel: string;
|
|
7694
|
+
canSaveInView: boolean;
|
|
7695
|
+
saveInView: boolean;
|
|
7696
|
+
tab: 'filters' | 'sort';
|
|
7697
|
+
/** Profondeur maximale des groupes imbriqués proposée. */
|
|
7698
|
+
readonly maxDepth = 3;
|
|
7699
|
+
get result(): FilterEditorResult;
|
|
7700
|
+
columnOf(key: string): FilterEditorColumn | undefined;
|
|
7701
|
+
operatorsOf(condition: ViewFilterCondition): {
|
|
7702
|
+
value: ViewFilterOperator;
|
|
7703
|
+
label: string;
|
|
7704
|
+
}[];
|
|
7705
|
+
hasValue(condition: ViewFilterCondition): boolean;
|
|
7706
|
+
hasSecondValue(condition: ViewFilterCondition): boolean;
|
|
7707
|
+
isList(condition: ViewFilterCondition): boolean;
|
|
7708
|
+
inputType(condition: ViewFilterCondition): string;
|
|
7709
|
+
/** Colonne changée : première comparaison de son type, valeur effacée. */
|
|
7710
|
+
onColumnChange(condition: ViewFilterCondition): void;
|
|
7711
|
+
onOperatorChange(condition: ViewFilterCondition): void;
|
|
7712
|
+
toggleValue(condition: ViewFilterCondition, value: string): void;
|
|
7713
|
+
setLogic(group: ViewFilterGroup, logic: 'and' | 'or'): void;
|
|
7714
|
+
addCondition(group: ViewFilterGroup): void;
|
|
7715
|
+
removeCondition(group: ViewFilterGroup, index: number): void;
|
|
7716
|
+
/** Groupe imbriqué, relié à l'inverse de son parent (un ET dans un OU, un OU dans un ET). */
|
|
7717
|
+
addGroup(group: ViewFilterGroup): void;
|
|
7718
|
+
removeGroup(parent: ViewFilterGroup, index: number): void;
|
|
7719
|
+
/** Efface le filtre et le tri, en place (l'éditeur des vues garde les mêmes objets). */
|
|
7720
|
+
clear(): void;
|
|
7721
|
+
addSort(): void;
|
|
7722
|
+
removeSort(index: number): void;
|
|
7723
|
+
moveSort(index: number, offset: number): void;
|
|
7724
|
+
/** Résumé lisible du filtre (« Libellé contient « a » ET (… OU …) »). */
|
|
7725
|
+
summary(group?: ViewFilterGroup): string;
|
|
7726
|
+
trackIndex: (index: number) => number;
|
|
7727
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FilterEditorComponent, never>;
|
|
7728
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FilterEditorComponent, "alg-filter-editor", never, {
|
|
7729
|
+
"columns": {
|
|
7730
|
+
"alias": "columns";
|
|
7731
|
+
"required": false;
|
|
7732
|
+
};
|
|
7733
|
+
"filter": {
|
|
7734
|
+
"alias": "filter";
|
|
7735
|
+
"required": false;
|
|
7736
|
+
};
|
|
7737
|
+
"sort": {
|
|
7738
|
+
"alias": "sort";
|
|
7739
|
+
"required": false;
|
|
7740
|
+
};
|
|
7741
|
+
"embedded": {
|
|
7742
|
+
"alias": "embedded";
|
|
7743
|
+
"required": false;
|
|
7744
|
+
};
|
|
7745
|
+
}, {}, never, never, true, never>;
|
|
7746
|
+
}
|
|
6320
7747
|
export declare const EXTENDED_ACTION_COMPONENT: InjectionToken<Type<unknown>>;
|
|
6321
7748
|
export declare const TRACK_RECORD_MODAL_COMPONENT: InjectionToken<Type<unknown>>;
|