All Projects → Ilyaololo → react-material-datetimepicker

Ilyaololo / react-material-datetimepicker

Licence: other
Material DateTime Picker для React.js

Programming Languages

CSS
56736 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to react-material-datetimepicker

react-scale-text
A React library to keep an element's text scaled to fit it's container
Stars: ✭ 39 (+225%)
Mutual labels:  react-component
fhir-questionnaire-render-react
Render FHIR Questionnaire as a web form using FHIRFormJS
Stars: ✭ 18 (+50%)
Mutual labels:  react-component
yii2-datetime-widgets
Datetime widgets for Yii2
Stars: ✭ 22 (+83.33%)
Mutual labels:  datetimepicker
react-mathjax-preview
The MathJax React component you were looking for.
Stars: ✭ 46 (+283.33%)
Mutual labels:  react-component
react-simple-image-slider
simple image slider component for react
Stars: ✭ 127 (+958.33%)
Mutual labels:  react-component
react-parallax-card
[wip] React component for a 3D card with parallax effects similar to Apple TV app icons.
Stars: ✭ 21 (+75%)
Mutual labels:  react-component
react-file-input
⚛️  A file Input, with drag'n'drop and image editor for React
Stars: ✭ 71 (+491.67%)
Mutual labels:  react-component
fluent-windows
🌈 React components that inspired by Microsoft's Fluent Design System.
Stars: ✭ 122 (+916.67%)
Mutual labels:  react-component
react-infinite-scroller
⏬ Infinite scroll component for React in ES6
Stars: ✭ 3,064 (+25433.33%)
Mutual labels:  react-component
react-timepicker
React timepicker in Android KitKat style
Stars: ✭ 23 (+91.67%)
Mutual labels:  react-component
tiny-ui
⚛️ A friendly UI component set for React.js
Stars: ✭ 202 (+1583.33%)
Mutual labels:  react-component
VOSviewer-Online
VOSviewer Online is a tool for network visualization. It is a web-based version of VOSviewer, a popular tool for constructing and visualizing bibliometric networks.
Stars: ✭ 44 (+266.67%)
Mutual labels:  react-component
react-table-filter
Create Filters on table column items(like Excel)
Stars: ✭ 54 (+350%)
Mutual labels:  react-component
react-multiselect-two-sides
React multiselect two sides component
Stars: ✭ 15 (+25%)
Mutual labels:  react-component
react-credit-cards
Beautiful credit cards for your payment forms
Stars: ✭ 2,386 (+19783.33%)
Mutual labels:  react-component
react-native-slider-intro
A simple and fully customizable React Native component that implements an intro slider for your app
Stars: ✭ 80 (+566.67%)
Mutual labels:  react-component
esn
这是一个常用js小型工具库
Stars: ✭ 15 (+25%)
Mutual labels:  react-component
react-crud-icons
57 SVG icons for CRUD applications, packaged as a React component with light & dark themes and tooltip.
Stars: ✭ 19 (+58.33%)
Mutual labels:  react-component
react-crossfade-image
react-crossfade-image - Simple React component for crossfading images - No CSS needed
Stars: ✭ 33 (+175%)
Mutual labels:  react-component
react-drag-list
A simple draggable list component。
Stars: ✭ 30 (+150%)
Mutual labels:  react-component

Material DateTime Picker for React.js

Простой компонент для React'а в стиле Material Design. Без использования jQuery.

Оригинал взят отсюда

Календарь Часы

Установка

npm install --save react-material-datetime-picker

Подключение

Для подключения компонента нужно:

import DataTimePicker from 'react-material-datetime-picker';

Также, не забудьте подключить файл со стилями

<link rel="stylesheet" href="node_modules/react-material-datetime-picker/build/react-material-datetime-picker.css">

API

По-умолчанию используются внутренние свойства и обработчики.

Параметры

day (string) - день. По-умолчанию, текущий день (по времени установленному в ОС)

hours (string) - часы. По-умолчанию, текущий час (по времени, установленному в ОС)

minutes (string) - минуты. По-умолчанию, текущая минута (по времени установленному в ОС)

month (string) - месяц. По-умолчанию, текущий месяц (по времени установленному в ОС)

show (bool) - показывать комонент или скрыть его. По-умолчанию, true

showCalendar (bool) - показывать календарь. По-умолчанию, показываются.

