Added validators and eslintrc

This commit is contained in:
euvl
2017-06-12 12:40:36 +01:00
parent 024c6fe648
commit ec53a63557
5 changed files with 155 additions and 94 deletions

View File

@@ -1,5 +1,4 @@
{ {
"presets": [ "presets": ["es2015", "stage-2"],
["es2015", { "modules": false }] "comments": false
]
} }

18
.eslintrc.js Normal file
View File

@@ -0,0 +1,18 @@
module.exports = {
root: true,
extends: 'standard',
plugins: [
'html'
],
'rules': {
'no-multi-spaces': [
'error', {
exceptions: {
'ImportDeclaration': true
}
}
],
'arrow-parens': 0,
'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0
}
}

181
dist/index.js vendored
View File

@@ -78,15 +78,22 @@ return /******/ (function(modules) { // webpackBootstrap
/************************************************************************/ /************************************************************************/
/******/ ([ /******/ ([
/* 0 */ /* 0 */
/***/ (function(module, __webpack_exports__, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
"use strict"; "use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Modal_vue__ = __webpack_require__(5);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Modal_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__Modal_vue__);
var ModalPlugin = { Object.defineProperty(exports, "__esModule", {
value: true
});
var _Modal = __webpack_require__(5);
var _Modal2 = _interopRequireDefault(_Modal);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Plugin = {
install: function install(Vue) { install: function install(Vue) {
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
@@ -112,20 +119,24 @@ var ModalPlugin = {
} }
}); });
Vue.component('modal', __WEBPACK_IMPORTED_MODULE_0__Modal_vue___default.a); Vue.component('modal', _Modal2.default);
return null; return null;
} }
}; };
/* harmony default export */ __webpack_exports__["default"] = (ModalPlugin); exports.default = Plugin;
/***/ }), /***/ }),
/* 1 */ /* 1 */
/***/ (function(module, __webpack_exports__, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
"use strict"; "use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return inRange; });
var inRange = function inRange(from, to, value) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var inRange = exports.inRange = function inRange(from, to, value) {
if (value < from) { if (value < from) {
return from; return from;
} }
@@ -491,55 +502,37 @@ module.exports = Component.exports
/***/ }), /***/ }),
/* 6 */ /* 6 */
/***/ (function(module, __webpack_exports__, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
"use strict"; "use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(16);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_vue__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__index__ = __webpack_require__(0);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Resizer_vue__ = __webpack_require__(10);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Resizer_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__Resizer_vue__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(1);
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
Object.defineProperty(exports, "__esModule", {
value: true
});
var _vue = __webpack_require__(16);
var _vue2 = _interopRequireDefault(_vue);
var _index = __webpack_require__(0);
/* harmony default export */ __webpack_exports__["default"] = ({ var _index2 = _interopRequireDefault(_index);
var _Resizer = __webpack_require__(10);
var _Resizer2 = _interopRequireDefault(_Resizer);
var _util = __webpack_require__(1);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = {
name: 'VueJsModal', name: 'VueJsModal',
props: { props: {
name: { name: {
required: true, required: true,
type: [String, Number] type: String
}, },
delay: { delay: {
type: Number, type: Number,
@@ -566,31 +559,69 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
}, },
minWidth: { minWidth: {
type: Number, type: Number,
default: 0 default: 0,
validator: function validator(value) {
return value >= 0;
}
}, },
minHeight: { minHeight: {
type: Number, type: Number,
default: 0 default: 0,
validator: function validator(value) {
return value >= 0;
}
},
adaptiveMaxWidth: {
type: Number,
default: 1,
validator: function validator(value) {
return value > 0 && value <= 1;
}
},
adaptiveMaxHeight: {
type: Number,
default: 1,
validator: function validator(value) {
return value > 0 && value <= 1;
}
}, },
width: { width: {
type: Number, type: Number,
default: 600 default: 600,
validator: function validator(value) {
return value >= 0;
}
}, },
height: { height: {
type: Number, type: [Number, String],
default: 300 default: 300,
validator: function validator(value) {
if (typeof value === 'string') {
return value === 'auto';
}
if (typeof value === 'number') {
return value >= 0;
}
}
}, },
pivotX: { pivotX: {
type: Number, type: Number,
default: 0.5 default: 0.5,
validator: function validator(value) {
return value >= 0 && value <= 1;
}
}, },
pivotY: { pivotY: {
type: Number, type: Number,
default: 0.5 default: 0.5,
validator: function validator(value) {
value >= 0 && value <= 1;
}
} }
}, },
components: { components: {
Resizer: __WEBPACK_IMPORTED_MODULE_2__Resizer_vue___default.a Resizer: _Resizer2.default
}, },
data: function data() { data: function data() {
return { return {
@@ -649,7 +680,7 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
created: function created() { created: function created() {
var _this2 = this; var _this2 = this;
__WEBPACK_IMPORTED_MODULE_1__index__["default"].event.$on('toggle', function (name, state, params) { _index2.default.event.$on('toggle', function (name, state, params) {
if (name === _this2.name) { if (name === _this2.name) {
if (typeof state === 'undefined') { if (typeof state === 'undefined') {
state = !_this2.visible; state = !_this2.visible;
@@ -681,8 +712,8 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
var top = shift.top + this.pivotY * (window.height - modal.height); var top = shift.top + this.pivotY * (window.height - modal.height);
return { return {
left: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["a" /* inRange */])(0, maxLeft, left), left: (0, _util.inRange)(0, maxLeft, left),
top: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["a" /* inRange */])(0, maxTop, top) top: (0, _util.inRange)(0, maxTop, top)
}; };
}, },
modalClass: function modalClass() { modalClass: function modalClass() {
@@ -704,7 +735,6 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
this.adaptSize(); this.adaptSize();
}, },
genEventObject: function genEventObject(params) { genEventObject: function genEventObject(params) {
//todo: clean this up (change to ...)
var data = { var data = {
name: this.name, name: this.name,
timestamp: Date.now(), timestamp: Date.now(),
@@ -715,13 +745,12 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
} }
}; };
return __WEBPACK_IMPORTED_MODULE_0_vue___default.a.util.extend(data, params || {}); return _vue2.default.util.extend(data, params || {});
// return event
}, },
adaptSize: function adaptSize() { adaptSize: function adaptSize() {
if (this.adaptive) { if (this.adaptive) {
this.modal.width = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["a" /* inRange */])(0, this.window.width, this.modal.width); this.modal.width = (0, _util.inRange)(0, this.window.width * this.maxAdaptiveWidth, this.modal.width);
this.modal.height = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["a" /* inRange */])(0, this.window.height, this.modal.height); this.modal.height = (0, _util.inRange)(0, this.window.height * this.maxAdaptiveWidth, this.modal.height);
} }
}, },
resize: function resize(event) { resize: function resize(event) {
@@ -833,26 +862,24 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
dragger.addEventListener('touchstart', mousedown); dragger.addEventListener('touchstart', mousedown);
} }
}, },
removeDraggableListeners: function removeDraggableListeners() { removeDraggableListeners: function removeDraggableListeners() {}
// console.log('removing draggable handlers')
}
} }
}); };
/***/ }), /***/ }),
/* 7 */ /* 7 */
/***/ (function(module, __webpack_exports__, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
"use strict"; "use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util__ = __webpack_require__(1);
//
//
//
Object.defineProperty(exports, "__esModule", {
value: true
});
/* harmony default export */ __webpack_exports__["default"] = ({ var _util = __webpack_require__(1);
exports.default = {
name: 'VueJsModalResizer', name: 'VueJsModalResizer',
props: { props: {
minHeight: { minHeight: {
@@ -909,8 +936,8 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
var width = event.clientX - el.offsetLeft; var width = event.clientX - el.offsetLeft;
var height = event.clientY - el.offsetTop; var height = event.clientY - el.offsetTop;
width = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__util__["a" /* inRange */])(this.minWidth, window.innerWidth, width); width = (0, _util.inRange)(this.minWidth, window.innerWidth, width);
height = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__util__["a" /* inRange */])(this.minHeight, window.innerHeight, height); height = (0, _util.inRange)(this.minHeight, window.innerHeight, height);
this.size = { width: width, height: height }; this.size = { width: width, height: height };
el.style.width = width + 'px'; el.style.width = width + 'px';
@@ -923,7 +950,7 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
} }
} }
} }
}); };
/***/ }), /***/ }),
/* 8 */ /* 8 */

