Skip to content

Instantly share code, notes, and snippets.

View sliwey-zz's full-sized avatar
💻
coding...

Levi Qian sliwey-zz

💻
coding...
View GitHub Profile
@sliwey-zz
sliwey-zz / events.js
Last active November 3, 2017 07:30
pub/sub
var Events = (function() {
var listen,
trigger,
remove,
once,
clientMap = {};
listen = function(key, fn) {
(clientMap[key] || (clientMap[key] = [])).push(fn);
}
@sliwey-zz
sliwey-zz / gps.js
Created August 23, 2017 09:08
gps transform
const pi = Math.PI;
const a = 6378245.0;
const ee = 0.006693421622965943;
function gps2Mars(lng, lat) {
if (outOfChina(lng, lat)) {
return {
lng: lng,
lat: lat
};
@sliwey-zz
sliwey-zz / utils.js
Created August 23, 2017 09:05
utils
export function oneOf(value, targetList) {
return targetList.filter(target => value === target).length !== 0
}
export function getType(param) {
return Object.prototype.toString.call(param).slice(8,-1).toLowerCase()
}
export function padStart(str, len, ch = ' ') {
const times = len - `${str}`.length
@sliwey-zz
sliwey-zz / directives.js
Created August 23, 2017 09:04
clickOutside
import { getType } from '@/utils'
export const clickOutside = {
bind(el, binding, vnode, oldVnode) {
function handler(e) {
if (!el.contains(e.target) && getType(binding.value) === 'function') {
binding.value(e)
}
}
@sliwey-zz
sliwey-zz / data-picker.vue
Last active August 23, 2017 09:00
data-picker
<template>
<div class="calendar-wrap" :class="size" v-clickOutside="handleClose">
<input
type="text"
readonly="readonly"
class="calendar-input"
:value="selectDateString"
@click="handleToggle">
<transition name="slide-down" @after-leave="handleAfterLeave">
<div class="calendar-drop" :style="dropStyle" v-show="visible">
#Top{
background-color: #006284;
border-bottom: 0;
}
#Top .content img{
-webkit-filter: invert(1);
filter: invert(1);
}