You can configure the derivative/aliquot page based on the different criteria. This helps you eliminate the unwanted fields that are not needed on derivative/aliquot pages.
...
Code Block |
---|
{ ... "aliquotsCollection": [ ... { "title": ..., ..., "hideCopyFirstToAll": true ... }, ... ], "derivedSpecimens": [ ... { "title": ..., ..., "hideCopyFirstToAll": true ... }, ... ], ... } |
Before configuring the JSON, the "Copy first to all" button is present on Create derivative page:
After configuring the JSON, "Copy first to all" button is hidden on Create derivative page:
After configuring the JSON, "Copy first to all" button is hidden on Create aliquot page:
Add ability to create aliquots from the 'Create Derivatives' page
...
Code Block | ||||
---|---|---|---|---|
| ||||
{ "name" : "common", "view" : null, "ctrl" : null, "data" : { "derivedSpecimens" : [ { "title" : "Derived Specimens", "criteria" : { "rules" : [ { "field" : "specimen.parent.id", "op" : "exists" } ] }, "enableCofrc" : false, "fields" : [ { "name" : "specimen.parent.label", "caption" : "Parent Specimen", "type" : "span", "url" : "specimen({specimenId: specimen.parent.id})" }, { "name" : "specimen.parent.type", "caption" : "Parent Type", "type" : "span" }, { "name" : "specimen.label", "caption" : "Label", "type" : "text", "optional" : false, "showIf" : { "tabMode" : true, "op" : "OR", "rules" : [ { "field" : "viewCtx.inputLabels", "op" : "==", "value" : "true" } ] }, "copyValueFn" : "function(firstRowVal, currentVal) { if (!!currentVal) { return currentVal; } else { return ''; } }" }, { "name" : "specimen.parent.availableQty", "caption" : "Parent Quantity", "type" : "span", "width" : "120px" }, { "name" : "specimen.type", "caption" : "Type", "type" : "specimen-type", "specimen" : "specimen", "optional" : false, "width" : "185px" }, { "name" : "specimen.initialQty", "caption" : "Quantity", "type" : "specimen-quantity", "specimen" : "specimen", "optional" : true, "width" : "100px" }, { "name" : "specimen.createdOn", "caption" : "Created On", "type" : "date", "optional" : true, "defaultValue" : "current_date" }, { "name" : "specimen.createdBy", "caption" : "Created By", "type" : "user", "defaultValue" : "current_user", "optional" : true, "listSource" : { "queryParams" : { "static" : { "excludeType" : "CONTACT" } } } }, { "name" : "specimen.storageLocation", "caption" : "Location", "type" : "storage-position", "optional" : true, "cpId" : "specimen.cpId", "entity" : "specimen", "width" : "240px", "copyValueFn" : "function(firstRowVal, currentVal) { if ((!!currentVal && !!currentVal.reservationId) && (!!firstRowVal && !!firstRowVal.reservationId)) { return currentVal;} else if (firstRowVal) { return { id: '', name: firstRowVal.name, mode: firstRowVal.mode, positionX: '', positionY: '', position: '', reservationId: '' };} else { return {}; }}" }, { "name" : "specimen.createAliquots", "caption" : "Create Aliquots?", "icon" : "fa fa-share-alt", "type" : "toggle-checkbox", "width" : "30px" }, { "name" : "specimen.printLabel", "caption" : "Print", "icon" : "fa fa-print", "type" : "toggle-checkbox", "width" : "30px" }, { "name" : "specimen.closeParent", "caption" : "Close Parent", "icon" : "fa fa-ban", "type" : "toggle-checkbox", "width" : "30px", "defaultValue" : false } ] } ] } }, |
Set default and hide the field in the derived/aliquots creation page.
In the below example, the field is defaulted to its parent value and hidden from the data entry screen.
Code Block | ||||
---|---|---|---|---|
| ||||
{
"name" : "specimen.extensionDetail.attrsMap.ST4",
"baseField" : "specimen.extensionDetail.attrsMap.ST4",
"defaultValue" : "field: specimen.parent.extensionDetail.attrsMap.ST4",
"hideColumn" : true
}, |