@github/check-all
Advanced tools
Comparing version 0.2.0 to 0.2.1
@@ -1,7 +0,12 @@ | ||
var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); | ||
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } | ||
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } | ||
function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } | ||
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } | ||
export default function subscribe(container) { | ||
var shiftKey = false; | ||
var lastCheckbox = null; | ||
container.addEventListener('mousedown', onMouseDown); | ||
@@ -12,7 +17,6 @@ container.addEventListener('change', onChange); | ||
if (!(input instanceof HTMLInputElement)) return; | ||
input.indeterminate = indeterminate; | ||
input.indeterminate = indeterminate; | ||
if (input.checked !== checked) { | ||
input.checked = checked; | ||
setTimeout(function () { | ||
@@ -22,3 +26,5 @@ var event = new CustomEvent('change', { | ||
cancelable: false, | ||
detail: { relatedTarget: target } | ||
detail: { | ||
relatedTarget: target | ||
} | ||
}); | ||
@@ -33,2 +39,3 @@ input.dispatchEvent(event); | ||
if (!(target instanceof Element)) return; | ||
if (target.hasAttribute('data-check-all')) { | ||
@@ -42,3 +49,3 @@ onCheckAll(event); | ||
function onCheckAll(event) { | ||
if (event instanceof CustomEvent) { | ||
if (event instanceof CustomEvent && event.detail) { | ||
var relatedTarget = event.detail.relatedTarget; | ||
@@ -50,6 +57,6 @@ | ||
} | ||
var target = event.target; | ||
if (!(target instanceof HTMLInputElement)) return; | ||
lastCheckbox = null; | ||
var _iteratorNormalCompletion = true; | ||
@@ -62,3 +69,2 @@ var _didIteratorError = false; | ||
var input = _step.value; | ||
setChecked(target, input, target.checked, false); | ||
@@ -71,3 +77,3 @@ } | ||
try { | ||
if (!_iteratorNormalCompletion && _iterator.return) { | ||
if (!_iteratorNormalCompletion && _iterator.return != null) { | ||
_iterator.return(); | ||
@@ -87,2 +93,3 @@ } | ||
if (!(event.target instanceof Element)) return; | ||
if (event.target.hasAttribute('data-check-all-item')) { | ||
@@ -94,15 +101,16 @@ shiftKey = event.shiftKey; | ||
function onCheckAllItem(event) { | ||
if (event instanceof CustomEvent) { | ||
if (event instanceof CustomEvent && event.detail) { | ||
var relatedTarget = event.detail.relatedTarget; | ||
if (relatedTarget.hasAttribute('data-check-all') || relatedTarget.hasAttribute('data-check-all-item')) { | ||
if (relatedTarget && (relatedTarget.hasAttribute('data-check-all') || relatedTarget.hasAttribute('data-check-all-item'))) { | ||
return; | ||
} | ||
} | ||
var target = event.target; | ||
if (!(target instanceof HTMLInputElement)) return; | ||
var allCheckbox = container.querySelector('[data-check-all]'); | ||
if (!allCheckbox) return; | ||
var itemCheckboxes = Array.from(container.querySelectorAll('[data-check-all-item]')); | ||
if (shiftKey && lastCheckbox) { | ||
@@ -121,3 +129,2 @@ var _sort = [itemCheckboxes.indexOf(lastCheckbox), itemCheckboxes.indexOf(target)].sort(), | ||
var input = _step2.value; | ||
setChecked(target, input, target.checked, false); | ||
@@ -130,3 +137,3 @@ } | ||
try { | ||
if (!_iteratorNormalCompletion2 && _iterator2.return) { | ||
if (!_iteratorNormalCompletion2 && _iterator2.return != null) { | ||
_iterator2.return(); | ||
@@ -144,3 +151,2 @@ } | ||
lastCheckbox = target; | ||
var total = itemCheckboxes.length; | ||
@@ -159,2 +165,3 @@ var count = itemCheckboxes.filter(function (checkbox) { | ||
var countContainer = container.querySelector('[data-check-all-count]'); | ||
if (countContainer) { | ||
@@ -161,0 +168,0 @@ var count = container.querySelectorAll('[data-check-all-item]:checked').length; |
(function (global, factory) { | ||
if (typeof define === "function" && define.amd) { | ||
define(['exports'], factory); | ||
define(["exports"], factory); | ||
} else if (typeof exports !== "undefined") { | ||
@@ -13,52 +13,21 @@ factory(exports); | ||
} | ||
})(this, function (exports) { | ||
'use strict'; | ||
})(this, function (_exports) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
Object.defineProperty(_exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.default = subscribe; | ||
_exports.default = subscribe; | ||
var _slicedToArray = function () { | ||
function sliceIterator(arr, i) { | ||
var _arr = []; | ||
var _n = true; | ||
var _d = false; | ||
var _e = undefined; | ||
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } | ||
try { | ||
for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { | ||
_arr.push(_s.value); | ||
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } | ||
if (i && _arr.length === i) break; | ||
} | ||
} catch (err) { | ||
_d = true; | ||
_e = err; | ||
} finally { | ||
try { | ||
if (!_n && _i["return"]) _i["return"](); | ||
} finally { | ||
if (_d) throw _e; | ||
} | ||
} | ||
function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } | ||
return _arr; | ||
} | ||
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } | ||
return function (arr, i) { | ||
if (Array.isArray(arr)) { | ||
return arr; | ||
} else if (Symbol.iterator in Object(arr)) { | ||
return sliceIterator(arr, i); | ||
} else { | ||
throw new TypeError("Invalid attempt to destructure non-iterable instance"); | ||
} | ||
}; | ||
}(); | ||
function subscribe(container) { | ||
var shiftKey = false; | ||
var lastCheckbox = null; | ||
container.addEventListener('mousedown', onMouseDown); | ||
@@ -69,7 +38,6 @@ container.addEventListener('change', onChange); | ||
if (!(input instanceof HTMLInputElement)) return; | ||
input.indeterminate = indeterminate; | ||
input.indeterminate = indeterminate; | ||
if (input.checked !== checked) { | ||
input.checked = checked; | ||
setTimeout(function () { | ||
@@ -79,3 +47,5 @@ var event = new CustomEvent('change', { | ||
cancelable: false, | ||
detail: { relatedTarget: target } | ||
detail: { | ||
relatedTarget: target | ||
} | ||
}); | ||
@@ -90,2 +60,3 @@ input.dispatchEvent(event); | ||
if (!(target instanceof Element)) return; | ||
if (target.hasAttribute('data-check-all')) { | ||
@@ -99,3 +70,3 @@ onCheckAll(event); | ||
function onCheckAll(event) { | ||
if (event instanceof CustomEvent) { | ||
if (event instanceof CustomEvent && event.detail) { | ||
var relatedTarget = event.detail.relatedTarget; | ||
@@ -107,6 +78,6 @@ | ||
} | ||
var target = event.target; | ||
if (!(target instanceof HTMLInputElement)) return; | ||
lastCheckbox = null; | ||
var _iteratorNormalCompletion = true; | ||
@@ -119,3 +90,2 @@ var _didIteratorError = false; | ||
var input = _step.value; | ||
setChecked(target, input, target.checked, false); | ||
@@ -128,3 +98,3 @@ } | ||
try { | ||
if (!_iteratorNormalCompletion && _iterator.return) { | ||
if (!_iteratorNormalCompletion && _iterator.return != null) { | ||
_iterator.return(); | ||
@@ -144,2 +114,3 @@ } | ||
if (!(event.target instanceof Element)) return; | ||
if (event.target.hasAttribute('data-check-all-item')) { | ||
@@ -151,15 +122,16 @@ shiftKey = event.shiftKey; | ||
function onCheckAllItem(event) { | ||
if (event instanceof CustomEvent) { | ||
if (event instanceof CustomEvent && event.detail) { | ||
var relatedTarget = event.detail.relatedTarget; | ||
if (relatedTarget.hasAttribute('data-check-all') || relatedTarget.hasAttribute('data-check-all-item')) { | ||
if (relatedTarget && (relatedTarget.hasAttribute('data-check-all') || relatedTarget.hasAttribute('data-check-all-item'))) { | ||
return; | ||
} | ||
} | ||
var target = event.target; | ||
if (!(target instanceof HTMLInputElement)) return; | ||
var allCheckbox = container.querySelector('[data-check-all]'); | ||
if (!allCheckbox) return; | ||
var itemCheckboxes = Array.from(container.querySelectorAll('[data-check-all-item]')); | ||
if (shiftKey && lastCheckbox) { | ||
@@ -178,3 +150,2 @@ var _sort = [itemCheckboxes.indexOf(lastCheckbox), itemCheckboxes.indexOf(target)].sort(), | ||
var input = _step2.value; | ||
setChecked(target, input, target.checked, false); | ||
@@ -187,3 +158,3 @@ } | ||
try { | ||
if (!_iteratorNormalCompletion2 && _iterator2.return) { | ||
if (!_iteratorNormalCompletion2 && _iterator2.return != null) { | ||
_iterator2.return(); | ||
@@ -201,3 +172,2 @@ } | ||
lastCheckbox = target; | ||
var total = itemCheckboxes.length; | ||
@@ -216,2 +186,3 @@ var count = itemCheckboxes.filter(function (checkbox) { | ||
var countContainer = container.querySelector('[data-check-all-count]'); | ||
if (countContainer) { | ||
@@ -218,0 +189,0 @@ var count = container.querySelectorAll('[data-check-all-item]:checked').length; |
{ | ||
"name": "@github/check-all", | ||
"description": "Multiple checkbox selection helper.", | ||
"version": "0.2.0", | ||
"version": "0.2.1", | ||
"main": "dist/check-all.umd.js", | ||
@@ -24,10 +24,12 @@ "module": "dist/check-all.esm.js", | ||
"devDependencies": { | ||
"babel-cli": "^6.26.0", | ||
"babel-preset-es2015-rollup": "^3.0.0", | ||
"babel-preset-flow": "^6.23.0", | ||
"chai": "^4.1.2", | ||
"eslint": "^5.1.0", | ||
"eslint-plugin-github": "^1.1.3", | ||
"flow-bin": "^0.76.0", | ||
"karma": "^2.0.0", | ||
"@babel/cli": "^7.2.3", | ||
"@babel/core": "^7.3.4", | ||
"@babel/plugin-transform-modules-umd": "^7.2.0", | ||
"@babel/preset-env": "^7.3.4", | ||
"@babel/preset-flow": "^7.0.0", | ||
"chai": "^4.2.0", | ||
"eslint": "^5.14.1", | ||
"eslint-plugin-github": "^1.10.0", | ||
"flow-bin": "^0.93.0", | ||
"karma": "^4.0.0", | ||
"karma-chai": "^0.1.0", | ||
@@ -37,4 +39,4 @@ "karma-chrome-launcher": "^2.2.0", | ||
"karma-mocha-reporter": "^2.2.5", | ||
"mocha": "^5.0.5" | ||
"mocha": "^6.0.2" | ||
} | ||
} |
16069
15
303