[open-ils-commits] [GIT] Evergreen ILS branch rel_3_4 updated. 640f7aeed4a6a2262921fef2e0cd6f184a0f0415

Evergreen Git git at git.evergreen-ils.org
Fri Jan 3 14:55:57 EST 2020


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Evergreen ILS".

The branch, rel_3_4 has been updated
       via  640f7aeed4a6a2262921fef2e0cd6f184a0f0415 (commit)
       via  3e918827f4a92d6dcf87468f8bebc18a904ea371 (commit)
       via  26b4fc98de4222b95c1fcd599903ef7f31343e6f (commit)
       via  8943923a86a06abb1be82d05e802420f22d38c18 (commit)
       via  0328879b1ae5ff04b1e86550d97ee0709478bb11 (commit)
       via  d24cf32e42fd6d624b69122d8d4c72e8eaba50ae (commit)
       via  f892fc8015233118998b8aa66a2a83a4215f1848 (commit)
      from  0248527260f8c95157cf945b3e641be4b79e47e3 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 640f7aeed4a6a2262921fef2e0cd6f184a0f0415
Author: Galen Charlton <gmc at equinoxinitiative.org>
Date:   Fri Jan 3 11:02:29 2020 -0500

    LP#1858138: (follow-up) flesh creator and editor in sandbox's acp grid
    
    Doing so ensures that the usrnames are displayed in the respective
    grid columns rather than the au ID.
    
    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
    Signed-off-by: Bill Erickson <berickxx at gmail.com>