View File

@@ -26,6 +26,7 @@
"babel-loader": "^6.2.10", "babel-loader": "^6.2.10",
"babel-preset-es2015": "^6.0.0", "babel-preset-es2015": "^6.0.0",
"babel-preset-latest": "^6.0.0", "babel-preset-latest": "^6.0.0",
"babel-preset-stage-2": "^6.24.1",
"cross-env": "^3.0.0", "cross-env": "^3.0.0",
"css-loader": "^0.25.0", "css-loader": "^0.25.0",
"file-loader": "^0.9.0", "file-loader": "^0.9.0",

View File

@@ -36,7 +36,7 @@
props: { props: {
name: { name: {
required: true, required: true,
type: [String, Number], type: String
}, },
delay: { delay: {
type: Number, type: Number,
@@ -63,11 +63,17 @@
}, },
minWidth: { minWidth: {
type: Number, type: Number,
default: 0 default: 0,
validator (value) {
return value >= 0
}
}, },
minHeight: { minHeight: {
type: Number, type: Number,
default: 0 default: 0,
validator (value) {
return value >= 0
}
}, },
adaptiveMaxWidth: { adaptiveMaxWidth: {
type: Number, type: Number,
@@ -82,30 +88,40 @@
validator (value) { validator (value) {
return value > 0 && value <= 1 return value > 0 && value <= 1
} }
} },
width: { width: {
type: Number, type: Number,
default: 600 default: 600,
validator (value) {
return value >= 0
}
}, },
height: { height: {
type: Number, type: [Number, String],
default: 300, default: 300,
/*
[Number, String],
validator (value) { validator (value) {
return typeof value === 'string' if (typeof value === 'string') {
? (value === 'auto') return value === 'auto'
: true }
if (typeof value === 'number') {
return value >= 0
}
} }
*/
}, },
pivotX: { pivotX: {
type: Number, type: Number,
default: 0.5 default: 0.5,
validator (value) {
return value >= 0 && value <= 1
}
}, },
pivotY: { pivotY: {
type: Number, type: Number,
default: 0.5 default: 0.5,
validator (value) {
value >= 0 && value <= 1
}
} }
}, },
components: { components: {