npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

damap

v0.1.44

Published

Digital Arz Maps

Downloads

176

Readme

Digital Arz Map

A react component for visualizing and analysis data from DigitalArzNode Developed on top of Openlayers.

after installation using npm i damap create .env file and add following lines

REACT_APP_MAP_URL="http://127.0.0.1:8887"
REACT_APP_OPENWEATHER_KEY=***************
REACT_APP_BING_KEY=**************

To add a Map panel on any page use following component

import MapComponent from "damap/lib/ol-map/containers/MapComponent"
const mapRef = React.createRef()
const mapUUID ="........."
<MapComponent ref={mapViewRef} uuid={mapUUID} title='Flood Forecast'>
    <button>Test</button>
</MapComponent>

where

uuid is unique identifier for getting Map from DigitalArzNode

Map View Model

To get Map View Model use

        const mapVM = mapRef.current?.getMapVM();

This View Model can be used for calling different functionalities like To add Digital Arz MVT Layer use

mapVM.addDALayer({uuid: selectedOption})

where

uuid is a Layer info uuid

To open Layer Switcher use

setTimout(()=>mapVM.openLayerSwitcher(),3000)

it better to use setTimout so layout get adjust before open layer switcher

To open Attribute table use

openAttributeTable(columns: Column[], rows: Row[], pkCols: string[], tableHeight: number = 300, daGridRef: RefObject, pivotTableSrc:string=null)

where

columns are of format
{
    disablePadding: boolean;
    id: string;
    label: string;
    // isNumeric: boolean;
    type: "string" | "number" | "date"
}

rows are of format
{
    rowId: number
    [key: string]: any
}

pkCols are an array of primary key column id
tableHeight ref to the height of the table
daGridRef is React RefObject to have control on AttributeGrid functions and
pivotTableSrc is the url of data for pivot Table if data is separate from the table data i.e. rows

Attribute Table

JqxGrid

using openAttributeTable and passing daGridRef you can access JqxGrid

const gridRef = daGridRef?.current?.getJqxGridRef()

you can use all the function mentioned in following Api Reference https://www.jqwidgets.com/jquery-widgets-demo/demos/jqxgrid/index.htm#demos/jqxgrid/defaultfunctionality.htm like

gridRef?.current?.pinColumns(['division'])

Grid Toolbar

Toolbar can access using

const toolbarRef = daGridRef?.current?.getToolbarRef()

we can add Button on toolbar using following function

addButton(newButton: IToolbarButton[])
where IToolbarButton is 
{
    id: string
    title: string
    onClick: (e?: Event) => void
    imgSrc: any
}

example

const zoomBtn = require("../../static/img/search.png")
toolbarRef.addButton([{
    id: "zoomButton",
    title: "Zoom To Selection",
    imgSrc: zoomBtn,
    onClick: (e) => {
        mapVM.selectionLayer.zoomToSelection()
    }
}])

we can add any other Element on toolbar using

const elem = <>
            <select>
                <option>1</option>
                <option>2</option>
            </select></>
toolbarRef?.current?.addToolbarElements(elem);

Map Admin

for Managing Layer in DigitalArz Node use following component

import LayerInfo from "damap/lib/admin/containers/LayerInfo"
<LayerInfo/>

for Managing Map in DigitalArzNode

import LayerInfo from "damap/lib/admin/containers/MapInfo"
<MapInfo/>

author : Ather Ashraf