diff --git a/Open-ILS/src/eg2/src/app/staff/sandbox/sandbox.component.ts b/Open-ILS/src/eg2/src/app/staff/sandbox/sandbox.component.ts
index 8ae3245093..7456095a76 100644
--- a/Open-ILS/src/eg2/src/app/staff/sandbox/sandbox.component.ts
+++ b/Open-ILS/src/eg2/src/app/staff/sandbox/sandbox.component.ts
@@ -222,7 +222,7 @@ export class SandboxComponent implements OnInit {
             return this.pcrud.search('acp',
                 query, {
                 flesh: 1,
-                flesh_fields: {acp: ['location', 'status']},
+                flesh_fields: {acp: ['location', 'status', 'creator', 'editor']},
                 offset: pager.offset,
                 limit: pager.limit,
                 order_by: orderBy

commit 3e918827f4a92d6dcf87468f8bebc18a904ea371
Author: Galen Charlton <gmc at equinoxinitiative.org>
Date:   Fri Jan 3 10:35:56 2020 -0500

    LP#1858138: remove remaining uses of showLinkSelector
    
    Now that showLinkSelector is deprecated and does nothing,
    remove current uses of it.
    
    To test
    -------
    [1] Apply the patch.
    [2] Visit Angular admin interfaces that have grids that
        refer to linked IDL classes, e.g.,
    
        - Local Admin -> Carousels (carousel type)
        - Server Admin -> Weights Association (circ weights and hold
                                               weights)
        - Local Admin -> Item Tags (copy tag type)
        - Acq Admin -> EDI Accounts (provider)
    
    [3] Verify that the columns for linked fields display the
        appropriate selector field rather than the numeric ID.
    
    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
    
    Signed-off-by: Bill Erickson <berickxx at gmail.com>

diff --git a/Open-ILS/src/eg2/src/app/staff/admin/local/admin-carousel.component.html b/Open-ILS/src/eg2/src/app/staff/admin/local/admin-carousel.component.html
index 64714af755..b73a969114 100644
--- a/Open-ILS/src/eg2/src/app/staff/admin/local/admin-carousel.component.html
+++ b/Open-ILS/src/eg2/src/app/staff/admin/local/admin-carousel.component.html
@@ -41,7 +41,7 @@
 <eg-translate #translator></eg-translate>
 
 <eg-grid #grid idlClass="{{idlClass}}" [dataSource]="dataSource" 
-    [sortable]="true" persistKey="{{persistKey}}" [showLinkSelectors]="true">
+    [sortable]="true" persistKey="{{persistKey}}">
   <eg-grid-toolbar-button [disabled]="!canCreate" 
     label="New {{idlClassDef.label}}" i18n-label [action]="createNew">
   </eg-grid-toolbar-button>
diff --git a/Open-ILS/src/eg2/src/app/staff/sandbox/sandbox.component.html b/Open-ILS/src/eg2/src/app/staff/sandbox/sandbox.component.html
index 26da699522..d456ae08a3 100644
--- a/Open-ILS/src/eg2/src/app/staff/sandbox/sandbox.component.html
+++ b/Open-ILS/src/eg2/src/app/staff/sandbox/sandbox.component.html
@@ -265,7 +265,6 @@
   [dataSource]="acpSource"
   [filterable]="true"
   [sortable]="true"
-  [showLinkSelectors]="true"
   [stickyHeader]="true"
   showFields="barcode,location,circ_lib,price,dummy_title,create_date"
 >
diff --git a/Open-ILS/src/eg2/src/app/staff/share/admin-page/admin-page.component.html b/Open-ILS/src/eg2/src/app/staff/share/admin-page/admin-page.component.html
index c7479d62db..00bc67a47b 100644
--- a/Open-ILS/src/eg2/src/app/staff/share/admin-page/admin-page.component.html
+++ b/Open-ILS/src/eg2/src/app/staff/share/admin-page/admin-page.component.html
@@ -34,7 +34,7 @@
 </ng-container>
 
 <eg-grid #grid idlClass="{{idlClass}}" [dataSource]="dataSource" 
-    [sortable]="true" persistKey="{{persistKey}}" [showLinkSelectors]="true">
+    [sortable]="true" persistKey="{{persistKey}}">
   <eg-grid-toolbar-button [disabled]="!canCreate" 
     label="New {{idlClassDef.label}}" i18n-label (onClick)="createNew()">
   </eg-grid-toolbar-button>

commit 26b4fc98de4222b95c1fcd599903ef7f31343e6f
Author: Bill Erickson <berickxx at gmail.com>
Date:   Thu Jan 2 16:31:31 2020 -0500

    LP1858138 Sandbox example of simple grid filtering
    
    Adds a trimmed down grid example demonstrating consistent filtering and
    link selector display for auto and manual fields without requiring any
    additional grid markup to define basic column behevior.
    
    Signed-off-by: Bill Erickson <berickxx at gmail.com>
    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>

diff --git a/Open-ILS/src/eg2/src/app/staff/sandbox/sandbox.component.html b/Open-ILS/src/eg2/src/app/staff/sandbox/sandbox.component.html
index ed1b5813b4..26da699522 100644
--- a/Open-ILS/src/eg2/src/app/staff/sandbox/sandbox.component.html
+++ b/Open-ILS/src/eg2/src/app/staff/sandbox/sandbox.component.html
@@ -404,3 +404,15 @@
   </div>
 </div>
 
+<div class="mt-4 mb-4">
+  <h4>Grid Stock Selector Display and Filtering</h4>
+  <eg-grid #eventsGrid idlClass="atevdef"
+    [dataSource]="eventsDataSource"
+    showFields="name,hook,validator,reactor"
+    [sortable]="true" [filterable]="true">
+    <!-- demo how explicit fields and auto fields support link field selector
+         display and filtering consisently without additional biolerplate -->
+    <eg-grid-column name="name"></eg-grid-column>
+    <eg-grid-column name="hook"></eg-grid-column>
+  </eg-grid>
+</div>
diff --git a/Open-ILS/src/eg2/src/app/staff/sandbox/sandbox.component.ts b/Open-ILS/src/eg2/src/app/staff/sandbox/sandbox.component.ts
index 0ee8048085..8ae3245093 100644
--- a/Open-ILS/src/eg2/src/app/staff/sandbox/sandbox.component.ts
+++ b/Open-ILS/src/eg2/src/app/staff/sandbox/sandbox.component.ts
@@ -63,6 +63,7 @@ export class SandboxComponent implements OnInit {
 
     btSource: GridDataSource = new GridDataSource();
     acpSource: GridDataSource = new GridDataSource();
+    eventsDataSource: GridDataSource = new GridDataSource();
     editSelected: (rows: IdlObject[]) => void;
     @ViewChild('acpGrid') acpGrid: GridComponent;
     @ViewChild('acpEditDialog') editDialog: FmRecordEditorComponent;
@@ -228,6 +229,33 @@ export class SandboxComponent implements OnInit {
             });
         };
 
+        this.eventsDataSource.getRows = (pager: Pager, sort: any[]) => {
+
+            const orderEventsBy: any = {atevdef: 'name'};
+            if (sort.length) {
+                orderEventsBy.atevdef = sort[0].name + ' ' + sort[0].dir;
+            }
+
+            const base: Object = {};
+            base[this.idl.classes['atevdef'].pkey] = {'!=' : null};
+            const query: any = new Array();
+            query.push(base);
+
+            Object.keys(this.eventsDataSource.filters).forEach(key => {
+                Object.keys(this.eventsDataSource.filters[key]).forEach(key2 => {
+                    query.push(this.eventsDataSource.filters[key][key2]);
+                });
+            });
+
+            return this.pcrud.search('atevdef', query, {
+                flesh: 1,
+                flesh_fields: {atevdef: ['hook', 'validator', 'reactor']},
+                offset: pager.offset,
+                limit: pager.limit,
+                order_by: orderEventsBy
+            });
+        };
+
         this.editSelected = (idlThings: IdlObject[]) => {
 
             // Edit each IDL thing one at a time

commit 8943923a86a06abb1be82d05e802420f22d38c18
Author: Bill Erickson <berickxx at gmail.com>
Date:   Thu Jan 2 16:28:46 2020 -0500

    LP1858138 Link selector consolidation/repairs
    
    Signed-off-by: Bill Erickson <berickxx at gmail.com>
    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>

diff --git a/Open-ILS/src/eg2/src/app/core/idl.service.ts b/Open-ILS/src/eg2/src/app/core/idl.service.ts
index fee3bd9637..040bbba8da 100644
--- a/Open-ILS/src/eg2/src/app/core/idl.service.ts
+++ b/Open-ILS/src/eg2/src/app/core/idl.service.ts
@@ -168,7 +168,7 @@ export class IdlService {
             const classDef = this.classes[idlClass];
 
             if (classDef.pkey) {
-                let selector = classDef.field_map[classDef.pkey].selector;
+                const selector = classDef.field_map[classDef.pkey].selector;
                 if (selector) { return selector; }
 
                 // No selector defined in the IDL, try 'name'.

commit 0328879b1ae5ff04b1e86550d97ee0709478bb11
Author: Bill Erickson <berickxx at gmail.com>
Date:   Thu Jan 2 16:22:34 2020 -0500

    LP1858138 Grid IDL field definition repairs and more
    
    * Deprecate showLinkSelectors, since FormatService now performs that
      logic under the covers.  Includes deprecation console warning.
    
    * Fix Grid field IDL class extraction off-by-one error.  The code was
      stamping the source field with the class of the field's link target
      instead of the class the field actually belonged to.
    
    * Allow for IDL field info extraction from the 'name' attribute when no
      'path' attribute is defined.
    
    * Avoid console errors when clearing combobox values in grid filters.
    
    Signed-off-by: Bill Erickson <berickxx at gmail.com>
    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>

diff --git a/Open-ILS/src/eg2/src/app/share/grid/grid-filter-control.component.ts b/Open-ILS/src/eg2/src/app/share/grid/grid-filter-control.component.ts
index f5931b4059..8ed77f7c7d 100644
--- a/Open-ILS/src/eg2/src/app/share/grid/grid-filter-control.component.ts
+++ b/Open-ILS/src/eg2/src/app/share/grid/grid-filter-control.component.ts
@@ -62,9 +62,16 @@ export class GridFilterControlComponent implements OnInit {
         col.isFiltered = true;
         this.context.reload();
     }
+
     applyLinkFilter($event, col: GridColumn) {
-        col.filterValue = $event.id;
-        this.applyFilter(col);
+        if ($event) {
+            col.filterValue = $event.id;
+            this.applyFilter(col);
+
+        } else {
+            // Value was cleared from the combobox
+            this.clearFilter(col);
+        }
     }
 
     // TODO: this was copied from date-select and
diff --git a/Open-ILS/src/eg2/src/app/share/grid/grid.component.ts b/Open-ILS/src/eg2/src/app/share/grid/grid.component.ts
index 29827bf234..6578dca0c2 100644
--- a/Open-ILS/src/eg2/src/app/share/grid/grid.component.ts
+++ b/Open-ILS/src/eg2/src/app/share/grid/grid.component.ts
@@ -89,18 +89,6 @@ export class GridComponent implements OnInit, AfterViewInit, OnDestroy {
     // Pass in a default page size.  May be overridden by settings.
     @Input() pageSize: number;
 
-    // If true and an idlClass is specificed, the grid assumes
-    // datatype=link fields that link to classes which define a selector
-    // are fleshed with the linked object.  And, instead of displaying
-    // the raw field value, displays the selector value from the linked
-    // object.  The caller is responsible for fleshing the appropriate
-    // fields in the GridDataSource getRows handler.
-    //
-    // This only applies to auto-generated columns.
-    //
-    // For example, idlClass="aou" and field="ou_type", the display
-    // value will be ou_type().name() since "name" is the selector
-    // field on the "aout" class.
     @Input() showLinkSelectors: boolean;
 
     @Input() disablePaging: boolean;
@@ -155,7 +143,6 @@ export class GridComponent implements OnInit, AfterViewInit, OnDestroy {
         this.context.isMultiSortable = this.multiSortable === true;
         this.context.useLocalSort = this.useLocalSort === true;
         this.context.disableSelect = this.disableSelect === true;
-        this.context.showLinkSelectors = this.showLinkSelectors === true;
         this.context.disableMultiSelect = this.disableMultiSelect === true;
         this.context.rowFlairIsEnabled = this.rowFlairIsEnabled  === true;
         this.context.showDeclaredFieldsOnly = this.showDeclaredFieldsOnly;
@@ -182,6 +169,11 @@ export class GridComponent implements OnInit, AfterViewInit, OnDestroy {
         this.context.cellClassCallback =
             this.cellClassCallback || function() { return ''; };
 
+        if (this.showLinkSelectors) {
+            console.debug(
+                'showLinkSelectors is deprecated and no longer has any effect');
+        }
+
         this.context.init();
     }
 
diff --git a/Open-ILS/src/eg2/src/app/share/grid/grid.ts b/Open-ILS/src/eg2/src/app/share/grid/grid.ts
index 01b5c09aa8..87dfc2bd9a 100644
--- a/Open-ILS/src/eg2/src/app/share/grid/grid.ts
+++ b/Open-ILS/src/eg2/src/app/share/grid/grid.ts
@@ -176,23 +176,32 @@ export class GridColumnSet {
 
         let idlParent;
         let idlField;
-        let idlClass = this.idl.classes[this.idlClass];
+        let idlClass;
+        let nextIdlClass = this.idl.classes[this.idlClass];
 
         const pathParts = dotpath.split(/\./);
 
         for (let i = 0; i < pathParts.length; i++) {
+
             const part = pathParts[i];
             idlParent = idlField;
+            idlClass = nextIdlClass;
             idlField = idlClass.field_map[part];
 
-            if (idlField) {
-                if (idlField['class'] && (
-                    idlField.datatype === 'link' ||
-                    idlField.datatype === 'org_unit')) {
-                    idlClass = this.idl.classes[idlField['class']];
-                }
-            } else {
-                return null;
+            if (!idlField) { return null; } // invalid IDL path
+
+            if (i === pathParts.length - 1) {
+                // No more links to process.
+                break;
+            }
+
+            if (idlField['class'] && (
+                idlField.datatype === 'link' ||
+                idlField.datatype === 'org_unit')) {
+                // The link class on the current field refers to the
+                // class of the link destination, not the current field.
+                // Mark it for processing during the next iteration.
+                nextIdlClass = this.idl.classes[idlField['class']];
             }
         }
 
@@ -215,8 +224,8 @@ export class GridColumnSet {
 
     applyColumnDefaults(col: GridColumn) {
 
-        if (!col.idlFieldDef && col.path) {
-            const idlInfo = this.idlInfoFromDotpath(col.path);
+        if (!col.idlFieldDef) {
+            const idlInfo = this.idlInfoFromDotpath(col.path || col.name);
             if (idlInfo) {
                 col.idlFieldDef = idlInfo.idlField;
                 col.idlClass = idlInfo.idlClass.name;
@@ -479,7 +488,6 @@ export class GridContext {
     defaultVisibleFields: string[];
     defaultHiddenFields: string[];
     overflowCells: boolean;
-    showLinkSelectors: boolean;
     disablePaging: boolean;
     showDeclaredFieldsOnly: boolean;
 
@@ -1057,14 +1065,6 @@ export class GridContext {
             col.isIndex = (field.name === pkeyField);
             col.isAuto = true;
 
-            if (this.showLinkSelectors) {
-                const selector = this.idl.getLinkSelector(
-                    this.columnSet.idlClass, field.name);
-                if (selector) {
-                    col.path = field.name + '.' + selector;
-                }
-            }
-
             if (this.showDeclaredFieldsOnly) {
                 col.hidden = true;
             }

commit d24cf32e42fd6d624b69122d8d4c72e8eaba50ae
Author: Bill Erickson <berickxx at gmail.com>
Date:   Thu Jan 2 16:17:59 2020 -0500

    LP1858138 Link selector consolidation/repairs
    
    Move more of the IDL link class selector extraction logic into the IDL
    service.
    
    Avoid using 'name' as a fall-through selector field when no 'name' field
    exists on the class.
    
    Teach the idl service to log warnings on invalid class and field name
    combinations in selector lookups.
    
    Modify fm-editor and combobox to use the new idl link selector
    functions.
    
    While we're in there, avoid unnecessary API calls from the combobox
    by preventing async data lookups with a search term of "_CLICK_".
    
    Signed-off-by: Bill Erickson <berickxx at gmail.com>
    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>

diff --git a/Open-ILS/src/eg2/src/app/core/idl.service.ts b/Open-ILS/src/eg2/src/app/core/idl.service.ts
index b5abf61d78..fee3bd9637 100644
--- a/Open-ILS/src/eg2/src/app/core/idl.service.ts
+++ b/Open-ILS/src/eg2/src/app/core/idl.service.ts
@@ -140,6 +140,12 @@ export class IdlService {
     getLinkSelector(fmClass: string, field: string): string {
         let fieldDef = this.classes[fmClass].field_map[field];
 
+        if (!fieldDef) {
+            console.warn(
+                `No such field "${field}" for IDL class "${fmClass}"`);
+            return null;
+        }
+
         if (fieldDef.map) {
             // For mapped fields, we want the selector field on the
             // remotely linked object instead of the directly
@@ -149,11 +155,27 @@ export class IdlService {
         }
 
         if (fieldDef.class) {
-            const classDef = this.classes[fieldDef.class];
+            return this.getClassSelector(fieldDef.class);
+        }
+        return null;
+    }
+
+    // Return the selector field for the class.  If no selector is
+    // defined, use 'name' if it exists as a field on the class.
+    getClassSelector(idlClass: string): string {
+
+        if (idlClass) {
+            const classDef = this.classes[idlClass];
+
             if (classDef.pkey) {
-                return classDef.field_map[classDef.pkey].selector || null;
+                let selector = classDef.field_map[classDef.pkey].selector;
+                if (selector) { return selector; }
+
+                // No selector defined in the IDL, try 'name'.
+                if ('name' in classDef.field_map) { return 'name'; }
             }
         }
+
         return null;
     }
 
diff --git a/Open-ILS/src/eg2/src/app/share/combobox/combobox.component.ts b/Open-ILS/src/eg2/src/app/share/combobox/combobox.component.ts
index 34d428358f..a7a6c3bf72 100644
--- a/Open-ILS/src/eg2/src/app/share/combobox/combobox.component.ts
+++ b/Open-ILS/src/eg2/src/app/share/combobox/combobox.component.ts
@@ -173,7 +173,7 @@ export class ComboboxComponent implements ControlValueAccessor, OnInit {
             }
 
             if (!this.idlField) {
-                this.idlField = classDef.field_map[classDef.pkey].selector || 'name';
+                this.idlField = this.idl.getClassSelector(this.idlClass);
             }
 
             this.asyncDataSource = term => {
@@ -332,8 +332,12 @@ export class ComboboxComponent implements ControlValueAccessor, OnInit {
 
         let searchTerm: string;
         searchTerm = term;
-        if (searchTerm === '_CLICK_' && this.asyncSupportsEmptyTermClick) {
-            searchTerm = '';
+        if (searchTerm === '_CLICK_') {
+            if (this.asyncSupportsEmptyTermClick) {
+                searchTerm = '';
+            } else {
+                return of();
+            }
         }
 
         return new Observable(observer => {
diff --git a/Open-ILS/src/eg2/src/app/share/fm-editor/fm-editor.component.ts b/Open-ILS/src/eg2/src/app/share/fm-editor/fm-editor.component.ts
index c775fe3b54..2d9271830e 100644
--- a/Open-ILS/src/eg2/src/app/share/fm-editor/fm-editor.component.ts
+++ b/Open-ILS/src/eg2/src/app/share/fm-editor/fm-editor.component.ts
@@ -399,24 +399,13 @@ export class FmRecordEditorComponent
         });
     }
 
-    // Returns the name of the field on a class (typically via a linked
-    // field) that acts as the selector value for display / search.
-    getClassSelector(class_: string): string {
-        if (class_) {
-            const linkedClass = this.idl.classes[class_];
-            return linkedClass.pkey ?
-                linkedClass.field_map[linkedClass.pkey].selector : null;
-        }
-        return null;
-    }
-
     private flattenLinkedValues(field: any, list: IdlObject[]): ComboboxEntry[] {
         const class_ = field.class;
         const fieldOptions = this.fieldOptions[field.name] || {};
         const idField = this.idl.classes[class_].pkey;
 
         const selector = fieldOptions.linkedSearchField
-            || this.getClassSelector(class_) || idField;
+            || this.idl.getClassSelector(class_) || idField;
 
         return list.map(item => {
             return {id: item[idField](), label: item[selector]()};
@@ -499,7 +488,7 @@ export class FmRecordEditorComponent
                 // field.  Otherwise, avoid the network lookup and let the
                 // bare value (usually an ID) be displayed.
                 const selector = fieldOptions.linkedSearchField ||
-                    this.getClassSelector(field.class);
+                    this.idl.getClassSelector(field.class);
 
                 if (selector && selector !== field.name) {
                     promise = this.pcrud.retrieve(field.class, idToFetch)
@@ -544,7 +533,7 @@ export class FmRecordEditorComponent
         }
 
         const selector = fieldOptions.linkedSearchField ||
-            this.getClassSelector(field.class);
+            this.idl.getClassSelector(field.class);
 
         if (!selector && !fieldOptions.preloadLinkedValues) {
             // User probably expects an async data source, but we can't

commit f892fc8015233118998b8aa66a2a83a4215f1848
Author: Bill Erickson <berickxx at gmail.com>
Date:   Thu Jan 2 15:19:16 2020 -0500

    LP1858138 Action/Trigger IDL selector additions
    
    Adds selector field entries for Action/Trigger hook, collector,
    validator, reactor, and cleanup classes for ease of admin page building.
    
    Signed-off-by: Bill Erickson <berickxx at gmail.com>
    Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>

diff --git a/Open-ILS/examples/fm_IDL.xml b/Open-ILS/examples/fm_IDL.xml
index bb01086e3c..75b52a7597 100644
--- a/Open-ILS/examples/fm_IDL.xml
+++ b/Open-ILS/examples/fm_IDL.xml
@@ -1322,7 +1322,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 	<class id="ath" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action_trigger::hook" oils_persist:tablename="action_trigger.hook" reporter:label="Trigger Hook Point">
 		<fields oils_persist:primary="key">
-			<field reporter:label="Hook Key" name="key" reporter:datatype="text"/>
+			<field reporter:label="Hook Key" name="key" reporter:datatype="text" reporter:selector="key"/>
 			<field reporter:label="Core Type" name="core_type" reporter:datatype="text"/>
 			<field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true"/>
 			<field reporter:label="Passive" name="passive"  reporter:datatype="bool"/>
@@ -1340,7 +1340,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 	<class id="atcol" controller="open-ils.cstore" oils_obj:fieldmapper="action_trigger::collector" oils_persist:tablename="action_trigger.collector" reporter:label="Trigger Environment Collector">
 		<fields oils_persist:primary="module">
-			<field reporter:label="Module Name" name="module" reporter:datatype="text"/>
+			<field reporter:label="Module Name" name="module" reporter:datatype="text" reporter:selector="module"/>
 			<field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true"/>
 		</fields>
 		<links/>
@@ -1348,7 +1348,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 	<class id="atval" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action_trigger::validator" oils_persist:tablename="action_trigger.validator" reporter:label="Trigger Condition Validator">
 		<fields oils_persist:primary="module">
-			<field reporter:label="Module Name" name="module" reporter:datatype="text"/>
+			<field reporter:label="Module Name" name="module" reporter:datatype="text" reporter:selector="module"/>
 			<field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true"/>
 		</fields>
 		<links/>
@@ -1364,7 +1364,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 	<class id="atreact" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action_trigger::reactor" oils_persist:tablename="action_trigger.reactor" reporter:label="Trigger Event Reactor">
 		<fields oils_persist:primary="module">
-			<field reporter:label="Module Name" name="module" reporter:datatype="text"/>
+			<field reporter:label="Module Name" name="module" reporter:datatype="text" reporter:selector="module"/>
 			<field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true"/>
 		</fields>
 		<links/>
@@ -1380,7 +1380,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 	<class id="atclean" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action_trigger::cleanup" oils_persist:tablename="action_trigger.cleanup" reporter:label="Trigger Event Cleanup">
 		<fields oils_persist:primary="module">
-			<field reporter:label="Module Name" name="module" reporter:datatype="text"/>
+			<field reporter:label="Module Name" name="module" reporter:datatype="text" reporter:selector="module"/>
 			<field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true"/>
 		</fields>
 		<links/>

-----------------------------------------------------------------------

Summary of changes:
 Open-ILS/examples/fm_IDL.xml                       | 10 +++---
 Open-ILS/src/eg2/src/app/core/idl.service.ts       | 26 ++++++++++++--
 .../src/app/share/combobox/combobox.component.ts   | 10 ++++--
 .../src/app/share/fm-editor/fm-editor.component.ts | 17 ++-------
 .../share/grid/grid-filter-control.component.ts    | 11 ++++--
 .../src/eg2/src/app/share/grid/grid.component.ts   | 18 +++-------
 Open-ILS/src/eg2/src/app/share/grid/grid.ts        | 40 +++++++++++-----------
 .../admin/local/admin-carousel.component.html      |  2 +-
 .../src/app/staff/sandbox/sandbox.component.html   | 13 ++++++-
 .../eg2/src/app/staff/sandbox/sandbox.component.ts | 30 +++++++++++++++-
 .../share/admin-page/admin-page.component.html     |  2 +-
 11 files changed, 116 insertions(+), 63 deletions(-)


hooks/post-receive
-- 
Evergreen ILS


More information about the open-ils-commits mailing list