| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254 | 
							- /**
 
-  * --------------------------------------------
 
-  * AdminLTE CardWidget.js
 
-  * License MIT
 
-  * --------------------------------------------
 
-  */
 
- const CardWidget = ($ => {
 
-   /**
 
-    * Constants
 
-    * ====================================================
 
-    */
 
-   const NAME = 'CardWidget'
 
-   const DATA_KEY = 'lte.cardwidget'
 
-   const EVENT_KEY = `.${DATA_KEY}`
 
-   const JQUERY_NO_CONFLICT = $.fn[NAME]
 
-   const Event = {
 
-     EXPANDED: `expanded${EVENT_KEY}`,
 
-     COLLAPSED: `collapsed${EVENT_KEY}`,
 
-     MAXIMIZED: `maximized${EVENT_KEY}`,
 
-     MINIMIZED: `minimized${EVENT_KEY}`,
 
-     REMOVED: `removed${EVENT_KEY}`
 
-   }
 
-   const ClassName = {
 
-     CARD: 'card',
 
-     COLLAPSED: 'collapsed-card',
 
-     COLLAPSING: 'collapsing-card',
 
-     EXPANDING: 'expanding-card',
 
-     WAS_COLLAPSED: 'was-collapsed',
 
-     MAXIMIZED: 'maximized-card'
 
-   }
 
-   const Selector = {
 
-     DATA_REMOVE: '[data-card-widget="remove"]',
 
-     DATA_COLLAPSE: '[data-card-widget="collapse"]',
 
-     DATA_MAXIMIZE: '[data-card-widget="maximize"]',
 
-     CARD: `.${ClassName.CARD}`,
 
-     CARD_HEADER: '.card-header',
 
-     CARD_BODY: '.card-body',
 
-     CARD_FOOTER: '.card-footer'
 
-   }
 
-   const Default = {
 
-     animationSpeed: 'normal',
 
-     collapseTrigger: Selector.DATA_COLLAPSE,
 
-     removeTrigger: Selector.DATA_REMOVE,
 
-     maximizeTrigger: Selector.DATA_MAXIMIZE,
 
-     collapseIcon: 'fa-minus',
 
-     expandIcon: 'fa-plus',
 
-     maximizeIcon: 'fa-expand',
 
-     minimizeIcon: 'fa-compress'
 
-   }
 
-   class CardWidget {
 
-     constructor(element, settings) {
 
-       this._element = element
 
-       this._parent = element.parents(Selector.CARD).first()
 
-       if (element.hasClass(ClassName.CARD)) {
 
-         this._parent = element
 
-       }
 
-       this._settings = $.extend({}, Default, settings)
 
-     }
 
-     collapse() {
 
-       this._parent.addClass(ClassName.COLLAPSING).children(`${Selector.CARD_BODY}, ${Selector.CARD_FOOTER}`)
 
-         .slideUp(this._settings.animationSpeed, () => {
 
-           this._parent.addClass(ClassName.COLLAPSED).removeClass(ClassName.COLLAPSING)
 
-         })
 
-       this._parent.find('> ' + Selector.CARD_HEADER + ' ' + this._settings.collapseTrigger + ' .' + this._settings.collapseIcon)
 
-         .addClass(this._settings.expandIcon)
 
-         .removeClass(this._settings.collapseIcon)
 
-       const collapsed = $.Event(Event.COLLAPSED)
 
-       this._element.trigger(collapsed, this._parent)
 
-     }
 
-     expand() {
 
-       this._parent.addClass(ClassName.EXPANDING).children(`${Selector.CARD_BODY}, ${Selector.CARD_FOOTER}`)
 
-         .slideDown(this._settings.animationSpeed, () => {
 
-           this._parent.removeClass(ClassName.COLLAPSED).removeClass(ClassName.EXPANDING)
 
-         })
 
-       this._parent.find('> ' + Selector.CARD_HEADER + ' ' + this._settings.collapseTrigger + ' .' + this._settings.expandIcon)
 
-         .addClass(this._settings.collapseIcon)
 
-         .removeClass(this._settings.expandIcon)
 
-       const expanded = $.Event(Event.EXPANDED)
 
-       this._element.trigger(expanded, this._parent)
 
-     }
 
-     remove() {
 
-       this._parent.slideUp()
 
-       const removed = $.Event(Event.REMOVED)
 
-       this._element.trigger(removed, this._parent)
 
-     }
 
-     toggle() {
 
-       if (this._parent.hasClass(ClassName.COLLAPSED)) {
 
-         this.expand()
 
-         return
 
-       }
 
-       this.collapse()
 
-     }
 
-     maximize() {
 
-       this._parent.find(this._settings.maximizeTrigger + ' .' + this._settings.maximizeIcon)
 
-         .addClass(this._settings.minimizeIcon)
 
-         .removeClass(this._settings.maximizeIcon)
 
-       this._parent.css({
 
-         height: this._parent.height(),
 
-         width: this._parent.width(),
 
-         transition: 'all .15s'
 
-       }).delay(150).queue(function () {
 
-         $(this).addClass(ClassName.MAXIMIZED)
 
-         $('html').addClass(ClassName.MAXIMIZED)
 
-         if ($(this).hasClass(ClassName.COLLAPSED)) {
 
-           $(this).addClass(ClassName.WAS_COLLAPSED)
 
-         }
 
-         $(this).dequeue()
 
-       })
 
-       const maximized = $.Event(Event.MAXIMIZED)
 
-       this._element.trigger(maximized, this._parent)
 
-     }
 
-     minimize() {
 
-       this._parent.find(this._settings.maximizeTrigger + ' .' + this._settings.minimizeIcon)
 
-         .addClass(this._settings.maximizeIcon)
 
-         .removeClass(this._settings.minimizeIcon)
 
-       this._parent.css('cssText', 'height:' + this._parent[0].style.height + ' !important;' +
 
-         'width:' + this._parent[0].style.width + ' !important; transition: all .15s;'
 
-       ).delay(10).queue(function () {
 
-         $(this).removeClass(ClassName.MAXIMIZED)
 
-         $('html').removeClass(ClassName.MAXIMIZED)
 
-         $(this).css({
 
-           height: 'inherit',
 
-           width: 'inherit'
 
-         })
 
-         if ($(this).hasClass(ClassName.WAS_COLLAPSED)) {
 
-           $(this).removeClass(ClassName.WAS_COLLAPSED)
 
-         }
 
-         $(this).dequeue()
 
-       })
 
-       const MINIMIZED = $.Event(Event.MINIMIZED)
 
-       this._element.trigger(MINIMIZED, this._parent)
 
-     }
 
-     toggleMaximize() {
 
-       if (this._parent.hasClass(ClassName.MAXIMIZED)) {
 
-         this.minimize()
 
-         return
 
-       }
 
-       this.maximize()
 
-     }
 
-     // Private
 
-     _init(card) {
 
-       this._parent = card
 
-       $(this).find(this._settings.collapseTrigger).click(() => {
 
-         this.toggle()
 
-       })
 
-       $(this).find(this._settings.maximizeTrigger).click(() => {
 
-         this.toggleMaximize()
 
-       })
 
-       $(this).find(this._settings.removeTrigger).click(() => {
 
-         this.remove()
 
-       })
 
-     }
 
-     // Static
 
-     static _jQueryInterface(config) {
 
-       let data = $(this).data(DATA_KEY)
 
-       const _options = $.extend({}, Default, $(this).data())
 
-       if (!data) {
 
-         data = new CardWidget($(this), _options)
 
-         $(this).data(DATA_KEY, typeof config === 'string' ? data : config)
 
-       }
 
-       if (typeof config === 'string' && config.match(/collapse|expand|remove|toggle|maximize|minimize|toggleMaximize/)) {
 
-         data[config]()
 
-       } else if (typeof config === 'object') {
 
-         data._init($(this))
 
-       }
 
-     }
 
-   }
 
-   /**
 
-    * Data API
 
-    * ====================================================
 
-    */
 
-   $(document).on('click', Selector.DATA_COLLAPSE, function (event) {
 
-     if (event) {
 
-       event.preventDefault()
 
-     }
 
-     CardWidget._jQueryInterface.call($(this), 'toggle')
 
-   })
 
-   $(document).on('click', Selector.DATA_REMOVE, function (event) {
 
-     if (event) {
 
-       event.preventDefault()
 
-     }
 
-     CardWidget._jQueryInterface.call($(this), 'remove')
 
-   })
 
-   $(document).on('click', Selector.DATA_MAXIMIZE, function (event) {
 
-     if (event) {
 
-       event.preventDefault()
 
-     }
 
-     CardWidget._jQueryInterface.call($(this), 'toggleMaximize')
 
-   })
 
-   /**
 
-    * jQuery API
 
-    * ====================================================
 
-    */
 
-   $.fn[NAME] = CardWidget._jQueryInterface
 
-   $.fn[NAME].Constructor = CardWidget
 
-   $.fn[NAME].noConflict = function () {
 
-     $.fn[NAME] = JQUERY_NO_CONFLICT
 
-     return CardWidget._jQueryInterface
 
-   }
 
-   return CardWidget
 
- })(jQuery)
 
- export default CardWidget
 
 
  |