stimulus-flatpickr
Advanced tools
Comparing version 1.1.0-beta1 to 1.1.0
@@ -101,4 +101,4 @@ // Karma configuration | ||
// how many browser should be started simultaneous | ||
concurrency: 1 | ||
concurrency: 5 | ||
}); | ||
}; |
{ | ||
"name": "stimulus-flatpickr", | ||
"version": "1.1.0-beta1", | ||
"version": "1.1.0", | ||
"description": "A Stimulus Wrapper for Flatpickr library", | ||
@@ -18,7 +18,8 @@ "main": "dist/stimulus-flatpickr.js", | ||
"test:headless": "yarn test --auto-watch --no-single-run --browsers ChromeHeadless", | ||
"codecov": "codecov" | ||
"codecov": "codecov", | ||
"publish": "np" | ||
}, | ||
"dependencies": { | ||
"flatpickr": "^4.4.6", | ||
"stimulus": "^1.0.1" | ||
"flatpickr": "^4.6.2", | ||
"stimulus": "^1.1.1" | ||
}, | ||
@@ -28,3 +29,3 @@ "devDependencies": { | ||
"babel-loader": "^7.1.4", | ||
"babel-plugin-istanbul": "^5.0.1", | ||
"babel-plugin-istanbul": "^5.2.0", | ||
"babel-plugin-syntax-async-functions": "^6.13.0", | ||
@@ -39,5 +40,5 @@ "babel-plugin-transform-async-functions": "^6.22.0", | ||
"chai-dom": "^1.8.0", | ||
"codecov": "^3.1.0", | ||
"codecov": "^3.5.0", | ||
"css-loader": "^1.0.0", | ||
"karma": "^3.0.0", | ||
"karma": "^3.1.4", | ||
"karma-babel-preprocessor": "6", | ||
@@ -51,3 +52,3 @@ "karma-chai": "^0.1.0", | ||
"karma-mocha-reporter": "^2.2.5", | ||
"karma-rollup-preprocessor": "^6.0.1", | ||
"karma-rollup-preprocessor": "^6.1.2", | ||
"karma-sinon-chai": "^2.0.2", | ||
@@ -57,13 +58,14 @@ "karma-sourcemap-loader": "^0.3.7", | ||
"mocha": "^5.2.0", | ||
"np": "^5.0.3", | ||
"rollup": "^0.64.1", | ||
"rollup-plugin-buble": "^0.19.2", | ||
"rollup-plugin-buble": "^0.19.8", | ||
"rollup-plugin-filesize": "^4.0.1", | ||
"rollup-plugin-node-resolve": "^3.3.0", | ||
"sinon": "^6.1.4", | ||
"sinon-chai": "^3.2.0", | ||
"size-plugin": "^1.0.1", | ||
"sinon-chai": "^3.3.0", | ||
"size-plugin": "^1.2.0", | ||
"style-loader": "^0.23.0", | ||
"webpack": "^4.5.0", | ||
"webpack": "^4.39.3", | ||
"webpack-cli": "^2.0.14", | ||
"webpack-dev-middleware": "^3.1.2" | ||
"webpack-dev-middleware": "^3.7.1" | ||
}, | ||
@@ -70,0 +72,0 @@ "repository": { |
@@ -6,8 +6,2 @@ <h1 align="center">📆 Stimulus-Flatpickr Wrapper</h1> | ||
</a> | ||
<a href="https://circleci.com/gh/adrienpoly/stimulus-flatpickr" rel="nofollow"> | ||
<img src="https://circleci.com/gh/adrienpoly/stimulus-flatpickr.svg?style=svg" alt="CircleCi build status"> | ||
</a> | ||
<a href="https://codecov.io/gh/adrienpoly/stimulus-flatpickr"> | ||
<img src="https://codecov.io/gh/adrienpoly/stimulus-flatpickr/branch/master/graph/badge.svg" alt="Coverage"/> | ||
</a> | ||
</p> | ||
@@ -355,7 +349,7 @@ | ||
`this.selectedDateElem`: the selected date element. | ||
`this.selectedDateElemTarget`: the selected date element. | ||
`todayDateElem`: today element. | ||
`this.todayDateElemTarget`: today element. | ||
`weekdayContainer`: the container we all the days of the week. | ||
`this.weekdayContainerTarget`: the container we all the days of the week. | ||
@@ -362,0 +356,0 @@ ## Overriding connect & disconnect |
@@ -6,4 +6,3 @@ import Flatpickr from "./controllers/flatpickr_hook_controller"; | ||
fixtureQuerySelector, | ||
addFlatpickrOption, | ||
resetDataAttributes | ||
addFlatpickrOption | ||
} from "./helpers"; | ||
@@ -10,0 +9,0 @@ import chai, { expect } from "chai"; |
@@ -9,3 +9,2 @@ import Flatpickr from "./controllers/flatpickr_controller"; | ||
addFlatpickrOption, | ||
resetDataAttributes, | ||
beforeEachSuite | ||
@@ -116,2 +115,3 @@ } from "./helpers"; | ||
await addFlatpickrOption("AltInput", "true", controller); | ||
expect(fixture.el).to.contain("input[type=hidden].flatpickr-input"); | ||
@@ -125,10 +125,9 @@ expect(fixture.el).to.contain("input[readonly].flatpickr-input"); | ||
await addFlatpickrOption("AltFormat", "%B %d, %Y", controller); | ||
controller.fp.setDate("2018-10-15"); | ||
expect( | ||
calendarQuerySelector(".flatpickr-day.selected") | ||
).to.have.attribute("aria-label", "October 15, 2018"); | ||
await addFlatpickrOption("DefaultDate", "2018-10-15", controller); | ||
expect(controller.selectedDateElemTarget).to.have.attribute( | ||
"aria-label", | ||
"October 15, 2018" | ||
); | ||
expect( | ||
fixtureQuerySelector("input[type=hidden].flatpickr-input") | ||
).to.have.value("2018-10-15"); | ||
expect(controller.inputTarget).to.have.value("2018-10-15"); | ||
}); | ||
@@ -149,8 +148,12 @@ | ||
describe("Flatpickr dates options", function() { | ||
describe("Flatpickr disable dates options", function() { | ||
before(async function() { | ||
controller.fp.setDate("2018-10-15"); | ||
await addFlatpickrOption("DateFormat", "Y-m-d", controller); | ||
await addFlatpickrOption("DefaultDate", "2018-10-15", controller); | ||
}); | ||
context("set min date", function() { | ||
it("dates before min date are disabled", async function() { | ||
await addFlatpickrOption("DateFormat", "Y-m-d", controller); | ||
await addFlatpickrOption("MinDate", "2018-10-03", controller); | ||
controller.fp.setDate("2018-10-15"); | ||
expect( | ||
@@ -181,35 +184,45 @@ document.querySelector('span[aria-label="October 2, 2018"]') | ||
).to.have.class("disabled"); | ||
expect( | ||
document.querySelector('span[aria-label="October 13, 2018"]') | ||
).to.have.class("disabled"); | ||
expect( | ||
document.querySelector('span[aria-label="October 14, 2018"]') | ||
).to.have.class("disabled"); | ||
}); | ||
}); | ||
}); | ||
it("enable individual dates are enabled", async function() { | ||
await addFlatpickrOption( | ||
"Enable", | ||
["2018-10-14", "2018-10-17"], | ||
controller | ||
); | ||
describe("Flatpickr enable dates options", function() { | ||
before(async function() { | ||
await addFlatpickrOption("DateFormat", "Y-m-d", controller); | ||
controller.fp.setDate("2018-10-15"); | ||
await addFlatpickrOption("DefaultDate", "2018-10-15", controller); | ||
}); | ||
expect( | ||
document.querySelector('span[aria-label="October 14, 2018"]') | ||
).not.to.have.class("disabled"); | ||
}); | ||
it("enable individual dates are enabled", async function() { | ||
await addFlatpickrOption( | ||
"Enable", | ||
["2018-10-14", "2018-10-17"], | ||
controller | ||
); | ||
await addFlatpickrOption("DefaultDate", "2018-10-14", controller); | ||
it("add enable days of week only mondays are enabled", async function() { | ||
await addFlatpickrOption("EnableDaysOfWeek", [1], controller); | ||
expect( | ||
document.querySelector('span[aria-label="October 8, 2018"]') | ||
).not.to.have.class("disabled"); | ||
expect( | ||
document.querySelector('span[aria-label="October 15, 2018"]') | ||
).not.to.have.class("disabled"); | ||
expect( | ||
document.querySelector('span[aria-label="October 14, 2018"]') | ||
).not.to.have.class("disabled"); | ||
}); | ||
expect( | ||
document.querySelector('span[aria-label="October 14, 2018"]') | ||
).not.to.have.class("disabled"); | ||
}); | ||
it("add enable days of week only mondays are enabled", async function() { | ||
await addFlatpickrOption("EnableDaysOfWeek", [1], controller); | ||
expect( | ||
document.querySelector('span[aria-label="October 8, 2018"]') | ||
).not.to.have.class("disabled"); | ||
expect( | ||
document.querySelector('span[aria-label="October 15, 2018"]') | ||
).not.to.have.class("disabled"); | ||
expect( | ||
document.querySelector('span[aria-label="October 14, 2018"]') | ||
).not.to.have.class("disabled"); | ||
}); | ||
}); | ||
@@ -216,0 +229,0 @@ |
import Flatpickr from "./controllers/flatpickr_controller"; | ||
import "flatpickr/dist/flatpickr.css"; | ||
import { | ||
registerController, | ||
addFlatpickrOption, | ||
resetDataAttributes | ||
} from "./helpers"; | ||
import { registerController, addFlatpickrOption } from "./helpers"; | ||
import chai, { expect } from "chai"; | ||
@@ -9,0 +5,0 @@ import chaiDom from "chai-dom"; |
@@ -7,6 +7,7 @@ import { Application } from "stimulus"; | ||
return new Promise(resolve => | ||
setTimeout(() => { | ||
resolve(stimulusApp.controllers[0]); | ||
}, 1) | ||
}) | ||
); | ||
@@ -20,12 +21,11 @@ } | ||
async function addFlatpickrOption(option, value, controller) { | ||
return new Promise(resolve => { | ||
const flatpickr = fixture.el.querySelector("#datepicker"); | ||
flatpickr.dataset[`flatpickr${option}`] = | ||
typeof value === "object" ? JSON.stringify(value) : value; | ||
controller.connect(); | ||
return setTimeout(() => { | ||
const flatpickr = fixture.el.querySelector("#datepicker"); | ||
flatpickr.dataset[`flatpickr${option}`] = | ||
(typeof value === "object") ? JSON.stringify(value) : value; | ||
controller.connect(); | ||
return new Promise(resolve => | ||
setTimeout(() => { | ||
resolve(flatpickr); | ||
}); | ||
}); | ||
}) | ||
); | ||
} | ||
@@ -41,3 +41,3 @@ | ||
async function resetDataAttributes(controller) { | ||
function resetDataAttributes(controller) { | ||
const attributes = controller.element.dataset; | ||
@@ -49,3 +49,2 @@ Object.keys(attributes).forEach(attribute => { | ||
controller.connect(); | ||
return Promise.resolve(); | ||
} | ||
@@ -52,0 +51,0 @@ |
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
2054
1
313004
40
414
Updatedflatpickr@^4.6.2
Updatedstimulus@^1.1.1