1
0
Fork 0
Commit Graph

119 Commits (a145bfe1f84bfc13b4d634c87463907ca98b0f49)

Author SHA1 Message Date
Mike Gerwitz a145bfe1f8 Use HTMLElement#setAttribute in NaFieldStyler for IE<9
element.style is not supported as an lvalue in IE<9.

All the rest of the sane world that doesn't support IE<9 should be laughing
at me in pity right now.

* src/ui/styler/NaFieldStyler.js (hideField):
Use HTMLElement#setAttribute instead of HTMLElement#style as an lvalue

* test/ui/styler/NaFieldStylerTest.js: Modify test cases to check for
invocation of setAttribute
2016-04-05 11:53:30 -04:00
Mike Gerwitz 573e73cde9 Version bump v0.3.{0=>1} 2016-04-05 09:00:43 -04:00
Mike Gerwitz c29b935f5c NaFieldStylerAnimation properly re-show element in IE
* src/ui/styler/NaFieldStylerAnimation (showField):
The 'display:none' style was retained in certain circumstances after
animation in IE; this fixes that.
2016-04-05 08:59:43 -04:00
Mike Gerwitz 65feaa0c7b v0.{2=>3}.0 bump 2016-04-05 00:17:02 -04:00
Mike Gerwitz 31f67b6719 GroupUi show/hide based on liza DOM API
This isn't entirely complete---some groups don't make use of it (namely
TableGroupUi).  But it's a start.
2016-04-05 00:15:34 -04:00
Mike Gerwitz 921880cb35 {Tabbed,}GroupUi now show/hide using FieldStyler
Yes, this is a mess; I'm pretty much out of time now.

* src/ui/group/GroupUi.js (doShowField, doHideField):
Use field styler

* src/ui/group/TabbedGroupUi (doShowField, doHideField):
Defer to supertype
2016-04-05 00:07:26 -04:00
Mike Gerwitz d8fc549700 DomFieldFactory falls back to element lookups by id
* src/ui/field/DomFieldFactory (create):
Use ElementStyler#getElementByNameLax
2016-04-05 00:05:07 -04:00
Mike Gerwitz afa14ccc39 Add ElementStyler#getFieldByNameLax
Not that I want to keep adding to this monstrosity; no time to refactor
right now.

* src/ui/ElementStyler.js (getFieldByNameLax): Added
2016-04-05 00:03:47 -04:00
Mike Gerwitz 1e332a5a72 Add NaFieldStylerAnimation
I didn't really want to add this back in, but others in the group
thought that change might be bad for users.  This animation thing is
just so sloppy, I think.

* src/ui/styler/NaFieldStylerAnimation.js: Added
2016-04-05 00:01:08 -04:00
Mike Gerwitz befca68110 Extract NaFieldStyler show/hide actions into protected methods
* src/ui/styler/NaFieldStyler.js (showField, hideField): Added
* test/ui/styler/NaFieldStyler.js: Added respective tests
2016-04-04 23:59:57 -04:00
Mike Gerwitz e1c2194962 DomField will now consider that field element might have changed on DOM
This solves styling and DOM mutation issues.  For now.

* src/ui/field/DomField.js (queryElement, updateElement): Added
(_getElement): Extracted into queryElement and updated to re-query DOM each
time, returning last match if not found.
(applyStyle, revokeStyle): Defers style applied predicate to style itself
2016-04-04 15:35:43 -04:00
Mike Gerwitz 40505c3328 FieldStyler#isApplied added
Field stylers now determine whether they've been applied to the target field
on their own, which solves the problem of the system getting out of sync.

* src/ui/styler/ErrorFieldStyler.js (isApplied): Added
* src/ui/styler/FieldStyler.js (isApplied): Added
* src/ui/styler/NaFieldStyler.js (isApplied): Added
* test/ui/styler/NaFieldStylerTest.js: Test for #isApplied
2016-04-04 15:25:52 -04:00
Mike Gerwitz ae9f2a7cab NaFieldStyler remove subfields from DOM
This is necessarily primarily for a specific case: option elements in IE,
which cannot be styled. >:O

This implementation is not complete: we want to re-attach the field at the
same position it was at before it was detached.  This might not be
trivial---imagine if its sibling was also detached.

