LP1830432: Make the org-family-select reusable This commit removes Bill Erickson's automagic org unit select with +Ancestors and +Descendants checkboxes from the admin-page component, and gives it a component of its own, called <eg-org-family-select>. This commit also makes it compatible with [(ngModel)], reactive forms, and any custom Angular validators you might want to throw at it. Examples of all three are available in the sandbox. Also includes some component tests. Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Bill Erickson <berickxx@gmail.com>
LP1823041 Angular dialogs return observables Dialog.open() now returns an observable to the caller. This allows dialogs to pass 0 or more success events, error events, and close events each as descrete actions to the caller. Existing dialogs are updated to expect an Observable response to .open(). Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
LP1803787 Grid toolbar actions menu component; cleanup Moves the guts of the grid toolbar actions menu (the buttons) to a dedicated component that can be shared by both the actions drop-down menu and the actions popover. This adds support for honoring disableOnRow for the popover actions. And avoids duplication. Adds a sandbox example of using the toolbar action click event and divider. Some minor code cleanup/consistency changes. Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
LP#1831786: add demo of cross-tab communications This adds to the Angular sandbox page a demo of implementing cross-tab communications using BroadcastChannel. To quote the instructions added by this patch: "To test, open this sandbox in a second browser tab. Enter something in the input box below, then switch to the other tab and click anywhere on the page. You should see the message that you sent to the other browser tab." Sponsored-by: MassLNC Sponsored-by: Georgia Public Library Service Sponsored-by: Indiana State Library Sponsored-by: CW MARS Sponsored-by: King County Library System Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
LP#1793005 Angular6 Hatch support / printer settings Adds support for Hatch print communication to the Angular(6) app. Migrates the print preferences settings (eg.print.config.*) from in-Hatch settings to server-stored workstation settings. Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: blake <blake@mobiusconsortium.org>
LP1811288 Sandbox editor handles dismissals Teach the sandbox FM editor example to log a useful message on dialog dismissal instead of throwing an error (as a result of the uncaught rejection). Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
LP1819179 PCRUD selector fleshing handles maps Teach the PCUD selector fleshing code to handle selector fields on mapped classes, where an intermediate object flesh is performed by pcrud at flesh time. Adds a 'selector' column on metabib.metarecord in the IDL so that we can have a functioning example of this to use in the sandbox test code. Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
LP1813647 Angular page title component & sandbox example Adds a new component <eg-title /> which may be used to pass strings to the native Angular Title service. Each title may have a prefix and/or a suffix. If both are defined, they are separated by a "-" (by default / en-US) and the prefix is tructed to 12 characters, consistent with AngularJS strings.setPageTitle() function. Signed-off-by: Bill Erickson <berickxx@gmail.com>
LP#1801984 Upgrading Angular 6 to Angular 7 Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jason Boyer <jboyer@library.in.gov> Signed-off-by: Jason Stephenson <jason@sigio.com>
LP1808268 eg2 grid action disableOnRows sanity check The === null test for determining if a disableOnRows handler was set was not broad enough to capture undefined values. This commit changes it to a more generic if() test to cover null/undefined. Also, instead of creating a dummy function in the action, the testing code checks for the presence of the function at run time. Apply a fix to an ng-lint warning introduced by this series of commits in the sandbox code. Signed-off-by: Bill Erickson <berickxx@gmail.com>
LP1808268: Add [disable] option to <eg-grid-toolbar-action> in eg2 To test: 1) Apply this commit and recompile eg2. 2) Open the eg2 sandbox (https://yourdomain/eg2/staff/sandbox) 3) Ensure that the action called "Action that needs a single row" is only enabled when one row of the grid is selected. 4) Create more <eg-grid-toolbar-actions> on grids in eg2. Make sure that they all enable/disable those actions per the output of the functions you reference in the [disabled] attribute. Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Bill Erickson <berickxx@gmail.com>
LP1807764 Angular grid gets datePlusTime option Adds a new boolean datePlusTime option to the Angular grid column configuration, informing the grid to display both date and time in the cell for a datetype=timestamp column. Includes sandbox example. Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
LP#1775466 Angular(6) base application Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>