Skip to content

Instantly share code, notes, and snippets.

View mostafizurhimself's full-sized avatar

Md Mostafizur Rahman mostafizurhimself

View GitHub Profile
@mostafizurhimself
mostafizurhimself / Datatable.vue
Created October 19, 2021 11:30
Custom Serverside Datatable component with vue js
<template>
<div>
<div :class="cardclass" class="card rounded-sm shadow-sm">
<!-- card header -->
<div v-if="!disableTableHeader" class="card-header rounded-top rounded-sm p-3 border-bottom border-gray bg-white">
<div class="d-flex justify-content-between position-relative">
<!-- All Check -->
<div v-if="!disableCheck" class="d-flex align-items-center cursor-pointer">
<input v-model="allSelected" @change="handleAllSelect" type="checkbox" v-if="laravelData.data && laravelData.data.length" role="button" />
</div>
@mostafizurhimself
mostafizurhimself / SearchableSelect.vue
Created October 19, 2021 11:28
Searchable Select component with Vue 3
<template>
<div class="main_wrapper" ref="wrapperEl">
<div @click="toggleSearchbox" class="search_input_tigger">
<p class="text-gray-600">{{selectedText}}</p>
<Chevrondown />
</div>
<!-- Search Wrapper -->
<div v-if="showSearchbox" class="searchable__select">
<!-- Input Area -->
<div class="relative">
@mostafizurhimself
mostafizurhimself / TagInput.vue
Created October 19, 2021 11:23
Custom tag input field with auto suggestion
<template>
<div class="relative">
<div class='tag-input'>
<div v-for='(tag, index) in tags' :key='index' class='tag-input__tag'>
{{ tag }}
<span role="button" class="ml-2 text-xs font-bold" @click="removeTag(index)"> &#10005; </span>
</div>
<input type="text" class='tag-input__text' v-model="search" :placeholder="placeholder" @input="onChange" @keydown.enter="onEnter" @keydown.delete="removeLastTag" @keydown.down="onArrowDown" @keydown.up="onArrowUp" />
</div>
<ul ref="scrollContainer" class="tag-input__dropdown" v-if="showDropdown">
@mostafizurhimself
mostafizurhimself / Dropdown.vue
Created October 19, 2021 11:21
Custom dropdown component with Vue 3
<template>
<div class="relative">
<div @click="open = ! open">
<slot name="trigger"></slot>
</div>
<!-- Full Screen Dropdown Overlay -->
<div v-show="open" class="fixed inset-0 z-40" @click="open = false">
</div>