Code Monkey home page Code Monkey logo

jquery.schedule's Introduction

jq.Schedule

npm version Build Status License: MIT

jquery and html schedule calendar

  • Drag and Drop Support
  • Resize Schedule
  • Ajax Get Data

install

package

npm i jq.schedule --save

Demo

Try Demo

How to use

append head css

<link rel="stylesheet" type="text/css" href="./jquery.schedule/dist/css/style.min.css" />

insert body

<div id="schedule"></div>
<script type="text/javascript" src="./jquery.schedule/dist/js/jq.schedule.min.js"></script>
<script type="text/javascript">
    $(function(){
        var $sc = $("#schedule").timeSchedule({
            startTime: "07:00", // schedule start time(HH:ii)
            endTime: "21:00",   // schedule end time(HH:ii)
            widthTime:60 * 10,  // cell timestamp example 10 minutes
            timeLineY:60,       // height(px)
            verticalScrollbar:20,   // scrollbar (px)
            timeLineBorder:2,   // border(top and bottom)
            bundleMoveWidth:6,  // width to move all schedules to the right of the clicked time line cell
            rows : {
                '0' : {
                    title : 'Title Area',
                    subtitle : 'Description',
                    schedule:[
                        {
                            start:'09:00',
                            end:'12:00',
                            text:'Text Area',
                            data:{
                            }
                        },
                        {
                            start:'11:00',
                            end:'14:00',
                            text:'Text Area',
                            data:{
                            }
                        }
                    ]
                },
                '1' : {
                    title : 'Title Area',
                    schedule:[
                        {
                            start:'16:00',
                            end:'17:00',
                            text:'Text Area',
                            data:{
                            }
                        }
                    ]
                }
            },
            onChange: function(node, data){
                addLog('onChange', data);
            },
            onInitRow: function(node, data){
                addLog('onInitRow', data);
            },
            onClick: function(node, data){
                addLog('onClick', data);
            },
            onAppendRow: function(node, data){
                addLog('onAppendRow', data);
            },
            onAppendSchedule: function(node, data){
                addLog('onAppendSchedule', data);
            },
            onScheduleClick: function(node, time, timeline){
                addLog('onScheduleClick', time + ' ' + timeline);
            }
        });
    });
</script>

Options

Paramaters

Key Value Description
className jq-schedule add elemnt class(default jq.schedule)
startTime 07:00 schedule start time(HH:ii)
endTime 21:00 schedule end time(HH:ii)
widthTime 600 cell timestamp example 10 minutes
timeLineY 60 height(px)
verticalScrollbar 20 scrollbar (px)
timeLineBorder 2 border(top and bottom)
bundleMoveWidth 6 width to move all schedules to the right of the clicked time line cell
rows {object} schedule data
draggable {boolean} enable draggable(default true)
resizable {boolean} enable resizable(default true)
resizableLeft {boolean} enable left handle resizable(default false)

Schedule Data

Key Type Description
title string Schedule Row Title
subtitle string Schedule Row Description
schedule object[] schedule row of array

Schedule Data in Object

Key Type Description
start string HH:ii
end string HH:ii
text string Bar Title
data object bind data

Callback Methods

onChange(node: Element, data: Object)

on change schedule bar callback

onInitRow(node: Element, data: Object)

initialize data

onClick(node: Element, data: Object)

on click bar callback

onAppendRow(node: Element, data: Object)

on add schedule row callback

onSppendSchedule(node: Element, data: Object)

on add schedule bar callback

onScheduleClick(node: Element, time: string, data: Object)

on click schedule row callback

Methods

get row data

var data = $("#schedule").timeSchedule('timelineData');

get schedule data

var data = $("#schedule").timeSchedule('scheduleData');

clear all data

$("#schedule").timeSchedule('resetData');

clear all data and row

$("#schedule").timeSchedule('resetRowData');

add row

$("#schedule").timeSchedule('addRow', timeline, {
    title : 'Title Area',
    schedule:[
        {
            start:'09:00',
            end:'12:00',
            text:'Text Area',
            data:{
            }
        }
    ]
});

add data

$("#schedule").timeSchedule('addSchedule', timeline, {
    start: start,
    end: end,
    text:'Insert Schedule',
    data:{}
});

switch setting

$("#schedule").timeSchedule('setDraggable', true or false);
$("#schedule").timeSchedule('setResizable', true or false);

For Development

run server browser-sync

npm run serve

jquery.schedule's People

Contributors

ateliee avatar dependabot[bot] avatar geoah avatar edg2s avatar takoshi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.