1.1.0 • Published 1 year ago
city-dashboard-component v1.1.0
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.
1.1.0
1 year ago
1.0.4
1 year ago
1.0.3
2 years ago
1.0.2
2 years ago
1.0.1
2 years ago
0.2.1
2 years ago
0.2.0
2 years ago
0.2.2
2 years ago
0.1.1
2 years ago
1.0.0
2 years ago
0.1.0
2 years ago
0.0.3
2 years ago
0.0.2
2 years ago
0.0.8
2 years ago
0.0.5
2 years ago
0.0.4
2 years ago
0.0.7
2 years ago
0.0.6
2 years ago
0.0.1
2 years ago
0.0.0
2 years ago