├── README.md ├── doc ├── 1.png ├── 2.png ├── 3.png ├── gc-roots.png ├── gc.png └── jmx.png ├── pom.xml └── src ├── main ├── java │ └── cn │ │ └── tycoding │ │ ├── MonitorApplication.java │ │ ├── controller │ │ ├── BaseDataController.java │ │ └── RouterController.java │ │ ├── entity │ │ ├── ClassLoaderBean.java │ │ ├── CompilationBean.java │ │ ├── GarbageCollectorBean.java │ │ ├── MemoryBean.java │ │ ├── MemoryPoolBean.java │ │ ├── RuntimeBean.java │ │ ├── SystemBean.java │ │ └── ThreadBean.java │ │ ├── service │ │ ├── ClassLoaderService.java │ │ ├── CompilationService.java │ │ ├── GarbageCollectorService.java │ │ ├── MemoryService.java │ │ ├── RuntimeInfoService.java │ │ ├── SystemInfoService.java │ │ ├── ThreadInfoService.java │ │ └── impl │ │ │ ├── ClassLoaderServiceImpl.java │ │ │ ├── CompilationServiceImpl.java │ │ │ ├── GarbageCollectorServiceImpl.java │ │ │ ├── MemoryServiceImpl.java │ │ │ ├── RuntimeInfoServiceImpl.java │ │ │ ├── SystemInfoServiceImpl.java │ │ │ └── ThreadInfoServiceImpl.java │ │ └── utils │ │ ├── JSONTemplate.java │ │ └── ResultCode.java └── resources │ ├── application.yml │ ├── static │ ├── author.jpg │ ├── css │ │ └── base.css │ ├── js │ │ ├── common │ │ │ └── api.js │ │ ├── index.js │ │ └── jvm │ │ │ ├── class.js │ │ │ ├── gc.js │ │ │ ├── memory.js │ │ │ ├── overview.js │ │ │ └── thread.js │ └── lib │ │ ├── element-ui │ │ ├── lib │ │ │ ├── alert.js │ │ │ ├── aside.js │ │ │ ├── autocomplete.js │ │ │ ├── badge.js │ │ │ ├── breadcrumb-item.js │ │ │ ├── breadcrumb.js │ │ │ ├── button-group.js │ │ │ ├── button.js │ │ │ ├── calendar.js │ │ │ ├── card.js │ │ │ ├── carousel-item.js │ │ │ ├── carousel.js │ │ │ ├── cascader.js │ │ │ ├── checkbox-button.js │ │ │ ├── checkbox-group.js │ │ │ ├── checkbox.js │ │ │ ├── col.js │ │ │ ├── collapse-item.js │ │ │ ├── collapse.js │ │ │ ├── color-picker.js │ │ │ ├── container.js │ │ │ ├── date-picker.js │ │ │ ├── dialog.js │ │ │ ├── directives │ │ │ │ ├── mousewheel.js │ │ │ │ └── repeat-click.js │ │ │ ├── divider.js │ │ │ ├── dropdown-item.js │ │ │ ├── dropdown-menu.js │ │ │ ├── dropdown.js │ │ │ ├── element-ui.common.js │ │ │ ├── footer.js │ │ │ ├── form-item.js │ │ │ ├── form.js │ │ │ ├── header.js │ │ │ ├── icon.js │ │ │ ├── image.js │ │ │ ├── index.js │ │ │ ├── input-number.js │ │ │ ├── input.js │ │ │ ├── link.js │ │ │ ├── loading.js │ │ │ ├── locale │ │ │ │ ├── format.js │ │ │ │ ├── index.js │ │ │ │ └── lang │ │ │ │ │ ├── af-ZA.js │ │ │ │ │ ├── ar.js │ │ │ │ │ ├── bg.js │ │ │ │ │ ├── ca.js │ │ │ │ │ ├── cs-CZ.js │ │ │ │ │ ├── da.js │ │ │ │ │ ├── de.js │ │ │ │ │ ├── ee.js │ │ │ │ │ ├── el.js │ │ │ │ │ ├── en.js │ │ │ │ │ ├── es.js │ │ │ │ │ ├── eu.js │ │ │ │ │ ├── fa.js │ │ │ │ │ ├── fi.js │ │ │ │ │ ├── fr.js │ │ │ │ │ ├── he.js │ │ │ │ │ ├── hr.js │ │ │ │ │ ├── hu.js │ │ │ │ │ ├── hy-AM.js │ │ │ │ │ ├── id.js │ │ │ │ │ ├── it.js │ │ │ │ │ ├── ja.js │ │ │ │ │ ├── kg.js │ │ │ │ │ ├── km.js │ │ │ │ │ ├── ko.js │ │ │ │ │ ├── ku.js │ │ │ │ │ ├── kz.js │ │ │ │ │ ├── lt.js │ │ │ │ │ ├── lv.js │ │ │ │ │ ├── mn.js │ │ │ │ │ ├── nb-NO.js │ │ │ │ │ ├── nl.js │ │ │ │ │ ├── pl.js │ │ │ │ │ ├── pt-br.js │ │ │ │ │ ├── pt.js │ │ │ │ │ ├── ro.js │ │ │ │ │ ├── ru-RU.js │ │ │ │ │ ├── sk.js │ │ │ │ │ ├── sl.js │ │ │ │ │ ├── sr.js │ │ │ │ │ ├── sv-SE.js │ │ │ │ │ ├── ta.js │ │ │ │ │ ├── th.js │ │ │ │ │ ├── tk.js │ │ │ │ │ ├── tr-TR.js │ │ │ │ │ ├── ua.js │ │ │ │ │ ├── ug-CN.js │ │ │ │ │ ├── vi.js │ │ │ │ │ ├── zh-CN.js │ │ │ │ │ └── zh-TW.js │ │ │ ├── main.js │ │ │ ├── menu-item-group.js │ │ │ ├── menu-item.js │ │ │ ├── menu.js │ │ │ ├── message-box.js │ │ │ ├── message.js │ │ │ ├── mixins │ │ │ │ ├── emitter.js │ │ │ │ ├── focus.js │ │ │ │ ├── locale.js │ │ │ │ └── migrating.js │ │ │ ├── notification.js │ │ │ ├── option-group.js │ │ │ ├── option.js │ │ │ ├── pagination.js │ │ │ ├── popover.js │ │ │ ├── progress.js │ │ │ ├── radio-button.js │ │ │ ├── radio-group.js │ │ │ ├── radio.js │ │ │ ├── rate.js │ │ │ ├── row.js │ │ │ ├── scrollbar.js │ │ │ ├── select.js │ │ │ ├── slider.js │ │ │ ├── spinner.js │ │ │ ├── step.js │ │ │ ├── steps.js │ │ │ ├── submenu.js │ │ │ ├── switch.js │ │ │ ├── tab-pane.js │ │ │ ├── table-column.js │ │ │ ├── table.js │ │ │ ├── tabs.js │ │ │ ├── tag.js │ │ │ ├── theme-chalk │ │ │ │ ├── alert.css │ │ │ │ ├── aside.css │ │ │ │ ├── autocomplete.css │ │ │ │ ├── badge.css │ │ │ │ ├── base.css │ │ │ │ ├── breadcrumb-item.css │ │ │ │ ├── breadcrumb.css │ │ │ │ ├── button-group.css │ │ │ │ ├── button.css │ │ │ │ ├── calendar.css │ │ │ │ ├── card.css │ │ │ │ ├── carousel-item.css │ │ │ │ ├── carousel.css │ │ │ │ ├── cascader.css │ │ │ │ ├── checkbox-button.css │ │ │ │ ├── checkbox-group.css │ │ │ │ ├── checkbox.css │ │ │ │ ├── col.css │ │ │ │ ├── collapse-item.css │ │ │ │ ├── collapse.css │ │ │ │ ├── color-picker.css │ │ │ │ ├── container.css │ │ │ │ ├── date-picker.css │ │ │ │ ├── dialog.css │ │ │ │ ├── display.css │ │ │ │ ├── divider.css │ │ │ │ ├── dropdown-item.css │ │ │ │ ├── dropdown-menu.css │ │ │ │ ├── dropdown.css │ │ │ │ ├── fonts │ │ │ │ │ ├── element-icons.ttf │ │ │ │ │ └── element-icons.woff │ │ │ │ ├── footer.css │ │ │ │ ├── form-item.css │ │ │ │ ├── form.css │ │ │ │ ├── header.css │ │ │ │ ├── icon.css │ │ │ │ ├── image.css │ │ │ │ ├── index.css │ │ │ │ ├── input-number.css │ │ │ │ ├── input.css │ │ │ │ ├── link.css │ │ │ │ ├── loading.css │ │ │ │ ├── main.css │ │ │ │ ├── menu-item-group.css │ │ │ │ ├── menu-item.css │ │ │ │ ├── menu.css │ │ │ │ ├── message-box.css │ │ │ │ ├── message.css │ │ │ │ ├── notification.css │ │ │ │ ├── option-group.css │ │ │ │ ├── option.css │ │ │ │ ├── pagination.css │ │ │ │ ├── popover.css │ │ │ │ ├── popper.css │ │ │ │ ├── progress.css │ │ │ │ ├── radio-button.css │ │ │ │ ├── radio-group.css │ │ │ │ ├── radio.css │ │ │ │ ├── rate.css │ │ │ │ ├── reset.css │ │ │ │ ├── row.css │ │ │ │ ├── scrollbar.css │ │ │ │ ├── select-dropdown.css │ │ │ │ ├── select.css │ │ │ │ ├── slider.css │ │ │ │ ├── spinner.css │ │ │ │ ├── step.css │ │ │ │ ├── steps.css │ │ │ │ ├── submenu.css │ │ │ │ ├── switch.css │ │ │ │ ├── tab-pane.css │ │ │ │ ├── table-column.css │ │ │ │ ├── table.css │ │ │ │ ├── tabs.css │ │ │ │ ├── tag.css │ │ │ │ ├── time-picker.css │ │ │ │ ├── time-select.css │ │ │ │ ├── timeline-item.css │ │ │ │ ├── timeline.css │ │ │ │ ├── tooltip.css │ │ │ │ ├── transfer.css │ │ │ │ ├── tree.css │ │ │ │ └── upload.css │ │ │ ├── time-picker.js │ │ │ ├── time-select.js │ │ │ ├── timeline-item.js │ │ │ ├── timeline.js │ │ │ ├── tooltip.js │ │ │ ├── transfer.js │ │ │ ├── transitions │ │ │ │ └── collapse-transition.js │ │ │ ├── tree.js │ │ │ ├── umd │ │ │ │ └── locale │ │ │ │ │ ├── af-ZA.js │ │ │ │ │ ├── ar.js │ │ │ │ │ ├── bg.js │ │ │ │ │ ├── ca.js │ │ │ │ │ ├── cs-CZ.js │ │ │ │ │ ├── da.js │ │ │ │ │ ├── de.js │ │ │ │ │ ├── ee.js │ │ │ │ │ ├── el.js │ │ │ │ │ ├── en.js │ │ │ │ │ ├── es.js │ │ │ │ │ ├── eu.js │ │ │ │ │ ├── fa.js │ │ │ │ │ ├── fi.js │ │ │ │ │ ├── fr.js │ │ │ │ │ ├── he.js │ │ │ │ │ ├── hr.js │ │ │ │ │ ├── hu.js │ │ │ │ │ ├── hy-AM.js │ │ │ │ │ ├── id.js │ │ │ │ │ ├── it.js │ │ │ │ │ ├── ja.js │ │ │ │ │ ├── kg.js │ │ │ │ │ ├── km.js │ │ │ │ │ ├── ko.js │ │ │ │ │ ├── ku.js │ │ │ │ │ ├── kz.js │ │ │ │ │ ├── lt.js │ │ │ │ │ ├── lv.js │ │ │ │ │ ├── mn.js │ │ │ │ │ ├── nb-NO.js │ │ │ │ │ ├── nl.js │ │ │ │ │ ├── pl.js │ │ │ │ │ ├── pt-br.js │ │ │ │ │ ├── pt.js │ │ │ │ │ ├── ro.js │ │ │ │ │ ├── ru-RU.js │ │ │ │ │ ├── sk.js │ │ │ │ │ ├── sl.js │ │ │ │ │ ├── sr.js │ │ │ │ │ ├── sv-SE.js │ │ │ │ │ ├── ta.js │ │ │ │ │ ├── th.js │ │ │ │ │ ├── tk.js │ │ │ │ │ ├── tr-TR.js │ │ │ │ │ ├── ua.js │ │ │ │ │ ├── ug-CN.js │ │ │ │ │ ├── vi.js │ │ │ │ │ ├── zh-CN.js │ │ │ │ │ └── zh-TW.js │ │ │ ├── upload.js │ │ │ └── utils │ │ │ │ ├── after-leave.js │ │ │ │ ├── aria-dialog.js │ │ │ │ ├── aria-utils.js │ │ │ │ ├── clickoutside.js │ │ │ │ ├── date-util.js │ │ │ │ ├── date.js │ │ │ │ ├── dom.js │ │ │ │ ├── menu │ │ │ │ ├── aria-menubar.js │ │ │ │ ├── aria-menuitem.js │ │ │ │ └── aria-submenu.js │ │ │ │ ├── merge.js │ │ │ │ ├── popper.js │ │ │ │ ├── popup │ │ │ │ ├── index.js │ │ │ │ └── popup-manager.js │ │ │ │ ├── resize-event.js │ │ │ │ ├── scroll-into-view.js │ │ │ │ ├── scrollbar-width.js │ │ │ │ ├── shared.js │ │ │ │ ├── types.js │ │ │ │ ├── util.js │ │ │ │ ├── vdom.js │ │ │ │ └── vue-popper.js │ │ ├── packages │ │ │ ├── alert │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ └── main.vue │ │ │ ├── aside │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ └── main.vue │ │ │ ├── autocomplete │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ ├── autocomplete-suggestions.vue │ │ │ │ │ └── autocomplete.vue │ │ │ ├── badge │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ └── main.vue │ │ │ ├── breadcrumb-item │ │ │ │ └── index.js │ │ │ ├── breadcrumb │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ ├── breadcrumb-item.vue │ │ │ │ │ └── breadcrumb.vue │ │ │ ├── button-group │ │ │ │ └── index.js │ │ │ ├── button │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ ├── button-group.vue │ │ │ │ │ └── button.vue │ │ │ ├── calendar │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ ├── date-table.vue │ │ │ │ │ └── main.vue │ │ │ ├── card │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ └── main.vue │ │ │ ├── carousel-item │ │ │ │ └── index.js │ │ │ ├── carousel │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ ├── item.vue │ │ │ │ │ └── main.vue │ │ │ ├── cascader │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ ├── main.vue │ │ │ │ │ └── menu.vue │ │ │ ├── checkbox-button │ │ │ │ └── index.js │ │ │ ├── checkbox-group │ │ │ │ └── index.js │ │ │ ├── checkbox │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ ├── checkbox-button.vue │ │ │ │ │ ├── checkbox-group.vue │ │ │ │ │ └── checkbox.vue │ │ │ ├── col │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ └── col.js │ │ │ ├── collapse-item │ │ │ │ └── index.js │ │ │ ├── collapse │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ ├── collapse-item.vue │ │ │ │ │ └── collapse.vue │ │ │ ├── color-picker │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ ├── color.js │ │ │ │ │ ├── components │ │ │ │ │ ├── alpha-slider.vue │ │ │ │ │ ├── hue-slider.vue │ │ │ │ │ ├── picker-dropdown.vue │ │ │ │ │ ├── predefine.vue │ │ │ │ │ └── sv-panel.vue │ │ │ │ │ ├── draggable.js │ │ │ │ │ └── main.vue │ │ │ ├── container │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ └── main.vue │ │ │ ├── date-picker │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ ├── basic │ │ │ │ │ ├── date-table.vue │ │ │ │ │ ├── month-table.vue │ │ │ │ │ ├── time-spinner.vue │ │ │ │ │ └── year-table.vue │ │ │ │ │ ├── panel │ │ │ │ │ ├── date-range.vue │ │ │ │ │ ├── date.vue │ │ │ │ │ ├── month-range.vue │ │ │ │ │ ├── time-range.vue │ │ │ │ │ ├── time-select.vue │ │ │ │ │ └── time.vue │ │ │ │ │ ├── picker.vue │ │ │ │ │ └── picker │ │ │ │ │ ├── date-picker.js │ │ │ │ │ ├── time-picker.js │ │ │ │ │ └── time-select.js │ │ │ ├── dialog │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ └── component.vue │ │ │ ├── divider │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ └── main.js │ │ │ ├── dropdown-item │ │ │ │ └── index.js │ │ │ ├── dropdown-menu │ │ │ │ └── index.js │ │ │ ├── dropdown │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ ├── dropdown-item.vue │ │ │ │ │ ├── dropdown-menu.vue │ │ │ │ │ └── dropdown.vue │ │ │ ├── footer │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ └── main.vue │ │ │ ├── form-item │ │ │ │ └── index.js │ │ │ ├── form │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ ├── form-item.vue │ │ │ │ │ ├── form.vue │ │ │ │ │ └── label-wrap.vue │ │ │ ├── header │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ └── main.vue │ │ │ ├── icon │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ └── icon.vue │ │ │ ├── image │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ └── main.vue │ │ │ ├── input-number │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ └── input-number.vue │ │ │ ├── input │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ ├── calcTextareaHeight.js │ │ │ │ │ └── input.vue │ │ │ ├── link │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ └── main.vue │ │ │ ├── loading │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ ├── directive.js │ │ │ │ │ ├── index.js │ │ │ │ │ └── loading.vue │ │ │ ├── main │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ └── main.vue │ │ │ ├── menu-item-group │ │ │ │ └── index.js │ │ │ ├── menu-item │ │ │ │ └── index.js │ │ │ ├── menu │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ ├── menu-item-group.vue │ │ │ │ │ ├── menu-item.vue │ │ │ │ │ ├── menu-mixin.js │ │ │ │ │ ├── menu.vue │ │ │ │ │ └── submenu.vue │ │ │ ├── message-box │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ ├── main.js │ │ │ │ │ └── main.vue │ │ │ ├── message │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ ├── main.js │ │ │ │ │ └── main.vue │ │ │ ├── notification │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ ├── main.js │ │ │ │ │ └── main.vue │ │ │ ├── option-group │ │ │ │ └── index.js │ │ │ ├── option │ │ │ │ └── index.js │ │ │ ├── pagination │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ ├── pager.vue │ │ │ │ │ └── pagination.js │ │ │ ├── popover │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ ├── directive.js │ │ │ │ │ └── main.vue │ │ │ ├── progress │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ └── progress.vue │ │ │ ├── radio-button │ │ │ │ └── index.js │ │ │ ├── radio-group │ │ │ │ └── index.js │ │ │ ├── radio │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ ├── radio-button.vue │ │ │ │ │ ├── radio-group.vue │ │ │ │ │ └── radio.vue │ │ │ ├── rate │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ └── main.vue │ │ │ ├── row │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ └── row.js │ │ │ ├── scrollbar │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ ├── bar.js │ │ │ │ │ ├── main.js │ │ │ │ │ └── util.js │ │ │ ├── select │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ ├── navigation-mixin.js │ │ │ │ │ ├── option-group.vue │ │ │ │ │ ├── option.vue │ │ │ │ │ ├── select-dropdown.vue │ │ │ │ │ └── select.vue │ │ │ ├── slider │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ ├── button.vue │ │ │ │ │ ├── main.vue │ │ │ │ │ └── marker.js │ │ │ ├── spinner │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ └── spinner.vue │ │ │ ├── step │ │ │ │ └── index.js │ │ │ ├── steps │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ ├── step.vue │ │ │ │ │ └── steps.vue │ │ │ ├── submenu │ │ │ │ └── index.js │ │ │ ├── switch │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ └── component.vue │ │ │ ├── tab-pane │ │ │ │ └── index.js │ │ │ ├── table-column │ │ │ │ └── index.js │ │ │ ├── table │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ ├── dropdown.js │ │ │ │ │ ├── filter-panel.vue │ │ │ │ │ ├── layout-observer.js │ │ │ │ │ ├── table-body.js │ │ │ │ │ ├── table-column.js │ │ │ │ │ ├── table-footer.js │ │ │ │ │ ├── table-header.js │ │ │ │ │ ├── table-layout.js │ │ │ │ │ ├── table-store.js │ │ │ │ │ ├── table.vue │ │ │ │ │ └── util.js │ │ │ ├── tabs │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ ├── tab-bar.vue │ │ │ │ │ ├── tab-nav.vue │ │ │ │ │ ├── tab-pane.vue │ │ │ │ │ └── tabs.vue │ │ │ ├── tag │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ └── tag.vue │ │ │ ├── theme-chalk │ │ │ │ ├── README.md │ │ │ │ ├── lib │ │ │ │ │ ├── alert.css │ │ │ │ │ ├── aside.css │ │ │ │ │ ├── autocomplete.css │ │ │ │ │ ├── badge.css │ │ │ │ │ ├── base.css │ │ │ │ │ ├── breadcrumb-item.css │ │ │ │ │ ├── breadcrumb.css │ │ │ │ │ ├── button-group.css │ │ │ │ │ ├── button.css │ │ │ │ │ ├── calendar.css │ │ │ │ │ ├── card.css │ │ │ │ │ ├── carousel-item.css │ │ │ │ │ ├── carousel.css │ │ │ │ │ ├── cascader.css │ │ │ │ │ ├── checkbox-button.css │ │ │ │ │ ├── checkbox-group.css │ │ │ │ │ ├── checkbox.css │ │ │ │ │ ├── col.css │ │ │ │ │ ├── collapse-item.css │ │ │ │ │ ├── collapse.css │ │ │ │ │ ├── color-picker.css │ │ │ │ │ ├── container.css │ │ │ │ │ ├── date-picker.css │ │ │ │ │ ├── dialog.css │ │ │ │ │ ├── display.css │ │ │ │ │ ├── divider.css │ │ │ │ │ ├── dropdown-item.css │ │ │ │ │ ├── dropdown-menu.css │ │ │ │ │ ├── dropdown.css │ │ │ │ │ ├── fonts │ │ │ │ │ │ ├── element-icons.ttf │ │ │ │ │ │ └── element-icons.woff │ │ │ │ │ ├── footer.css │ │ │ │ │ ├── form-item.css │ │ │ │ │ ├── form.css │ │ │ │ │ ├── header.css │ │ │ │ │ ├── icon.css │ │ │ │ │ ├── image.css │ │ │ │ │ ├── index.css │ │ │ │ │ ├── input-number.css │ │ │ │ │ ├── input.css │ │ │ │ │ ├── link.css │ │ │ │ │ ├── loading.css │ │ │ │ │ ├── main.css │ │ │ │ │ ├── menu-item-group.css │ │ │ │ │ ├── menu-item.css │ │ │ │ │ ├── menu.css │ │ │ │ │ ├── message-box.css │ │ │ │ │ ├── message.css │ │ │ │ │ ├── notification.css │ │ │ │ │ ├── option-group.css │ │ │ │ │ ├── option.css │ │ │ │ │ ├── pagination.css │ │ │ │ │ ├── popover.css │ │ │ │ │ ├── popper.css │ │ │ │ │ ├── progress.css │ │ │ │ │ ├── radio-button.css │ │ │ │ │ ├── radio-group.css │ │ │ │ │ ├── radio.css │ │ │ │ │ ├── rate.css │ │ │ │ │ ├── reset.css │ │ │ │ │ ├── row.css │ │ │ │ │ ├── scrollbar.css │ │ │ │ │ ├── select-dropdown.css │ │ │ │ │ ├── select.css │ │ │ │ │ ├── slider.css │ │ │ │ │ ├── spinner.css │ │ │ │ │ ├── step.css │ │ │ │ │ ├── steps.css │ │ │ │ │ ├── submenu.css │ │ │ │ │ ├── switch.css │ │ │ │ │ ├── tab-pane.css │ │ │ │ │ ├── table-column.css │ │ │ │ │ ├── table.css │ │ │ │ │ ├── tabs.css │ │ │ │ │ ├── tag.css │ │ │ │ │ ├── time-picker.css │ │ │ │ │ ├── time-select.css │ │ │ │ │ ├── timeline-item.css │ │ │ │ │ ├── timeline.css │ │ │ │ │ ├── tooltip.css │ │ │ │ │ ├── transfer.css │ │ │ │ │ ├── tree.css │ │ │ │ │ └── upload.css │ │ │ │ └── src │ │ │ │ │ ├── alert.scss │ │ │ │ │ ├── aside.scss │ │ │ │ │ ├── autocomplete.scss │ │ │ │ │ ├── badge.scss │ │ │ │ │ ├── base.scss │ │ │ │ │ ├── breadcrumb-item.scss │ │ │ │ │ ├── breadcrumb.scss │ │ │ │ │ ├── button-group.scss │ │ │ │ │ ├── button.scss │ │ │ │ │ ├── calendar.scss │ │ │ │ │ ├── card.scss │ │ │ │ │ ├── carousel-item.scss │ │ │ │ │ ├── carousel.scss │ │ │ │ │ ├── cascader.scss │ │ │ │ │ ├── checkbox-button.scss │ │ │ │ │ ├── checkbox-group.scss │ │ │ │ │ ├── checkbox.scss │ │ │ │ │ ├── col.scss │ │ │ │ │ ├── collapse-item.scss │ │ │ │ │ ├── collapse.scss │ │ │ │ │ ├── color-picker.scss │ │ │ │ │ ├── common │ │ │ │ │ ├── popup.scss │ │ │ │ │ ├── transition.scss │ │ │ │ │ └── var.scss │ │ │ │ │ ├── container.scss │ │ │ │ │ ├── date-picker.scss │ │ │ │ │ ├── date-picker │ │ │ │ │ ├── date-picker.scss │ │ │ │ │ ├── date-range-picker.scss │ │ │ │ │ ├── date-table.scss │ │ │ │ │ ├── month-table.scss │ │ │ │ │ ├── picker-panel.scss │ │ │ │ │ ├── picker.scss │ │ │ │ │ ├── time-picker.scss │ │ │ │ │ ├── time-range-picker.scss │ │ │ │ │ ├── time-spinner.scss │ │ │ │ │ └── year-table.scss │ │ │ │ │ ├── dialog.scss │ │ │ │ │ ├── display.scss │ │ │ │ │ ├── divider.scss │ │ │ │ │ ├── dropdown-item.scss │ │ │ │ │ ├── dropdown-menu.scss │ │ │ │ │ ├── dropdown.scss │ │ │ │ │ ├── fonts │ │ │ │ │ ├── element-icons.ttf │ │ │ │ │ └── element-icons.woff │ │ │ │ │ ├── footer.scss │ │ │ │ │ ├── form-item.scss │ │ │ │ │ ├── form.scss │ │ │ │ │ ├── header.scss │ │ │ │ │ ├── icon.scss │ │ │ │ │ ├── image.scss │ │ │ │ │ ├── index.scss │ │ │ │ │ ├── input-number.scss │ │ │ │ │ ├── input.scss │ │ │ │ │ ├── link.scss │ │ │ │ │ ├── loading.scss │ │ │ │ │ ├── main.scss │ │ │ │ │ ├── menu-item-group.scss │ │ │ │ │ ├── menu-item.scss │ │ │ │ │ ├── menu.scss │ │ │ │ │ ├── message-box.scss │ │ │ │ │ ├── message.scss │ │ │ │ │ ├── mixins │ │ │ │ │ ├── _button.scss │ │ │ │ │ ├── config.scss │ │ │ │ │ ├── function.scss │ │ │ │ │ ├── mixins.scss │ │ │ │ │ └── utils.scss │ │ │ │ │ ├── notification.scss │ │ │ │ │ ├── option-group.scss │ │ │ │ │ ├── option.scss │ │ │ │ │ ├── pagination.scss │ │ │ │ │ ├── popover.scss │ │ │ │ │ ├── popper.scss │ │ │ │ │ ├── progress.scss │ │ │ │ │ ├── radio-button.scss │ │ │ │ │ ├── radio-group.scss │ │ │ │ │ ├── radio.scss │ │ │ │ │ ├── rate.scss │ │ │ │ │ ├── reset.scss │ │ │ │ │ ├── row.scss │ │ │ │ │ ├── scrollbar.scss │ │ │ │ │ ├── select-dropdown.scss │ │ │ │ │ ├── select.scss │ │ │ │ │ ├── slider.scss │ │ │ │ │ ├── spinner.scss │ │ │ │ │ ├── step.scss │ │ │ │ │ ├── steps.scss │ │ │ │ │ ├── submenu.scss │ │ │ │ │ ├── switch.scss │ │ │ │ │ ├── tab-pane.scss │ │ │ │ │ ├── table-column.scss │ │ │ │ │ ├── table.scss │ │ │ │ │ ├── tabs.scss │ │ │ │ │ ├── tag.scss │ │ │ │ │ ├── time-picker.scss │ │ │ │ │ ├── time-select.scss │ │ │ │ │ ├── timeline-item.scss │ │ │ │ │ ├── timeline.scss │ │ │ │ │ ├── tooltip.scss │ │ │ │ │ ├── transfer.scss │ │ │ │ │ ├── tree.scss │ │ │ │ │ └── upload.scss │ │ │ ├── time-picker │ │ │ │ └── index.js │ │ │ ├── time-select │ │ │ │ └── index.js │ │ │ ├── timeline-item │ │ │ │ └── index.js │ │ │ ├── timeline │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ ├── item.vue │ │ │ │ │ └── main.vue │ │ │ ├── tooltip │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ └── main.js │ │ │ ├── transfer │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ ├── main.vue │ │ │ │ │ └── transfer-panel.vue │ │ │ ├── tree │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ │ ├── model │ │ │ │ │ ├── node.js │ │ │ │ │ ├── tree-store.js │ │ │ │ │ └── util.js │ │ │ │ │ ├── tree-node.vue │ │ │ │ │ └── tree.vue │ │ │ └── upload │ │ │ │ ├── index.js │ │ │ │ └── src │ │ │ │ ├── ajax.js │ │ │ │ ├── index.vue │ │ │ │ ├── upload-dragger.vue │ │ │ │ ├── upload-list.vue │ │ │ │ └── upload.vue │ │ ├── src │ │ │ ├── directives │ │ │ │ ├── mousewheel.js │ │ │ │ └── repeat-click.js │ │ │ ├── index.js │ │ │ ├── locale │ │ │ │ ├── format.js │ │ │ │ ├── index.js │ │ │ │ └── lang │ │ │ │ │ ├── af-ZA.js │ │ │ │ │ ├── ar.js │ │ │ │ │ ├── bg.js │ │ │ │ │ ├── ca.js │ │ │ │ │ ├── cs-CZ.js │ │ │ │ │ ├── da.js │ │ │ │ │ ├── de.js │ │ │ │ │ ├── ee.js │ │ │ │ │ ├── el.js │ │ │ │ │ ├── en.js │ │ │ │ │ ├── es.js │ │ │ │ │ ├── eu.js │ │ │ │ │ ├── fa.js │ │ │ │ │ ├── fi.js │ │ │ │ │ ├── fr.js │ │ │ │ │ ├── he.js │ │ │ │ │ ├── hr.js │ │ │ │ │ ├── hu.js │ │ │ │ │ ├── hy-AM.js │ │ │ │ │ ├── id.js │ │ │ │ │ ├── it.js │ │ │ │ │ ├── ja.js │ │ │ │ │ ├── kg.js │ │ │ │ │ ├── km.js │ │ │ │ │ ├── ko.js │ │ │ │ │ ├── ku.js │ │ │ │ │ ├── kz.js │ │ │ │ │ ├── lt.js │ │ │ │ │ ├── lv.js │ │ │ │ │ ├── mn.js │ │ │ │ │ ├── nb-NO.js │ │ │ │ │ ├── nl.js │ │ │ │ │ ├── pl.js │ │ │ │ │ ├── pt-br.js │ │ │ │ │ ├── pt.js │ │ │ │ │ ├── ro.js │ │ │ │ │ ├── ru-RU.js │ │ │ │ │ ├── sk.js │ │ │ │ │ ├── sl.js │ │ │ │ │ ├── sr.js │ │ │ │ │ ├── sv-SE.js │ │ │ │ │ ├── ta.js │ │ │ │ │ ├── th.js │ │ │ │ │ ├── tk.js │ │ │ │ │ ├── tr-TR.js │ │ │ │ │ ├── ua.js │ │ │ │ │ ├── ug-CN.js │ │ │ │ │ ├── vi.js │ │ │ │ │ ├── zh-CN.js │ │ │ │ │ └── zh-TW.js │ │ │ ├── mixins │ │ │ │ ├── emitter.js │ │ │ │ ├── focus.js │ │ │ │ ├── locale.js │ │ │ │ └── migrating.js │ │ │ ├── transitions │ │ │ │ └── collapse-transition.js │ │ │ └── utils │ │ │ │ ├── after-leave.js │ │ │ │ ├── aria-dialog.js │ │ │ │ ├── aria-utils.js │ │ │ │ ├── clickoutside.js │ │ │ │ ├── date-util.js │ │ │ │ ├── date.js │ │ │ │ ├── dom.js │ │ │ │ ├── menu │ │ │ │ ├── aria-menubar.js │ │ │ │ ├── aria-menuitem.js │ │ │ │ └── aria-submenu.js │ │ │ │ ├── merge.js │ │ │ │ ├── popper.js │ │ │ │ ├── popup │ │ │ │ ├── index.js │ │ │ │ └── popup-manager.js │ │ │ │ ├── resize-event.js │ │ │ │ ├── scroll-into-view.js │ │ │ │ ├── scrollbar-width.js │ │ │ │ ├── shared.js │ │ │ │ ├── types.js │ │ │ │ ├── util.js │ │ │ │ ├── vdom.js │ │ │ │ └── vue-popper.js │ │ └── types │ │ │ ├── alert.d.ts │ │ │ ├── aside.d.ts │ │ │ ├── autocomplete.d.ts │ │ │ ├── badge.d.ts │ │ │ ├── breadcrumb-item.d.ts │ │ │ ├── breadcrumb.d.ts │ │ │ ├── button-group.d.ts │ │ │ ├── button.d.ts │ │ │ ├── calendar.d.ts │ │ │ ├── card.d.ts │ │ │ ├── carousel-item.d.ts │ │ │ ├── carousel.d.ts │ │ │ ├── cascader.d.ts │ │ │ ├── checkbox-button.d.ts │ │ │ ├── checkbox-group.d.ts │ │ │ ├── checkbox.d.ts │ │ │ ├── col.d.ts │ │ │ ├── collapse-item.d.ts │ │ │ ├── collapse.d.ts │ │ │ ├── color-picker.d.ts │ │ │ ├── component.d.ts │ │ │ ├── container.d.ts │ │ │ ├── date-picker.d.ts │ │ │ ├── dialog.d.ts │ │ │ ├── divider.d.ts │ │ │ ├── dropdown-item.d.ts │ │ │ ├── dropdown-menu.d.ts │ │ │ ├── dropdown.d.ts │ │ │ ├── element-ui.d.ts │ │ │ ├── footer.d.ts │ │ │ ├── form-item.d.ts │ │ │ ├── form.d.ts │ │ │ ├── header.d.ts │ │ │ ├── image.d.ts │ │ │ ├── index.d.ts │ │ │ ├── input-number.d.ts │ │ │ ├── input.d.ts │ │ │ ├── link.d.ts │ │ │ ├── loading.d.ts │ │ │ ├── main.d.ts │ │ │ ├── menu-item-group.d.ts │ │ │ ├── menu-item.d.ts │ │ │ ├── menu.d.ts │ │ │ ├── message-box.d.ts │ │ │ ├── message.d.ts │ │ │ ├── notification.d.ts │ │ │ ├── option-group.d.ts │ │ │ ├── option.d.ts │ │ │ ├── pagination.d.ts │ │ │ ├── popover.d.ts │ │ │ ├── progress.d.ts │ │ │ ├── radio-button.d.ts │ │ │ ├── radio-group.d.ts │ │ │ ├── radio.d.ts │ │ │ ├── rate.d.ts │ │ │ ├── row.d.ts │ │ │ ├── select.d.ts │ │ │ ├── slider.d.ts │ │ │ ├── step.d.ts │ │ │ ├── steps.d.ts │ │ │ ├── submenu.d.ts │ │ │ ├── switch.d.ts │ │ │ ├── tab-pane.d.ts │ │ │ ├── table-column.d.ts │ │ │ ├── table.d.ts │ │ │ ├── tabs.d.ts │ │ │ ├── tag.d.ts │ │ │ ├── time-picker.d.ts │ │ │ ├── time-select.d.ts │ │ │ ├── timeline-item.d.ts │ │ │ ├── timeline.d.ts │ │ │ ├── tooltip.d.ts │ │ │ ├── transfer.d.ts │ │ │ ├── tree.d.ts │ │ │ └── upload.d.ts │ │ ├── font │ │ ├── css │ │ │ └── font-awesome.min.css │ │ ├── fonts │ │ │ ├── FontAwesome.otf │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.svg │ │ │ ├── fontawesome-webfont.ttf │ │ │ ├── fontawesome-webfont.woff │ │ │ ├── fontawesome-webfont.woff2 │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ └── glyphicons-halflings-regular.woff2 │ │ └── icon │ │ │ ├── demo.css │ │ │ ├── iconfont.css │ │ │ ├── iconfont.eot │ │ │ ├── iconfont.js │ │ │ ├── iconfont.svg │ │ │ ├── iconfont.ttf │ │ │ └── iconfont.woff │ │ ├── highchart │ │ ├── exporting.js │ │ ├── highcharts-zh_CN.js │ │ └── highcharts.js │ │ └── vue │ │ ├── vue-resource.min.js │ │ ├── vue.js │ │ └── vue.min.js │ └── templates │ ├── common │ ├── css.html │ ├── header.html │ ├── js.html │ └── side.html │ ├── index.html │ └── jvm │ ├── class.html │ ├── gc.html │ ├── memory.html │ ├── overview.html │ └── thread.html └── test └── java └── cn └── tycoding ├── MonitorApplicationTests.java └── service └── impl └── ClassLoaderServiceImplTest.java /doc/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/doc/1.png -------------------------------------------------------------------------------- /doc/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/doc/2.png -------------------------------------------------------------------------------- /doc/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/doc/3.png -------------------------------------------------------------------------------- /doc/gc-roots.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/doc/gc-roots.png -------------------------------------------------------------------------------- /doc/gc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/doc/gc.png -------------------------------------------------------------------------------- /doc/jmx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/doc/jmx.png -------------------------------------------------------------------------------- /src/main/java/cn/tycoding/MonitorApplication.java: -------------------------------------------------------------------------------- 1 | package cn.tycoding; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class MonitorApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(MonitorApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/cn/tycoding/entity/ClassLoaderBean.java: -------------------------------------------------------------------------------- 1 | package cn.tycoding.entity; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * 类加载数据 9 | * 10 | * @author tycoding 11 | * @date 2019-05-10 12 | */ 13 | @Data 14 | public class ClassLoaderBean implements Serializable { 15 | 16 | /** 17 | * 主键 18 | */ 19 | private Long id; 20 | 21 | /** 22 | * JVM加载类的数量 23 | */ 24 | private Integer count; 25 | 26 | /** 27 | * JVM已加载类数量 28 | */ 29 | private Long loaded; 30 | 31 | /** 32 | * JVM未加载类数量 33 | */ 34 | private Long unLoaded; 35 | 36 | /** 37 | * 是否启用类加载详细信息的输出 38 | */ 39 | private Boolean isVerbose; 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/cn/tycoding/entity/CompilationBean.java: -------------------------------------------------------------------------------- 1 | package cn.tycoding.entity; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * 编译信息 9 | * 10 | * @author tycoding 11 | * @date 2019-05-10 12 | */ 13 | @Data 14 | public class CompilationBean implements Serializable { 15 | 16 | /** 17 | * 主键 18 | */ 19 | private Long id; 20 | 21 | /** 22 | * 即时(JIT)编译器名称 23 | */ 24 | private String name; 25 | 26 | /** 27 | * 总编译时间(毫秒) 28 | */ 29 | private Long totalTime; 30 | 31 | /** 32 | * JVM是否支持对编译时间的监视 33 | */ 34 | private Boolean isSupport; 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/cn/tycoding/entity/GarbageCollectorBean.java: -------------------------------------------------------------------------------- 1 | package cn.tycoding.entity; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * JVM垃圾回收信息 9 | * 10 | * @author tycoding 11 | * @date 2019-05-10 12 | */ 13 | @Data 14 | public class GarbageCollectorBean implements Serializable { 15 | 16 | /** 17 | * GC回收次数 18 | */ 19 | private Long count; 20 | 21 | /** 22 | * GC回收耗时 23 | */ 24 | private Long time; 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/cn/tycoding/entity/MemoryBean.java: -------------------------------------------------------------------------------- 1 | package cn.tycoding.entity; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * 堆内存信息 9 | * 10 | * @author tycoding 11 | * @date 2019-05-10 12 | */ 13 | @Data 14 | public class MemoryBean implements Serializable { 15 | 16 | /** 17 | * 已申请的堆内存 18 | */ 19 | private Long committed; 20 | 21 | /** 22 | * JVM初始化堆占用的内存总量 23 | */ 24 | private Long init; 25 | 26 | /** 27 | * JVM提供可用于内存管理的最大内存量 28 | */ 29 | private Long max; 30 | 31 | /** 32 | * 内存区已使用空间大小(字节) 33 | */ 34 | private Long used; 35 | 36 | /** 37 | * 已申请的非堆内存大小 38 | */ 39 | private Long nonCommitted; 40 | 41 | /** 42 | * JVM初始化非堆区占用的内存总量 43 | */ 44 | private Long nonInit; 45 | 46 | /** 47 | * JVM提供可用于非堆内存区管理的最大内存量 48 | */ 49 | private Long nonMax; 50 | 51 | /** 52 | * JVM非堆内存区已使用空间大小(字节) 53 | */ 54 | private Long nonUsed; 55 | } 56 | -------------------------------------------------------------------------------- /src/main/java/cn/tycoding/entity/MemoryPoolBean.java: -------------------------------------------------------------------------------- 1 | package cn.tycoding.entity; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * 内存池信息 9 | * 10 | * @author tycoding 11 | * @date 2019-05-10 12 | */ 13 | @Data 14 | public class MemoryPoolBean implements Serializable { 15 | 16 | /** 17 | * 内存区名称 18 | */ 19 | private String name; 20 | 21 | /** 22 | * 所属内存管理者 23 | */ 24 | private String manageNames; 25 | 26 | /** 27 | * 已申请内存 28 | */ 29 | private Long committed; 30 | 31 | /** 32 | * 最大内存量 33 | */ 34 | private Long max; 35 | 36 | /** 37 | * 已使用内存(字节) 38 | */ 39 | private Long used; 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/cn/tycoding/entity/RuntimeBean.java: -------------------------------------------------------------------------------- 1 | package cn.tycoding.entity; 2 | 3 | import cn.tycoding.utils.JSONTemplate; 4 | import lombok.Data; 5 | 6 | import java.io.Serializable; 7 | import java.util.List; 8 | 9 | /** 10 | * JVM运行时信息 11 | * 12 | * @author tycoding 13 | * @date 2019-05-10 14 | */ 15 | @Data 16 | public class RuntimeBean implements Serializable { 17 | 18 | /** 19 | * 主机 20 | */ 21 | private String host; 22 | 23 | /** 24 | * JVM 25 | */ 26 | private String jvm; 27 | 28 | /** 29 | * JDK版本 30 | */ 31 | private String version; 32 | 33 | /** 34 | * JDK 路径 35 | */ 36 | private String home; 37 | 38 | /** 39 | * 当前JVM参数信息 40 | */ 41 | private List args; 42 | 43 | /** 44 | * JVM开始启动的时间(毫秒) 45 | */ 46 | private Long startTime; 47 | 48 | /** 49 | * JSON格式化后系统详细参数 50 | */ 51 | private List properties; 52 | } 53 | -------------------------------------------------------------------------------- /src/main/java/cn/tycoding/entity/SystemBean.java: -------------------------------------------------------------------------------- 1 | package cn.tycoding.entity; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * 操作系统信息 9 | * 10 | * @author tycoding 11 | * @date 2019-05-10 12 | */ 13 | @Data 14 | public class SystemBean implements Serializable { 15 | 16 | /** 17 | * 主键 18 | */ 19 | private Long id; 20 | 21 | /** 22 | * 操作系统名称 23 | */ 24 | private String name; 25 | 26 | /** 27 | * 操作系统进程数量 28 | */ 29 | private Integer processCount; 30 | 31 | /** 32 | * 操作系统架构 33 | */ 34 | private String osArchName; 35 | 36 | /** 37 | * 操作系统负载平均值 38 | */ 39 | private Double loadAverage; 40 | 41 | /** 42 | * 操作系统版本号 43 | */ 44 | private String version; 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/cn/tycoding/entity/ThreadBean.java: -------------------------------------------------------------------------------- 1 | package cn.tycoding.entity; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * 线程信息 9 | * 10 | * @author tycoding 11 | * @date 2019-05-10 12 | */ 13 | @Data 14 | public class ThreadBean implements Serializable { 15 | 16 | /** 17 | * 主键 18 | */ 19 | private Long id; 20 | 21 | /** 22 | * 当前线程执行时间(纳秒) 23 | */ 24 | private Long currentTime; 25 | 26 | /** 27 | * 当前守护线程数量 28 | */ 29 | private Integer daemonCount; 30 | 31 | /** 32 | * 当前线程总数量(包括守护线程和非守护线程) 33 | */ 34 | private Integer count; 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/cn/tycoding/service/ClassLoaderService.java: -------------------------------------------------------------------------------- 1 | package cn.tycoding.service; 2 | 3 | import cn.tycoding.entity.ClassLoaderBean; 4 | 5 | /** 6 | * @author tycoding 7 | * @date 2019-05-10 8 | */ 9 | public interface ClassLoaderService { 10 | 11 | ClassLoaderBean get(); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/cn/tycoding/service/CompilationService.java: -------------------------------------------------------------------------------- 1 | package cn.tycoding.service; 2 | 3 | import cn.tycoding.entity.CompilationBean; 4 | 5 | /** 6 | * @author tycoding 7 | * @date 2019-05-10 8 | */ 9 | public interface CompilationService { 10 | 11 | CompilationBean get(); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/cn/tycoding/service/GarbageCollectorService.java: -------------------------------------------------------------------------------- 1 | package cn.tycoding.service; 2 | 3 | import cn.tycoding.entity.GarbageCollectorBean; 4 | import cn.tycoding.entity.MemoryPoolBean; 5 | 6 | import java.util.List; 7 | 8 | /** 9 | * @author tycoding 10 | * @date 2019-05-11 11 | */ 12 | public interface GarbageCollectorService { 13 | 14 | GarbageCollectorBean get(); 15 | 16 | List getPools(); 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/cn/tycoding/service/MemoryService.java: -------------------------------------------------------------------------------- 1 | package cn.tycoding.service; 2 | 3 | import cn.tycoding.entity.MemoryBean; 4 | 5 | /** 6 | * @author tycoding 7 | * @date 2019-05-10 8 | */ 9 | public interface MemoryService { 10 | 11 | MemoryBean get(); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/cn/tycoding/service/RuntimeInfoService.java: -------------------------------------------------------------------------------- 1 | package cn.tycoding.service; 2 | 3 | import cn.tycoding.entity.RuntimeBean; 4 | 5 | /** 6 | * @author tycoding 7 | * @date 2019-05-10 8 | */ 9 | public interface RuntimeInfoService { 10 | 11 | RuntimeBean get(); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/cn/tycoding/service/SystemInfoService.java: -------------------------------------------------------------------------------- 1 | package cn.tycoding.service; 2 | 3 | import cn.tycoding.entity.SystemBean; 4 | 5 | /** 6 | * @author tycoding 7 | * @date 2019-05-10 8 | */ 9 | public interface SystemInfoService { 10 | 11 | SystemBean get(); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/cn/tycoding/service/ThreadInfoService.java: -------------------------------------------------------------------------------- 1 | package cn.tycoding.service; 2 | 3 | import cn.tycoding.entity.ThreadBean; 4 | 5 | /** 6 | * @author tycoding 7 | * @date 2019-05-10 8 | */ 9 | public interface ThreadInfoService { 10 | 11 | ThreadBean get(); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/cn/tycoding/service/impl/ClassLoaderServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.tycoding.service.impl; 2 | 3 | import cn.tycoding.entity.ClassLoaderBean; 4 | import cn.tycoding.service.ClassLoaderService; 5 | import org.springframework.stereotype.Service; 6 | 7 | import java.lang.management.ClassLoadingMXBean; 8 | import java.lang.management.ManagementFactory; 9 | 10 | /** 11 | * @author tycoding 12 | * @date 2019-05-10 13 | */ 14 | @Service 15 | public class ClassLoaderServiceImpl implements ClassLoaderService { 16 | 17 | @Override 18 | public ClassLoaderBean get() { 19 | return init(); 20 | } 21 | 22 | private ClassLoaderBean init() { 23 | ClassLoaderBean bean = new ClassLoaderBean(); 24 | ClassLoadingMXBean classLoadingMXBean = ManagementFactory.getClassLoadingMXBean(); 25 | bean.setLoaded(classLoadingMXBean.getTotalLoadedClassCount()); 26 | bean.setCount(classLoadingMXBean.getLoadedClassCount()); 27 | bean.setUnLoaded(classLoadingMXBean.getUnloadedClassCount()); 28 | bean.setIsVerbose(classLoadingMXBean.isVerbose()); 29 | return bean; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/cn/tycoding/service/impl/CompilationServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.tycoding.service.impl; 2 | 3 | import cn.tycoding.entity.CompilationBean; 4 | import cn.tycoding.service.CompilationService; 5 | import org.springframework.stereotype.Service; 6 | 7 | import java.lang.management.CompilationMXBean; 8 | import java.lang.management.ManagementFactory; 9 | 10 | /** 11 | * @author tycoding 12 | * @date 2019-05-10 13 | */ 14 | @Service 15 | public class CompilationServiceImpl implements CompilationService { 16 | 17 | @Override 18 | public CompilationBean get() { 19 | return init(); 20 | } 21 | 22 | private CompilationBean init() { 23 | CompilationBean bean = new CompilationBean(); 24 | CompilationMXBean compilationMXBean = ManagementFactory.getCompilationMXBean(); 25 | bean.setName(compilationMXBean.getName()); 26 | bean.setTotalTime(compilationMXBean.getTotalCompilationTime()); 27 | bean.setIsSupport(compilationMXBean.isCompilationTimeMonitoringSupported()); 28 | return bean; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/cn/tycoding/service/impl/SystemInfoServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.tycoding.service.impl; 2 | 3 | import cn.tycoding.entity.SystemBean; 4 | import cn.tycoding.service.SystemInfoService; 5 | import org.springframework.stereotype.Service; 6 | 7 | import java.lang.management.ManagementFactory; 8 | import java.lang.management.OperatingSystemMXBean; 9 | 10 | /** 11 | * @author tycoding 12 | * @date 2019-05-10 13 | */ 14 | @Service 15 | public class SystemInfoServiceImpl implements SystemInfoService { 16 | 17 | @Override 18 | public SystemBean get() { 19 | return init(); 20 | } 21 | 22 | private SystemBean init() { 23 | SystemBean bean = new SystemBean(); 24 | OperatingSystemMXBean mxBean = ManagementFactory.getOperatingSystemMXBean(); 25 | bean.setName(mxBean.getName()); 26 | bean.setProcessCount(mxBean.getAvailableProcessors()); 27 | // System.getProperty("os.arch"); 28 | bean.setOsArchName(mxBean.getArch()); 29 | bean.setLoadAverage(mxBean.getSystemLoadAverage()); 30 | // System.getProperty("os.version"); 31 | bean.setVersion(mxBean.getVersion()); 32 | return bean; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/cn/tycoding/service/impl/ThreadInfoServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.tycoding.service.impl; 2 | 3 | import cn.tycoding.entity.ThreadBean; 4 | import cn.tycoding.service.ThreadInfoService; 5 | import org.springframework.stereotype.Service; 6 | 7 | import java.lang.management.ManagementFactory; 8 | import java.lang.management.ThreadMXBean; 9 | 10 | /** 11 | * @author tycoding 12 | * @date 2019-05-10 13 | */ 14 | @Service 15 | public class ThreadInfoServiceImpl implements ThreadInfoService { 16 | 17 | @Override 18 | public ThreadBean get() { 19 | return init(); 20 | } 21 | 22 | private ThreadBean init() { 23 | ThreadBean bean = new ThreadBean(); 24 | ThreadMXBean mxBean = ManagementFactory.getThreadMXBean(); 25 | bean.setCurrentTime(mxBean.getCurrentThreadUserTime()); 26 | bean.setDaemonCount(mxBean.getDaemonThreadCount()); 27 | bean.setCount(mxBean.getThreadCount()); 28 | return bean; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/cn/tycoding/utils/JSONTemplate.java: -------------------------------------------------------------------------------- 1 | package cn.tycoding.utils; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @author tycoding 7 | * @date 2019-05-10 8 | */ 9 | @Data 10 | public class JSONTemplate { 11 | 12 | private String key; 13 | private String value; 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/cn/tycoding/utils/ResultCode.java: -------------------------------------------------------------------------------- 1 | package cn.tycoding.utils; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | /** 8 | * @author tycoding 9 | * @date 2019-05-10 10 | */ 11 | @Data 12 | @AllArgsConstructor 13 | @NoArgsConstructor 14 | public class ResultCode { 15 | 16 | private int code; 17 | private Object data; 18 | } 19 | -------------------------------------------------------------------------------- /src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 8085 3 | 4 | spring: 5 | 6 | #thymeleaf模板引擎 7 | thymeleaf: 8 | prefix: classpath:/templates/ 9 | check-template-location: true 10 | suffix: .html 11 | encoding: UTF-8 12 | mode: LEGACYHTML5 13 | cache: false 14 | -------------------------------------------------------------------------------- /src/main/resources/static/author.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/author.jpg -------------------------------------------------------------------------------- /src/main/resources/static/js/common/api.js: -------------------------------------------------------------------------------- 1 | //设置全局表单提交格式 2 | Vue.http.options.emulateJSON = true; 3 | 4 | //前端API访问接口 5 | let api = { 6 | jvm: { 7 | runtime: { 8 | get: '/runtime/get', 9 | }, 10 | class: { 11 | get: '/class/get', 12 | }, 13 | memory: { 14 | get: '/memory/get', 15 | }, 16 | thread: { 17 | get: '/thread/get' 18 | }, 19 | gc: { 20 | get: '/gc/get', 21 | getPools: '/gc/getPools' 22 | } 23 | } 24 | 25 | } -------------------------------------------------------------------------------- /src/main/resources/static/js/index.js: -------------------------------------------------------------------------------- 1 | // Vue实例 2 | let app = new Vue({ 3 | el: '#app', 4 | data: { 5 | defaultActive: '首页', 6 | data: {} 7 | }, 8 | created() { 9 | this.init(); //初始化 10 | }, 11 | mounted() { 12 | this.$refs.loader.style.display = 'none'; 13 | }, 14 | methods: { 15 | /** 16 | * 初始化 17 | */ 18 | init() { 19 | this.$http.get(api.jvm.runtime.get).then(response => { 20 | this.data = response.body.data; 21 | }) 22 | }, 23 | }, 24 | }); 25 | -------------------------------------------------------------------------------- /src/main/resources/static/js/jvm/overview.js: -------------------------------------------------------------------------------- 1 | // Vue实例 2 | let app = new Vue({ 3 | el: '#app', 4 | data: { 5 | defaultActive: '概述', 6 | data: {}, 7 | loading: true, 8 | }, 9 | created() { 10 | this.init(); //初始化 11 | }, 12 | mounted() { 13 | this.$refs.loader.style.display = 'none'; 14 | }, 15 | methods: { 16 | /** 17 | * 初始化 18 | */ 19 | init() { 20 | this.loading = true; 21 | this.$http.get(api.jvm.runtime.get).then(response => { 22 | this.data = response.body.data; 23 | this.loading = false; 24 | }) 25 | }, 26 | strFormat(value) { 27 | return value.replace(/[;:]/g, "
"); 28 | }, 29 | dateFormat(millisecond) { 30 | if (millisecond != undefined) { 31 | return (new Date(millisecond).toLocaleDateString()) + " " + (new Date(millisecond).toTimeString()); 32 | } 33 | } 34 | }, 35 | }); 36 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/directives/mousewheel.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | var _normalizeWheel = require('normalize-wheel'); 6 | 7 | var _normalizeWheel2 = _interopRequireDefault(_normalizeWheel); 8 | 9 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 10 | 11 | var isFirefox = typeof navigator !== 'undefined' && navigator.userAgent.toLowerCase().indexOf('firefox') > -1; 12 | 13 | var mousewheel = function mousewheel(element, callback) { 14 | if (element && element.addEventListener) { 15 | element.addEventListener(isFirefox ? 'DOMMouseScroll' : 'mousewheel', function (event) { 16 | var normalized = (0, _normalizeWheel2.default)(event); 17 | callback && callback.apply(this, [event, normalized]); 18 | }); 19 | } 20 | }; 21 | 22 | exports.default = { 23 | bind: function bind(el, binding) { 24 | mousewheel(el, binding.value); 25 | } 26 | }; -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/directives/repeat-click.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | var _dom = require('element-ui/lib/utils/dom'); 6 | 7 | exports.default = { 8 | bind: function bind(el, binding, vnode) { 9 | var interval = null; 10 | var startTime = void 0; 11 | var handler = function handler() { 12 | return vnode.context[binding.expression].apply(); 13 | }; 14 | var clear = function clear() { 15 | if (Date.now() - startTime < 100) { 16 | handler(); 17 | } 18 | clearInterval(interval); 19 | interval = null; 20 | }; 21 | 22 | (0, _dom.on)(el, 'mousedown', function (e) { 23 | if (e.button !== 0) return; 24 | startTime = Date.now(); 25 | (0, _dom.once)(document, 'mouseup', clear); 26 | clearInterval(interval); 27 | interval = setInterval(handler, 100); 28 | }); 29 | } 30 | }; -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/mixins/emitter.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | exports.__esModule = true; 4 | function _broadcast(componentName, eventName, params) { 5 | this.$children.forEach(function (child) { 6 | var name = child.$options.componentName; 7 | 8 | if (name === componentName) { 9 | child.$emit.apply(child, [eventName].concat(params)); 10 | } else { 11 | _broadcast.apply(child, [componentName, eventName].concat([params])); 12 | } 13 | }); 14 | } 15 | exports.default = { 16 | methods: { 17 | dispatch: function dispatch(componentName, eventName, params) { 18 | var parent = this.$parent || this.$root; 19 | var name = parent.$options.componentName; 20 | 21 | while (parent && (!name || name !== componentName)) { 22 | parent = parent.$parent; 23 | 24 | if (parent) { 25 | name = parent.$options.componentName; 26 | } 27 | } 28 | if (parent) { 29 | parent.$emit.apply(parent, [eventName].concat(params)); 30 | } 31 | }, 32 | broadcast: function broadcast(componentName, eventName, params) { 33 | _broadcast.call(this, componentName, eventName, params); 34 | } 35 | } 36 | }; -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/mixins/focus.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | exports.__esModule = true; 4 | 5 | exports.default = function (ref) { 6 | return { 7 | methods: { 8 | focus: function focus() { 9 | this.$refs[ref].focus(); 10 | } 11 | } 12 | }; 13 | }; 14 | 15 | ; -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/mixins/locale.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | var _locale = require('element-ui/lib/locale'); 6 | 7 | exports.default = { 8 | methods: { 9 | t: function t() { 10 | for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { 11 | args[_key] = arguments[_key]; 12 | } 13 | 14 | return _locale.t.apply(this, args); 15 | } 16 | } 17 | }; -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/aside.css: -------------------------------------------------------------------------------- 1 | .el-aside{overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/badge.css: -------------------------------------------------------------------------------- 1 | .el-badge{position:relative;vertical-align:middle;display:inline-block}.el-badge__content{background-color:#F56C6C;border-radius:10px;color:#FFF;display:inline-block;font-size:12px;height:18px;line-height:18px;padding:0 6px;text-align:center;white-space:nowrap;border:1px solid #FFF}.el-badge__content.is-fixed{position:absolute;top:0;right:10px;-webkit-transform:translateY(-50%) translateX(100%);transform:translateY(-50%) translateX(100%)}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{height:8px;width:8px;padding:0;right:0;border-radius:50%}.el-badge__content--primary{background-color:#409EFF}.el-badge__content--success{background-color:#67C23A}.el-badge__content--warning{background-color:#E6A23C}.el-badge__content--info{background-color:#909399}.el-badge__content--danger{background-color:#F56C6C} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/breadcrumb-item.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/lib/theme-chalk/breadcrumb-item.css -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/breadcrumb.css: -------------------------------------------------------------------------------- 1 | .el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb::after,.el-breadcrumb::before{display:table;content:""}.el-breadcrumb::after{clear:both}.el-breadcrumb__separator{margin:0 9px;font-weight:700;color:#C0C4CC}.el-breadcrumb__separator[class*=icon]{margin:0 6px;font-weight:400}.el-breadcrumb__item{float:left}.el-breadcrumb__inner{color:#606266}.el-breadcrumb__inner a,.el-breadcrumb__inner.is-link{font-weight:700;text-decoration:none;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1);color:#303133}.el-breadcrumb__inner a:hover,.el-breadcrumb__inner.is-link:hover{color:#409EFF;cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover{font-weight:400;color:#606266;cursor:text}.el-breadcrumb__item:last-child .el-breadcrumb__separator{display:none} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/button-group.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/lib/theme-chalk/button-group.css -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/calendar.css: -------------------------------------------------------------------------------- 1 | .el-calendar{background-color:#fff}.el-calendar__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:12px 20px;border-bottom:1px solid #EBEEF5}.el-calendar__title{color:#000;-ms-flex-item-align:center;align-self:center}.el-calendar__body{padding:12px 20px 35px}.el-calendar-table{table-layout:fixed;width:100%}.el-calendar-table thead th{padding:12px 0;color:#606266;font-weight:400}.el-calendar-table:not(.is-range) td.next,.el-calendar-table:not(.is-range) td.prev{color:#C0C4CC}.el-calendar-table td{border-bottom:1px solid #EBEEF5;border-right:1px solid #EBEEF5;vertical-align:top;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}.el-calendar-table td.is-selected{background-color:#F2F8FE}.el-calendar-table td.is-today{color:#409EFF}.el-calendar-table tr:first-child td{border-top:1px solid #EBEEF5}.el-calendar-table tr td:first-child{border-left:1px solid #EBEEF5}.el-calendar-table tr.el-calendar-table__row--hide-border td{border-top:none}.el-calendar-table .el-calendar-day{-webkit-box-sizing:border-box;box-sizing:border-box;padding:8px;height:85px}.el-calendar-table .el-calendar-day:hover{cursor:pointer;background-color:#F2F8FE} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/card.css: -------------------------------------------------------------------------------- 1 | .el-card{border-radius:4px;border:1px solid #EBEEF5;background-color:#FFF;overflow:hidden;color:#303133;-webkit-transition:.3s;transition:.3s}.el-card.is-always-shadow,.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-card__header{padding:18px 20px;border-bottom:1px solid #EBEEF5;-webkit-box-sizing:border-box;box-sizing:border-box}.el-card__body{padding:20px} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/carousel-item.css: -------------------------------------------------------------------------------- 1 | .el-carousel__item,.el-carousel__mask{position:absolute;height:100%;top:0;left:0}.el-carousel__item{width:100%;display:inline-block;overflow:hidden;z-index:0}.el-carousel__item.is-active{z-index:2}.el-carousel__item.is-animating{-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.el-carousel__item--card{width:50%;-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.el-carousel__item--card.is-in-stage{cursor:pointer;z-index:1}.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask,.el-carousel__item--card.is-in-stage:hover .el-carousel__mask{opacity:.12}.el-carousel__item--card.is-active{z-index:2}.el-carousel__mask{width:100%;background-color:#FFF;opacity:.24;-webkit-transition:.2s;transition:.2s} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/checkbox-button.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/lib/theme-chalk/checkbox-button.css -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/checkbox-group.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/lib/theme-chalk/checkbox-group.css -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/collapse-item.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/lib/theme-chalk/collapse-item.css -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/container.css: -------------------------------------------------------------------------------- 1 | .el-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:0}.el-container.is-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/display.css: -------------------------------------------------------------------------------- 1 | @media only screen and (max-width:767px){.hidden-xs-only{display:none!important}}@media only screen and (min-width:768px){.hidden-sm-and-up{display:none!important}}@media only screen and (min-width:768px) and (max-width:991px){.hidden-sm-only{display:none!important}}@media only screen and (max-width:991px){.hidden-sm-and-down{display:none!important}}@media only screen and (min-width:992px){.hidden-md-and-up{display:none!important}}@media only screen and (min-width:992px) and (max-width:1199px){.hidden-md-only{display:none!important}}@media only screen and (max-width:1199px){.hidden-md-and-down{display:none!important}}@media only screen and (min-width:1200px){.hidden-lg-and-up{display:none!important}}@media only screen and (min-width:1200px) and (max-width:1919px){.hidden-lg-only{display:none!important}}@media only screen and (max-width:1919px){.hidden-lg-and-down{display:none!important}}@media only screen and (min-width:1920px){.hidden-xl-only{display:none!important}} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/divider.css: -------------------------------------------------------------------------------- 1 | .el-divider{background-color:#DCDFE6;position:relative}.el-divider--horizontal{display:block;height:1px;width:100%;margin:24px 0}.el-divider--vertical{display:inline-block;width:1px;height:1em;margin:0 8px;vertical-align:middle;position:relative}.el-divider__text{position:absolute;background-color:#FFF;padding:0 20px;font-weight:500;color:#303133;font-size:14px}.el-divider__text.is-left{left:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-divider__text.is-center{left:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.el-divider__text.is-right{right:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/dropdown-item.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/lib/theme-chalk/dropdown-item.css -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/dropdown-menu.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/lib/theme-chalk/dropdown-menu.css -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/fonts/element-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/lib/theme-chalk/fonts/element-icons.ttf -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/fonts/element-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/lib/theme-chalk/fonts/element-icons.woff -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/footer.css: -------------------------------------------------------------------------------- 1 | .el-footer{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/form-item.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/lib/theme-chalk/form-item.css -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/header.css: -------------------------------------------------------------------------------- 1 | .el-header{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/image.css: -------------------------------------------------------------------------------- 1 | .el-image__error,.el-image__placeholder{background:#F5F7FA}.el-image__error,.el-image__inner,.el-image__placeholder{width:100%;height:100%}.el-image{display:inline-block}.el-image__inner{vertical-align:top}.el-image__error{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:14px;color:#C0C4CC;vertical-align:middle} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/main.css: -------------------------------------------------------------------------------- 1 | .el-main{display:block;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box;padding:20px} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/menu-item-group.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/lib/theme-chalk/menu-item-group.css -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/menu-item.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/lib/theme-chalk/menu-item.css -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/option-group.css: -------------------------------------------------------------------------------- 1 | .el-select-group{margin:0;padding:0}.el-select-group__wrap{position:relative;list-style:none;margin:0;padding:0}.el-select-group__wrap:not(:last-of-type){padding-bottom:24px}.el-select-group__wrap:not(:last-of-type)::after{content:'';position:absolute;display:block;left:20px;right:20px;bottom:12px;height:1px;background:#E4E7ED}.el-select-group__title{padding-left:20px;font-size:12px;color:#909399;line-height:30px}.el-select-group .el-select-dropdown__item{padding-left:20px} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/option.css: -------------------------------------------------------------------------------- 1 | .el-select-dropdown__item{font-size:14px;padding:0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#606266;height:34px;line-height:34px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.el-select-dropdown__item.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-select-dropdown__item.is-disabled:hover{background-color:#FFF}.el-select-dropdown__item.hover,.el-select-dropdown__item:hover{background-color:#F5F7FA}.el-select-dropdown__item.selected{color:#409EFF;font-weight:700} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/radio-group.css: -------------------------------------------------------------------------------- 1 | .el-radio-group{display:inline-block;line-height:1;vertical-align:middle;font-size:0} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/rate.css: -------------------------------------------------------------------------------- 1 | .el-rate__icon,.el-rate__item{position:relative;display:inline-block}.el-rate{height:20px;line-height:1}.el-rate:active,.el-rate:focus{outline-width:0}.el-rate__item{font-size:0;vertical-align:middle}.el-rate__icon{font-size:18px;margin-right:6px;color:#C0C4CC;-webkit-transition:.3s;transition:.3s}.el-rate__decimal,.el-rate__icon .path2{position:absolute;top:0;left:0}.el-rate__icon.hover{-webkit-transform:scale(1.15);transform:scale(1.15)}.el-rate__decimal{display:inline-block;overflow:hidden}.el-rate__text{font-size:14px;vertical-align:middle} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/reset.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8";body{font-family:"Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif;font-weight:400;font-size:14px;color:#000;-webkit-font-smoothing:antialiased}a{color:#409EFF;text-decoration:none}a:focus,a:hover{color:#66b1ff}a:active{color:#3a8ee6}h1,h2,h3,h4,h5,h6{color:#606266;font-weight:inherit}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child,p:first-child{margin-top:0}h1:last-child,h2:last-child,h3:last-child,h4:last-child,h5:last-child,h6:last-child,p:last-child{margin-bottom:0}h1{font-size:20px}h2{font-size:18px}h3{font-size:16px}h4,h5,h6,p{font-size:inherit}p{line-height:1.8}sub,sup{font-size:13px}small{font-size:12px}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/row.css: -------------------------------------------------------------------------------- 1 | .el-row{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box}.el-row::after,.el-row::before{display:table;content:""}.el-row::after{clear:both}.el-row--flex{display:-webkit-box;display:-ms-flexbox;display:flex}.el-row--flex:after,.el-row--flex:before{display:none}.el-row--flex.is-justify-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-row--flex.is-justify-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.el-row--flex.is-justify-space-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.el-row--flex.is-justify-space-around{-ms-flex-pack:distribute;justify-content:space-around}.el-row--flex.is-align-middle{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-row--flex.is-align-bottom{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/scrollbar.css: -------------------------------------------------------------------------------- 1 | .el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.el-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/spinner.css: -------------------------------------------------------------------------------- 1 | .el-time-spinner{width:100%;white-space:nowrap}.el-spinner{display:inline-block;vertical-align:middle}.el-spinner-inner{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;width:50px;height:50px}.el-spinner-inner .path{stroke:#ececec;stroke-linecap:round;-webkit-animation:dash 1.5s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite}@-webkit-keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/steps.css: -------------------------------------------------------------------------------- 1 | .el-steps{display:-webkit-box;display:-ms-flexbox;display:flex}.el-steps--simple{padding:13px 8%;border-radius:4px;background:#F5F7FA}.el-steps--horizontal{white-space:nowrap}.el-steps--vertical{height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/submenu.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/lib/theme-chalk/submenu.css -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/tab-pane.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/lib/theme-chalk/tab-pane.css -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/theme-chalk/timeline.css: -------------------------------------------------------------------------------- 1 | .el-timeline{margin:0;font-size:14px;list-style:none}.el-timeline .el-timeline-item:last-child .el-timeline-item__tail{display:none} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/utils/after-leave.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | exports.default = function (instance, callback) { 6 | var speed = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 300; 7 | var once = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; 8 | 9 | if (!instance || !callback) throw new Error('instance & callback is required'); 10 | var called = false; 11 | var afterLeaveCallback = function afterLeaveCallback() { 12 | if (called) return; 13 | called = true; 14 | if (callback) { 15 | callback.apply(null, arguments); 16 | } 17 | }; 18 | if (once) { 19 | instance.$once('after-leave', afterLeaveCallback); 20 | } else { 21 | instance.$on('after-leave', afterLeaveCallback); 22 | } 23 | setTimeout(function () { 24 | afterLeaveCallback(); 25 | }, speed + 100); 26 | }; 27 | 28 | ; /** 29 | * Bind after-leave event for vue instance. Make sure after-leave is called in any browsers. 30 | * 31 | * @param {Vue} instance Vue instance. 32 | * @param {Function} callback callback of after-leave event 33 | * @param {Number} speed the speed of transition, default value is 300ms 34 | * @param {Boolean} once weather bind after-leave once. default value is false. 35 | */ -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/utils/menu/aria-menubar.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | var _ariaMenuitem = require('./aria-menuitem'); 6 | 7 | var _ariaMenuitem2 = _interopRequireDefault(_ariaMenuitem); 8 | 9 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 10 | 11 | var Menu = function Menu(domNode) { 12 | this.domNode = domNode; 13 | this.init(); 14 | }; 15 | 16 | Menu.prototype.init = function () { 17 | var menuChildren = this.domNode.childNodes; 18 | [].filter.call(menuChildren, function (child) { 19 | return child.nodeType === 1; 20 | }).forEach(function (child) { 21 | new _ariaMenuitem2.default(child); // eslint-disable-line 22 | }); 23 | }; 24 | exports.default = Menu; -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/utils/merge.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | exports.__esModule = true; 4 | 5 | exports.default = function (target) { 6 | for (var i = 1, j = arguments.length; i < j; i++) { 7 | var source = arguments[i] || {}; 8 | for (var prop in source) { 9 | if (source.hasOwnProperty(prop)) { 10 | var value = source[prop]; 11 | if (value !== undefined) { 12 | target[prop] = value; 13 | } 14 | } 15 | } 16 | } 17 | 18 | return target; 19 | }; 20 | 21 | ; -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/utils/scroll-into-view.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | exports.default = scrollIntoView; 5 | 6 | var _vue = require('vue'); 7 | 8 | var _vue2 = _interopRequireDefault(_vue); 9 | 10 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 11 | 12 | function scrollIntoView(container, selected) { 13 | if (_vue2.default.prototype.$isServer) return; 14 | 15 | if (!selected) { 16 | container.scrollTop = 0; 17 | return; 18 | } 19 | 20 | var offsetParents = []; 21 | var pointer = selected.offsetParent; 22 | while (pointer && container !== pointer && container.contains(pointer)) { 23 | offsetParents.push(pointer); 24 | pointer = pointer.offsetParent; 25 | } 26 | var top = selected.offsetTop + offsetParents.reduce(function (prev, curr) { 27 | return prev + curr.offsetTop; 28 | }, 0); 29 | var bottom = top + selected.offsetHeight; 30 | var viewRectTop = container.scrollTop; 31 | var viewRectBottom = viewRectTop + container.clientHeight; 32 | 33 | if (top < viewRectTop) { 34 | container.scrollTop = top; 35 | } else if (bottom > viewRectBottom) { 36 | container.scrollTop = bottom - container.clientHeight; 37 | } 38 | } -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/utils/scrollbar-width.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | exports.default = function () { 6 | if (_vue2.default.prototype.$isServer) return 0; 7 | if (scrollBarWidth !== undefined) return scrollBarWidth; 8 | 9 | var outer = document.createElement('div'); 10 | outer.className = 'el-scrollbar__wrap'; 11 | outer.style.visibility = 'hidden'; 12 | outer.style.width = '100px'; 13 | outer.style.position = 'absolute'; 14 | outer.style.top = '-9999px'; 15 | document.body.appendChild(outer); 16 | 17 | var widthNoScroll = outer.offsetWidth; 18 | outer.style.overflow = 'scroll'; 19 | 20 | var inner = document.createElement('div'); 21 | inner.style.width = '100%'; 22 | outer.appendChild(inner); 23 | 24 | var widthWithScroll = inner.offsetWidth; 25 | outer.parentNode.removeChild(outer); 26 | scrollBarWidth = widthNoScroll - widthWithScroll; 27 | 28 | return scrollBarWidth; 29 | }; 30 | 31 | var _vue = require('vue'); 32 | 33 | var _vue2 = _interopRequireDefault(_vue); 34 | 35 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 36 | 37 | var scrollBarWidth = void 0; 38 | 39 | ; -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/utils/shared.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | exports.__esModule = true; 4 | exports.isDef = isDef; 5 | exports.isKorean = isKorean; 6 | function isDef(val) { 7 | return val !== undefined && val !== null; 8 | } 9 | function isKorean(text) { 10 | var reg = /([(\uAC00-\uD7AF)|(\u3130-\u318F)])+/gi; 11 | return reg.test(text); 12 | } -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/utils/types.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | exports.isString = isString; 5 | exports.isObject = isObject; 6 | exports.isHtmlElement = isHtmlElement; 7 | function isString(obj) { 8 | return Object.prototype.toString.call(obj) === '[object String]'; 9 | } 10 | 11 | function isObject(obj) { 12 | return Object.prototype.toString.call(obj) === '[object Object]'; 13 | } 14 | 15 | function isHtmlElement(node) { 16 | return node && node.nodeType === Node.ELEMENT_NODE; 17 | } -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/lib/utils/vdom.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; 6 | 7 | exports.isVNode = isVNode; 8 | 9 | var _util = require('element-ui/lib/utils/util'); 10 | 11 | function isVNode(node) { 12 | return node !== null && (typeof node === 'undefined' ? 'undefined' : _typeof(node)) === 'object' && (0, _util.hasOwn)(node, 'componentOptions'); 13 | }; -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/alert/index.js: -------------------------------------------------------------------------------- 1 | import Alert from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Alert.install = function(Vue) { 5 | Vue.component(Alert.name, Alert); 6 | }; 7 | 8 | export default Alert; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/aside/index.js: -------------------------------------------------------------------------------- 1 | import Aside from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Aside.install = function(Vue) { 5 | Vue.component(Aside.name, Aside); 6 | }; 7 | 8 | export default Aside; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/aside/src/main.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 21 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/autocomplete/index.js: -------------------------------------------------------------------------------- 1 | import ElAutocomplete from './src/autocomplete'; 2 | 3 | /* istanbul ignore next */ 4 | ElAutocomplete.install = function(Vue) { 5 | Vue.component(ElAutocomplete.name, ElAutocomplete); 6 | }; 7 | 8 | export default ElAutocomplete; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/badge/index.js: -------------------------------------------------------------------------------- 1 | import Badge from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Badge.install = function(Vue) { 5 | Vue.component(Badge.name, Badge); 6 | }; 7 | 8 | export default Badge; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/badge/src/main.vue: -------------------------------------------------------------------------------- 1 | 20 | 21 | 54 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/breadcrumb-item/index.js: -------------------------------------------------------------------------------- 1 | import ElBreadcrumbItem from '../breadcrumb/src/breadcrumb-item'; 2 | 3 | /* istanbul ignore next */ 4 | ElBreadcrumbItem.install = function(Vue) { 5 | Vue.component(ElBreadcrumbItem.name, ElBreadcrumbItem); 6 | }; 7 | 8 | export default ElBreadcrumbItem; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/breadcrumb/index.js: -------------------------------------------------------------------------------- 1 | import ElBreadcrumb from './src/breadcrumb'; 2 | 3 | /* istanbul ignore next */ 4 | ElBreadcrumb.install = function(Vue) { 5 | Vue.component(ElBreadcrumb.name, ElBreadcrumb); 6 | }; 7 | 8 | export default ElBreadcrumb; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/breadcrumb/src/breadcrumb-item.vue: -------------------------------------------------------------------------------- 1 | 13 | 42 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/breadcrumb/src/breadcrumb.vue: -------------------------------------------------------------------------------- 1 | 6 | 35 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/button-group/index.js: -------------------------------------------------------------------------------- 1 | import ElButtonGroup from '../button/src/button-group'; 2 | 3 | /* istanbul ignore next */ 4 | ElButtonGroup.install = function(Vue) { 5 | Vue.component(ElButtonGroup.name, ElButtonGroup); 6 | }; 7 | 8 | export default ElButtonGroup; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/button/index.js: -------------------------------------------------------------------------------- 1 | import ElButton from './src/button'; 2 | 3 | /* istanbul ignore next */ 4 | ElButton.install = function(Vue) { 5 | Vue.component(ElButton.name, ElButton); 6 | }; 7 | 8 | export default ElButton; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/button/src/button-group.vue: -------------------------------------------------------------------------------- 1 | 6 | 11 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/calendar/index.js: -------------------------------------------------------------------------------- 1 | import Calendar from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Calendar.install = function(Vue) { 5 | Vue.component(Calendar.name, Calendar); 6 | }; 7 | 8 | export default Calendar; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/card/index.js: -------------------------------------------------------------------------------- 1 | import Card from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Card.install = function(Vue) { 5 | Vue.component(Card.name, Card); 6 | }; 7 | 8 | export default Card; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/card/src/main.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | 24 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/carousel-item/index.js: -------------------------------------------------------------------------------- 1 | import ElCarouselItem from '../carousel/src/item'; 2 | 3 | /* istanbul ignore next */ 4 | ElCarouselItem.install = function(Vue) { 5 | Vue.component(ElCarouselItem.name, ElCarouselItem); 6 | }; 7 | 8 | export default ElCarouselItem; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/carousel/index.js: -------------------------------------------------------------------------------- 1 | import Carousel from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Carousel.install = function(Vue) { 5 | Vue.component(Carousel.name, Carousel); 6 | }; 7 | 8 | export default Carousel; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/cascader/index.js: -------------------------------------------------------------------------------- 1 | import Cascader from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Cascader.install = function(Vue) { 5 | Vue.component(Cascader.name, Cascader); 6 | }; 7 | 8 | export default Cascader; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/checkbox-button/index.js: -------------------------------------------------------------------------------- 1 | import ElCheckboxButton from '../checkbox/src/checkbox-button.vue'; 2 | 3 | /* istanbul ignore next */ 4 | ElCheckboxButton.install = function(Vue) { 5 | Vue.component(ElCheckboxButton.name, ElCheckboxButton); 6 | }; 7 | 8 | export default ElCheckboxButton; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/checkbox-group/index.js: -------------------------------------------------------------------------------- 1 | import ElCheckboxGroup from '../checkbox/src/checkbox-group.vue'; 2 | 3 | /* istanbul ignore next */ 4 | ElCheckboxGroup.install = function(Vue) { 5 | Vue.component(ElCheckboxGroup.name, ElCheckboxGroup); 6 | }; 7 | 8 | export default ElCheckboxGroup; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/checkbox/index.js: -------------------------------------------------------------------------------- 1 | import ElCheckbox from './src/checkbox'; 2 | 3 | /* istanbul ignore next */ 4 | ElCheckbox.install = function(Vue) { 5 | Vue.component(ElCheckbox.name, ElCheckbox); 6 | }; 7 | 8 | export default ElCheckbox; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/checkbox/src/checkbox-group.vue: -------------------------------------------------------------------------------- 1 | 43 | 44 | 49 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/col/index.js: -------------------------------------------------------------------------------- 1 | import ElCol from './src/col'; 2 | 3 | /* istanbul ignore next */ 4 | ElCol.install = function(Vue) { 5 | Vue.component(ElCol.name, ElCol); 6 | }; 7 | 8 | export default ElCol; 9 | 10 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/collapse-item/index.js: -------------------------------------------------------------------------------- 1 | import ElCollapseItem from '../collapse/src/collapse-item.vue'; 2 | 3 | /* istanbul ignore next */ 4 | ElCollapseItem.install = function(Vue) { 5 | Vue.component(ElCollapseItem.name, ElCollapseItem); 6 | }; 7 | 8 | export default ElCollapseItem; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/collapse/index.js: -------------------------------------------------------------------------------- 1 | import ElCollapse from './src/collapse'; 2 | 3 | /* istanbul ignore next */ 4 | ElCollapse.install = function(Vue) { 5 | Vue.component(ElCollapse.name, ElCollapse); 6 | }; 7 | 8 | export default ElCollapse; 9 | 10 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/color-picker/index.js: -------------------------------------------------------------------------------- 1 | import ColorPicker from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | ColorPicker.install = function(Vue) { 5 | Vue.component(ColorPicker.name, ColorPicker); 6 | }; 7 | 8 | export default ColorPicker; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/color-picker/src/draggable.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue'; 2 | let isDragging = false; 3 | 4 | export default function(element, options) { 5 | if (Vue.prototype.$isServer) return; 6 | const moveFn = function(event) { 7 | if (options.drag) { 8 | options.drag(event); 9 | } 10 | }; 11 | const upFn = function(event) { 12 | document.removeEventListener('mousemove', moveFn); 13 | document.removeEventListener('mouseup', upFn); 14 | document.onselectstart = null; 15 | document.ondragstart = null; 16 | 17 | isDragging = false; 18 | 19 | if (options.end) { 20 | options.end(event); 21 | } 22 | }; 23 | element.addEventListener('mousedown', function(event) { 24 | if (isDragging) return; 25 | document.onselectstart = function() { return false; }; 26 | document.ondragstart = function() { return false; }; 27 | 28 | document.addEventListener('mousemove', moveFn); 29 | document.addEventListener('mouseup', upFn); 30 | isDragging = true; 31 | 32 | if (options.start) { 33 | options.start(event); 34 | } 35 | }); 36 | } 37 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/container/index.js: -------------------------------------------------------------------------------- 1 | import Container from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Container.install = function(Vue) { 5 | Vue.component(Container.name, Container); 6 | }; 7 | 8 | export default Container; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/container/src/main.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 34 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/date-picker/index.js: -------------------------------------------------------------------------------- 1 | import DatePicker from './src/picker/date-picker'; 2 | 3 | /* istanbul ignore next */ 4 | DatePicker.install = function install(Vue) { 5 | Vue.component(DatePicker.name, DatePicker); 6 | }; 7 | 8 | export default DatePicker; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/date-picker/src/picker/date-picker.js: -------------------------------------------------------------------------------- 1 | import Picker from '../picker'; 2 | import DatePanel from '../panel/date'; 3 | import DateRangePanel from '../panel/date-range'; 4 | import MonthRangePanel from '../panel/month-range'; 5 | 6 | const getPanel = function(type) { 7 | if (type === 'daterange' || type === 'datetimerange') { 8 | return DateRangePanel; 9 | } else if (type === 'monthrange') { 10 | return MonthRangePanel; 11 | } 12 | return DatePanel; 13 | }; 14 | 15 | export default { 16 | mixins: [Picker], 17 | 18 | name: 'ElDatePicker', 19 | 20 | props: { 21 | type: { 22 | type: String, 23 | default: 'date' 24 | }, 25 | timeArrowControl: Boolean 26 | }, 27 | 28 | watch: { 29 | type(type) { 30 | if (this.picker) { 31 | this.unmountPicker(); 32 | this.panel = getPanel(type); 33 | this.mountPicker(); 34 | } else { 35 | this.panel = getPanel(type); 36 | } 37 | } 38 | }, 39 | 40 | created() { 41 | this.panel = getPanel(this.type); 42 | } 43 | }; 44 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/date-picker/src/picker/time-picker.js: -------------------------------------------------------------------------------- 1 | import Picker from '../picker'; 2 | import TimePanel from '../panel/time'; 3 | import TimeRangePanel from '../panel/time-range'; 4 | 5 | export default { 6 | mixins: [Picker], 7 | 8 | name: 'ElTimePicker', 9 | 10 | props: { 11 | isRange: Boolean, 12 | arrowControl: Boolean 13 | }, 14 | 15 | data() { 16 | return { 17 | type: '' 18 | }; 19 | }, 20 | 21 | watch: { 22 | isRange(isRange) { 23 | if (this.picker) { 24 | this.unmountPicker(); 25 | this.type = isRange ? 'timerange' : 'time'; 26 | this.panel = isRange ? TimeRangePanel : TimePanel; 27 | this.mountPicker(); 28 | } else { 29 | this.type = isRange ? 'timerange' : 'time'; 30 | this.panel = isRange ? TimeRangePanel : TimePanel; 31 | } 32 | } 33 | }, 34 | 35 | created() { 36 | this.type = this.isRange ? 'timerange' : 'time'; 37 | this.panel = this.isRange ? TimeRangePanel : TimePanel; 38 | } 39 | }; 40 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/date-picker/src/picker/time-select.js: -------------------------------------------------------------------------------- 1 | import Picker from '../picker'; 2 | import Panel from '../panel/time-select'; 3 | 4 | export default { 5 | mixins: [Picker], 6 | 7 | name: 'ElTimeSelect', 8 | 9 | componentName: 'ElTimeSelect', 10 | 11 | props: { 12 | type: { 13 | type: String, 14 | default: 'time-select' 15 | } 16 | }, 17 | 18 | beforeCreate() { 19 | this.panel = Panel; 20 | } 21 | }; 22 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/dialog/index.js: -------------------------------------------------------------------------------- 1 | import ElDialog from './src/component'; 2 | 3 | /* istanbul ignore next */ 4 | ElDialog.install = function(Vue) { 5 | Vue.component(ElDialog.name, ElDialog); 6 | }; 7 | 8 | export default ElDialog; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/divider/index.js: -------------------------------------------------------------------------------- 1 | import Divider from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Divider.install = function(Vue) { 5 | Vue.component(Divider.name, Divider); 6 | }; 7 | 8 | export default Divider; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/divider/src/main.js: -------------------------------------------------------------------------------- 1 | export default { 2 | functional: true, 3 | 4 | name: 'ElDivider', 5 | 6 | props: { 7 | direction: { 8 | type: String, 9 | default: 'horizontal', 10 | validator(val) { 11 | return ['horizontal', 'vertical'].indexOf(val) !== -1; 12 | } 13 | }, 14 | 15 | contentPosition: { 16 | type: String, 17 | default: 'center', 18 | validator(val) { 19 | return ['left', 'center', 'right'].indexOf(val) !== -1; 20 | } 21 | } 22 | }, 23 | 24 | render(h, context) { 25 | const $slots = context.slots(); 26 | const { direction, contentPosition } = context.props; 27 | return ( 28 |
29 | { 30 | $slots.default && direction !== 'vertical' 31 | ?
{$slots.default}
32 | : null 33 | } 34 |
35 | ); 36 | } 37 | }; 38 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/dropdown-item/index.js: -------------------------------------------------------------------------------- 1 | import ElDropdownItem from '../dropdown/src/dropdown-item'; 2 | 3 | /* istanbul ignore next */ 4 | ElDropdownItem.install = function(Vue) { 5 | Vue.component(ElDropdownItem.name, ElDropdownItem); 6 | }; 7 | 8 | export default ElDropdownItem; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/dropdown-menu/index.js: -------------------------------------------------------------------------------- 1 | import ElDropdownMenu from '../dropdown/src/dropdown-menu'; 2 | 3 | /* istanbul ignore next */ 4 | ElDropdownMenu.install = function(Vue) { 5 | Vue.component(ElDropdownMenu.name, ElDropdownMenu); 6 | }; 7 | 8 | export default ElDropdownMenu; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/dropdown/index.js: -------------------------------------------------------------------------------- 1 | import ElDropdown from './src/dropdown'; 2 | 3 | /* istanbul ignore next */ 4 | ElDropdown.install = function(Vue) { 5 | Vue.component(ElDropdown.name, ElDropdown); 6 | }; 7 | 8 | export default ElDropdown; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/dropdown/src/dropdown-item.vue: -------------------------------------------------------------------------------- 1 | 16 | 38 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/footer/index.js: -------------------------------------------------------------------------------- 1 | import Footer from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Footer.install = function(Vue) { 5 | Vue.component(Footer.name, Footer); 6 | }; 7 | 8 | export default Footer; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/footer/src/main.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 21 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/form-item/index.js: -------------------------------------------------------------------------------- 1 | import ElFormItem from '../form/src/form-item'; 2 | 3 | /* istanbul ignore next */ 4 | ElFormItem.install = function(Vue) { 5 | Vue.component(ElFormItem.name, ElFormItem); 6 | }; 7 | 8 | export default ElFormItem; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/form/index.js: -------------------------------------------------------------------------------- 1 | import ElForm from './src/form'; 2 | 3 | /* istanbul ignore next */ 4 | ElForm.install = function(Vue) { 5 | Vue.component(ElForm.name, ElForm); 6 | }; 7 | 8 | export default ElForm; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/header/index.js: -------------------------------------------------------------------------------- 1 | import Header from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Header.install = function(Vue) { 5 | Vue.component(Header.name, Header); 6 | }; 7 | 8 | export default Header; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/header/src/main.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 21 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/icon/index.js: -------------------------------------------------------------------------------- 1 | import ElIcon from './src/icon.vue'; 2 | 3 | /* istanbul ignore next */ 4 | ElIcon.install = function(Vue) { 5 | Vue.component(ElIcon.name, ElIcon); 6 | }; 7 | 8 | export default ElIcon; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/icon/src/icon.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 14 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/image/index.js: -------------------------------------------------------------------------------- 1 | import Image from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Image.install = function(Vue) { 5 | Vue.component(Image.name, Image); 6 | }; 7 | 8 | export default Image; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/input-number/index.js: -------------------------------------------------------------------------------- 1 | import ElInputNumber from './src/input-number'; 2 | 3 | /* istanbul ignore next */ 4 | ElInputNumber.install = function(Vue) { 5 | Vue.component(ElInputNumber.name, ElInputNumber); 6 | }; 7 | 8 | export default ElInputNumber; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/input/index.js: -------------------------------------------------------------------------------- 1 | import ElInput from './src/input'; 2 | 3 | /* istanbul ignore next */ 4 | ElInput.install = function(Vue) { 5 | Vue.component(ElInput.name, ElInput); 6 | }; 7 | 8 | export default ElInput; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/link/index.js: -------------------------------------------------------------------------------- 1 | import Link from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Link.install = function(Vue) { 5 | Vue.component(Link.name, Link); 6 | }; 7 | 8 | export default Link; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/link/src/main.vue: -------------------------------------------------------------------------------- 1 | 23 | 24 | 54 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/loading/index.js: -------------------------------------------------------------------------------- 1 | import directive from './src/directive'; 2 | import service from './src/index'; 3 | 4 | export default { 5 | install(Vue) { 6 | Vue.use(directive); 7 | Vue.prototype.$loading = service; 8 | }, 9 | directive, 10 | service 11 | }; 12 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/loading/src/loading.vue: -------------------------------------------------------------------------------- 1 | 18 | 19 | 42 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/main/index.js: -------------------------------------------------------------------------------- 1 | import Main from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Main.install = function(Vue) { 5 | Vue.component(Main.name, Main); 6 | }; 7 | 8 | export default Main; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/main/src/main.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 13 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/menu-item-group/index.js: -------------------------------------------------------------------------------- 1 | import ElMenuItemGroup from '../menu/src/menu-item-group'; 2 | 3 | /* istanbul ignore next */ 4 | ElMenuItemGroup.install = function(Vue) { 5 | Vue.component(ElMenuItemGroup.name, ElMenuItemGroup); 6 | }; 7 | 8 | export default ElMenuItemGroup; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/menu-item/index.js: -------------------------------------------------------------------------------- 1 | import ElMenuItem from '../menu/src/menu-item'; 2 | 3 | /* istanbul ignore next */ 4 | ElMenuItem.install = function(Vue) { 5 | Vue.component(ElMenuItem.name, ElMenuItem); 6 | }; 7 | 8 | export default ElMenuItem; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/menu/index.js: -------------------------------------------------------------------------------- 1 | import ElMenu from './src/menu'; 2 | 3 | /* istanbul ignore next */ 4 | ElMenu.install = function(Vue) { 5 | Vue.component(ElMenu.name, ElMenu); 6 | }; 7 | 8 | export default ElMenu; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/menu/src/menu-item-group.vue: -------------------------------------------------------------------------------- 1 | 12 | 45 | 46 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/menu/src/menu-mixin.js: -------------------------------------------------------------------------------- 1 | export default { 2 | inject: ['rootMenu'], 3 | computed: { 4 | indexPath() { 5 | const path = [this.index]; 6 | let parent = this.$parent; 7 | while (parent.$options.componentName !== 'ElMenu') { 8 | if (parent.index) { 9 | path.unshift(parent.index); 10 | } 11 | parent = parent.$parent; 12 | } 13 | return path; 14 | }, 15 | parentMenu() { 16 | let parent = this.$parent; 17 | while ( 18 | parent && 19 | ['ElMenu', 'ElSubmenu'].indexOf(parent.$options.componentName) === -1 20 | ) { 21 | parent = parent.$parent; 22 | } 23 | return parent; 24 | }, 25 | paddingStyle() { 26 | if (this.rootMenu.mode !== 'vertical') return {}; 27 | 28 | let padding = 20; 29 | let parent = this.$parent; 30 | 31 | if (this.rootMenu.collapse) { 32 | padding = 20; 33 | } else { 34 | while (parent && parent.$options.componentName !== 'ElMenu') { 35 | if (parent.$options.componentName === 'ElSubmenu') { 36 | padding += 20; 37 | } 38 | parent = parent.$parent; 39 | } 40 | } 41 | return {paddingLeft: padding + 'px'}; 42 | } 43 | } 44 | }; 45 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/message-box/index.js: -------------------------------------------------------------------------------- 1 | import MessageBox from './src/main.js'; 2 | export default MessageBox; 3 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/message/index.js: -------------------------------------------------------------------------------- 1 | import Message from './src/main.js'; 2 | export default Message; 3 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/notification/index.js: -------------------------------------------------------------------------------- 1 | import Notification from './src/main.js'; 2 | export default Notification; 3 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/option-group/index.js: -------------------------------------------------------------------------------- 1 | import ElOptionGroup from '../select/src/option-group'; 2 | 3 | /* istanbul ignore next */ 4 | ElOptionGroup.install = function(Vue) { 5 | Vue.component(ElOptionGroup.name, ElOptionGroup); 6 | }; 7 | 8 | export default ElOptionGroup; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/option/index.js: -------------------------------------------------------------------------------- 1 | import ElOption from '../select/src/option'; 2 | 3 | /* istanbul ignore next */ 4 | ElOption.install = function(Vue) { 5 | Vue.component(ElOption.name, ElOption); 6 | }; 7 | 8 | export default ElOption; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/pagination/index.js: -------------------------------------------------------------------------------- 1 | import Pagination from './src/pagination'; 2 | 3 | /* istanbul ignore next */ 4 | Pagination.install = function(Vue) { 5 | Vue.component(Pagination.name, Pagination); 6 | }; 7 | 8 | export default Pagination; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/popover/index.js: -------------------------------------------------------------------------------- 1 | import Popover from './src/main'; 2 | import directive from './src/directive'; 3 | import Vue from 'vue'; 4 | 5 | Vue.directive('popover', directive); 6 | 7 | /* istanbul ignore next */ 8 | Popover.install = function(Vue) { 9 | Vue.directive('popover', directive); 10 | Vue.component(Popover.name, Popover); 11 | }; 12 | Popover.directive = directive; 13 | 14 | export default Popover; 15 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/popover/src/directive.js: -------------------------------------------------------------------------------- 1 | const getReference = (el, binding, vnode) => { 2 | const _ref = binding.expression ? binding.value : binding.arg; 3 | const popper = vnode.context.$refs[_ref]; 4 | if (popper) { 5 | if (Array.isArray(popper)) { 6 | popper[0].$refs.reference = el; 7 | } else { 8 | popper.$refs.reference = el; 9 | } 10 | } 11 | }; 12 | 13 | export default { 14 | bind(el, binding, vnode) { 15 | getReference(el, binding, vnode); 16 | }, 17 | inserted(el, binding, vnode) { 18 | getReference(el, binding, vnode); 19 | } 20 | }; 21 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/progress/index.js: -------------------------------------------------------------------------------- 1 | import ElProgress from './src/progress'; 2 | 3 | /* istanbul ignore next */ 4 | ElProgress.install = function(Vue) { 5 | Vue.component(ElProgress.name, ElProgress); 6 | }; 7 | 8 | export default ElProgress; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/radio-button/index.js: -------------------------------------------------------------------------------- 1 | import RadioButton from '../radio/src/radio-button.vue'; 2 | 3 | /* istanbul ignore next */ 4 | RadioButton.install = function(Vue) { 5 | Vue.component(RadioButton.name, RadioButton); 6 | }; 7 | 8 | export default RadioButton; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/radio-group/index.js: -------------------------------------------------------------------------------- 1 | import RadioGroup from '../radio/src/radio-group.vue'; 2 | 3 | /* istanbul ignore next */ 4 | RadioGroup.install = function(Vue) { 5 | Vue.component(RadioGroup.name, RadioGroup); 6 | }; 7 | 8 | export default RadioGroup; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/radio/index.js: -------------------------------------------------------------------------------- 1 | import Radio from './src/radio'; 2 | 3 | /* istanbul ignore next */ 4 | Radio.install = function(Vue) { 5 | Vue.component(Radio.name, Radio); 6 | }; 7 | 8 | export default Radio; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/rate/index.js: -------------------------------------------------------------------------------- 1 | import Rate from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Rate.install = function(Vue) { 5 | Vue.component(Rate.name, Rate); 6 | }; 7 | 8 | export default Rate; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/row/index.js: -------------------------------------------------------------------------------- 1 | import Row from './src/row'; 2 | 3 | /* istanbul ignore next */ 4 | Row.install = function(Vue) { 5 | Vue.component(Row.name, Row); 6 | }; 7 | 8 | export default Row; 9 | 10 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/row/src/row.js: -------------------------------------------------------------------------------- 1 | export default { 2 | name: 'ElRow', 3 | 4 | componentName: 'ElRow', 5 | 6 | props: { 7 | tag: { 8 | type: String, 9 | default: 'div' 10 | }, 11 | gutter: Number, 12 | type: String, 13 | justify: { 14 | type: String, 15 | default: 'start' 16 | }, 17 | align: { 18 | type: String, 19 | default: 'top' 20 | } 21 | }, 22 | 23 | computed: { 24 | style() { 25 | const ret = {}; 26 | 27 | if (this.gutter) { 28 | ret.marginLeft = `-${this.gutter / 2}px`; 29 | ret.marginRight = ret.marginLeft; 30 | } 31 | 32 | return ret; 33 | } 34 | }, 35 | 36 | render(h) { 37 | return h(this.tag, { 38 | class: [ 39 | 'el-row', 40 | this.justify !== 'start' ? `is-justify-${this.justify}` : '', 41 | this.align !== 'top' ? `is-align-${this.align}` : '', 42 | { 'el-row--flex': this.type === 'flex' } 43 | ], 44 | style: this.style 45 | }, this.$slots.default); 46 | } 47 | }; 48 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/scrollbar/index.js: -------------------------------------------------------------------------------- 1 | import Scrollbar from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Scrollbar.install = function(Vue) { 5 | Vue.component(Scrollbar.name, Scrollbar); 6 | }; 7 | 8 | export default Scrollbar; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/scrollbar/src/util.js: -------------------------------------------------------------------------------- 1 | export const BAR_MAP = { 2 | vertical: { 3 | offset: 'offsetHeight', 4 | scroll: 'scrollTop', 5 | scrollSize: 'scrollHeight', 6 | size: 'height', 7 | key: 'vertical', 8 | axis: 'Y', 9 | client: 'clientY', 10 | direction: 'top' 11 | }, 12 | horizontal: { 13 | offset: 'offsetWidth', 14 | scroll: 'scrollLeft', 15 | scrollSize: 'scrollWidth', 16 | size: 'width', 17 | key: 'horizontal', 18 | axis: 'X', 19 | client: 'clientX', 20 | direction: 'left' 21 | } 22 | }; 23 | 24 | export function renderThumbStyle({ move, size, bar }) { 25 | const style = {}; 26 | const translate = `translate${bar.axis}(${ move }%)`; 27 | 28 | style[bar.size] = size; 29 | style.transform = translate; 30 | style.msTransform = translate; 31 | style.webkitTransform = translate; 32 | 33 | return style; 34 | }; 35 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/select/index.js: -------------------------------------------------------------------------------- 1 | import Select from './src/select'; 2 | 3 | /* istanbul ignore next */ 4 | Select.install = function(Vue) { 5 | Vue.component(Select.name, Select); 6 | }; 7 | 8 | export default Select; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/slider/index.js: -------------------------------------------------------------------------------- 1 | import Slider from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Slider.install = function(Vue) { 5 | Vue.component(Slider.name, Slider); 6 | }; 7 | 8 | export default Slider; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/slider/src/marker.js: -------------------------------------------------------------------------------- 1 | export default { 2 | name: 'ElMarker', 3 | 4 | props: { 5 | mark: { 6 | type: [String, Object] 7 | } 8 | }, 9 | render() { 10 | let label = typeof this.mark === 'string' ? this.mark : this.mark.label; 11 | 12 | return ( 13 |
14 | { label } 15 |
16 | ); 17 | } 18 | }; 19 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/spinner/index.js: -------------------------------------------------------------------------------- 1 | import Spinner from './src/spinner'; 2 | 3 | /* istanbul ignore next */ 4 | Spinner.install = function(Vue) { 5 | Vue.component(Spinner.name, Spinner); 6 | }; 7 | 8 | export default Spinner; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/spinner/src/spinner.vue: -------------------------------------------------------------------------------- 1 | 8 | 28 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/step/index.js: -------------------------------------------------------------------------------- 1 | import Step from '../steps/src/step'; 2 | 3 | /* istanbul ignore next */ 4 | Step.install = function(Vue) { 5 | Vue.component(Step.name, Step); 6 | }; 7 | 8 | export default Step; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/steps/index.js: -------------------------------------------------------------------------------- 1 | import Steps from './src/steps'; 2 | 3 | /* istanbul ignore next */ 4 | Steps.install = function(Vue) { 5 | Vue.component(Steps.name, Steps); 6 | }; 7 | 8 | export default Steps; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/submenu/index.js: -------------------------------------------------------------------------------- 1 | import ElSubmenu from '../menu/src/submenu'; 2 | 3 | /* istanbul ignore next */ 4 | ElSubmenu.install = function(Vue) { 5 | Vue.component(ElSubmenu.name, ElSubmenu); 6 | }; 7 | 8 | export default ElSubmenu; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/switch/index.js: -------------------------------------------------------------------------------- 1 | import Switch from './src/component'; 2 | 3 | /* istanbul ignore next */ 4 | Switch.install = function(Vue) { 5 | Vue.component(Switch.name, Switch); 6 | }; 7 | 8 | export default Switch; 9 | 10 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/tab-pane/index.js: -------------------------------------------------------------------------------- 1 | import TabPane from '../tabs/src/tab-pane.vue'; 2 | 3 | /* istanbul ignore next */ 4 | TabPane.install = function(Vue) { 5 | Vue.component(TabPane.name, TabPane); 6 | }; 7 | 8 | export default TabPane; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/table-column/index.js: -------------------------------------------------------------------------------- 1 | import ElTableColumn from '../table/src/table-column'; 2 | 3 | /* istanbul ignore next */ 4 | ElTableColumn.install = function(Vue) { 5 | Vue.component(ElTableColumn.name, ElTableColumn); 6 | }; 7 | 8 | export default ElTableColumn; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/table/index.js: -------------------------------------------------------------------------------- 1 | import ElTable from './src/table'; 2 | 3 | /* istanbul ignore next */ 4 | ElTable.install = function(Vue) { 5 | Vue.component(ElTable.name, ElTable); 6 | }; 7 | 8 | export default ElTable; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/table/src/dropdown.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue'; 2 | var dropdowns = []; 3 | 4 | !Vue.prototype.$isServer && document.addEventListener('click', function(event) { 5 | dropdowns.forEach(function(dropdown) { 6 | var target = event.target; 7 | if (!dropdown || !dropdown.$el) return; 8 | if (target === dropdown.$el || dropdown.$el.contains(target)) { 9 | return; 10 | } 11 | dropdown.handleOutsideClick && dropdown.handleOutsideClick(event); 12 | }); 13 | }); 14 | 15 | export default { 16 | open(instance) { 17 | if (instance) { 18 | dropdowns.push(instance); 19 | } 20 | }, 21 | 22 | close(instance) { 23 | var index = dropdowns.indexOf(instance); 24 | if (index !== -1) { 25 | dropdowns.splice(instance, 1); 26 | } 27 | } 28 | }; 29 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/tabs/index.js: -------------------------------------------------------------------------------- 1 | import ElTabs from './src/tabs'; 2 | 3 | /* istanbul ignore next */ 4 | ElTabs.install = function(Vue) { 5 | Vue.component(ElTabs.name, ElTabs); 6 | }; 7 | 8 | export default ElTabs; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/tabs/src/tab-pane.vue: -------------------------------------------------------------------------------- 1 | 14 | 57 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/tag/index.js: -------------------------------------------------------------------------------- 1 | import ElTag from './src/tag'; 2 | 3 | /* istanbul ignore next */ 4 | ElTag.install = function(Vue) { 5 | Vue.component(ElTag.name, ElTag); 6 | }; 7 | 8 | export default ElTag; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/README.md: -------------------------------------------------------------------------------- 1 | # element-theme-chalk 2 | > element component chalk theme. 3 | 4 | 5 | ## Installation 6 | ```shell 7 | npm i element-theme-chalk -S 8 | ``` 9 | 10 | ## Usage 11 | 12 | Use Sass import 13 | ```css 14 | @import 'element-theme-chalk'; 15 | ``` 16 | 17 | Or Use webpack 18 | ```javascript 19 | import 'element-theme-chalk'; 20 | ``` 21 | 22 | Or 23 | ```html 24 | 25 | ``` 26 | 27 | ## Import on demand 28 | ```javascript 29 | import 'element-theme-chalk/lib/input.css'; 30 | import 'element-theme-chalk/lib/select.css'; 31 | 32 | // ... 33 | ``` 34 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/aside.css: -------------------------------------------------------------------------------- 1 | .el-aside{overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/badge.css: -------------------------------------------------------------------------------- 1 | .el-badge{position:relative;vertical-align:middle;display:inline-block}.el-badge__content{background-color:#F56C6C;border-radius:10px;color:#FFF;display:inline-block;font-size:12px;height:18px;line-height:18px;padding:0 6px;text-align:center;white-space:nowrap;border:1px solid #FFF}.el-badge__content.is-fixed{position:absolute;top:0;right:10px;-webkit-transform:translateY(-50%) translateX(100%);transform:translateY(-50%) translateX(100%)}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{height:8px;width:8px;padding:0;right:0;border-radius:50%}.el-badge__content--primary{background-color:#409EFF}.el-badge__content--success{background-color:#67C23A}.el-badge__content--warning{background-color:#E6A23C}.el-badge__content--info{background-color:#909399}.el-badge__content--danger{background-color:#F56C6C} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/breadcrumb-item.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/breadcrumb-item.css -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/breadcrumb.css: -------------------------------------------------------------------------------- 1 | .el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb::after,.el-breadcrumb::before{display:table;content:""}.el-breadcrumb::after{clear:both}.el-breadcrumb__separator{margin:0 9px;font-weight:700;color:#C0C4CC}.el-breadcrumb__separator[class*=icon]{margin:0 6px;font-weight:400}.el-breadcrumb__item{float:left}.el-breadcrumb__inner{color:#606266}.el-breadcrumb__inner a,.el-breadcrumb__inner.is-link{font-weight:700;text-decoration:none;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1);color:#303133}.el-breadcrumb__inner a:hover,.el-breadcrumb__inner.is-link:hover{color:#409EFF;cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover{font-weight:400;color:#606266;cursor:text}.el-breadcrumb__item:last-child .el-breadcrumb__separator{display:none} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/button-group.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/button-group.css -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/calendar.css: -------------------------------------------------------------------------------- 1 | .el-calendar{background-color:#fff}.el-calendar__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:12px 20px;border-bottom:1px solid #EBEEF5}.el-calendar__title{color:#000;-ms-flex-item-align:center;align-self:center}.el-calendar__body{padding:12px 20px 35px}.el-calendar-table{table-layout:fixed;width:100%}.el-calendar-table thead th{padding:12px 0;color:#606266;font-weight:400}.el-calendar-table:not(.is-range) td.next,.el-calendar-table:not(.is-range) td.prev{color:#C0C4CC}.el-calendar-table td{border-bottom:1px solid #EBEEF5;border-right:1px solid #EBEEF5;vertical-align:top;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}.el-calendar-table td.is-selected{background-color:#F2F8FE}.el-calendar-table td.is-today{color:#409EFF}.el-calendar-table tr:first-child td{border-top:1px solid #EBEEF5}.el-calendar-table tr td:first-child{border-left:1px solid #EBEEF5}.el-calendar-table tr.el-calendar-table__row--hide-border td{border-top:none}.el-calendar-table .el-calendar-day{-webkit-box-sizing:border-box;box-sizing:border-box;padding:8px;height:85px}.el-calendar-table .el-calendar-day:hover{cursor:pointer;background-color:#F2F8FE} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/card.css: -------------------------------------------------------------------------------- 1 | .el-card{border-radius:4px;border:1px solid #EBEEF5;background-color:#FFF;overflow:hidden;color:#303133;-webkit-transition:.3s;transition:.3s}.el-card.is-always-shadow,.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-card__header{padding:18px 20px;border-bottom:1px solid #EBEEF5;-webkit-box-sizing:border-box;box-sizing:border-box}.el-card__body{padding:20px} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/carousel-item.css: -------------------------------------------------------------------------------- 1 | .el-carousel__item,.el-carousel__mask{position:absolute;height:100%;top:0;left:0}.el-carousel__item{width:100%;display:inline-block;overflow:hidden;z-index:0}.el-carousel__item.is-active{z-index:2}.el-carousel__item.is-animating{-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.el-carousel__item--card{width:50%;-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.el-carousel__item--card.is-in-stage{cursor:pointer;z-index:1}.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask,.el-carousel__item--card.is-in-stage:hover .el-carousel__mask{opacity:.12}.el-carousel__item--card.is-active{z-index:2}.el-carousel__mask{width:100%;background-color:#FFF;opacity:.24;-webkit-transition:.2s;transition:.2s} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/checkbox-button.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/checkbox-button.css -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/checkbox-group.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/checkbox-group.css -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/collapse-item.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/collapse-item.css -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/container.css: -------------------------------------------------------------------------------- 1 | .el-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:0}.el-container.is-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/display.css: -------------------------------------------------------------------------------- 1 | @media only screen and (max-width:767px){.hidden-xs-only{display:none!important}}@media only screen and (min-width:768px){.hidden-sm-and-up{display:none!important}}@media only screen and (min-width:768px) and (max-width:991px){.hidden-sm-only{display:none!important}}@media only screen and (max-width:991px){.hidden-sm-and-down{display:none!important}}@media only screen and (min-width:992px){.hidden-md-and-up{display:none!important}}@media only screen and (min-width:992px) and (max-width:1199px){.hidden-md-only{display:none!important}}@media only screen and (max-width:1199px){.hidden-md-and-down{display:none!important}}@media only screen and (min-width:1200px){.hidden-lg-and-up{display:none!important}}@media only screen and (min-width:1200px) and (max-width:1919px){.hidden-lg-only{display:none!important}}@media only screen and (max-width:1919px){.hidden-lg-and-down{display:none!important}}@media only screen and (min-width:1920px){.hidden-xl-only{display:none!important}} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/divider.css: -------------------------------------------------------------------------------- 1 | .el-divider{background-color:#DCDFE6;position:relative}.el-divider--horizontal{display:block;height:1px;width:100%;margin:24px 0}.el-divider--vertical{display:inline-block;width:1px;height:1em;margin:0 8px;vertical-align:middle;position:relative}.el-divider__text{position:absolute;background-color:#FFF;padding:0 20px;font-weight:500;color:#303133;font-size:14px}.el-divider__text.is-left{left:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-divider__text.is-center{left:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.el-divider__text.is-right{right:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/dropdown-item.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/dropdown-item.css -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/dropdown-menu.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/dropdown-menu.css -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/fonts/element-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/fonts/element-icons.ttf -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/fonts/element-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/fonts/element-icons.woff -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/footer.css: -------------------------------------------------------------------------------- 1 | .el-footer{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/form-item.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/form-item.css -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/header.css: -------------------------------------------------------------------------------- 1 | .el-header{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/image.css: -------------------------------------------------------------------------------- 1 | .el-image__error,.el-image__placeholder{background:#F5F7FA}.el-image__error,.el-image__inner,.el-image__placeholder{width:100%;height:100%}.el-image{display:inline-block}.el-image__inner{vertical-align:top}.el-image__error{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:14px;color:#C0C4CC;vertical-align:middle} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/main.css: -------------------------------------------------------------------------------- 1 | .el-main{display:block;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box;padding:20px} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/menu-item-group.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/menu-item-group.css -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/menu-item.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/menu-item.css -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/option-group.css: -------------------------------------------------------------------------------- 1 | .el-select-group{margin:0;padding:0}.el-select-group__wrap{position:relative;list-style:none;margin:0;padding:0}.el-select-group__wrap:not(:last-of-type){padding-bottom:24px}.el-select-group__wrap:not(:last-of-type)::after{content:'';position:absolute;display:block;left:20px;right:20px;bottom:12px;height:1px;background:#E4E7ED}.el-select-group__title{padding-left:20px;font-size:12px;color:#909399;line-height:30px}.el-select-group .el-select-dropdown__item{padding-left:20px} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/option.css: -------------------------------------------------------------------------------- 1 | .el-select-dropdown__item{font-size:14px;padding:0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#606266;height:34px;line-height:34px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.el-select-dropdown__item.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-select-dropdown__item.is-disabled:hover{background-color:#FFF}.el-select-dropdown__item.hover,.el-select-dropdown__item:hover{background-color:#F5F7FA}.el-select-dropdown__item.selected{color:#409EFF;font-weight:700} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/radio-group.css: -------------------------------------------------------------------------------- 1 | .el-radio-group{display:inline-block;line-height:1;vertical-align:middle;font-size:0} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/rate.css: -------------------------------------------------------------------------------- 1 | .el-rate__icon,.el-rate__item{position:relative;display:inline-block}.el-rate{height:20px;line-height:1}.el-rate:active,.el-rate:focus{outline-width:0}.el-rate__item{font-size:0;vertical-align:middle}.el-rate__icon{font-size:18px;margin-right:6px;color:#C0C4CC;-webkit-transition:.3s;transition:.3s}.el-rate__decimal,.el-rate__icon .path2{position:absolute;top:0;left:0}.el-rate__icon.hover{-webkit-transform:scale(1.15);transform:scale(1.15)}.el-rate__decimal{display:inline-block;overflow:hidden}.el-rate__text{font-size:14px;vertical-align:middle} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/reset.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8";body{font-family:"Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif;font-weight:400;font-size:14px;color:#000;-webkit-font-smoothing:antialiased}a{color:#409EFF;text-decoration:none}a:focus,a:hover{color:#66b1ff}a:active{color:#3a8ee6}h1,h2,h3,h4,h5,h6{color:#606266;font-weight:inherit}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child,p:first-child{margin-top:0}h1:last-child,h2:last-child,h3:last-child,h4:last-child,h5:last-child,h6:last-child,p:last-child{margin-bottom:0}h1{font-size:20px}h2{font-size:18px}h3{font-size:16px}h4,h5,h6,p{font-size:inherit}p{line-height:1.8}sub,sup{font-size:13px}small{font-size:12px}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/row.css: -------------------------------------------------------------------------------- 1 | .el-row{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box}.el-row::after,.el-row::before{display:table;content:""}.el-row::after{clear:both}.el-row--flex{display:-webkit-box;display:-ms-flexbox;display:flex}.el-row--flex:after,.el-row--flex:before{display:none}.el-row--flex.is-justify-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-row--flex.is-justify-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.el-row--flex.is-justify-space-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.el-row--flex.is-justify-space-around{-ms-flex-pack:distribute;justify-content:space-around}.el-row--flex.is-align-middle{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-row--flex.is-align-bottom{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/scrollbar.css: -------------------------------------------------------------------------------- 1 | .el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.el-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/spinner.css: -------------------------------------------------------------------------------- 1 | .el-time-spinner{width:100%;white-space:nowrap}.el-spinner{display:inline-block;vertical-align:middle}.el-spinner-inner{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;width:50px;height:50px}.el-spinner-inner .path{stroke:#ececec;stroke-linecap:round;-webkit-animation:dash 1.5s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite}@-webkit-keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/steps.css: -------------------------------------------------------------------------------- 1 | .el-steps{display:-webkit-box;display:-ms-flexbox;display:flex}.el-steps--simple{padding:13px 8%;border-radius:4px;background:#F5F7FA}.el-steps--horizontal{white-space:nowrap}.el-steps--vertical{height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/submenu.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/submenu.css -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/tab-pane.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/tab-pane.css -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/lib/timeline.css: -------------------------------------------------------------------------------- 1 | .el-timeline{margin:0;font-size:14px;list-style:none}.el-timeline .el-timeline-item:last-child .el-timeline-item__tail{display:none} -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/aside.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | 3 | @include b(aside) { 4 | overflow: auto; 5 | box-sizing: border-box; 6 | flex-shrink: 0; 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/base.scss: -------------------------------------------------------------------------------- 1 | @import "common/transition.scss"; 2 | @import "icon.scss"; 3 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/breadcrumb-item.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/packages/theme-chalk/src/breadcrumb-item.scss -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/breadcrumb.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | @import "mixins/utils"; 3 | @import "common/var"; 4 | 5 | @include b(breadcrumb) { 6 | font-size: 14px; 7 | line-height: 1; 8 | @include utils-clearfix; 9 | 10 | @include e(separator) { 11 | margin: 0 9px; 12 | font-weight: bold; 13 | color: $--color-text-placeholder; 14 | 15 | &[class*=icon] { 16 | margin: 0 6px; 17 | font-weight: normal; 18 | } 19 | } 20 | 21 | @include e(item) { 22 | float: left; 23 | 24 | @include e(inner) { 25 | color: $--color-text-regular; 26 | 27 | &.is-link, & a { 28 | font-weight: bold; 29 | text-decoration: none; 30 | transition: $--color-transition-base; 31 | color: $--color-text-primary; 32 | 33 | &:hover { 34 | color: $--color-primary; 35 | cursor: pointer; 36 | } 37 | } 38 | } 39 | 40 | &:last-child { 41 | .el-breadcrumb__inner, 42 | .el-breadcrumb__inner a { 43 | &, &:hover { 44 | font-weight: normal; 45 | color: $--color-text-regular; 46 | cursor: text; 47 | } 48 | } 49 | 50 | .el-breadcrumb__separator { 51 | display: none; 52 | } 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/button-group.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/packages/theme-chalk/src/button-group.scss -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/card.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | @import "common/var"; 3 | 4 | @include b(card) { 5 | border-radius: $--card-border-radius; 6 | border: 1px solid $--card-border-color; 7 | background-color: $--color-white; 8 | overflow: hidden; 9 | color: $--color-text-primary; 10 | transition: 0.3s; 11 | 12 | @include when(always-shadow) { 13 | box-shadow: $--box-shadow-light; 14 | } 15 | 16 | @include when(hover-shadow) { 17 | &:hover, 18 | &:focus { 19 | box-shadow: $--box-shadow-light; 20 | } 21 | } 22 | 23 | @include e(header) { 24 | padding: #{$--card-padding - 2 $--card-padding}; 25 | border-bottom: 1px solid $--card-border-color; 26 | box-sizing: border-box; 27 | } 28 | 29 | @include e(body) { 30 | padding: $--card-padding; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/carousel-item.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | @import "common/var"; 3 | 4 | @include b(carousel) { 5 | @include e(item) { 6 | position: absolute; 7 | top: 0; 8 | left: 0; 9 | width: 100%; 10 | height: 100%; 11 | display: inline-block; 12 | overflow: hidden; 13 | z-index: #{$--index-normal - 1}; 14 | 15 | @include when(active) { 16 | z-index: #{$--index-normal + 1}; 17 | } 18 | 19 | @include when(animating) { 20 | transition: transform .4s ease-in-out; 21 | } 22 | 23 | @include m(card) { 24 | width: 50%; 25 | transition: transform .4s ease-in-out; 26 | &.is-in-stage { 27 | cursor: pointer; 28 | z-index: $--index-normal; 29 | &:hover .el-carousel__mask, 30 | &.is-hover .el-carousel__mask { 31 | opacity: 0.12; 32 | } 33 | } 34 | &.is-active { 35 | z-index: #{$--index-normal + 1}; 36 | } 37 | } 38 | } 39 | 40 | @include e(mask) { 41 | position: absolute; 42 | width: 100%; 43 | height: 100%; 44 | top: 0; 45 | left: 0; 46 | background-color: $--color-white; 47 | opacity: 0.24; 48 | transition: .2s; 49 | } 50 | } -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/checkbox-button.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/packages/theme-chalk/src/checkbox-button.scss -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/checkbox-group.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/packages/theme-chalk/src/checkbox-group.scss -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/collapse-item.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/packages/theme-chalk/src/collapse-item.scss -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/common/popup.scss: -------------------------------------------------------------------------------- 1 | @import "../mixins/mixins"; 2 | 3 | .v-modal-enter { 4 | animation: v-modal-in .2s ease; 5 | } 6 | 7 | .v-modal-leave { 8 | animation: v-modal-out .2s ease forwards; 9 | } 10 | 11 | @keyframes v-modal-in { 12 | 0% { 13 | opacity: 0; 14 | } 15 | 100% { 16 | } 17 | } 18 | 19 | @keyframes v-modal-out { 20 | 0% { 21 | } 22 | 100% { 23 | opacity: 0; 24 | } 25 | } 26 | 27 | .v-modal { 28 | position: fixed; 29 | left: 0; 30 | top: 0; 31 | width: 100%; 32 | height: 100%; 33 | opacity: 0.5; 34 | background: #000; 35 | } 36 | 37 | @include b(popup-parent) { 38 | @include m(hidden) { 39 | overflow: hidden; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/container.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | 3 | @include b(container) { 4 | display: flex; 5 | flex-direction: row; 6 | flex: 1; 7 | flex-basis: auto; 8 | box-sizing: border-box; 9 | min-width: 0; 10 | 11 | @include when(vertical) { 12 | flex-direction: column; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/date-picker.scss: -------------------------------------------------------------------------------- 1 | @import "./date-picker/date-table.scss"; 2 | @import "./date-picker/month-table.scss"; 3 | @import "./date-picker/year-table.scss"; 4 | @import "./date-picker/time-spinner.scss"; 5 | @import "./date-picker/picker.scss"; 6 | @import "./date-picker/date-picker.scss"; 7 | @import "./date-picker/date-range-picker.scss"; 8 | @import "./date-picker/time-range-picker.scss"; 9 | @import "./date-picker/time-picker.scss"; 10 | @import "./input.scss"; 11 | @import "./scrollbar.scss"; 12 | @import "./popper"; -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/date-picker/time-range-picker.scss: -------------------------------------------------------------------------------- 1 | @import "../common/var"; 2 | 3 | @include b(time-range-picker) { 4 | width: 354px; 5 | overflow: visible; 6 | 7 | @include e(content) { 8 | position: relative; 9 | text-align: center; 10 | padding: 10px; 11 | } 12 | 13 | @include e(cell) { 14 | box-sizing: border-box; 15 | margin: 0; 16 | padding: 4px 7px 7px; 17 | width: 50%; 18 | display: inline-block; 19 | } 20 | 21 | @include e(header) { 22 | margin-bottom: 5px; 23 | text-align: center; 24 | font-size: 14px; 25 | } 26 | 27 | @include e(body) { 28 | border-radius:2px; 29 | border: 1px solid $--datepicker-border-color; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/date-picker/year-table.scss: -------------------------------------------------------------------------------- 1 | @import "../common/var"; 2 | 3 | @include b(year-table) { 4 | font-size: 12px; 5 | margin: -1px; 6 | border-collapse: collapse; 7 | 8 | .el-icon { 9 | color: $--datepicker-icon-color; 10 | } 11 | 12 | td { 13 | text-align: center; 14 | padding: 20px 3px; 15 | cursor: pointer; 16 | 17 | &.today { 18 | .cell { 19 | color: $--color-primary; 20 | font-weight: bold; 21 | } 22 | } 23 | 24 | &.disabled .cell { 25 | background-color: $--background-color-base; 26 | cursor: not-allowed; 27 | color: $--color-text-placeholder; 28 | 29 | &:hover { 30 | color: $--color-text-placeholder; 31 | } 32 | } 33 | 34 | .cell { 35 | width: 48px; 36 | height: 32px; 37 | display: block; 38 | line-height: 32px; 39 | color: $--datepicker-font-color; 40 | margin: 0 auto; 41 | 42 | &:hover { 43 | color: $--datepicker-hover-font-color; 44 | } 45 | } 46 | 47 | &.current:not(.disabled) .cell { 48 | color: $--datepicker-active-color; 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/display.scss: -------------------------------------------------------------------------------- 1 | @import "common/var"; 2 | @import "mixins/mixins"; 3 | 4 | .hidden { 5 | @each $break-point-name, $value in $--breakpoints-spec { 6 | &-#{$break-point-name} { 7 | @include res($break-point-name, $--breakpoints-spec) { 8 | display: none !important; 9 | } 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/divider.scss: -------------------------------------------------------------------------------- 1 | @import "common/var"; 2 | @import "mixins/mixins"; 3 | 4 | @include b(divider) { 5 | background-color: $--border-color-base; 6 | position: relative; 7 | 8 | @include m(horizontal) { 9 | display: block; 10 | height: 1px; 11 | width: 100%; 12 | margin: 24px 0; 13 | } 14 | 15 | @include m(vertical) { 16 | display: inline-block; 17 | width: 1px; 18 | height: 1em; 19 | margin: 0 8px; 20 | vertical-align: middle; 21 | position: relative; 22 | } 23 | 24 | @include e(text) { 25 | position: absolute; 26 | background-color: $--color-white; 27 | padding: 0 20px; 28 | font-weight: 500; 29 | color: $--color-text-primary; 30 | font-size: 14px; 31 | 32 | @include when(left) { 33 | left: 20px; 34 | transform: translateY(-50%); 35 | } 36 | 37 | @include when(center) { 38 | left: 50%; 39 | transform: translateX(-50%) translateY(-50%); 40 | } 41 | 42 | @include when(right) { 43 | right: 20px; 44 | transform: translateY(-50%); 45 | } 46 | } 47 | } -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/dropdown-item.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/packages/theme-chalk/src/dropdown-item.scss -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/dropdown-menu.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/packages/theme-chalk/src/dropdown-menu.scss -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/fonts/element-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/packages/theme-chalk/src/fonts/element-icons.ttf -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/fonts/element-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/packages/theme-chalk/src/fonts/element-icons.woff -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/footer.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | @import "common/var"; 3 | 4 | @include b(footer) { 5 | padding: $--footer-padding; 6 | box-sizing: border-box; 7 | flex-shrink: 0; 8 | } 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/form-item.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/packages/theme-chalk/src/form-item.scss -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/header.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | @import "common/var"; 3 | 4 | @include b(header) { 5 | padding: $--header-padding; 6 | box-sizing: border-box; 7 | flex-shrink: 0; 8 | } 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/image.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | @import "common/var"; 3 | 4 | %size { 5 | width: 100%; 6 | height: 100%; 7 | } 8 | 9 | @include b(image) { 10 | display: inline-block; 11 | 12 | @include e(inner) { 13 | @extend %size; 14 | vertical-align: top; 15 | } 16 | 17 | @include e(placeholder) { 18 | @extend %size; 19 | background: $--background-color-base; 20 | } 21 | 22 | @include e(error) { 23 | @extend %size; 24 | display: flex; 25 | justify-content: center; 26 | align-items: center; 27 | font-size: 14px; 28 | background: $--background-color-base; 29 | color: $--color-text-placeholder; 30 | vertical-align: middle; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/main.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | @import "common/var"; 3 | 4 | @include b(main) { 5 | // IE11 supports the
element partially https://caniuse.com/#search=main 6 | display: block; 7 | flex: 1; 8 | flex-basis: auto; 9 | overflow: auto; 10 | box-sizing: border-box; 11 | padding: $--main-padding; 12 | } 13 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/menu-item-group.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/packages/theme-chalk/src/menu-item-group.scss -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/menu-item.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/packages/theme-chalk/src/menu-item.scss -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/mixins/config.scss: -------------------------------------------------------------------------------- 1 | $namespace: 'el'; 2 | $element-separator: '__'; 3 | $modifier-separator: '--'; 4 | $state-prefix: 'is-'; 5 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/mixins/function.scss: -------------------------------------------------------------------------------- 1 | @import "config"; 2 | 3 | /* BEM support Func 4 | -------------------------- */ 5 | @function selectorToString($selector) { 6 | $selector: inspect($selector); 7 | $selector: str-slice($selector, 2, -2); 8 | @return $selector; 9 | } 10 | 11 | @function containsModifier($selector) { 12 | $selector: selectorToString($selector); 13 | 14 | @if str-index($selector, $modifier-separator) { 15 | @return true; 16 | } @else { 17 | @return false; 18 | } 19 | } 20 | 21 | @function containWhenFlag($selector) { 22 | $selector: selectorToString($selector); 23 | 24 | @if str-index($selector, '.' + $state-prefix) { 25 | @return true 26 | } @else { 27 | @return false 28 | } 29 | } 30 | 31 | @function containPseudoClass($selector) { 32 | $selector: selectorToString($selector); 33 | 34 | @if str-index($selector, ':') { 35 | @return true 36 | } @else { 37 | @return false 38 | } 39 | } 40 | 41 | @function hitAllSpecialNestRule($selector) { 42 | 43 | @return containsModifier($selector) or containWhenFlag($selector) or containPseudoClass($selector); 44 | } 45 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/mixins/utils.scss: -------------------------------------------------------------------------------- 1 | @mixin utils-user-select($value) { 2 | -moz-user-select: $value; 3 | -webkit-user-select: $value; 4 | -ms-user-select: $value; 5 | } 6 | 7 | @mixin utils-clearfix { 8 | $selector: &; 9 | 10 | @at-root { 11 | #{$selector}::before, 12 | #{$selector}::after { 13 | display: table; 14 | content: ""; 15 | } 16 | #{$selector}::after { 17 | clear: both 18 | } 19 | } 20 | } 21 | 22 | @mixin utils-vertical-center { 23 | $selector: &; 24 | 25 | @at-root { 26 | #{$selector}::after { 27 | display: inline-block; 28 | content: ""; 29 | height: 100%; 30 | vertical-align: middle 31 | } 32 | } 33 | } 34 | 35 | @mixin utils-ellipsis { 36 | overflow: hidden; 37 | text-overflow: ellipsis; 38 | white-space: nowrap; 39 | } -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/option-group.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | @import "common/var"; 3 | 4 | @include b(select-group) { 5 | $gap: 20px; 6 | 7 | margin: 0; 8 | padding: 0; 9 | 10 | @include e(wrap) { 11 | position: relative; 12 | list-style: none; 13 | margin: 0; 14 | padding: 0; 15 | 16 | &:not(:last-of-type) { 17 | padding-bottom: 24px; 18 | 19 | &::after { 20 | content: ''; 21 | position: absolute; 22 | display: block; 23 | left: $gap; 24 | right: $gap; 25 | bottom: 12px; 26 | height: 1px; 27 | background: $--border-color-light; 28 | } 29 | } 30 | } 31 | 32 | @include e(title) { 33 | padding-left: $gap; 34 | font-size: $--select-group-font-size; 35 | color: $--select-group-color; 36 | line-height: $--select-group-height; 37 | } 38 | 39 | & .el-select-dropdown__item { 40 | padding-left: $gap; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/option.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | @import "common/var"; 3 | 4 | @include b(select-dropdown) { 5 | @include e(item) { 6 | font-size: $--select-font-size; 7 | padding: 0 20px; 8 | position: relative; 9 | white-space: nowrap; 10 | overflow: hidden; 11 | text-overflow: ellipsis; 12 | color: $--select-option-color; 13 | height: $--select-option-height; 14 | line-height: $--select-option-height; 15 | box-sizing: border-box; 16 | cursor: pointer; 17 | 18 | @include when(disabled) { 19 | color: $--select-option-disabled-color; 20 | cursor: not-allowed; 21 | 22 | &:hover { 23 | background-color: $--color-white; 24 | } 25 | } 26 | 27 | &.hover, &:hover { 28 | background-color: $--select-option-hover-background; 29 | } 30 | 31 | &.selected { 32 | color: $--select-option-selected-font-color; 33 | font-weight: bold; 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/popover.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | @import "common/var"; 3 | @import "./popper"; 4 | 5 | @include b(popover) { 6 | position: absolute; 7 | background: $--popover-background-color; 8 | min-width: 150px; 9 | border-radius: 4px; 10 | border: 1px solid $--popover-border-color; 11 | padding: $--popover-padding; 12 | z-index: $--index-popper; 13 | color: $--color-text-regular; 14 | line-height: 1.4; 15 | text-align: justify; 16 | font-size: $--popover-font-size; 17 | box-shadow: $--box-shadow-light; 18 | word-break: break-all; 19 | 20 | @include m(plain) { 21 | padding: $--popover-padding-large; 22 | } 23 | 24 | @include e(title) { 25 | color: $--popover-title-font-color; 26 | font-size: $--popover-title-font-size; 27 | line-height: 1; 28 | margin-bottom: 12px; 29 | } 30 | 31 | @include e(reference) { 32 | &:focus:not(.focusing), &:focus:hover { 33 | outline-width: 0; 34 | } 35 | } 36 | 37 | &:focus:active, &:focus { 38 | outline-width: 0; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/radio-group.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | @import "common/var"; 3 | 4 | @include b(radio-group) { 5 | display: inline-block; 6 | line-height: 1; 7 | vertical-align: middle; 8 | font-size: 0; 9 | } 10 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/rate.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | @import "common/var"; 3 | 4 | @include b(rate) { 5 | height: $--rate-height; 6 | line-height: 1; 7 | 8 | &:focus, &:active { 9 | outline-width: 0; 10 | } 11 | 12 | @include e(item) { 13 | display: inline-block; 14 | position: relative; 15 | font-size: 0; 16 | vertical-align: middle; 17 | } 18 | 19 | @include e(icon) { 20 | position: relative; 21 | display: inline-block; 22 | font-size: $--rate-icon-size; 23 | margin-right: $--rate-icon-margin; 24 | color: $--rate-icon-color; 25 | transition: .3s; 26 | &.hover { 27 | transform: scale(1.15); 28 | } 29 | 30 | .path2 { 31 | position: absolute; 32 | left: 0; 33 | top: 0; 34 | } 35 | } 36 | 37 | @include e(decimal) { 38 | position: absolute; 39 | top: 0; 40 | left: 0; 41 | display: inline-block; 42 | overflow: hidden; 43 | } 44 | 45 | @include e(text) { 46 | font-size: $--rate-font-size; 47 | vertical-align: middle; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/row.scss: -------------------------------------------------------------------------------- 1 | @import "common/var"; 2 | @import "mixins/mixins"; 3 | @import "mixins/utils"; 4 | 5 | @include b(row) { 6 | position: relative; 7 | box-sizing: border-box; 8 | @include utils-clearfix; 9 | 10 | @include m(flex) { 11 | display: flex; 12 | &:before, 13 | &:after { 14 | display: none; 15 | } 16 | 17 | @include when(justify-center) { 18 | justify-content: center; 19 | } 20 | @include when(justify-end) { 21 | justify-content: flex-end; 22 | } 23 | @include when(justify-space-between) { 24 | justify-content: space-between; 25 | } 26 | @include when(justify-space-around) { 27 | justify-content: space-around; 28 | } 29 | 30 | @include when(align-middle) { 31 | align-items: center; 32 | } 33 | @include when(align-bottom) { 34 | align-items: flex-end; 35 | } 36 | } 37 | 38 | } 39 | 40 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/spinner.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | 3 | @include b(time-spinner) { 4 | width: 100%; 5 | white-space: nowrap; 6 | } 7 | 8 | @include b(spinner) { 9 | display: inline-block; 10 | vertical-align: middle; 11 | } 12 | @include b(spinner-inner) { 13 | animation: rotate 2s linear infinite; 14 | width: 50px; 15 | height: 50px; 16 | 17 | & .path { 18 | stroke: #ececec; 19 | stroke-linecap: round; 20 | animation: dash 1.5s ease-in-out infinite; 21 | } 22 | 23 | } 24 | 25 | @keyframes rotate { 26 | 100% { 27 | transform: rotate(360deg); 28 | } 29 | } 30 | 31 | @keyframes dash { 32 | 0% { 33 | stroke-dasharray: 1, 150; 34 | stroke-dashoffset: 0; 35 | } 36 | 50% { 37 | stroke-dasharray: 90, 150; 38 | stroke-dashoffset: -35; 39 | } 40 | 100% { 41 | stroke-dasharray: 90, 150; 42 | stroke-dashoffset: -124; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/steps.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | 3 | @include b(steps) { 4 | display: flex; 5 | 6 | @include m(simple) { 7 | padding: 13px 8%; 8 | border-radius: 4px; 9 | background: $--background-color-base; 10 | } 11 | 12 | @include m(horizontal) { 13 | white-space: nowrap; 14 | } 15 | 16 | @include m(vertical) { 17 | height: 100%; 18 | flex-flow: column; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/submenu.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/packages/theme-chalk/src/submenu.scss -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/tab-pane.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/element-ui/packages/theme-chalk/src/tab-pane.scss -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/time-picker.scss: -------------------------------------------------------------------------------- 1 | @import "./date-picker/picker.scss"; 2 | @import "./date-picker/picker-panel.scss"; 3 | @import "./date-picker/time-spinner.scss"; 4 | @import "./date-picker/time-picker.scss"; 5 | @import "./date-picker/time-range-picker.scss"; 6 | @import "./input.scss"; 7 | @import "./scrollbar.scss"; 8 | @import "./popper"; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/time-select.scss: -------------------------------------------------------------------------------- 1 | @import "common/var"; 2 | @import "./date-picker/picker.scss"; 3 | @import "./date-picker/date-picker.scss"; 4 | @import "./scrollbar.scss"; 5 | @import "./popper"; 6 | 7 | .time-select { 8 | margin: 5px 0; 9 | min-width: 0; 10 | } 11 | 12 | .time-select .el-picker-panel__content { 13 | max-height: 200px; 14 | margin: 0; 15 | } 16 | 17 | .time-select-item { 18 | padding: 8px 10px; 19 | font-size: 14px; 20 | line-height: 20px; 21 | } 22 | 23 | .time-select-item.selected:not(.disabled) { 24 | color: $--color-primary; 25 | font-weight: bold; 26 | } 27 | 28 | .time-select-item.disabled { 29 | color: $--datepicker-border-color; 30 | cursor: not-allowed; 31 | } 32 | 33 | .time-select-item:hover { 34 | background-color: $--background-color-base; 35 | font-weight: bold; 36 | cursor: pointer; 37 | } 38 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/theme-chalk/src/timeline.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | @import "common/var"; 3 | 4 | @include b(timeline) { 5 | margin: 0; 6 | font-size: $--font-size-base; 7 | list-style: none; 8 | 9 | & .el-timeline-item:last-child { 10 | & .el-timeline-item__tail { 11 | display: none; 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/time-picker/index.js: -------------------------------------------------------------------------------- 1 | import TimePicker from '../date-picker/src/picker/time-picker'; 2 | 3 | /* istanbul ignore next */ 4 | TimePicker.install = function(Vue) { 5 | Vue.component(TimePicker.name, TimePicker); 6 | }; 7 | 8 | export default TimePicker; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/time-select/index.js: -------------------------------------------------------------------------------- 1 | import TimeSelect from '../date-picker/src/picker/time-select'; 2 | 3 | /* istanbul ignore next */ 4 | TimeSelect.install = function(Vue) { 5 | Vue.component(TimeSelect.name, TimeSelect); 6 | }; 7 | 8 | export default TimeSelect; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/timeline-item/index.js: -------------------------------------------------------------------------------- 1 | import ElTimelineItem from '../timeline/src/item'; 2 | 3 | /* istanbul ignore next */ 4 | ElTimelineItem.install = function(Vue) { 5 | Vue.component(ElTimelineItem.name, ElTimelineItem); 6 | }; 7 | 8 | export default ElTimelineItem; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/timeline/index.js: -------------------------------------------------------------------------------- 1 | import Timeline from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Timeline.install = function(Vue) { 5 | Vue.component(Timeline.name, Timeline); 6 | }; 7 | 8 | export default Timeline; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/timeline/src/main.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 39 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/tooltip/index.js: -------------------------------------------------------------------------------- 1 | import Tooltip from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Tooltip.install = function(Vue) { 5 | Vue.component(Tooltip.name, Tooltip); 6 | }; 7 | 8 | export default Tooltip; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/transfer/index.js: -------------------------------------------------------------------------------- 1 | import Transfer from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Transfer.install = function(Vue) { 5 | Vue.component(Transfer.name, Transfer); 6 | }; 7 | 8 | export default Transfer; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/tree/index.js: -------------------------------------------------------------------------------- 1 | import Tree from './src/tree.vue'; 2 | 3 | /* istanbul ignore next */ 4 | Tree.install = function(Vue) { 5 | Vue.component(Tree.name, Tree); 6 | }; 7 | 8 | export default Tree; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/tree/src/model/util.js: -------------------------------------------------------------------------------- 1 | export const NODE_KEY = '$treeNodeId'; 2 | 3 | export const markNodeData = function(node, data) { 4 | if (!data || data[NODE_KEY]) return; 5 | Object.defineProperty(data, NODE_KEY, { 6 | value: node.id, 7 | enumerable: false, 8 | configurable: false, 9 | writable: false 10 | }); 11 | }; 12 | 13 | export const getNodeKey = function(key, data) { 14 | if (!key) return data[NODE_KEY]; 15 | return data[key]; 16 | }; 17 | 18 | export const findNearestComponent = (element, componentName) => { 19 | let target = element; 20 | while (target && target.tagName !== 'BODY') { 21 | if (target.__vue__ && target.__vue__.$options.name === componentName) { 22 | return target.__vue__; 23 | } 24 | target = target.parentNode; 25 | } 26 | return null; 27 | }; 28 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/packages/upload/index.js: -------------------------------------------------------------------------------- 1 | import Upload from './src'; 2 | 3 | /* istanbul ignore next */ 4 | Upload.install = function(Vue) { 5 | Vue.component(Upload.name, Upload); 6 | }; 7 | 8 | export default Upload; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/src/directives/mousewheel.js: -------------------------------------------------------------------------------- 1 | import normalizeWheel from 'normalize-wheel'; 2 | 3 | const isFirefox = typeof navigator !== 'undefined' && navigator.userAgent.toLowerCase().indexOf('firefox') > -1; 4 | 5 | const mousewheel = function(element, callback) { 6 | if (element && element.addEventListener) { 7 | element.addEventListener(isFirefox ? 'DOMMouseScroll' : 'mousewheel', function(event) { 8 | const normalized = normalizeWheel(event); 9 | callback && callback.apply(this, [event, normalized]); 10 | }); 11 | } 12 | }; 13 | 14 | export default { 15 | bind(el, binding) { 16 | mousewheel(el, binding.value); 17 | } 18 | }; 19 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/src/directives/repeat-click.js: -------------------------------------------------------------------------------- 1 | import { once, on } from 'element-ui/src/utils/dom'; 2 | 3 | export default { 4 | bind(el, binding, vnode) { 5 | let interval = null; 6 | let startTime; 7 | const handler = () => vnode.context[binding.expression].apply(); 8 | const clear = () => { 9 | if (Date.now() - startTime < 100) { 10 | handler(); 11 | } 12 | clearInterval(interval); 13 | interval = null; 14 | }; 15 | 16 | on(el, 'mousedown', (e) => { 17 | if (e.button !== 0) return; 18 | startTime = Date.now(); 19 | once(document, 'mouseup', clear); 20 | clearInterval(interval); 21 | interval = setInterval(handler, 100); 22 | }); 23 | } 24 | }; 25 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/src/locale/format.js: -------------------------------------------------------------------------------- 1 | import { hasOwn } from 'element-ui/src/utils/util'; 2 | 3 | const RE_NARGS = /(%|)\{([0-9a-zA-Z_]+)\}/g; 4 | /** 5 | * String format template 6 | * - Inspired: 7 | * https://github.com/Matt-Esch/string-template/index.js 8 | */ 9 | export default function(Vue) { 10 | 11 | /** 12 | * template 13 | * 14 | * @param {String} string 15 | * @param {Array} ...args 16 | * @return {String} 17 | */ 18 | 19 | function template(string, ...args) { 20 | if (args.length === 1 && typeof args[0] === 'object') { 21 | args = args[0]; 22 | } 23 | 24 | if (!args || !args.hasOwnProperty) { 25 | args = {}; 26 | } 27 | 28 | return string.replace(RE_NARGS, (match, prefix, i, index) => { 29 | let result; 30 | 31 | if (string[index - 1] === '{' && 32 | string[index + match.length] === '}') { 33 | return i; 34 | } else { 35 | result = hasOwn(args, i) ? args[i] : null; 36 | if (result === null || result === undefined) { 37 | return ''; 38 | } 39 | 40 | return result; 41 | } 42 | }); 43 | } 44 | 45 | return template; 46 | } 47 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/src/mixins/emitter.js: -------------------------------------------------------------------------------- 1 | function broadcast(componentName, eventName, params) { 2 | this.$children.forEach(child => { 3 | var name = child.$options.componentName; 4 | 5 | if (name === componentName) { 6 | child.$emit.apply(child, [eventName].concat(params)); 7 | } else { 8 | broadcast.apply(child, [componentName, eventName].concat([params])); 9 | } 10 | }); 11 | } 12 | export default { 13 | methods: { 14 | dispatch(componentName, eventName, params) { 15 | var parent = this.$parent || this.$root; 16 | var name = parent.$options.componentName; 17 | 18 | while (parent && (!name || name !== componentName)) { 19 | parent = parent.$parent; 20 | 21 | if (parent) { 22 | name = parent.$options.componentName; 23 | } 24 | } 25 | if (parent) { 26 | parent.$emit.apply(parent, [eventName].concat(params)); 27 | } 28 | }, 29 | broadcast(componentName, eventName, params) { 30 | broadcast.call(this, componentName, eventName, params); 31 | } 32 | } 33 | }; 34 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/src/mixins/focus.js: -------------------------------------------------------------------------------- 1 | export default function(ref) { 2 | return { 3 | methods: { 4 | focus() { 5 | this.$refs[ref].focus(); 6 | } 7 | } 8 | }; 9 | }; 10 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/src/mixins/locale.js: -------------------------------------------------------------------------------- 1 | import { t } from 'element-ui/src/locale'; 2 | 3 | export default { 4 | methods: { 5 | t(...args) { 6 | return t.apply(this, args); 7 | } 8 | } 9 | }; 10 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/src/utils/after-leave.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Bind after-leave event for vue instance. Make sure after-leave is called in any browsers. 3 | * 4 | * @param {Vue} instance Vue instance. 5 | * @param {Function} callback callback of after-leave event 6 | * @param {Number} speed the speed of transition, default value is 300ms 7 | * @param {Boolean} once weather bind after-leave once. default value is false. 8 | */ 9 | export default function(instance, callback, speed = 300, once = false) { 10 | if (!instance || !callback) throw new Error('instance & callback is required'); 11 | let called = false; 12 | const afterLeaveCallback = function() { 13 | if (called) return; 14 | called = true; 15 | if (callback) { 16 | callback.apply(null, arguments); 17 | } 18 | }; 19 | if (once) { 20 | instance.$once('after-leave', afterLeaveCallback); 21 | } else { 22 | instance.$on('after-leave', afterLeaveCallback); 23 | } 24 | setTimeout(() => { 25 | afterLeaveCallback(); 26 | }, speed + 100); 27 | }; 28 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/src/utils/menu/aria-menubar.js: -------------------------------------------------------------------------------- 1 | import MenuItem from './aria-menuitem'; 2 | 3 | const Menu = function(domNode) { 4 | this.domNode = domNode; 5 | this.init(); 6 | }; 7 | 8 | Menu.prototype.init = function() { 9 | let menuChildren = this.domNode.childNodes; 10 | [].filter.call(menuChildren, child => child.nodeType === 1).forEach(child => { 11 | new MenuItem(child); // eslint-disable-line 12 | }); 13 | }; 14 | export default Menu; 15 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/src/utils/merge.js: -------------------------------------------------------------------------------- 1 | export default function(target) { 2 | for (let i = 1, j = arguments.length; i < j; i++) { 3 | let source = arguments[i] || {}; 4 | for (let prop in source) { 5 | if (source.hasOwnProperty(prop)) { 6 | let value = source[prop]; 7 | if (value !== undefined) { 8 | target[prop] = value; 9 | } 10 | } 11 | } 12 | } 13 | 14 | return target; 15 | }; 16 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/src/utils/resize-event.js: -------------------------------------------------------------------------------- 1 | import ResizeObserver from 'resize-observer-polyfill'; 2 | 3 | const isServer = typeof window === 'undefined'; 4 | 5 | /* istanbul ignore next */ 6 | const resizeHandler = function(entries) { 7 | for (let entry of entries) { 8 | const listeners = entry.target.__resizeListeners__ || []; 9 | if (listeners.length) { 10 | listeners.forEach(fn => { 11 | fn(); 12 | }); 13 | } 14 | } 15 | }; 16 | 17 | /* istanbul ignore next */ 18 | export const addResizeListener = function(element, fn) { 19 | if (isServer) return; 20 | if (!element.__resizeListeners__) { 21 | element.__resizeListeners__ = []; 22 | element.__ro__ = new ResizeObserver(resizeHandler); 23 | element.__ro__.observe(element); 24 | } 25 | element.__resizeListeners__.push(fn); 26 | }; 27 | 28 | /* istanbul ignore next */ 29 | export const removeResizeListener = function(element, fn) { 30 | if (!element || !element.__resizeListeners__) return; 31 | element.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn), 1); 32 | if (!element.__resizeListeners__.length) { 33 | element.__ro__.disconnect(); 34 | } 35 | }; 36 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/src/utils/scroll-into-view.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue'; 2 | 3 | export default function scrollIntoView(container, selected) { 4 | if (Vue.prototype.$isServer) return; 5 | 6 | if (!selected) { 7 | container.scrollTop = 0; 8 | return; 9 | } 10 | 11 | const offsetParents = []; 12 | let pointer = selected.offsetParent; 13 | while (pointer && container !== pointer && container.contains(pointer)) { 14 | offsetParents.push(pointer); 15 | pointer = pointer.offsetParent; 16 | } 17 | const top = selected.offsetTop + offsetParents.reduce((prev, curr) => (prev + curr.offsetTop), 0); 18 | const bottom = top + selected.offsetHeight; 19 | const viewRectTop = container.scrollTop; 20 | const viewRectBottom = viewRectTop + container.clientHeight; 21 | 22 | if (top < viewRectTop) { 23 | container.scrollTop = top; 24 | } else if (bottom > viewRectBottom) { 25 | container.scrollTop = bottom - container.clientHeight; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/src/utils/scrollbar-width.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue'; 2 | 3 | let scrollBarWidth; 4 | 5 | export default function() { 6 | if (Vue.prototype.$isServer) return 0; 7 | if (scrollBarWidth !== undefined) return scrollBarWidth; 8 | 9 | const outer = document.createElement('div'); 10 | outer.className = 'el-scrollbar__wrap'; 11 | outer.style.visibility = 'hidden'; 12 | outer.style.width = '100px'; 13 | outer.style.position = 'absolute'; 14 | outer.style.top = '-9999px'; 15 | document.body.appendChild(outer); 16 | 17 | const widthNoScroll = outer.offsetWidth; 18 | outer.style.overflow = 'scroll'; 19 | 20 | const inner = document.createElement('div'); 21 | inner.style.width = '100%'; 22 | outer.appendChild(inner); 23 | 24 | const widthWithScroll = inner.offsetWidth; 25 | outer.parentNode.removeChild(outer); 26 | scrollBarWidth = widthNoScroll - widthWithScroll; 27 | 28 | return scrollBarWidth; 29 | }; 30 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/src/utils/shared.js: -------------------------------------------------------------------------------- 1 | export function isDef(val) { 2 | return val !== undefined && val !== null; 3 | } 4 | export function isKorean(text) { 5 | const reg = /([(\uAC00-\uD7AF)|(\u3130-\u318F)])+/gi; 6 | return reg.test(text); 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/src/utils/types.js: -------------------------------------------------------------------------------- 1 | export function isString(obj) { 2 | return Object.prototype.toString.call(obj) === '[object String]'; 3 | } 4 | 5 | export function isObject(obj) { 6 | return Object.prototype.toString.call(obj) === '[object Object]'; 7 | } 8 | 9 | export function isHtmlElement(node) { 10 | return node && node.nodeType === Node.ELEMENT_NODE; 11 | } 12 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/src/utils/vdom.js: -------------------------------------------------------------------------------- 1 | import { hasOwn } from 'element-ui/src/utils/util'; 2 | 3 | export function isVNode(node) { 4 | return node !== null && typeof node === 'object' && hasOwn(node, 'componentOptions'); 5 | }; 6 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/alert.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | export type AlertType = 'success' | 'warning' | 'info' | 'error' 4 | export type AlertEffect = 'dark' | 'light' 5 | 6 | /** Alert Component */ 7 | export declare class ElAlert extends ElementUIComponent { 8 | /** Title */ 9 | title: string 10 | 11 | /** Component type */ 12 | type: AlertType 13 | 14 | /** Descriptive text. Can also be passed with the default slot */ 15 | description: string 16 | 17 | /** If closable or not */ 18 | closable: boolean 19 | 20 | /** whether to center the text */ 21 | center: boolean 22 | 23 | /** Customized close button text */ 24 | closeText: string 25 | 26 | /** If a type icon is displayed */ 27 | showIcon: boolean 28 | 29 | /** Choose effect */ 30 | effect: AlertEffect 31 | } 32 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/aside.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Aside Component */ 4 | export declare class ElAside extends ElementUIComponent { 5 | /** Width of the side section */ 6 | width: string 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/badge.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Badge Component */ 4 | export declare class ElBadge extends ElementUIComponent { 5 | /** Display value */ 6 | value: string | number 7 | 8 | /** Maximum value, shows '{max}+' when exceeded. Only works if `value` is a number */ 9 | max: number 10 | 11 | /** If a little dot is displayed */ 12 | isDot: boolean 13 | 14 | /** Hidden badge */ 15 | hidden: boolean 16 | } 17 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/breadcrumb-item.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Breadcrumb Item Component */ 4 | export declare class ElBreadcrumbItem extends ElementUIComponent { 5 | /** Target route of the link, same as to of vue-router */ 6 | to: string | object 7 | 8 | /** If true, the navigation will not leave a history record */ 9 | replace: boolean 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/breadcrumb.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Displays the location of the current page, making it easier to browser back */ 4 | export declare class ElBreadcrumb extends ElementUIComponent { 5 | /** Separator character */ 6 | separator: string 7 | 8 | /** Class name of the icon separator */ 9 | separatorClass: string 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/button-group.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Button Group Component */ 4 | export declare class ElButtonGroup extends ElementUIComponent {} 5 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/button.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent, ElementUIComponentSize } from './component' 2 | 3 | /** Button type */ 4 | export type ButtonType = 'primary' | 'success' | 'warning' | 'danger' | 'info' | 'text' 5 | 6 | /** Same as native button's type */ 7 | export type ButtonNativeType = 'button' | 'submit' | 'reset' | 'menu' 8 | 9 | /** Button Component */ 10 | export declare class ElButton extends ElementUIComponent { 11 | /** Button size */ 12 | size: ElementUIComponentSize 13 | 14 | /** Button type */ 15 | type: ButtonType 16 | 17 | /** Determine whether it's a plain button */ 18 | plain: boolean 19 | 20 | /** Determine whether it's a round button */ 21 | round: boolean 22 | 23 | /** Determine whether it's loading */ 24 | loading: boolean 25 | 26 | /** Disable the button */ 27 | disabled: boolean 28 | 29 | /** Button icon, accepts an icon name of Element icon component */ 30 | icon: string 31 | 32 | /** Same as native button's autofocus */ 33 | autofocus: boolean 34 | 35 | /** Same as native button's type */ 36 | nativeType: ButtonNativeType 37 | } 38 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/calendar.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | export type DateType = Date | String | Number 4 | 5 | /** Calendar Component */ 6 | export declare class ElCalendar extends ElementUIComponent { 7 | /** Binding value */ 8 | value: DateType 9 | 10 | /** Specify the display range of the calendar */ 11 | range: DateType[] 12 | } 13 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/card.d.ts: -------------------------------------------------------------------------------- 1 | import { VNode, VNodeDirective } from 'vue' 2 | import { ElementUIComponent } from './component' 3 | 4 | export interface CardSlots { 5 | /** Content of the card */ 6 | default: VNode[], 7 | 8 | /** Title of the card */ 9 | header: VNode[] 10 | 11 | [key: string]: VNode[] 12 | } 13 | 14 | /** Integrate information in a card container */ 15 | export declare class ElCard extends ElementUIComponent { 16 | /** Title of the card */ 17 | header: string 18 | 19 | /** CSS style of body */ 20 | bodyStyle: object 21 | 22 | /** When to show card shadows */ 23 | shadow: string 24 | 25 | $slots: CardSlots 26 | } 27 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/carousel-item.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Carousel Item Component */ 4 | export declare class ElCarouselItem extends ElementUIComponent { 5 | /** Name of the item, can be used in setActiveItem */ 6 | name: string 7 | 8 | /** Text content for the corresponding indicator */ 9 | label: string 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/checkbox-button.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Checkbox Button Component */ 4 | export declare class ElCheckboxButton extends ElementUIComponent { 5 | /** Value of the checkbox when used inside a checkbox-group */ 6 | label: string | number | boolean 7 | 8 | /** Value of the checkbox if it's checked */ 9 | trueLabel: string | number 10 | 11 | /** Value of the checkbox if it's not checked */ 12 | falseLabel: string | number 13 | 14 | /** Native 'name' attribute */ 15 | name: string 16 | 17 | /** If the checkbox is disabled */ 18 | disabled: boolean 19 | 20 | /** If the checkbox is checked */ 21 | checked: boolean 22 | } 23 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/checkbox-group.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent, ElementUIComponentSize } from './component' 2 | 3 | /** Checkbox Group Component */ 4 | export declare class ElCheckboxGroup extends ElementUIComponent { 5 | /** Size of checkbox buttons or bordered checkboxes */ 6 | size: ElementUIComponentSize 7 | 8 | /** Whether the nesting checkboxes are disabled */ 9 | disabled: boolean 10 | 11 | /** Minimum number of checkbox checked */ 12 | min: number 13 | 14 | /** Maximum number of checkbox checked */ 15 | max: number 16 | 17 | /** Font color when button is active */ 18 | textColor: string 19 | 20 | /** Border and background color when button is active */ 21 | fill: string 22 | } 23 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/checkbox.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent, ElementUIComponentSize } from './component' 2 | 3 | /** Checkbox Component */ 4 | export declare class ElCheckbox extends ElementUIComponent { 5 | /** The form input value */ 6 | value: string | string[] 7 | 8 | /** Value of the checkbox when used inside a checkbox-group */ 9 | label: string | number | boolean 10 | 11 | /** Value of the checkbox if it's checked */ 12 | trueLabel: string | number 13 | 14 | /** Value of the checkbox if it's not checked */ 15 | falseLabel: string | number 16 | 17 | /** Native 'name' attribute */ 18 | name: string 19 | 20 | /** Whether to add a border around Checkbox */ 21 | border: boolean 22 | 23 | /** Size of the Checkbox, only works when border is true */ 24 | size: ElementUIComponentSize 25 | 26 | /** If the checkbox is disabled */ 27 | disabled: boolean 28 | 29 | /** If the checkbox is checked */ 30 | checked: boolean 31 | 32 | /** Same as indeterminate in native checkbox */ 33 | indeterminate: boolean 34 | } 35 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/collapse-item.d.ts: -------------------------------------------------------------------------------- 1 | import { VNode } from 'vue' 2 | import { ElementUIComponent } from './component' 3 | 4 | export interface CollapseItemSlots { 5 | /** Content of the collapse item */ 6 | default: VNode[], 7 | 8 | /** Title of the collapse item */ 9 | title: VNode[] 10 | 11 | [key: string]: VNode[] 12 | } 13 | 14 | /** Collapse Item Component */ 15 | export declare class ElCollapseItem extends ElementUIComponent { 16 | /** Unique identification of the panel */ 17 | name: string | number 18 | 19 | /** Title of the panel */ 20 | title: string 21 | 22 | $slots: CollapseItemSlots 23 | 24 | /** Disable the collapse item */ 25 | disabled: boolean 26 | } 27 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/collapse.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Use Collapse to store contents. */ 4 | export declare class ElCollapse extends ElementUIComponent { 5 | /** Whether to activate accordion mode */ 6 | accordion: boolean 7 | 8 | /** Currently active panel */ 9 | value: string | number | string[] | number[] 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/color-picker.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent, ElementUIComponentSize } from './component' 2 | 3 | export type ColorFormat = 'hsl' | 'hsv' | 'hex' | 'rgb' 4 | 5 | /** ColorPicker Component */ 6 | export declare class ElColorPicker extends ElementUIComponent { 7 | /** Whether to display the alpha slider */ 8 | showAlpha: boolean 9 | 10 | /** Whether to disable the ColorPicker */ 11 | disabled: boolean 12 | 13 | /** Size of ColorPicker */ 14 | size: ElementUIComponentSize 15 | 16 | /** Whether to display the alpha slider */ 17 | popperClass: string 18 | 19 | /** Custom class name for ColorPicker's dropdown */ 20 | colorFormat: ColorFormat 21 | } 22 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/component.d.ts: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | 3 | /** ElementUI component common definition */ 4 | export declare class ElementUIComponent extends Vue { 5 | /** Install component into Vue */ 6 | static install (vue: typeof Vue): void 7 | } 8 | 9 | /** Component size definition for button, input, etc */ 10 | export type ElementUIComponentSize = 'large' | 'medium' | 'small' | 'mini' 11 | 12 | /** Horizontal alignment */ 13 | export type ElementUIHorizontalAlignment = 'left' | 'center' | 'right' 14 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/container.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Container Component */ 4 | export declare class ElContainer extends ElementUIComponent { 5 | /** Layout direction for child elements */ 6 | direction: 'horizontal' | 'vertical' 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/divider.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | export type ContentPosition = 'left' | 'center' | 'right' 4 | 5 | /** Divider Component */ 6 | export declare class ElDivider extends ElementUIComponent { 7 | /** enable vertical divider */ 8 | vertical: boolean 9 | 10 | /** customize the content on the divider line */ 11 | posiiton: ContentPosition 12 | } 13 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/dropdown-item.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Toggleable menu for displaying lists of links and actions. */ 4 | export declare class ElDropdownItem extends ElementUIComponent { 5 | /** A command to be dispatched to Dropdown's command callback */ 6 | command: string | number | object 7 | 8 | /** Whether the item is disabled */ 9 | disabled: boolean 10 | 11 | /** Whether a divider is displayed */ 12 | divided: boolean 13 | 14 | /** Icon to show on left side of text */ 15 | icon: string 16 | } 17 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/dropdown-menu.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Dropdown Menu Component */ 4 | export declare class ElDropdownMenu extends ElementUIComponent {} 5 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/dropdown.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent, ElementUIComponentSize } from './component' 2 | import { ButtonType } from './button' 3 | 4 | export type DropdownMenuAlignment = 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' 5 | export type DropdownMenuTrigger = 'hover' | 'click' 6 | 7 | /** Toggleable menu for displaying lists of links and actions */ 8 | export declare class ElDropdown extends ElementUIComponent { 9 | /** Menu button type. only works when split-button is true */ 10 | type: ButtonType 11 | 12 | /** Whether a button group is displayed */ 13 | splitButton: boolean 14 | 15 | /** menu size, also works on the split button */ 16 | size: ElementUIComponentSize 17 | 18 | /** Placement of the menu */ 19 | placement: DropdownMenuAlignment 20 | 21 | /** How to trigger */ 22 | trigger: DropdownMenuTrigger 23 | 24 | /** Whether to hide menu after clicking menu-item */ 25 | hideOnClick: boolean 26 | 27 | /** Dropdown tabindex */ 28 | tabindex: number 29 | } 30 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/footer.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Footer Component */ 4 | export declare class ElFooter extends ElementUIComponent { 5 | /** Height of the footer */ 6 | height: string 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/form-item.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent, ElementUIComponentSize } from './component' 2 | 3 | /** FormItem Component */ 4 | export declare class ElFormItem extends ElementUIComponent { 5 | /** A key of `model` of the enclosing `el-form` component */ 6 | prop: string 7 | 8 | /** Label */ 9 | label: string 10 | 11 | /** Width of label, e.g. '50px' */ 12 | labelWidth: string 13 | 14 | /** Whether the field is required or not, will be determined by validation rules if omitted */ 15 | required: boolean 16 | 17 | /** Validation rules of form */ 18 | rules: object 19 | 20 | /** Field error message, set its value and the field will validate error and show this message immediately */ 21 | error: string 22 | 23 | /** Whether to show the error message */ 24 | showMessage: boolean 25 | 26 | /** Whether to display the error message inline with the form item */ 27 | inlineMessage: boolean 28 | 29 | /** Controls the size of components in this form */ 30 | size: ElementUIComponentSize 31 | 32 | /** Reset current field and remove validation result */ 33 | resetField (): void 34 | 35 | /** Remove validation status of the field */ 36 | clearValidate (): void 37 | } 38 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/header.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Header Component */ 4 | export declare class ElHeader extends ElementUIComponent { 5 | /** Height of the header */ 6 | height: string 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/image.d.ts: -------------------------------------------------------------------------------- 1 | import { VNode } from 'vue' 2 | import { ElementUIComponent } from './component' 3 | 4 | export type ObjectFit = 'fill' | 'contain' | 'cover' | 'none' | 'scale-down' 5 | 6 | export interface ImageSlots { 7 | /** Placeholder content when image hasn't loaded yet */ 8 | placeholder: VNode[] 9 | 10 | /** Error content when error occurs to image load */ 11 | error: VNode[] 12 | 13 | [key: string]: VNode[] 14 | } 15 | 16 | /** Image Component */ 17 | export declare class ElImage extends ElementUIComponent { 18 | /** Image source */ 19 | src: string 20 | 21 | /** Indicate how the image should be resized to fit its container, same as native 'object-fit' */ 22 | fit: ObjectFit 23 | 24 | /** Whether to use lazy load */ 25 | lazy: boolean 26 | 27 | /** Scroll container that to add scroll listener when using lazy load */ 28 | scrollContainer: string | HTMLElement 29 | 30 | /** Native 'alt' attribute */ 31 | alt: string 32 | 33 | $slots: ImageSlots 34 | } 35 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/index.d.ts: -------------------------------------------------------------------------------- 1 | export * from './element-ui' 2 | 3 | import * as ElementUI from './element-ui' 4 | export default ElementUI 5 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/input-number.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | export type InputNumberSize = 'large' | 'small' 4 | 5 | /** InputNumber Component */ 6 | export declare class ElInputNumber extends ElementUIComponent { 7 | /** Binding value */ 8 | value: number 9 | 10 | /** The minimum allowed value */ 11 | min: number 12 | 13 | /** The maximum allowed value */ 14 | max: number 15 | 16 | /** Incremental step */ 17 | step: number 18 | 19 | /** Size of the component */ 20 | size: InputNumberSize 21 | 22 | /** Whether the component is disabled */ 23 | disabled: boolean 24 | 25 | /** Whether to enable the control buttons */ 26 | controls: boolean 27 | 28 | /** Debounce delay when typing, in milliseconds */ 29 | debounce: number 30 | 31 | /** Position of the control buttons */ 32 | controlsPosition: string 33 | 34 | /** Same as name in native input */ 35 | name: string 36 | 37 | /** Precision of input value */ 38 | precision: number 39 | 40 | /** whether input value can only be multiple of step */ 41 | stepStrictly: boolean 42 | 43 | /** 44 | * Focus the Input component 45 | */ 46 | focus (): void 47 | } 48 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/link.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Button type */ 4 | export type LinkType = 'primary' | 'success' | 'warning' | 'danger' | 'info' 5 | 6 | /** Link Component */ 7 | export declare class ElLink extends ElementUIComponent { 8 | /** Link type */ 9 | type: LinkType 10 | 11 | /** Disable the link */ 12 | disabled: boolean 13 | 14 | /** Link underline */ 15 | underline: boolean 16 | 17 | /** Link icon, accepts an icon name of Element icon component */ 18 | icon: string 19 | 20 | /** Link href */ 21 | href: string 22 | 23 | /** Link target */ 24 | target: string 25 | } 26 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/main.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Main Component */ 4 | export declare class ElMain extends ElementUIComponent {} 5 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/menu-item-group.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Menu Item Group Component */ 4 | export declare class ElMenuItemGroup extends ElementUIComponent { 5 | /** Group title */ 6 | title: string 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/menu-item.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Menu Item Component */ 4 | export declare class ElMenuItem extends ElementUIComponent { 5 | /** Unique identification */ 6 | index: string 7 | 8 | /** Vue Router object */ 9 | route: object 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/option-group.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Dropdown Select Option Group Component */ 4 | export declare class ElOptionGroup extends ElementUIComponent { 5 | /** Name of the group */ 6 | label: string 7 | 8 | /** Whether to disable all options in this group */ 9 | disabled: boolean 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/option.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Dropdown Select Option Component */ 4 | export declare class ElOption extends ElementUIComponent { 5 | /** Value of option */ 6 | value: any 7 | 8 | /** Label of option, same as value if omitted */ 9 | label: string 10 | 11 | /** Whether option is disabled */ 12 | disabled: boolean 13 | } 14 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/pagination.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Pagination Component */ 4 | export declare class ElPagination extends ElementUIComponent { 5 | /** Whether to use small pagination */ 6 | small: boolean 7 | 8 | /** Item count of each page */ 9 | pageSize: number 10 | 11 | /** Total item count */ 12 | total: number 13 | 14 | /** Total page count. Set either total or page-count and pages will be displayed; if you need page-sizes, total is required */ 15 | pageCount: number 16 | 17 | /** Number of pagers */ 18 | pagerCount: number 19 | 20 | /** Current page number */ 21 | currentPage: number 22 | 23 | /** 24 | * Layout of Pagination. Elements separated with a comma. 25 | * Accepted values: `sizes`, `prev`, `pager`, `next`, `jumper`, `->`, `total`, `slot` 26 | */ 27 | layout: string 28 | 29 | /** Options of item count per page */ 30 | pageSizes: number[] 31 | 32 | /** Custom class name for the page size Select's dropdown */ 33 | popperClass: string 34 | 35 | /** Text for the prev button */ 36 | prevText: string 37 | 38 | /** Text for the prev button */ 39 | nextText: string 40 | 41 | /** Whether to hide when thers's only one page */ 42 | hideOnSinglePage: boolean 43 | } 44 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/progress.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | export type ProgressType = 'line' | 'circle' 4 | export type ProgressStatus = 'success' | 'exception' | 'text' 5 | 6 | /** Progress Component */ 7 | export declare class ElProgress extends ElementUIComponent { 8 | /** Percentage, required */ 9 | percentage: number 10 | 11 | /** The type of progress bar */ 12 | type: ProgressType 13 | 14 | /** The width of progress bar */ 15 | strokeWidth: number 16 | 17 | /** Whether to place the percentage inside progress bar, only works when type is 'line' */ 18 | textInside: boolean 19 | 20 | /** The current status of progress bar */ 21 | status: ProgressStatus 22 | 23 | /** Background color of progress bar. Overrides `status` prop */ 24 | color: string 25 | 26 | /** The canvas width of circle progress bar */ 27 | width: number 28 | 29 | /** Whether to show percentage */ 30 | showText: boolean 31 | } 32 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/radio-button.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Radio Button Component */ 4 | export declare class ElRadioButton extends ElementUIComponent { 5 | /** The form input value */ 6 | value: string 7 | 8 | /** The value of radio */ 9 | label: string | number 10 | 11 | /** Whether radio is disabled */ 12 | disabled: boolean 13 | 14 | /** Native 'name' attribute */ 15 | name: string 16 | } 17 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/radio-group.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | export type RadioGroupSize = 'large' | 'small' 4 | 5 | /** Radio Group Component */ 6 | export declare class ElRadioGroup extends ElementUIComponent { 7 | /** The size of radio buttons */ 8 | size: RadioGroupSize 9 | 10 | /** Border and background color when button is active */ 11 | fill: string 12 | 13 | /** Whether the nesting radios are disabled */ 14 | disabled: boolean 15 | 16 | /** Font color when button is active */ 17 | textColor: string 18 | } 19 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/radio.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Radio Component */ 4 | export declare class ElRadio extends ElementUIComponent { 5 | /** The form input value */ 6 | value: string 7 | 8 | /** The value of radio */ 9 | label: string | number | boolean 10 | 11 | /** Whether radio is disabled */ 12 | disabled: boolean 13 | 14 | /** Whether to add a border around Radio */ 15 | border: boolean 16 | 17 | /** Native 'name' attribute */ 18 | name: string 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/row.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Horizontal alignment of flex layout */ 4 | export type HorizontalAlignment = 'start' | 'end' | 'center' | 'space-around' | 'space-between' 5 | 6 | /** vertical alignment of flex layout */ 7 | export type VertialAlignment = 'top' | 'middle' | 'bottom' 8 | 9 | /** Row Layout Component */ 10 | export declare class ElRow extends ElementUIComponent { 11 | /** Grid spacing */ 12 | gutter: number 13 | 14 | /** Layout mode. You can use flex. Works in modern browsers */ 15 | type: string 16 | 17 | /** Horizontal alignment of flex layout */ 18 | justify: HorizontalAlignment 19 | 20 | /** Vertical alignment of flex layout */ 21 | align: VertialAlignment 22 | 23 | /** Custom element tag */ 24 | tag: string 25 | } 26 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/step.d.ts: -------------------------------------------------------------------------------- 1 | import { VNode } from 'vue' 2 | import { ElementUIComponent } from './component' 3 | 4 | export type StepStatus = 'wait' | 'process' | 'finish' | 'error' | 'success' 5 | 6 | export interface StepRenderSlots { 7 | /** Custom icon */ 8 | icon: VNode[], 9 | 10 | /** Step title */ 11 | title: VNode[], 12 | 13 | /** Step description */ 14 | description: VNode[], 15 | 16 | [key: string]: VNode[] 17 | } 18 | 19 | /** Step Component */ 20 | export declare class ElStep extends ElementUIComponent { 21 | /** Step title */ 22 | title: string 23 | 24 | /** Step description */ 25 | description: string 26 | 27 | /** Step icon */ 28 | icon: string 29 | 30 | /** Current status. It will be automatically set by Steps if not configured. */ 31 | status: StepStatus 32 | 33 | readonly $slots: StepRenderSlots 34 | } 35 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/steps.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | import { StepStatus } from './step' 3 | 4 | export type StepsDirection = 'vertical' | 'horizontal' 5 | 6 | /** Guide the user to complete tasks in accordance with the process. Its steps can be set according to the actual application scenario and the number of the steps can't be less than 2. */ 7 | export declare class ElSteps extends ElementUIComponent { 8 | /** The spacing of each step, will be responsive if omitted. Support percentage. */ 9 | space: number | string 10 | 11 | /** Display direction */ 12 | direction: StepsDirection 13 | 14 | /** Current activation step */ 15 | active: number 16 | 17 | /** Status of current step */ 18 | processStatus: StepStatus 19 | 20 | /** Status of end step */ 21 | finishStatus: StepStatus 22 | 23 | /** Whether step description is centered */ 24 | alignCenter: boolean 25 | 26 | /** Whether to apply simple theme */ 27 | simple: boolean 28 | } 29 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/submenu.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Submenu Component */ 4 | export declare class ElSubmenu extends ElementUIComponent { 5 | /** Unique identification */ 6 | index: string | null 7 | 8 | /** Delay time before showing a sub-menu */ 9 | showTimeout: number 10 | 11 | /** Delay time before hiding a sub-menu */ 12 | hideTimeout: number 13 | 14 | /** Custom class name for the popup menu */ 15 | popperClass: string 16 | 17 | /** Whether the sub-menu is disabled */ 18 | disabled: boolean 19 | 20 | /** Whether to append the popper menu to body */ 21 | popperAppendToBody: boolean 22 | } 23 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/switch.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Switch Component */ 4 | export declare class ElSwitch extends ElementUIComponent { 5 | /** Whether Switch is on */ 6 | value: boolean 7 | 8 | /** Whether Switch is disabled */ 9 | disabled: boolean 10 | 11 | /** Width of Switch */ 12 | width: number 13 | 14 | /** Class name of the icon displayed when in on state, overrides on-text */ 15 | activeIconClass: string 16 | 17 | /** Class name of the icon displayed when in off state, overrides off-text */ 18 | inactiveIconClass: string 19 | 20 | /** Text displayed when in on state */ 21 | activeText: string 22 | 23 | /** Text displayed when in off state */ 24 | inactiveText: string 25 | 26 | /** Background color when in on state */ 27 | activeColor: string 28 | 29 | /** Background color when in off state */ 30 | inactiveColor: string 31 | 32 | /** Switch value when in on state */ 33 | activeValue: string | boolean | number 34 | 35 | /** Switch value when in off state */ 36 | inactiveValue: string | boolean | number 37 | 38 | /** Input name of Switch */ 39 | name: string 40 | 41 | /** Whether to trigger form validation */ 42 | validateEvent: boolean 43 | } 44 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/tab-pane.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Tab Pane Component */ 4 | export declare class ElTabPane extends ElementUIComponent { 5 | /** Title of the tab */ 6 | label: string 7 | 8 | /** Whether Tab is disabled */ 9 | disabled: boolean 10 | 11 | /** Identifier corresponding to the activeName of Tabs, representing the alias of the tab-pane */ 12 | name: string 13 | 14 | /** Whether Tab is closable */ 15 | closable: boolean 16 | 17 | /** Whether Tab is lazily rendered */ 18 | lazy: boolean 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/tabs.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | export type TabType = 'card' | 'border-card' 4 | export type TabPosition = 'top' | 'right' | 'bottom' | 'left' 5 | 6 | /** Divide data collections which are related yet belong to different types */ 7 | export declare class ElTabs extends ElementUIComponent { 8 | /** Type of Tab */ 9 | type: TabType 10 | 11 | /** Whether Tab is closable */ 12 | closable: boolean 13 | 14 | /** Whether Tab is addable */ 15 | addable: boolean 16 | 17 | /** Whether Tab is addable and closable */ 18 | editable: boolean 19 | 20 | /** Name of the selected tab */ 21 | value: string 22 | 23 | /** Position of tabs */ 24 | tabPosition: TabPosition 25 | 26 | /** Whether width of tab automatically fits its container */ 27 | stretch: Boolean 28 | 29 | /** Hook function before switching tab. If false or a Promise is returned and then is rejected, switching will be prevented */ 30 | beforeLeave: (activeName: string, oldActiveName: string) => boolean | Promise 31 | } 32 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/tag.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent, ElementUIComponentSize } from './component' 2 | 3 | export type TagType = 'primary' | 'gray' | 'success' | 'warning' | 'danger' 4 | 5 | /** Tag Component */ 6 | export declare class ElTag extends ElementUIComponent { 7 | /** Theme */ 8 | type: TagType 9 | 10 | /** Whether Tab can be removed */ 11 | closable: boolean 12 | 13 | /** Whether the removal animation is disabled */ 14 | disableTransitions: boolean 15 | 16 | /** Whether Tag has a highlighted border */ 17 | hit: boolean 18 | 19 | /** Background color of the tag */ 20 | color: string 21 | 22 | /** Tag size */ 23 | size: ElementUIComponentSize 24 | } 25 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/timeline-item.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | export type TimelineItemPlacement = 'top' | 'bottom' 4 | export type TimelineItemType = 'primary' | 'success' | 'warning' | 'danger' | 'info' 5 | export type TimelineItemSize = 'normal' | 'large' 6 | 7 | /** TimelineItem Component */ 8 | export declare class ElTimelineItem extends ElementUIComponent { 9 | timestamp: string 10 | 11 | hideTimestamp: boolean 12 | 13 | placement: TimelineItemPlacement 14 | 15 | type: TimelineItemType 16 | 17 | size: TimelineItemSize 18 | 19 | icon: string 20 | } 21 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/element-ui/types/timeline.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Timeline Component */ 4 | export declare class ElTimeline extends ElementUIComponent { 5 | reverse: boolean 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/font/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/font/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /src/main/resources/static/lib/font/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/font/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /src/main/resources/static/lib/font/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/font/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /src/main/resources/static/lib/font/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/font/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /src/main/resources/static/lib/font/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/font/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /src/main/resources/static/lib/font/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/font/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /src/main/resources/static/lib/font/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/font/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /src/main/resources/static/lib/font/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/font/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /src/main/resources/static/lib/font/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/font/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /src/main/resources/static/lib/font/icon/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/font/icon/iconfont.eot -------------------------------------------------------------------------------- /src/main/resources/static/lib/font/icon/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/font/icon/iconfont.ttf -------------------------------------------------------------------------------- /src/main/resources/static/lib/font/icon/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TyCoding/jvm-monitor/2ca3025ef419f6b3f76fd0aa4775995b550c9743/src/main/resources/static/lib/font/icon/iconfont.woff -------------------------------------------------------------------------------- /src/main/resources/templates/common/css.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /src/main/resources/templates/common/js.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/test/java/cn/tycoding/MonitorApplicationTests.java: -------------------------------------------------------------------------------- 1 | package cn.tycoding; 2 | 3 | import org.junit.Test; 4 | import org.junit.runner.RunWith; 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | import org.springframework.test.context.junit4.SpringRunner; 7 | 8 | @RunWith(SpringRunner.class) 9 | @SpringBootTest 10 | public class MonitorApplicationTests { 11 | 12 | @Test 13 | public void contextLoads() { 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/cn/tycoding/service/impl/ClassLoaderServiceImplTest.java: -------------------------------------------------------------------------------- 1 | package cn.tycoding.service.impl; 2 | 3 | import cn.tycoding.entity.ClassLoaderBean; 4 | import cn.tycoding.service.ClassLoaderService; 5 | import org.junit.Test; 6 | import org.junit.runner.RunWith; 7 | import org.slf4j.Logger; 8 | import org.slf4j.LoggerFactory; 9 | import org.springframework.beans.factory.annotation.Autowired; 10 | import org.springframework.boot.test.context.SpringBootTest; 11 | import org.springframework.test.context.junit4.SpringRunner; 12 | 13 | import static org.junit.Assert.*; 14 | 15 | /** 16 | * @author tycoding 17 | * @date 2019-05-10 18 | */ 19 | @RunWith(SpringRunner.class) 20 | @SpringBootTest 21 | public class ClassLoaderServiceImplTest { 22 | private Logger logger = LoggerFactory.getLogger(this.getClass()); 23 | 24 | @Autowired 25 | private ClassLoaderService classLoaderService; 26 | 27 | @Test 28 | public void get() { 29 | ClassLoaderBean classLoaderBean = classLoaderService.get(); 30 | logger.info("classLoader => {}", classLoaderBean); 31 | } 32 | } --------------------------------------------------------------------------------