* src/ui/styler/NaFieldStyler.js (isSubField): Receive field instead of
element (to check parent)
(applyStyle, revokeStyle): Detach and re-attach field from/to DOM
respectively

* test/ui/styler/NaFieldStylerTest.js: Associated tests
2016-04-04 12:30:21 -04:00
Mike Gerwitz 782e4832af Cache DomField parent element
* src/ui/field/DomField.js (getParentElement):
Renamed from getParent.  Cache parent element in memory so that we have a
reference for re-attaching fields to the DOM.
(getParent): Public API addition; call getParentElement
2016-04-04 12:30:21 -04:00
Mike Gerwitz fa37850408 Proper NaFieldStyler sub-field hiding support
* src/ui/styler/NaFieldStyler.js (_isSubField): Added
(applyStyle, revokeStyle): Will not hide parents of sub-fields
2016-04-04 12:30:21 -04:00
Mike Gerwitz 064fcd00fd Abort TabbedGroupUi hide when deferred
* src/ui/group/TabbedGroupUi.js (doShowField, doHideField):
Return from method after setting deferred operation.  This previously
did not fail because jQuery didn't care if operations are not
performed on field matches.
2016-04-04 12:30:05 -04:00
Mike Gerwitz eb073f5db0 DomField#getParent proper nodeName comparison
* src/ui/field/DomFieldFactory (getParent): Convert parent nodeName to
uppercase before comparison (it might not always be)
2016-04-04 11:17:14 -04:00
Mike Gerwitz edbc45a79b DomField#getContainingRow handling of direct row reference
* src/ui/field/DomField.js (getContainingRow): Return self if DT or DD

Certain types of elements (e.g. statics) are compiled such that the direct
reference is the row itself.
2016-04-04 11:17:14 -04:00
Mike Gerwitz c204a12c19 Add NaFieldStyler
* src/ui/styler/NaFieldStyler.js: Added
* test/ui/styler/NaFieldStylerTest.js: Added
2016-04-04 11:17:12 -04:00
Mike Gerwitz 4cce3759db Rename method todo on DomContext#_dequeue
* src/ui/context/DomContext.js (_dequeue): Add todo
2016-04-02 00:30:42 -04:00
Mike Gerwitz d126f618ae Add FieldStyler docblocks
* src/ui/styler/FieldStyler.js (getId, applyStyle, revokeStyle,
addClass, removeClass): Docblocks added
2016-04-02 00:30:42 -04:00
Mike Gerwitz a3b16f33c9 Liberate ui/styler/
* src/ui/styler/ErrorFieldStyler.js: Added
* src/ui/styler/ErrorStyler.js: Added
* src/ui/styler/FieldStyler.js: Added
* src/ui/styler/SidebarErrorStyler.js: Added
* src/ui/styler/StepErrorStyler.js: Added
* src/ui/styler/Styler.js: Added
2016-04-02 00:30:42 -04:00
Mike Gerwitz 37c74eac48 ElementStyler.js (__construct): Decouple jQuery instance 2016-04-02 00:30:42 -04:00
Mike Gerwitz fea4e151cc Liberated archaic DOM element styler
* src/ui/ElementStyler.js: Added

* src/sort/MultiSort.js: Removed ElementStyler liberation todo
* src/ui/field/DomFieldFactory.js: Same
* src/ui/step/GeneralStepUi.js: Same
* src/ui/step/StepUiBuilder.js: Same

This existed when the framework was very long, and has managed to survive
numerous refactoring attempts; it used to be a small class abstracting
element styling, and it has had crap thrown into it ever since, partially
due to time constraints.  It needs to go away.
2016-04-02 00:30:11 -04:00
Mike Gerwitz 003d527307 Liberate context/
* ui/context/Context.js: Added
* ui/context/DomContext.js: Added
* ui/context/DynamicContext.js: Added
* ui/context/RootDomContext.js: Added
2016-04-01 16:03:52 -04:00
Mike Gerwitz 0bb17372fd Makefile.am: Run tests before dist 2016-03-30 15:05:19 -04:00
Mike Gerwitz 151f39c691 Version bump v0.{1=>2}.0 2016-03-30 15:00:54 -04:00
Mike Gerwitz 60eb954a7e configure.ac: Copyright year update 2016-03-30 15:00:04 -04:00
Mike Gerwitz 990327a77d Group sub-field show/hide support 2016-03-30 14:59:00 -04:00
Mike Gerwitz 2fa20c9864 Group support for showing/hiding sub-fields
* src/ui/GroupUi.js (getFieldElements): New method
(showField, hideField): Use GroupUi#getFieldElements

