city-dashboard-component
v1.0.3
Published
## Requirements
Downloads
1,210
Maintainers
Readme
City Dashboard Component
Requirements
This component was designed for Vue
version 3 or above. Please install via npm
version 20 or above.
Installation
- Install the package via npm.
npm i city-dashboard-component
- Import the stylesheet to
main.js
.
import "city-dashboard-component/style.css";
- Import the component globally or locally in any Vue component.
import { DashboardComponent } from "city-dashboard-component";
// If global
app.component("DashboardComponent", DashboardComponent);
Modes
- Default: The default form of this component with a chart in the middle.
- Large: Slightly larger height than default mode.
- Half: Half the height of default mode.
- Map: Adds a toggle and collapse mode.
- HalfMap: Half the height of map mode when expanded.
- Preview: No chart in the middle but only descriptions.
Props
This component follows the configuration of Taipei City Dashboard. Please refer to its documentation for more information.
|Prop|Type|Default|Description|
|----|----|-------|-----------|
|config|Object<ComponentConfig>
|None. Required.|Component Config. Refer to Taipei City Dashboard's docs for the complete list of parameters available.|
|mode|Enum
|"default"
|Must be one of "default", "large", "map", "half", "halfmap", "preview"|
|favoriteBtn|Boolean
|false
|Whether to show a favorite button|
|isFavorite|Boolean
|false
|Whether the component is liked|
|deleteBtn|Boolean
|false
|Whether to show a delete button|
|addBtn|Boolean
|false
|Whether to show an add button|
|infoBtn|Boolean
|false
|Whether to show an info button|
|infoBtnText|String
|"組件資訊"
|The text of the info button|
|toggleDisable|Boolean
|false
|Whether to disable the toggle in map mode|
|footer|Boolean
|true
|Whether to show the footer|
|style|Object
|{}
|Override the wrapper styles of the component|
Events
This component follows the configuration of Taipei City Dashboard. Please refer to its documentation for more information.
|Event|Required Props|Fired When|Parameters|
|-----|--------------|----------|----------|
|favorite|favoriteBtn
|The favorite button is clicked|id<Number>
|
|delete|deleteBtn
|The delete button is clicked|id<Number>
|
|add|addBtn
|The add button is clicked|id<Number>
|
|info|infoBtn
|The info button is clicked|config<ComponentConfig>
|
|toggle|mode<"map", "halfmap">
|The toggle button is clicked|value<Boolean>, map_config<MapConfig[]>
|
|filterByParam|mode<"map", "halfmap">
, config
has map filter in param mode|When the chart is clicked and no filter is present.|map_filter<MapFilter>, map_config<MapConfig[]>, x<string or null>, y<string or null>
|
|filterByLayer|mode<"map", "halfmap">
, config
has map filter in layer mode|When the chart is clicked and no filter is present.|map_config<MapConfig[]>, x<string or null>
|
|clearByParamFilter|mode<"map", "halfmap">
, config
has map filter in param mode|When the chart is clicked and a filter is present.|map_config<MapConfig[]>
|
|clearByLayerFilter|mode<"map", "halfmap">
, config
has map filter in layer mode|When the chart is clicked and a filter is present.|map_config<MapConfig[]>
|
|fly|mode<"map", "halfmap">
, config
specifies DistrictChart
|When the chart is clicked.|location<{lng, lat}>
|
Example
<script setup>
import { ref } from "vue"
import { DashboardComponent } from "city-dashboard-component"
const config = {...} // Please refer to Taipei City Dashboard Docs
const isFavorite = ref(false);
function showMoreInfo(config) {
// a function to open a dialog to show more info about the component
}
</script>
<template>
<DashboardComponent
mode="default"
:config="config"
:info-btn="true"
:favorite-btn="true"
:is-favorite="isFavorite"
@favorite="
(id) => {
console.log(id);
isFavorite = !isFavorite
}
"
@info="
(config) => {
showMoreInfo(config);
}
"
/>
</template>
For more examples, please refer to Taipei City Dashboard or its GitHub repository.
© 2023-2024 Igor Ho, One Premium Ltd.