vue-responsive-dash is a responsive, draggable, scalable (grid) dashboard made with vue and print. Inspired by React-Grid-Layout & Vue-Grid-Layout.
draggable and resizable div javascript, javascript resize image by mouse drag, javascript drag and drop snap to grid, draggable grid react, vuejs draggable grid
Angular Resizable And Draggable Modal Component | ng-modal
How to make use of it:
Install and download:
# NPM $ npm install vue-responsive-dash --save
1. Install and import vue-response-dash.
import { Dashboard, DashLayout, DashItem } from "vue-responsive-dash";
2. Create a wireframe in your template.
<template> <div id="app"> <dashboard :id="'dashExample'"> <dash-layout v-for="layout in dlayouts" v-bind="layout" :debug="true" :key="layout.breakpoint"> <dash-item v-for="item in layout.items" v-bind.sync="item" :key="item.id"> <div class="content"></div> <template v-slot:resizeBottomRight> <svg width="1em" height="1em" viewBox="0 0 20 20" focusable="false" role="img" alt="icon" xmlns="http://www.w3.org/2000/svg" fill="#42b983" class="b-icon bi bi-arrow-down-right mx-auto" data-v-11c9e491 > <g data-v-11c9e491> <path fill-rule="evenodd" d="M14 9.5a.5.5 0 01.5.5v5a.5.5 0 01-.5.5H9a.5.5 0 010-1h4.5V10a.5.5 0 01.5-.5z" clip-rule="evenodd" ></path> <path fill-rule="evenodd" d="M4.646 5.646a.5.5 0 01.708 0l9 9a.5.5 0 01-.708.708l-9-9a.5.5 0 010-.708z" clip-rule="evenodd" ></path> </g> </svg> </template> </dash-item> </dash-layout> </dashboard> </div> </template>
3. Record the components and configure the layout as follows:
export default { name: "App", components: { Dashboard, DashLayout, DashItem }, data() { return { dlayouts: [ { breakpoint: "xl", numberOfCols: 12, items: [ { id: "1", x: 0, y: 0, width: 1, height: 1 }, { id: "2", x: 1, y: 0, width: 2, height: 1 }, { id: "3", x: 0, y: 1, width: 2, height: 1 }, { id: "4", x: 3, y: 0, width: 2, height: 2 }, { id: "5", x: 5, y: 0, width: 1, height: 2 }, { id: "6", x: 6, y: 0, width: 2, height: 1 }, { id: "7", x: 7, y: 1, width: 5, height: 1 } ] }, { breakpoint: "lg", breakpointWidth: 1200, numberOfCols: 10, items: [ { id: "1", x: 0, y: 0, width: 1, height: 1 }, { id: "2", x: 1, y: 0, width: 2, height: 1 }, { id: "3", x: 0, y: 1, width: 2, height: 1 }, { id: "4", x: 3, y: 0, width: 2, height: 2 }, { id: "5", x: 5, y: 0, width: 1, height: 2 }, { id: "6", x: 6, y: 0, width: 2, height: 1 }, { id: "7", x: 7, y: 1, width: 3, height: 1 } ] }, { breakpoint: "md", breakpointWidth: 996, numberOfCols: 8, items: [ { id: "1", x: 0, y: 0, width: 1, height: 1 }, { id: "2", x: 1, y: 0, width: 2, height: 1 }, { id: "3", x: 0, y: 1, width: 2, height: 1 }, { id: "4", x: 3, y: 0, width: 2, height: 2 }, { id: "5", x: 5, y: 0, width: 1, height: 2 }, { id: "6", x: 6, y: 0, width: 2, height: 1 }, { id: "7", x: 7, y: 1, width: 1, height: 1 } ] }, { breakpoint: "sm", breakpointWidth: 768, numberOfCols: 4, items: [ { id: "1", x: 0, y: 0, width: 1, height: 1 }, { id: "2", x: 1, y: 0, width: 2, height: 1 }, { id: "3", x: 0, y: 1, width: 2, height: 1 }, { id: "4", x: 3, y: 0, width: 1, height: 2 }, { id: "5", x: 2, y: 1, width: 1, height: 1 } ] }, { breakpoint: "xs", breakpointWidth: 480, numberOfCols: 2, items: [ { id: "1", x: 0, y: 0, width: 1, height: 1 }, { id: "2", x: 1, y: 0, width: 1, height: 1 }, { id: "3", x: 0, y: 1, width: 2, height: 1 } ] }, { breakpoint: "xxs", breakpointWidth: 0, numberOfCols: 1, items: [ { id: "1", x: 0, y: 0, width: 1, height: 1 }, { id: "2", x: 0, y: 1, width: 1, height: 1 } ] } ] }; } };
Draggable & Resizable Grid System, vue-responsive-dash Plugin/Github
See Demo And Download
Official Website(bensladden): Click Here
This superior jQuery/javascript plugin is developed by bensladden. For extra Advanced Usage, please go to the official website.