* src/ui/group/TabbedGroupUi (showField, hideField):
Use GroupUi#getFieldElements
2016-03-30 14:16:27 -04:00
Mike Gerwitz f8eb0e4bca Ignore dist files
.gitignore: ignore distdir and dist archive
2016-03-30 14:16:23 -04:00
Mike Gerwitz 6ab3842015 Proper attribution for src/version.js.in 2016-03-29 14:35:59 -04:00
Mike Gerwitz b2478de6e7 Add npm instructions for developers
* README.hacking: added

Developers at LoVullo are not familiar with building or deploying npm
packages.
2016-03-29 14:33:32 -04:00
Mike Gerwitz 43c043d1bc Relocate README.md license
* README.md: place license header below heading
  - npm doesn't like it as the first line
2016-03-29 14:28:11 -04:00
Mike Gerwitz 768c5d5297 autogen.sh added
* autogen.sh: added
* Makefile.am: add autogen.sh to EXTRA_DIST
* README.md: reference autogen.sh
2016-03-29 14:27:07 -04:00
Arthur Domino b77bc57aee Update version to 0.1.0 2016-03-29 10:15:47 -04:00
Arthur Domino 93bff03676 Do not collapse CollapseTableGroups when created. 2016-03-29 09:58:26 -04:00
Mike Gerwitz 15d8bd6078 es6-promise shim 2016-03-01 00:49:54 -05:00
Mike Gerwitz 78c3cc63e1 add es6-promise shim
It is expected that support for promises will be available in whatever
environment liza is run.  Here, we're adding a shim for the sake of testing
in ancient environments.

It's almost as if I'm stuck using an ancient environment somewhere...*cough*
2016-03-01 00:48:37 -05:00
Mike Gerwitz 578c064538 v0.0.{8=>9} bump 2015-12-04 10:04:21 -05:00
Mike Gerwitz c56d6ac7b2 GeneralStepUi#_sortGroups: correct group sorting
The modified parent was not the parent of groups, so the group DOM operations failed.
2015-12-04 10:03:52 -05:00
Mike Gerwitz d9e13f6326 v0.0.{7=>8} bump
This is purely because I published a bad tarball to NPM.
2015-12-03 09:08:48 -05:00
Mike Gerwitz 8864bd309a v0.0.{6=>7} bump 2015-12-03 08:28:44 -05:00
Mike Gerwitz 1a3dd236f8 GeneralStepUi#_sortGroups: maintain DOM order after group sorting
This was affected by 4ce78ebd9e.
2015-12-03 08:27:59 -05:00
Mike Gerwitz d6d42a6498 v0.0.{5=>6} bump 2015-12-03 00:41:45 -05:00
Mike Gerwitz ea23f08b4f Liberate step, group, and misc.
These are largely unchanged---any changes from the originals, aside from
maybe some whitespace fixes, are in separate commits after their
introduction into liza.

If I hold all the code to the standards that I wished to hold it to before
release, then they'll never be released.  So here we are.

Much more to come.
2015-12-03 00:37:15 -05:00
Mike Gerwitz a60bf6b52e Liberated Group and its various UIs
The `AccordionGroupUi` was not liberated, because it is my intent to
eliminate it---I did not agree with its needless addition to begin with.  If
we do end up keeping it, then it will be liberated as well.
2015-12-03 00:36:31 -05:00
Mike Gerwitz 3d9780c39e {=>General}StepUi; StepUi interface
This allows us to begin development (and testing) of StepUi subtypes without
having to worry about the convoluted crap that GeneralStepUi is doing.
Specifically, all the jQuery stuff needs to go.
2015-12-03 00:11:53 -05:00
Mike Gerwitz cc21298297 StepUi: Accept and return vanilla DOM content
This encapsulates the use of jQuery which will eventually be entirely
eliminated.
2015-12-03 00:11:53 -05:00
Mike Gerwitz 972856225b Extract StepUi#detach
You can't see where this is going, because there is other code that is not
yet part of Liza.  ...sorry.
2015-12-03 00:11:52 -05:00