showClock (bool) - показывать часы. По-умолчанию, скрыты

type (bool) - активная вкладка: календарь/часы. true - активен календарь, false - активены часы. По-умолчанию: true

weekday (string) - день недели. По-умолчанию, текущий день недели (по времени установленному в ОС)

year (string) - год. По-умолчанию, текущий год (по времени установленному в ОС)

Обработчики

При вызове, обработчику передается 3 аргумента: контекст компонента (this) для обращения к его состоянию, аргументы для, которые изначально передавались передавались обработчику, сам обработчик.

clickOnCancel - Обработчик нажатия на кнопку Cancel

clickOnOK - Обработчик нажатия на кнопку OK

handleChangeDay - Обработчик изменения месяца

handleChangeHours - Обработчик изменения часов

handleChangeMinutes - Обработчик изменения минут

handleChangeMonth - Обработчик изменения месяца

handleChangeType - Обработчик изменения активной вкладки (календарь/часы)

Простой пример использования

"use strict";

import React, { Component, PropTypes }  from 'react';
import ReactDOM from 'react-dom';

import DataTimePicker from 'react-material-datetime-picker';

class App extends Component {
    constructor(props) {
        super(props);
    }

    render() {
        return (
            <DataTimePicker />
        );
    }
}

ReactDOM.render(<App />, document.getElementById('app'));

Пример использования с передачей своих свойств

Для удобной работы со временем, советую использовать Moment.js - библеотеку для работы со временем.

"use strict";

import React, { Component, PropTypes } from 'react';
import ReactDOM from 'react-dom';
import moment from 'moment';
import 'moment/locale/ru';

import DataTimePicker from 'react-material-datetime-picker';

class App extends Component {
    constructor(props) {
        super(props);

        moment.locale('ru');

        /**
         * Состояние, где будут хранится параметры компонента
         */
        this.state = {
            day: moment().format("DD"), // день
            hours: moment().format("HH"), // часы
            minutes: moment().format("mm"), // минуты
            month: moment().format("MMMM"), // месяц
            show: true, // показать/скрыть компонент
            showCalendar: true, // покаывать календарь
            showClock: false, // показывать часы
            type: true, // активная вкладка
            weekday: moment().format("dddd"), // день недели
            year: moment().format("YYYY"), // год
        }
    }

    render() {
        const {day, hours, minutes, month, show, showCalendar, showClock, type, weekday,year} = this.state;

        return (
            <DataTimePicker
                day={day}
                hours={hours}
                minutes={minutes}
                month={month}
                show={show}
                showCalendar={showCalendar}
                showClock={showClock}
                type={type}
                weekday={weekday}
                year={year}
            />
        );
    }
}

ReactDOM.render(<App />, document.getElementById('app'));

Пример использования с передачей своих обработчиков

При вызове обработчика, ему передается конекст компонента (this).

"use strict";

import React, { Component, PropTypes }  from 'react';
import ReactDOM from 'react-dom';

import DataTimePicker from 'react-material-datetime-picker';

class App extends Component {
    constructor(props) {
        super(props);
    }

    /**
     * Обработчик изменения активной вкладки (календарь/часы)
     * @param context
     * @param arg
     * @param lastHandler
     */
    handleChangeType = (context, arg, lastHandler) => {
        // conext - this компонента DateTimePicker
        // arg - объект с аргументами
        // lastHandler - исходный обработчик
        
        console.log(context.state); // выведется все состояние компонента
        
        // можно изменять внутренние свойства
        context.setState({
           type: true,
        });
        
        console.log(arg); // выведеться {type: false} или {type: true}
    };

    /**
    * Обработчик нажатия на кнопку OK
    */
    clickOnOK = (context, arg, lastHandler) => {
        lastHandler(); // при вызове исходного обработчика - аргументы передавать не нужно
    };

    render() {
        return (
            <DataTimePicker
                handleChangeType={this.handleChangeType}
                handleChangeMonth={this.handleChangeMonth}
                handleChangeDay={this.handleChangeDay}
                handleChangeHours={this.handleChangeHours}
                handleChangeMinutes={this.handleChangeMinutes}
                clickOnCancel={this.clickOnCancel}
                clickOnOK={this.clickOnOK}
            />
        );
    }
}

ReactDOM.render(<App />, document.getElementById('app'));
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].