| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
This code assumed that no classes would be removed that were _not_
added by #addClass. Well, that's false.
* src/ui/styler/FieldStyler.js (removeClass): Consider both spaces and
boundary preceding class name.
* test/ui/styler/FieldStylerTest.js: Add test case.
|
|
|
|
|
|
|
|
|
|
|
| |
Classifications often yield scalar results. Since those results are
used directly in the diff, we have the situation where the expected
diff format (an array) is not provided. Consistent with the rest of
the system, we should consider a scalar to affect every index.
* src/validate/ValidStateMonitor.js (_checkCauseFix): Consider scalar
diffs to affect every index when checking for fixes.
* test/validate/ValidStateMonitorTest.js: Add test.
|
|
|
|
|
|
| |
Didn't mean for this to be committed.
* test/validate/ValidStateMonitorTest.js: Remove `debugger'.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The intent of this is to allow for clearing errors after fields
load (e.g. a "field loading" message if the user attempts to continue
past the step when a field hasn't yet finished loading).
* src/dapi/DataApiManager.js (getApiData): Emit fieldLoaded after
request completes.
* test/dapi/DataApiManagerTest.js: Add test case.
DEV-2299
|
|
|
|
|
|
|
|
|
| |
This was not properly chain the promises---it was always chaining on
the original _pending (so, the first request) and never clearing
_pending after that point.
* src/validate/DataValidator.js (_onceReady): Properly chain.
* test/validate/DataValidatorTest.js: Updated test. Don't ask.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since changes trigger any event observers---which can be
expensive---it is ideal to ignore sets that do not result in any
changes to the bucket.
This also resolves issues with systems that are confused by empty
diffs.
* src/bucket/StagingBucket.js
(_hasChanged): Add method.
(setValues): Use it.
* test/bucket/StagingBucketTest.js: Add test case.
DEV-2299
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since we maintain state (as a kluge for the time being to integrate
with the rest of the system), we need to be careful to protect against
concurrent requests that might mess with it before the original
request is complete.
* src/validate/DataValidator.js
(validate, updateFailures): Hold concurrent requests.
(_onceReady): Add method.
* test/validate/DataValidatorTest.js: Add tests.
|
|
|
|
|
|
|
| |
This breaks everything. :x
This reverts commit e0c2e4dc861d523c40b2d35a242e48b8b7c99662, reversing
changes made to e610372c8443ba5c5e73ed0791e642d82772d5cd.
|
|
|
|
|
|
|
|
| |
Tidy up a little bit; this thing is a mess and hard to work with.
* test/validate/DataValidatorTest
(createStubs): Add function.
Use it.
|
|
|
|
|
|
| |
Not sure how this was missing...!
* test/validate/DataValidatorTest.js: Add test.
|
|
|
|
|
|
|
|
|
| |
* src/validate/DataValidator.js (validate): If a validation is
ongoing, queue requests.
* test/validate/DataValidatorTest.js: Add test.
DEV-2299
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In practice, not clearing the store and allowing it to use previous
state has the effect of instantly "fixing" failures if there happens
to be more than one validation call.
This was a log of debugging for a one-line change.
* src/validate/DataValidator.js (_populateStore): Always clear store.
* test/validate/DataValidatorTest.js: Add test.
DEV-2299
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I updated DataValidator but never updated the caller. Damnit. It's
an unfortunate side-effect of dynamic, loosely typed languages and
mitigating it requires what should be boilerplate functional tests (in
this case---functional tests are useful for many other integration
aspects).
* src/event/FieldVisibilityEventHandler.js
(handle): Use updated DataValidator#clearFailures API, which has
a different descriptor format.
* test/event/FieldVisibilityEventHandlerTest.js: Update test.
|
|
|
|
|
|
|
|
| |
This extracts code from internal lovullo repo rating-fw (originally
Client#_hideFields), 5d4019f1973f9271f4b1bd24ce1f55b56ccda09e.
* src/event/FieldVisibilityEventHandler.js: Add class.
* test/event/FieldVisibilityEventHandlerTest.js: Add test case.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows clearing only the specified failures.
* src/validate/ValidStateMonitor.js
(clearFailures): Add `fields' argument. Make method more concise.
(_fixFailure): Handle clearing `_failures' record.
* src/validate/DataValidator.js
(clearFailures): Add `fields' argument.
* test/validate/ValidStateMonitorTest.js: Add test.
* test/validate/DataValidatorTest.js: Add test.
|
|
|
|
|
|
|
|
| |
* src/validate/DataValidator.js (clearFailures): Add public method.
* test/validate/DataValidatorTest.js: Add #clearFailures test.
* src/validate/ValidStateMonitor.js (clearFailures): Add public method.
* test/validate/ValidStateMonitorTest.js: Add #clearFailures test.
|
|
|
|
|
|
|
| |
* src/system/client.js (data.diffStore): Compose all stores.
* test/system/clientTest.js: Update test case.
DEV-2296
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/validate/DataValidator.js
(validate): New `classes' parameter. API BC break from previous
commits.
(populateStore, updateFailures): Generalize methods.
* test/validate/DataValidatorTest.js:
Add associated test.
Refactor existing tests to adhere to new API/expectations.
DEV-2206
|
|
|
|
|
|
|
|
|
|
|
|
| |
See the description in the test case. This is a bug fix.
* src/validate/ValidStateMonitor.js
(_checkCauseFix): Do not consider an empty diff on a past failure to
be a fix.
* test/validate/ValidStateMonitorTest.js: Add test.
DEV-2296
|
|
|
|
|
|
|
| |
* src/store/DiffStore.js: Add class.
* test/store/DiffStoreTest.js: Add test case.
DEV-2296
|
|
|
|
|
|
|
|
| |
* src/store/MemoryStore.js (clear): Promise resolve to self.
* src/store/Store.js (clear): Update docblock.
* test/store/MemoryStoreTest.js: Update test case accordingly.
DEV-2296
|
|
|
|
|
|
|
|
|
|
| |
Life is so much less miserable now that the project is supporting ES6.
* src/store/PatternProxy.js: Add trait.
* src/store/StorePatternError.js: Add Error.
* test/store/PatternProxyTest.js: Add test case.
DEV-2296
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows for Promise chaining (and consequently temporary classes,
great for testing).
* src/store/MemoryStore.js
(add): Resolve promise to self.
Modify docblock.
* src/store/Store.js (add): Modify docblock.
* src/store/Cascading.js (add): Modify docblock.
* test/store/MemoryStoreTest.js: Modify test accordingly.
DEV-2296
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This will contain various factories (compounded in some cases) to
instantiate various parts of a coherent system. It aims to replace
(as one of many pieces) the ClientDependencyFactory that's referenced
in the code, which is still part of rating-fw (internal LoVullo repo
from which liza is being liberated).
* src/system/client.js: Add module.
* test/system/clientTest.js: Add functional test case.
DEV-2296
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ValidStateMonitor now uses a Store in place of the original primitive
object-based diff format. The original format is translated by
DataValidator. The code is in a transitional state, and considering
the amount of time we spend on various areas of this project, will
likely stay this way for a while.
* src/validate/DataValidator.js
(__construct): Accept Store factory parameter.
(_store_factory): Add field.
(_createStores): Add method.
(_validate): Handle Store.
(updateFailures): Add method.
(_populateStore): Add method.
* test/validate/DataValidatorTest.js: Add tests.
* src/validate/ValidStateMonitor.js
(update): Enforce Store diff.
Wait to process failures until fixes are calculated.
(_checkFailureFix): Handle asynchronous, Promise-based diff.
(_checkCauseFix): Extract logic from _checkCauseFix.
* test/validate/ValidStateMonitorTest.js:
Modify test cases to be Promise-based and handle async calls where
appropriate. That was a friggin' expensive mess.
DEV-2296
|
|
|
|
|
|
|
|
|
|
| |
This extracts some gross code from Client in the rating-fw repo, which
is responsible for gluing change validations together.
* src/validate/DataValidator.js: Add class.
* test/validate/DataValidatorTest.js: Add test case.
DEV-2296
|
|
|
|
|
|
|
|
|
|
| |
Stepping stone to async. fix checks.
* src/validate/ValidStateMonitor.js
(update, detectFixes, _checkFailureFix): Return Promise.
* test/validate/ValidStateMonitorTest.js: Update to use promises.
DEV-2296
|
|
|
|
|
| |
* test/store/CascadingTest.js: Test that Cascading store does not
clear itself.
|
|
|
|
|
|
|
|
| |
Nice and trivial with the new easejs transparent error subtyping!
* src/store/StoreMissError.js: Add error class.
* src/store/MemoryStore.js (get): Use it.
* test/store/MemoryStoreTest.js (#get): Modify test to expect type.
|
|
|
|
|
| |
* src/store/MissLookup.js: Add trait.
* test/store/MissLookupTest.js: Add test case.
|
|
|
|
|
| |
This isn't terribly useful as a general-purpose cache if it can't
handle async requests.
|
|
|
|
|
| |
* src/store/Cascading.js: Add trait.
* test/store/CascadingTest.js: Add test case.
|
|
|
|
|
|
| |
* src/store/Store.js: Add interface.
* src/store/MemoryStore.js: Add class.
* test/store/MemoryStoreTest.js: Add test case.
|
|
|
|
|
|
|
|
|
|
| |
This is a much more general solution.
* src/validate/formatter/Currency.js: Remove trait.
* test/validate/formatter/CurrencyTest.js: Remove test case.
* src/validate/formatter/StringFormat.js: Add trait.
* test/validate/formatter/StringFormatTest.js: Add test case.
|
|
|
|
|
|
|
| |
* src/validate/formatter/Number.js
(parse): Validate number format.
* test/validate/formatter/NumberTest.js: Modify accordingly.
|
|
|
|
|
|
|
|
|
|
| |
* src/validate/formatter/Number.js
(__mixin): Add mixin ctor.
(parse): Handle scale.
(styleNumber): Handle scale.
(scale, split): Add methods.
* test/validate/formatter/NumberTest.js: Modified accordingly.
|
|
|
|
|
| |
* src/validate/formatter/Currency.js: Add trait.
* test/validate/formatter/CurrencyTest.js: Add test case.
|
|
|
|
|
|
|
|
| |
* src/ui/step/GeneralStepUi.js (scrollTo):
Will now abort after each error rather than falling through.
Visibility error message will now show field index.
* test/ui/step/GeneralStepUiTest.js: Added respective test cases
|
|
|
|
|
| |
* src/validate/formatter/MultiDimension.js: Added
* test/validate/formatter/MultiDimensionTest.js: Added
|
|
|
|
|
| |
* src/validate/formatter/AcceptReject.js: Added.
* test/validate/formatter/AcceptRejectTest.js: Added.
|
|
|
|
|
| |
* src/validate/formatter/insurance/Limit.js: Added
* test/validate/formatter/insurance/LimitTest.js: Added
|
|
|
|
|
| |
* src/validate/formatter/Number.js: Added
* test/validate/formatter/NumberTest.js: Added
|
|
|
|
|
|
|
|
| |
This will simplify, through composition, a number of other
validator-formatters.
* src/validate/formatter/MultiDelimited.js: Added
* test/validate/formatter/MultiDelimitedTest.js: Added
|
|
|
|
|
|
|
|
|
|
|
| |
This adds a great deal of flexibility through composition via trait
stacking.
* src/validate/formatter/UnorderedList.js: Renamed from
UnorderedListFormatter; now a trait.
* test/validate/formatter/UnorderedListTest.js: Renamed from
UnorderedListFormatterTest and adjusted to instantiate trait.
|
|
|
|
| |
* test/validate/formatter/common.js (testMixin): Added.
|
|
|
|
|
| |
* src/validate/formatter/EchoFormatter.js: Added.
* test/validate/formatter/EchoFormatterTest.js: Added.
|
|
|
|
|
|
|
|
| |
These have been refacored from the original: rather than abusing what is now
the PatternFormatter, it is now its own class.
* src/validate/formatter/UnorderedListFormatter.js: Added.
* test/validate/formatter/UnorderedListFormatterTest.js: Added.
|
|
|
|
|
|
|
| |
This has been modified from the original to use Chai instead of the `assert'
module.
* test/validate/formatter/common.js: Added.
|
|
|
|
|
|
|
| |
* src/validate/ValidatorFormatter.js: Interface added.
* src/validate/formatter/PatternFormatter.js: Renamed from ../VFormat.js.
* test/validate/formatter/PatternFormatterTest.js: Renamed from
../VFormatTest.js.
|
|
|
|
|
|
|
| |
This will likely undergo some refactoring.
* src/validate/VFormat.js: Added.
* test/validate/VFormatTest.js: Added.
|