Built with blockbuilder.org
Last active
June 5, 2018 15:27
-
-
Save nothingismagick/dd58a966531a19298839575592a6b2cb to your computer and use it in GitHub Desktop.
Quasar QComponents
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
license: mit |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ | |
{ | |
"name": "QActionSheet", | |
"group": "QActionSheet", | |
"imports": [ | |
"QActionSheet", | |
"QModal", | |
"icon", | |
"QList", | |
"utils/event" | |
] | |
}, | |
{ | |
"name": "QAjaxBar", | |
"group": "QAjaxBar", | |
"imports": [ | |
"QAjaxBar", | |
"utils/dom", | |
"utils/format", | |
"plugins/platform" | |
] | |
}, | |
{ | |
"name": "QAlert", | |
"group": "QAlert", | |
"imports": [ | |
"QAlert", | |
"icon", | |
"QBtn" | |
] | |
}, | |
{ | |
"name": "QAutocomplete", | |
"group": "QAutocomplete", | |
"imports": [ | |
"QAutocomplete", | |
"utils/dom", | |
"utils/filter", | |
"utils/uid", | |
"QPopover", | |
"QList", | |
"mixins/keyboard-selection" | |
] | |
}, | |
{ | |
"name": "QBreadcrumbs", | |
"group": "QBreadcrumbs", | |
"imports": [ | |
"QBreadcrumbs", | |
"mixins/align" | |
] | |
}, | |
{ | |
"name": "QBreadcrumbsEl", | |
"group": "QBreadcrumbs", | |
"imports": [ | |
"QBreadcrumbs", | |
"icon", | |
"utils/router-link" | |
] | |
}, | |
{ | |
"name": "QBtn", | |
"group": "QBtn", | |
"imports": [ | |
"QBtn", | |
"./btn-mixin", | |
"QSpinner", | |
"utils/format" | |
] | |
}, | |
{ | |
"name": "QBtnGroup", | |
"group": "QBtn", | |
"imports": [ | |
"QBtn" | |
] | |
}, | |
{ | |
"name": "QBtnDropdown", | |
"group": "QBtn", | |
"imports": [ | |
"QBtn", | |
"./btn-mixin", | |
"./QBtn", | |
"./QBtnGroup", | |
"QPopover" | |
] | |
}, | |
{ | |
"name": "QBtnToggle", | |
"group": "QBtn", | |
"imports": [ | |
"QBtn", | |
"./QBtn", | |
"./QBtnGroup" | |
] | |
}, | |
{ | |
"name": "QCard", | |
"group": "QCard", | |
"imports": [ | |
"QCard" | |
] | |
}, | |
{ | |
"name": "QCardTitle", | |
"group": "QCard", | |
"imports": [ | |
"QCard" | |
] | |
}, | |
{ | |
"name": "QCardMain", | |
"group": "QCard", | |
"imports": [ | |
"QCard" | |
] | |
}, | |
{ | |
"name": "QCardActions", | |
"group": "QCard", | |
"imports": [ | |
"QCard" | |
] | |
}, | |
{ | |
"name": "QCardMedia", | |
"group": "QCard", | |
"imports": [ | |
"QCard" | |
] | |
}, | |
{ | |
"name": "QCardSeparator", | |
"group": "QCard", | |
"imports": [ | |
"QCard" | |
] | |
}, | |
{ | |
"name": "QCarousel", | |
"group": "QCarousel", | |
"imports": [ | |
"QCarousel", | |
"QBtn", | |
"directives/touch-pan", | |
"utils/dom", | |
"utils/is", | |
"utils/format", | |
"utils/animate", | |
"utils/easing", | |
"utils/event", | |
"mixins/fullscreen" | |
] | |
}, | |
{ | |
"name": "QCarouselSlide", | |
"group": "QCarousel", | |
"imports": [ | |
"QCarousel" | |
] | |
}, | |
{ | |
"name": "QCarouselControl", | |
"group": "QCarousel", | |
"imports": [ | |
"QCarousel" | |
] | |
}, | |
{ | |
"name": "QChatMessage", | |
"group": "QChat", | |
"imports": [ | |
"QChat" | |
] | |
}, | |
{ | |
"name": "QCheckbox", | |
"group": "QCheckbox", | |
"imports": [ | |
"QCheckbox", | |
"mixins/checkbox", | |
"mixins/option", | |
"icon" | |
] | |
}, | |
{ | |
"name": "QChip", | |
"group": "QChip", | |
"imports": [ | |
"QChip", | |
"icon", | |
"utils/event" | |
] | |
}, | |
{ | |
"name": "QChipsInput", | |
"group": "chips-input", | |
"imports": [ | |
"chips-input", | |
"mixins/input-frame", | |
"mixins/input", | |
"QInputFrame", | |
"QChip", | |
"utils/event", | |
"QSpinner" | |
] | |
}, | |
{ | |
"name": "QCollapsible", | |
"group": "QCollapsible", | |
"imports": [ | |
"QCollapsible", | |
"QList", | |
"QSlideTransition", | |
"mixins/model-toggle", | |
"mixins/item" | |
] | |
}, | |
{ | |
"name": "QColor", | |
"group": "QColor", | |
"imports": [ | |
"QColor", | |
"mixins/input-frame", | |
"mixins/display-mode", | |
"utils/extend", | |
"QInputFrame", | |
"QPopover", | |
"./QColorPicker", | |
"QBtn", | |
"QModal", | |
"utils/clone", | |
"utils/event" | |
] | |
}, | |
{ | |
"name": "QColorPicker", | |
"group": "QColor", | |
"imports": [ | |
"QColor", | |
"QBtn", | |
"QSlider", | |
"mixins/parent-field", | |
"directives/touch-pan", | |
"utils/event", | |
"utils/throttle", | |
"utils/extend", | |
"utils/clone", | |
"utils/colors" | |
] | |
}, | |
{ | |
"name": "QContextMenu", | |
"group": "QContextMenu", | |
"imports": [ | |
"QContextMenu", | |
"utils/event", | |
"QModal", | |
"QPopover" | |
] | |
}, | |
{ | |
"name": "QDatetime", | |
"group": "QDatetime", | |
"imports": [ | |
"QDatetime", | |
"mixins/input-frame", | |
"mixins/display-mode", | |
"utils/extend", | |
"./datetime-props", | |
"QInputFrame", | |
"QPopover", | |
"./QDatetimePicker", | |
"QBtn", | |
"utils/date", | |
"QModal", | |
"utils/event" | |
] | |
}, | |
{ | |
"name": "QDatetimePicker", | |
"group": "QDatetime", | |
"imports": [ | |
"QDatetime" | |
] | |
}, | |
{ | |
"name": "QDialog", | |
"group": "QDialog", | |
"imports": [ | |
"QDialog", | |
"QModal", | |
"QInput", | |
"QBtn", | |
"QOptionGroup", | |
"utils/clone", | |
"utils/extend", | |
"utils/event" | |
] | |
}, | |
{ | |
"name": "QEditor", | |
"group": "QEditor", | |
"imports": [ | |
"QEditor", | |
"utils/event", | |
"./editor-utils", | |
"./editor-caret", | |
"utils/extend", | |
"mixins/fullscreen" | |
] | |
}, | |
{ | |
"name": "QFab", | |
"group": "QFab", | |
"imports": [ | |
"QFab", | |
"QBtn", | |
"icon", | |
"./fab-mixin", | |
"mixins/model-toggle" | |
] | |
}, | |
{ | |
"name": "QFabAction", | |
"group": "QFab", | |
"imports": [ | |
"QFab", | |
"QBtn", | |
"./fab-mixin" | |
] | |
}, | |
{ | |
"name": "QField", | |
"group": "QField", | |
"imports": [ | |
"QField", | |
"icon" | |
] | |
}, | |
{ | |
"name": "QIcon", | |
"group": "icon", | |
"imports": [ | |
"icon" | |
] | |
}, | |
{ | |
"name": "QInfiniteScroll", | |
"group": "QInfiniteScroll", | |
"imports": [ | |
"QInfiniteScroll", | |
"utils/dom", | |
"utils/debounce", | |
"utils/scroll", | |
"utils/event" | |
] | |
}, | |
{ | |
"name": "QInnerLoading", | |
"group": "QInnerLoading", | |
"imports": [ | |
"QInnerLoading", | |
"QSpinner" | |
] | |
}, | |
{ | |
"name": "QInput", | |
"group": "QInput", | |
"imports": [ | |
"QInput", | |
"mixins/input-frame", | |
"mixins/input", | |
"./input-types", | |
"utils/debounce", | |
"utils/format", | |
"QInputFrame", | |
"QObservables", | |
"QSpinner" | |
] | |
}, | |
{ | |
"name": "QInputFrame", | |
"group": "QInputFrame", | |
"imports": [ | |
"QInputFrame", | |
"mixins/input-frame", | |
"mixins/parent-field" | |
] | |
}, | |
{ | |
"name": "QKnob", | |
"group": "QKnob", | |
"imports": [ | |
"QKnob", | |
"utils/event", | |
"utils/format", | |
"utils/dom", | |
"directives/touch-pan" | |
] | |
}, | |
{ | |
"name": "QLayout", | |
"group": "QLayout", | |
"imports": [ | |
"QLayout", | |
"QObservables" | |
] | |
}, | |
{ | |
"name": "QLayoutDrawer", | |
"group": "QLayout", | |
"imports": [ | |
"QLayout", | |
"directives/touch-pan", | |
"utils/dom", | |
"utils/format", | |
"mixins/model-toggle", | |
"mixins/prevent-scroll" | |
] | |
}, | |
{ | |
"name": "QLayoutFooter", | |
"group": "QLayout", | |
"imports": [ | |
"QLayout", | |
"QObservables" | |
] | |
}, | |
{ | |
"name": "QLayoutHeader", | |
"group": "QLayout", | |
"imports": [ | |
"QLayout", | |
"QObservables" | |
] | |
}, | |
{ | |
"name": "QPage", | |
"group": "QLayout", | |
"imports": [ | |
"QLayout" | |
] | |
}, | |
{ | |
"name": "QPageContainer", | |
"group": "QLayout", | |
"imports": [ | |
"QLayout" | |
] | |
}, | |
{ | |
"name": "QPageSticky", | |
"group": "QLayout", | |
"imports": [ | |
"QLayout", | |
"utils/dom" | |
] | |
}, | |
{ | |
"name": "QItem", | |
"group": "QList", | |
"imports": [ | |
"QList", | |
"mixins/item", | |
"utils/router-link" | |
] | |
}, | |
{ | |
"name": "QItemSeparator", | |
"group": "QList", | |
"imports": [ | |
"QList" | |
] | |
}, | |
{ | |
"name": "QItemMain", | |
"group": "QList", | |
"imports": [ | |
"QList", | |
"mixins/item" | |
] | |
}, | |
{ | |
"name": "QItemSide", | |
"group": "QList", | |
"imports": [ | |
"QList", | |
"icon" | |
] | |
}, | |
{ | |
"name": "QItemTile", | |
"group": "QList", | |
"imports": [ | |
"QList", | |
"icon", | |
"mixins/item" | |
] | |
}, | |
{ | |
"name": "QItemWrapper", | |
"group": "QList", | |
"imports": [ | |
"QList", | |
"./QItem", | |
"./QItemMain", | |
"./QItemSide" | |
] | |
}, | |
{ | |
"name": "QList", | |
"group": "QList", | |
"imports": [ | |
"QList" | |
] | |
}, | |
{ | |
"name": "QListHeader", | |
"group": "QList", | |
"imports": [ | |
"QList" | |
] | |
}, | |
{ | |
"name": "QModal", | |
"group": "QModal", | |
"imports": [ | |
"QModal", | |
"utils/escape-key", | |
"utils/extend", | |
"mixins/model-toggle", | |
"mixins/prevent-scroll" | |
] | |
}, | |
{ | |
"name": "QModalLayout", | |
"group": "QModal", | |
"imports": [ | |
"QModal" | |
] | |
}, | |
{ | |
"name": "QObservables", | |
"group": "QObservables", | |
"imports": [ | |
"QObservables", | |
"utils/event" | |
] | |
}, | |
{ | |
"name": "QResizeObservable", | |
"group": "QObservables", | |
"imports": [ | |
"QObservables", | |
"utils/event" | |
] | |
}, | |
{ | |
"name": "QScrollObservable", | |
"group": "QObservables", | |
"imports": [ | |
"QObservables", | |
"utils/scroll", | |
"utils/event" | |
] | |
}, | |
{ | |
"name": "QWindowResizeObservable", | |
"group": "QObservables", | |
"imports": [ | |
"QObservables", | |
"utils/event" | |
] | |
}, | |
{ | |
"name": "QOptionGroup", | |
"group": "QOptionGroup", | |
"imports": [ | |
"QOptionGroup", | |
"QRadio", | |
"QCheckbox", | |
"toggle", | |
"mixins/parent-field" | |
] | |
}, | |
{ | |
"name": "QPagination", | |
"group": "QPagination", | |
"imports": [ | |
"QPagination", | |
"utils/format", | |
"QBtn", | |
"QInput", | |
"utils/extend", | |
"utils/event" | |
] | |
}, | |
{ | |
"name": "QParallax", | |
"group": "QParallax", | |
"imports": [ | |
"QParallax", | |
"utils/dom", | |
"utils/debounce", | |
"utils/scroll", | |
"utils/event" | |
] | |
}, | |
{ | |
"name": "QPopover", | |
"group": "QPopover", | |
"imports": [ | |
"QPopover", | |
"utils/popup", | |
"utils/debounce", | |
"utils/scroll", | |
"utils/dom", | |
"utils/escape-key", | |
"mixins/model-toggle", | |
"utils/event", | |
"mixins/can-render" | |
] | |
}, | |
{ | |
"name": "QProgress", | |
"group": "QProgress", | |
"imports": [ | |
"QProgress", | |
"utils/format" | |
] | |
}, | |
{ | |
"name": "QPullToRefresh", | |
"group": "QPullToRefresh", | |
"imports": [ | |
"QPullToRefresh", | |
"utils/scroll", | |
"utils/dom", | |
"icon", | |
"directives/touch-pan" | |
] | |
}, | |
{ | |
"name": "QRadio", | |
"group": "QRadio", | |
"imports": [ | |
"QRadio", | |
"mixins/option", | |
"icon", | |
"utils/event" | |
] | |
}, | |
{ | |
"name": "QRange", | |
"group": "QRange", | |
"imports": [ | |
"QRange", | |
"utils/format", | |
"utils/extend", | |
"slider/slider-utils", | |
"QChip" | |
] | |
}, | |
{ | |
"name": "QRating", | |
"group": "QRating", | |
"imports": [ | |
"QRating", | |
"utils/event", | |
"utils/format", | |
"icon" | |
] | |
}, | |
{ | |
"name": "QScrollArea", | |
"group": "QScrollArea", | |
"imports": [ | |
"QScrollArea", | |
"utils/extend", | |
"utils/format", | |
"utils/event", | |
"utils/scroll", | |
"QObservables", | |
"directives/touch-pan" | |
] | |
}, | |
{ | |
"name": "QSearch", | |
"group": "QSearch", | |
"imports": [ | |
"QSearch", | |
"QInput", | |
"mixins/input", | |
"mixins/input-frame" | |
] | |
}, | |
{ | |
"name": "QSelect", | |
"group": "QSelect", | |
"imports": [ | |
"QSelect", | |
"QSearch", | |
"QPopover", | |
"QList", | |
"QCheckbox", | |
"QRadio", | |
"toggle", | |
"icon", | |
"QInputFrame", | |
"QChip", | |
"mixins/input-frame", | |
"utils/extend", | |
"mixins/keyboard-selection" | |
] | |
}, | |
{ | |
"name": "QSlideTransition", | |
"group": "QSlideTransition", | |
"imports": [ | |
"QSlideTransition", | |
"utils/dom", | |
"utils/animate" | |
] | |
}, | |
{ | |
"name": "QSlider", | |
"group": "QSlider", | |
"imports": [ | |
"QSlider", | |
"./slider-utils", | |
"QChip" | |
] | |
}, | |
{ | |
"name": "QSpinner", | |
"group": "QSpinner", | |
"imports": [ | |
] | |
}, | |
{ | |
"name": "QSpinnerAudio", | |
"group": "QSpinner", | |
"imports": [ | |
"QSpinner" | |
] | |
}, | |
{ | |
"name": "QSpinnerBall", | |
"group": "QSpinner", | |
"imports": [ | |
"QSpinner" | |
] | |
}, | |
{ | |
"name": "QSpinnerBars", | |
"group": "QSpinner", | |
"imports": [ | |
"QSpinner" | |
] | |
}, | |
{ | |
"name": "QSpinnerCircles", | |
"group": "QSpinner", | |
"imports": [ | |
"QSpinner" | |
] | |
}, | |
{ | |
"name": "QSpinnerComment", | |
"group": "QSpinner", | |
"imports": [ | |
"QSpinner" | |
] | |
}, | |
{ | |
"name": "QSpinnerCube", | |
"group": "QSpinner", | |
"imports": [ | |
"QSpinner" | |
] | |
}, | |
{ | |
"name": "QSpinnerDots", | |
"group": "QSpinner", | |
"imports": [ | |
"QSpinner" | |
] | |
}, | |
{ | |
"name": "QSpinnerFacebook", | |
"group": "QSpinner", | |
"imports": [ | |
"QSpinner" | |
] | |
}, | |
{ | |
"name": "QSpinnerGears", | |
"group": "QSpinner", | |
"imports": [ | |
"QSpinner" | |
] | |
}, | |
{ | |
"name": "QSpinnerGrid", | |
"group": "QSpinner", | |
"imports": [ | |
"QSpinner" | |
] | |
}, | |
{ | |
"name": "QSpinnerHearts", | |
"group": "QSpinner", | |
"imports": [ | |
"QSpinner" | |
] | |
}, | |
{ | |
"name": "QSpinnerHourglass", | |
"group": "QSpinner", | |
"imports": [ | |
"QSpinner" | |
] | |
}, | |
{ | |
"name": "QSpinnerInfinity", | |
"group": "QSpinner", | |
"imports": [ | |
"QSpinner" | |
] | |
}, | |
{ | |
"name": "QSpinnerIos", | |
"group": "QSpinner", | |
"imports": [ | |
"QSpinner" | |
] | |
}, | |
{ | |
"name": "QSpinnerMat", | |
"group": "QSpinner", | |
"imports": [ | |
"QSpinner" | |
] | |
}, | |
{ | |
"name": "QSpinnerOval", | |
"group": "QSpinner", | |
"imports": [ | |
"QSpinner" | |
] | |
}, | |
{ | |
"name": "QSpinnerPie", | |
"group": "QSpinner", | |
"imports": [ | |
"QSpinner" | |
] | |
}, | |
{ | |
"name": "QSpinnerPuff", | |
"group": "QSpinner", | |
"imports": [ | |
"QSpinner" | |
] | |
}, | |
{ | |
"name": "QSpinnerRadio", | |
"group": "QSpinner", | |
"imports": [ | |
"QSpinner" | |
] | |
}, | |
{ | |
"name": "QSpinnerRings", | |
"group": "QSpinner", | |
"imports": [ | |
"QSpinner" | |
] | |
}, | |
{ | |
"name": "QSpinnerTail", | |
"group": "QSpinner", | |
"imports": [ | |
"QSpinner" | |
] | |
}, | |
{ | |
"name": "QStep", | |
"group": "QStepper", | |
"imports": [ | |
"QStepper", | |
"QSlideTransition", | |
"./StepTab", | |
"utils/uid" | |
] | |
}, | |
{ | |
"name": "QStepper", | |
"group": "QStepper", | |
"imports": [ | |
"QStepper", | |
"./StepTab", | |
"utils/debounce" | |
] | |
}, | |
{ | |
"name": "QStepperNavigation", | |
"group": "QStepper", | |
"imports": [ | |
"QStepper" | |
] | |
}, | |
{ | |
"name": "QRouteTab", | |
"group": "QTab", | |
"imports": [ | |
"QTab", | |
"utils/router-link", | |
"./tab-mixin" | |
] | |
}, | |
{ | |
"name": "QTab", | |
"group": "QTab", | |
"imports": [ | |
"QTab", | |
"./tab-mixin" | |
] | |
}, | |
{ | |
"name": "QTabPane", | |
"group": "QTab", | |
"imports": [ | |
"QTab" | |
] | |
}, | |
{ | |
"name": "QTabs", | |
"group": "QTab", | |
"imports": [ | |
"QTab", | |
"utils/dom", | |
"utils/debounce", | |
"icon", | |
"utils/event" | |
] | |
}, | |
{ | |
"name": "QTable", | |
"group": "QTable", | |
"imports": [ | |
"QTable", | |
"./table-top", | |
"./table-header", | |
"./table-body", | |
"./table-bottom", | |
"./table-sort", | |
"./table-filter", | |
"./table-pagination", | |
"./table-row-selection", | |
"./table-column-selection", | |
"./table-expand", | |
"mixins/fullscreen" | |
] | |
}, | |
{ | |
"name": "QTh", | |
"group": "QTable", | |
"imports": [ | |
"QTable", | |
"icon" | |
] | |
}, | |
{ | |
"name": "QTr", | |
"group": "QTable", | |
"imports": [ | |
"QTable" | |
] | |
}, | |
{ | |
"name": "QTd", | |
"group": "QTable", | |
"imports": [ | |
"QTable" | |
] | |
}, | |
{ | |
"name": "QTableColumns", | |
"group": "QTable", | |
"imports": [ | |
"QTable", | |
"QSelect" | |
] | |
}, | |
{ | |
"name": "QTimeline", | |
"group": "QTimeline", | |
"imports": [ | |
"QTimeline" | |
] | |
}, | |
{ | |
"name": "QTimelineEntry", | |
"group": "QTimeline", | |
"imports": [ | |
"QTimeline", | |
"icon" | |
] | |
}, | |
{ | |
"name": "QToggle", | |
"group": "toggle", | |
"imports": [ | |
"toggle", | |
"mixins/checkbox", | |
"mixins/option", | |
"icon" | |
] | |
}, | |
{ | |
"name": "QToolbar", | |
"group": "QToolbar", | |
"imports": [ | |
"QToolbar" | |
] | |
}, | |
{ | |
"name": "QToolbarTitle", | |
"group": "QToolbar", | |
"imports": [ | |
"QToolbar" | |
] | |
}, | |
{ | |
"name": "QTooltip", | |
"group": "QTooltip", | |
"imports": [ | |
"QTooltip", | |
"utils/debounce", | |
"utils/scroll", | |
"utils/popup", | |
"mixins/model-toggle", | |
"utils/event", | |
"mixins/can-render" | |
] | |
}, | |
{ | |
"name": "QTree", | |
"group": "tree", | |
"imports": [ | |
"tree", | |
"icon", | |
"QCheckbox", | |
"QSlideTransition", | |
"QSpinner", | |
"directives/ripple" | |
] | |
}, | |
{ | |
"name": "QUploader", | |
"group": "uploader", | |
"imports": [ | |
"uploader", | |
"QInputFrame", | |
"mixins/input-frame", | |
"utils/format", | |
"QSpinner", | |
"icon", | |
"QProgress", | |
"QList", | |
"QSlideTransition" | |
] | |
}, | |
{ | |
"name": "QVideo", | |
"group": "video", | |
"imports": [ | |
"video" | |
] | |
} | |
] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<meta charset="utf-8"> | |
<style> | |
body { | |
font: 10px sans-serif; | |
font-weight:400; | |
} | |
.chord { | |
fill-opacity: .67; | |
} | |
</style> | |
<body> | |
<script src="//d3js.org/d3.v3.min.js"></script> | |
<script> | |
var outerRadius = 700 / 2, | |
innerRadius = outerRadius - 150; | |
var fill = d3.scale.category20c(); | |
var chord = d3.layout.chord() | |
.padding(.04) | |
.sortSubgroups(d3.descending) | |
.sortChords(d3.descending); | |
var arc = d3.svg.arc() | |
.innerRadius(innerRadius) | |
.outerRadius(innerRadius + 20); | |
var svg = d3.select("body").append("svg") | |
.attr("width", outerRadius * 2) | |
.attr("height", outerRadius * 2) | |
.append("g") | |
.attr("transform", "translate(" + outerRadius + "," + outerRadius + ")"); | |
d3.json("readme.json", function(error, imports) { | |
if (error) throw error; | |
var indexByName = d3.map(), | |
nameByIndex = d3.map(), | |
matrix = [], | |
n = 0; | |
// Returns the Flare package name for the given class name. | |
function name(name) { | |
return name; | |
} | |
function group(group) { | |
return group; | |
} | |
// Compute a unique index for each package name. | |
imports.forEach(function(d) { | |
if (!indexByName.has(d = name(d.name))) { | |
nameByIndex.set(n, d); | |
indexByName.set(d, n++); | |
} | |
}); | |
// Construct a square matrix counting package imports. | |
imports.forEach(function(d) { | |
var source = indexByName.get(name(d.name)), | |
row = matrix[source]; | |
if (!row) { | |
row = matrix[source] = []; | |
for (var i = -1; ++i < n;) row[i] = 0; | |
} | |
d.imports.forEach(function(d) { row[indexByName.get(name(d))]++; }); | |
}); | |
chord.matrix(matrix); | |
var g = svg.selectAll(".group") | |
.data(chord.groups) | |
.enter().append("g") | |
.attr("class", "group"); | |
g.append("path") | |
.style("fill", function(d) { return fill(d.index); }) | |
.style("stroke", function(d) { return fill(d.index); }) | |
.attr("d", arc); | |
g.append("text") | |
.each(function(d) { d.angle = (d.startAngle + d.endAngle) / 2; }) | |
.attr("dy", ".35em") | |
.attr("transform", function(d) { | |
return "rotate(" + (d.angle * 180 / Math.PI - 90) + ")" | |
+ "translate(" + (innerRadius + 26) + ")" | |
+ (d.angle > Math.PI ? "rotate(180)" : ""); | |
}) | |
.style("text-anchor", function(d) { return d.angle > Math.PI ? "end" : null; }) | |
.text(function(d) { return nameByIndex.get(d.index); }); | |
svg.selectAll(".chord") | |
.data(chord.chords) | |
.enter().append("path") | |
.attr("class", "chord") | |
.style("stroke", function(d) { return d3.rgb(fill(d.source.index)).darker(); }) | |
.style("fill", function(d) { return fill(d.source.index); }) | |
.attr("d", d3.svg.chord().radius(innerRadius)); | |
}); | |
d3.select(self.frameElement).style("height", outerRadius * 3 + "px"); | |
</script> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment