Code Monkey home page Code Monkey logo

lput's Introduction

laravel Persian UI Template

بسته پارسی UI برای لاراول

یکی از مشکلات استفاده از کامپوننت‌های Vuejs یا ReactJs این است که روش استفاده آن در فایل blade آسان نمی‌باشد، و مستلزم زحمت و تجربه بالاست، با استفاده از این بسته به سادگی از کامپوننت های ui با بالاترین کیفیت ux در لاراول به نتیجه دلخواه خود برسید با کمترین وابستگی (تنها وابستگی های این پروژه فونت‌ها می‌باشند)

معرفی کامپوننت های توسعه یافته تا کنون

تقویم شمسی با قابلیت نمایش محتوا در روز مورد نظر

vue-calendar

فیلد اعتباری مناسب برای استفاده قیمت

currency-input

انتخاب گر آیکون remix

remix-icon-picker remix-icon-picker-modal

انتخاب‌گر آیکون font awesome

font-awesome-icon-picker-modal

date picker شمسی و میلادی

persian-gregorian-datepicker

date time picker شمسی و میلادی

persian-gregorian-dateyimepicker persian-gregorian-dateyimepicker persian-gregorian-dateyimepicker

date range picker شمسی و میلادی

persian-gregorian-date-range-picker

ورودی select با قابلیت جستجو

searchable-select

انتخاب گر چندگانه با قابلیت جستجو

searchable-multi-select searchable-multi-select

افزیانده و کاهنده

inc-dec-input

ورودی برچسب ها یا تگ

tag-input

نحوه به ترتیب ذکر شده در blade

<vue-jalali-calendar
    :year="1394" {{-- year --}}
    :month="4" {{-- month --}}
    {{--        onSelect=""--}} {{-- your event o select --}}
    :texts='{"2015-07-10":"1","2015-07-09":"2","2015-08-10":"2"}' {{-- custom text each days --}}
></vue-jalali-calendar>
<div class="card mt-3">
    <div class="card-header">
        Currency input sample
    </div>
    <div class="card-body">
        <div class="row">
            <div class="col-md-6">
                currency input sampe:
            </div>
            <div class="col-md-6">
                <currency-input xid="test" xname="test" xtitle="Currency input sample" xvalue="10000"></currency-input>
            </div>
        </div>
    </div>
</div>
<div class="card mt-3">
    <div class="card-header">
        Remix icon picker
    </div>
    <div class="card-body">
        <div class="row">
            <div class="col-md-6">
                Remix icon picker
            </div>
            <div class="col-md-6">
                <remix-icon-picker xname="icon" xvalue="ri-twitter-x-line"></remix-icon-picker>
            </div>
        </div>
    </div>
</div>
<div class="card mt-3">
    <div class="card-header">
        Font awesome free icon picker
    </div>
    <div class="card-body">
        <div class="row">
            <div class="col-md-6">
                Font awesome free icon picker
            </div>
            <div class="col-md-6">
                <awesome-icon-picker xname="icon" xvalue="fab fa-twitter"></awesome-icon-picker>
            </div>
        </div>
    </div>
</div>
<div class="card mt-3">
    <div class="card-header">
        DatePicker
    </div>
    <div class="card-body">
        <div class="row">
            <div class="col-md-6">
                DatePicker
            </div>
            <div class="col-md-6">
                <vue-datetime-picker-input xname="datepicker" xtitle="DOB" :xvalue="679097914" :close-on-Select="true"></vue-datetime-picker-input>
            </div>
        </div>
    </div>
</div>
<div class="card mt-3">
    <div class="card-header">
        DateTimePicker
    </div>
    <div class="card-body">
        <div class="row">
            <div class="col-md-6">
                DateTimePicker
            </div>
            <div class="col-md-6">
                <vue-datetime-picker-input xname="datepicker" xtitle="My custom placeholder"  :xvalue="" :timepicker="true" xshow="hpdatetime"></vue-datetime-picker-input>
            </div>
        </div>
    </div>
</div>
<div class="card mt-3">
    <div class="card-header">
        Date Range Picker
    </div>
    <div class="card-body">
        <div class="row">
            <div class="col-md-6">
                Date Range Picker
            </div>
            <div class="col-md-6">
                <vue-date-range-picker-input xname="datepicker" xtitle="Trip range" :close-on-Select="false" :xvalue="" :timepicker="true" xshow="hpdatetime"></vue-date-range-picker-input>
            </div>
        </div>
    </div>
</div>
<div class="card mt-3">
    <div class="card-header">
        Searchable select
    </div>
    <div class="card-body">
        <div class="row">
            <div class="col-md-6">
                Searchable select
            </div>
            <div class="col-md-6">
                <searchable-select :items='{{\App\Models\Category::all(['id','title'])}}' title-field="title" xvalue="3" :close-on-Select="true"></searchable-select>
            </div>
        </div>
    </div>
</div>
<div class="card mt-3">
    <div class="card-header">
        Searchable multi select
    </div>
    <div class="card-body">
        <div class="row">
            <div class="col-md-6">
                Searchable multi select
            </div>
            <div class="col-md-6">
                <searchable-multi-select :items='{{\App\Models\Category::all(['id','title'])}}' title-field="title" :xvalue='[3,11,7]' :close-on-Select="true"></searchable-multi-select>
            </div>
        </div>
    </div>
</div>
<div class="card mt-3">
    <div class="card-header">
        Increment
    </div>
    <div class="card-body">
        <div class="row">
            <div class="col-md-6">
                Searchable multi select
            </div>
            <div class="col-md-6">
                <increment :xvalue="1"></increment>
            </div>
        </div>
    </div>
</div>
<div class="card mt-3">
    <div class="card-header">
        Tag input
    </div>
    <div class="card-body">
        <div class="row">
            <div class="col-md-6">
                Searchable multi select
            </div>
            <div class="col-md-6">
                <tag-input :xvalue=""></tag-input>
            </div>
        </div>
    </div>
</div>

نحوه به ترتیب ذکر شده در vuejs به صورت مستقیم

<template>
    <div id="example">
        <div class="p-2">
            <currency-input v-model="p"></currency-input>
            <span>
                {{ p }}
            </span>
        </div>
        <div class="p-2">
            <font-awesome-icon-picker v-model="f"></font-awesome-icon-picker>
            <span>
                {{ f }}
            </span>
        </div>
        <div class="p-2">
            <remix-icon-picker v-model="r"></remix-icon-picker>
            <span>
                {{ r }}
            </span>
        </div>

        <div class="p-2">
            <searchable-multi-select :items="cats" v-model="mss"></searchable-multi-select>
            <span>
                {{ mss }}
            </span>
        </div>
        <div class="p-2">
            <vue-date-range-picker  v-model="dpr"></vue-date-range-picker>
            <span>
                {{ dpr }}
            </span>
        </div>
        <div class="p-2">
            <vue-date-time-picker v-model="dp"></vue-date-time-picker>
            <span>
                {{ dp }}
            </span>
        </div>
        <div class="p-2">
            <vue-date-time-picker v-model="dpt" :timepicker="true"></vue-date-time-picker>
            <span>
                {{ dpt }}
            </span>
        </div>
        <div class="p-2">
           <increment v-model="i"></increment>
            <span>
                {{ i }}
            </span>
        </div>
        <div class="p-2">
           <tag-input v-model="tags"></tag-input>
            <span>
                {{ tags }}
            </span>
        </div>

    </div>
</template>

<script>
import CurrencyInput from "./CurrencyInput.vue";
import fontAwesomeIconPicker from "./FontAwesomeIconPicker.vue";
import remixIconPicker from "./RemixIconPicker.vue";
import searchableSelect from "./SearchableSelect.vue";
import searchableMultiSelect from "./searchableMultiSelect.vue";
import vueDateTimePicker from "./vueDateTimePicker.vue";
import vueDateRangePicker from "./vueDateRangePicker.vue";
import Increment from "./Increment.vue";
import TagInput from "./TagInput.vue";
export default {
    name: "example",
    components: {
        CurrencyInput, fontAwesomeIconPicker, remixIconPicker,Increment,TagInput,
        searchableSelect, searchableMultiSelect, vueDateRangePicker, vueDateTimePicker
    },
    data: () => {
        return {
            p: 100000,
            f: 'fa fa-user',
            r: 'ri-user-line',
            ss: 3,
            mss: [3,11,7],
            dpr:[],
            dp: null,
            dpt: null,
            i:7,
            tags:'hello,world'
        }
    },
    props: {
        cats: {
            default: [],
        }
    },
    mounted() {
    },
    computed: {},
    methods: {}
}
</script>

<style scoped>
#example {

}
</style>

how test it

  • Rename .env.exampe to .env
  • Setup you database
  • Migrate and seed database
php artisan migrate:fresh --seed
  • Run project as dev:
npm run dev
php artsian serv
Developed With Love ! ❤️

lput's People

Contributors

a1gard avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

lput's Issues

افزودن disable به date time picker و date picker

درود!
اگر امکانش هست ویژگی دیسیبل را به date time picker و date picker اضافه کنید
به این نحو که اول بتوان یک یا چندین تاریخ خاص را دیسیبل کرد
یک یا چند هفته خاص را دیسیبل کرد
یک یا چند بازه زمانی را دیسیبل کرد
یک یا چند ماه را دیسیبل کرد

زیرا این سیستم برای پلتفرم های نوبت دهی بسیار مهم است که بتوانند روز هایی که نوبت پر شده را غیر قابل انتخاب کنند
و نکته آخر دیسیبل شدن بعد از رندر شدن صفحه هم قابل کنترل باشد که بتوانیم برای مثال بعد از انتخاب چند فیلد توسط کاربر با api و برای مثال Ajax برسی کنیم و طبق آن یکسری روز را دیسیبل کنیم

سپاس فراوان از تیم شما

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.